Building a model from scratch
HydroMT-wflow
hydroMT is a Python package, developed by Deltares, to build and analyze hydro models. It provides a generic model api with attributes to access the model schematization, (dynamic) forcing data, results and states.
The wflow plugin hydroMT-wflow of hydroMT can be used to build and analyze the following model configurations:
- wflow_sbm + kinematic wave routing
- wflow_sbm + local inertial river and floodplain
- wflow_sbm + local inertial river (1D) and land (2D)
- wflow_sediment
To learn more about the wflow plugin of this Python package, we refer to the hydroMT-wflow documentation.
To inspect or modify (for example in QGIS) the netCDF static data of these wflow models it is convenient to export the maps to a raster format. This can be done as part of the hydroMT-wflow plugin, see also the following example. It is also possible to create again the netCDF static data file based on the modified raster map stack.
Data requirements
The actual data requirements depend on the application of the Model and the Model type. Both forcing and static data should be provided in netCDF format, with the same grid definition for forcing and static data. The only exception is storage and rating curves for lakes, that should be provided in CSV format, see also Additional settings for waterbodies.
- Forcing data:
- Precipitation
- Potential evapotranspiration
- Temperature (optional, only needed for snow and glacier modelling)
The requirements for static data (including model parameters) depend on the Model type. The following data is required for all Model types, but not directly part of a Model component:
- flow direction data (D8)
- river map (location of the river)
- sub-catchment map (model domain)
For the flow direction (D8) data, the PCRaster ldd
convention is used, see also PCRaster ldd. An approach to generate ldd
data is to make use of the Python package pyflwdir:
- to upscale existing flow direction data as the 3 arcsec MERIT Hydro data (Yamazaki et al., 2019)
- or to derive flow directions from elevation data,
see also Eilander et al. (2021) for more information. Pyflwdir is also used by the hydroMT Python package described in the next paragraph. Another approach to generate ldd
data is to make use of PCRaster functionality, see for example lddcreate.
Optionally, but also not directly part of a model component are gauge
locations, that are used to extract gridded data from certain locations.
The different supported model configurations are described in the section Model configurations. Wflow_sbm models have the vertical concept SBM in common and input parameters for this component are described in the SBM model parameters table. For wflow_sbm models there are two ways to include subsurface flow:
- The kinematic wave approach (see section Subsurface flow routing) as part of the
sbm
model type. Parameters that are part of this component are described in the Lateral subsurface flow section of Model parameters. Input parameters for this component are derived from the SBM vertical concept and the land slope. One external parameter (ksathorfrac
) is used to calculate the horizontal hydraulic conductivity at the soil surfacekh_0
. - Groundwater flow (see section Groundwater flow component) as part of the
sbm_gwf
model type. For the unconfined aquifer the input parameters are described in the section Unconfined aquifer of Model parameters. The bottom (bottom
) of the groundwater layer is derived from from thesoilthickness
[mm] parameter ofSBM
and the provided surface elevationaltitude
[m] as part of the static input. Thearea
parameter is derived from the model grid. Parameters that are part of the boundary conditions of the unconfined aquifer are listed under Constant Head and Boundary conditions of the Model parameters section.
Most hydrological model configurations make use of the kinematic wave surface routing (river flow, overland flow or both) and input data required for the river and overland flow components is described in Surface flow. There is also the option to use the local inertial model as part of the wflow_sbm models (model types sbm
and sbm_gwf
):
- for river flow, see also the Local inertial river and floodplain model.
- for 1D river flow and 2D overland flow combined, see also the Local inertial river (1D) and land (2D) model.
Input parameters for this approach are described in River flow (local inertial), including the optional 1D floodplain schematization, and Overland flow (local inertial) of the Model parameters section.
Reservoirs or lakes can be part of the kinematic wave or local inertial model for river flow and input parameters are described in Reservoirs and Lakes.
The wflow_sediment model configuration consists of the vertical Soil Erosion concept and the input parameters for this concept are described in the Sediment section of the Model parameters. The parameters of the lateral Sediment Flux in overland flow concept are described in the Overland flow section of the Model parameters. Parameters of this component are not directly set by data from static input. The input parameters of the lateral concept River Sediment Model are listed in River flow of the Model parameters section.
The Model parameters section lists all the parameters per Model component and these Tables can also be used to check which parameters can be part of the output, see also Output netCDF section and Output CSV section.
Example models can be found in the Example models section.
References
- Yamazaki, D., Ikeshima, D., Sosa, J., Bates, P. D., Allen, G. H. and Pavelsky, T. M.: MERIT Hydro: A high‐resolution global hydrography map based on latest topography datasets, Water Resour. Res., 2019WR024873, doi:10.1029/2019WR024873, 2019.
- Eilander, D., van Verseveld, W., Yamazaki, D., Weerts, A., Winsemius, H. C., and Ward, P. J.: A hydrography upscaling method for scale-invariant parametrization of distributed hydrological models, Hydrol. Earth Syst. Sci., 25, 5287–5313, https://doi.org/10.5194/hess-25-5287-2021, 2021.