Around this hydraulic core, many surface-water processes can be computed simultaneously on the same grid and in the same time evolution: river flooding with subgrid channels, levee breach and hydraulic structures; storm surge and tsunami from generation to run-up, with an optional one-layer non-hydrostatic correction; rainfall-runoff with interception, evapotranspiration, Green-Ampt infiltration and two-layer groundwater; fresh/salt two-layer seawater intrusion; urban pluvial flooding with a sewer conduit continuum; bed-load and suspended-load morphodynamics, meandering, hillslope erosion, slope failure and debris flow; driftwood and building debris; volcanic mass flows and lava flows; water quality; snow, frozen ground and glaciers; and long-term landscape evolution.
Each process is enabled simply by providing its input file. A process that is not enabled costs no memory and no CPU time and needs no parameter file. ENCflow is therefore both a self-contained model and, through its BMI 2.0 interface, a small component that another model can call to supply a process it lacks; its minimal configuration is a fast 2-D flood model.
The code uses only the Fortran language standard, OpenMP and MPI, with zero external libraries. The same source runs on a laptop and on a supercomputer, and results are bit-identical regardless of the number of MPI ranks under matched build conditions. The optional BMI adapter passes the CSDMS bmi-tester for a single grid, for nested grids and for feature-dependent variables, and comes with a numpy-only Python wrapper and a step-by-step tutorial. About 70 verification cases separate regression against reference results from checks against analytical solutions and conservation laws, and run in continuous integration.
ENCflow deliberately stays depth-averaged, constant-density and two-dimensional; wind waves, density stratification, deep groundwater and individual sewer pipes are left to specialist models.
Shallow water equations, flooding, inundation, overland flow, rainfall-runoff, groundwater, sediment transport, landscape evolution, Tsunami, debris flow, lava flow, glacier, water quality, ,
Fortran90, Python
GitHub Issues (bug reports and feature requests): https://github.com/ENCflow/ENCflow/issues
This part will be filled out by CSDMS staff