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, and lake
and reservoir
locations and areas (coverage).
The different supported model configurations are described in the section Model configurations. Wflow_sbm models have the Land Hydrology SBM model in common and input parameters for this model are described in the list of parameters and variables of this model. 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. Input parameters for this component are derived from the soil model of the Land Hydrology SBM model (soil__thickness
[mm],soil_water__saturated_volume_fraction
[-] andsoil_water__residual_volume_fraction
[-]) and the land slopeland_surface__slope
input parameter. The parametersubsurface_water__horizontal-to-vertical_saturated_hydraulic_conductivity_ratio
[-] 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. The bottom (bottom
) of the groundwater layer is derived from the providedsoil__thickness
[mm] and surface elevationland_surface__elevation
[m] parameters 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 sections.
The default wflow_sbm model routing configuration makes 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 listed under River flow (local inertial), including the optional 1D floodplain schematization, and Overland flow (local inertial) sections.
Reservoirs or lakes can be part of the kinematic wave or local inertial model for river flow and input parameters are listed under the Reservoirs and Lakes sections.
The wflow_sediment model configuration consists of the Soil Erosion concept and the input parameters for this concept are listed under the Sediment section. The parameters of the routing Sediment Flux in overland flow concept are listed under the Overland flow section. The input parameters of the routing concept River Sediment Model are listed under the River flow 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.