diff --git a/dev/changelog/index.html b/dev/changelog/index.html index 6783d287c..45dbd6dd2 100644 --- a/dev/changelog/index.html +++ b/dev/changelog/index.html @@ -1,2 +1,2 @@ -Changelog · Wflow.jl

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

v0.7.1 - 2023-06-30

Fixed

  • State initialization of 1D floodplain volume. In the initialization function the wrong field name of type FloodPlainProfile was used (area instead of a).

v0.7.0 - 2023-06-12

Fixed

  • BMI.get_time_units now gets called on the model rather than the type, like all other BMI functions, except BMI.initialize. Also it returns "s" instead of "seconds since 1970-01-01T00:00:00", in line with the BMI specification.
  • Added the interception component to total actual evapotranspiration actevap of SBM (was defined as the sum of soil evaporation, transpiration and open water evaporation).

Changed

  • The time values returned in the BMI interface are no longer in seconds since 1970, but in seconds since the model start time. This is more in line with standard BMI practices.
  • The starttime was defined one model timestep Δt ahead of the actual model time (the initial conditions timestamp (state time)). As a consequence this was also the case for the current model time. To allow for an easier interpretation of Wflow time handling, either through BMI or directly, the starttime is now equal to the state time, resulting in current model times without an offset.
  • Using more than 8 threads can result in too much overhead with Threads.@threads. After performance testing, this has been changed for kinematic wave routing and the vertical SBM concept to spawning tasks with Threads@spawn for number of threads <= 8, where each task iterates over a chunk of size basesize. For more than 8 threads the low overhead threading Polyester.@batch (including the minbatch argument) is used. For local inertial routing the use of Threads.@threads has been changed to threaded loop vectorization (river and 1D floodplain local inertial momentum equation) and Polyester.@batch.

Added

  • For (regulated) lakes with rating curve of type 1 (H-Q table), lake storage above the maximumstorage (based on maximum water level from the H-Q table) is spilled instantaneously (overflow) from the lake.
  • Added support to use sum as a reducer function for csv and scalar output options.

v0.6.3 - 2023-03-01

Fixed

  • Removed error when _FillValue is present in the time dimension of the forcing NetCDF file. The simulation is allowed to continue with the attribute present, given that there are no missing values in the time dimension. This is checked by the code, and an error is thrown if this is the case.
  • Column index of daily lake rating curves. This was incorrectly based on dayofyear with a maximum of 365. The column index should be based on julian day (leap days are not counted).

Changed

  • NCDatasets version. Reading the time dimension of multifile NetCDF file became very slow since NCDatasets v0.12.4, this issue has been solved in v0.12.11.
  • Store the time dimension of the forcing NetCDF file as part of the struct NCreader instead of calling dataset["time"][:] each time step when loading forcing data.

Added

  • Show total duration of simulation in the log file (info), and show the current time at execution of each timestep (debug).
  • Support for exponential decline in horizontal conductivity in the sbm_gwf concept. This can be enabled using the conductivity_profile setting (either "uniform" or "exponential"). If set to "exponential", it exponentially reduces the kh0 (or conductivity) based on the value of gwf_f to the actual horizontal conductivity (k).
  • An optional 1D floodplain schematization for the river flow inertial model, based on provided flood volumes as a function of flood depth per river cell. See also the following sections: SBM + Local inertial river and floodplain and River and floodplain routing for a short description, and the following section for associated model parameters.

v0.6.2 - 2022-09-01

Fixed

  • Two issues related to reservoir and lake locations as part of local inertial model: 1) added as boundary points to the update of overland flow, 2) fixed check reservoir and lake location in update river flow.
  • Limit flow (qx, qy and q) in local inertial model when water is not available (set to zero).
  • In the grid output netCDFs, don't set the _FillValue attribute, since the CF conventions don't allow it.
  • Glacier parameter g_sifrac needs to be converted during initialization (time dependent).
  • The check that the sum of adaptive timesteps (Δt) of the local inertial model (1D and 2D) does not exceed the model timestep.

Changed

  • Changed depth h for reservoir and lake locations as part of the river local inertial model from bankfull_depth to zero.

Added

v0.6.1 - 2022-04-26

Fixed

  • Fixed an error with the log file, when writing to a folder that does not (yet) exists. Now, the folder is created prior to writing the log file.
  • Fixed a MethodError for read_dims, thrown when reading netCDF data with NCDatasets.jl 0.12.3 or higher.

v0.6.0 - 2022-04-14

Added

  • The FLEXTopo model.
  • Set a (different) uniform value for each index of input parameters with an extra dimension. A list of values (instead of one uniform value) that should be equal to the length of the extra dimension can be provided in the TOML file. See also Modify parameters.
  • Modify input parameters with an extra dimension at multiple indices with different scale and offset values, through the TOML file. See also Modify parameters.
  • Added support for NetCDF compression for gridded model output, through the option compressionlevel in the [output] section in the TOML file. The setting defaults to 0 (no compression), but all levels between 0 and 9 can be used.

Changed

  • Re-organized the documentation: moved explanation of different model concepts to a model documentation section, added a user guide to explain setting up the model, added new figures to the description of wflow_sbm.
  • The unit of lateral subsurface flow ssf of LateralSSF is now $m^3 d^{-1}$. The unit was $m^3 t^{-1}$, where $t$ is the model timestep. Other flow variables are already stored independently from $t$, this allows for easier interpretation and to use states independently of $t$.
  • Changed the reference level of water depth h and h_av of 2D overland flow (ShallowWaterLand) for cells containing a river from river bed elevation zb to cell elevation z.

Fixed

  • Fixed calculation of average water depth h_av of 2D overland flow (ShallowWaterLand) with the local inertial approach. The summation of h was not correct, resulting in too low values for h_av. For river cells of 2D overland flow h_av was only updated as part of the river domain (ShallowWaterRiver), this value is now also updated as part of the land domain (ShallowWaterLand).
  • Fixed the following two flow width issues for 2D overland flow of the local inertial model: 1) The flow widths xwidth and ywidth were mapped incorrectly (reversed) to the flow calculation in x and y direction, respectively. 2) For river cells the effective flow width for overland flow was not determined correctly: the riverwidth vector supplied to the function set_effective_flowwidth! covered the complete model domain and should have covered the river domain, resulting in incorrect river widths and thus incorrect effective flow widths for river cells.

v0.5.2 - 2022-02-03

Changed

  • Model types sbm_gwf and hbv use the same approach for the calculation of the drain width dw as model type sbm.
  • Renamed h_bankfull parameter to bankfull_depth for consistency between kinematic-wave and local-inertial river routing. When using the old name under the [input.lateral.river] section of the TOML file, it will work but it is suggested to update the name.

Added

Fixed

  • Model type hbv: the surface width for overland flow was not corrected with the river width.
  • Fixed use of absolute path for path_forcing in TOML file, which gave an error in Wflow v0.5.1.
  • Fixed a crash when glacier processes are simulated as part of the hbv concept (Δt was not defined).
  • When the surface flow width for overland flow is zero, the water level h of the kinematic wave should not be calculated, otherwise this results in NaN values. When the model is initialized from state files, q and h are set to zero for indices with a zero surface flow width.
  • Fixed how number of iterations its for kinematic wave river flow are calculated during initialization when using a fixed sub-timestep (specified in the TOML file). For a model timestep smaller than the fixed sub-timestep an InexactError was thrown.
  • Fixed providing a cyclic parameter when the NetCDF variable is read during model initialization with ncread, this gave an error about the size of the NetCDF time dimension.
  • Fixed CSV and NetCDF scalar output of variables with dimension layer (SVector).

v0.5.1 - 2021-11-24

Fixed

  • Fixed calculation of exfiltwater as part of the sbm_gwf model type. This was based directly on groundwater head above the surface level, without multiplying by the specific_yield, resulting in an overestimation of exfiltwater. This is required since the groundwater model estimates the head by dividing the volume by the specific yield or storativity of the aquifer. So, should the groundwater table rise above surface level, the head above surface level does not represent a water column one to one. (This also means the groundwater model (slightly) overestimates heads when the head rises above the surface level. However, this water is immediately removed, and the head will be set to surface level.)

Added

  • Optional dir_input and dir_output keys in the TOML, which can be used to quickly change the path for all input or output files that are given as a relative path.

v0.5.0 - 2021-11-12

Changed

  • Scaling of potential capillary rise is replaced by a common approach found in literature, based on the water table depth zi, a maximum water depth cap_hmax beyond which capillary rise ceases, and a coefficient cap_n. See also Capillary rise. Multiplying the scaling factor with the ratio of model time step and basetimestep in the original approach resulted in (much) smaller capillary fluxes at sub-daily model time steps compared to daily model time steps, and is not used in the new approach. Parameters cap_hmax and cap_n can be set through the TOML file, parameter capscale of the previous approach is not used anymore.

Fixed

  • Conversion of GroundwaterFlow boundaries [$m^3 d^{-1}$] as part of model concept sbm_gwf to $m^3 s^{-1}$ for sub-daily model time steps. For the conversion the basetimestep (86400 s) should be used (and not the model time step).

v0.4.1 - 2021-11-04

Changed

  • The $\alpha$ parameter of the kinematic wave has a fixed value now and is not updated because of changes in water height (this could result in large water balance errors). See also Surface routing.
  • Cyclic input for other structs than vertical are also now supported (for example cyclic inflow to the river).
  • Moved update_forcing! and update_cyclic! functions to the run function. It is now easier to implement a custom run function with custom loading of input data (forcing and cyclic parameters).

Added

  • Check if reservoirs and lakes have downstream nodes. Without downstream nodes is not supported and in that case an error message is thrown that is easier to understand than the previous one: "ArgumentError: Collection is empty, must contain exactly 1 element."
  • For the input.path_forcing TOML setting we use Glob.jl to expand strings like "data/forcing-year-*.nc" to a set of netCDF files that are split in time.
  • External water inflow (supply/abstractions) added to the kinematic wave inflow in m3/s. It is added/removed to sf.qlat[v] before computing the new q[v] with the kinematic wave equation.
  • Fixed values for forcing parameters are supported, see also Fixed forcing values.

Added

Fixed

  • River inflow for reservoirs and lakes in the kinematic wave. This inflow was based on sf.q[v] at the previous time step, and this has been fixed to the current time step.

v0.4.0 - 2021-09-02

Changed

  • Changed length units for lateral subsurface flow component from millimeter to meter. This means that state netCDF files from previous versions can only be reused if ssf is divided by 10^9.
  • Add snow and glacier processes to wflow_sbm figure of the documentation.

Added

  • Multi-threading of vertical SBM concept and lateral kinematic wave components (overland, river and subsurface flow) of wflow_sbm model SBM + Kinematic wave.
  • Improved error message for CSV Reducer.
  • The TOML keys kv₀, θᵣ and θₛ have been replaced with the ASCII versions kv_0, theta_r and theta_s, to avoid encoding issues with certain text editors. The old keys still work as well.

Fixed

  • Calculation of volumetric water content of vertical SBM (soil layers and root zone).
  • Update of satwaterdepth in SBM (evaporation was only subtracted from a local variable, and not from sbm.satwaterdepth).
  • Fixed the index lowerlake_ind of NaturalLake. Linked lakes were not simulated correctly (flows between upstream and downstream lake).
  • Interpolation function interpolate_linear(x, xp, fp) for CSV tables lakes. When x was larger or smaller than xp, maximum(xp) or minimum(xp) was returned instead of maximum(fp) or minimum(fp).
  • Fixed model timestep of reservoirs (SimpleReservoir) and lakes (NaturalLake) in relation to precipitation and evapotranspiration fluxes. This was set to the fixed Wflow basetimestep of 86400 s, and should be set to the actual model time step from the TOML configuration file.
  • Add flux from Drainage (GroundwaterFlow) in the sbm_gwf_model to the overland flow component instead of the river component of the kinematic wave.
  • Fixed option constanthead = false (TOML file), constant_head field of GroundwaterFlow was not defined in this case. Fixed this by initializing empty fields (Vector) for struct ConstantHead.
  • Fixed return max(0, boundary.flux[index]) to return max(0, flux) the flux should be returned when cell is dry, no negative value allowed.
  • Fixed path to initialize lake to: dirname(static_path)
  • Fixed outflow = 0, when lake level is below lake threshold. Before a negative value could enter the log function and model would fail.
  • Fixed the lake storage initialization. For continuation runs (reinit = false), this caused the lake to be reset to the initial conditions instead of the saved state.

v0.3.1 - 2021-05-19

Fixed

  • Ignore extra dimensions in input NetCDFs if they are size 1

v0.3.0 - 2021-05-10

Changed

  • New deposition process for coarse sediment in the reservoirs with a new parameter restrapefficiency in the sediment model.
  • New variables added to the LandSediment and RiverSediment structs in order to save more output from the sediment model.
  • Added variables volume and inwater to SurfaceFlow struct, this is convenient for the coupling with the water quality model Delwaq.
  • River water level (h) and discharge (q) forced directly into the RiverSediment struct (instead of using the OverlandFlowSediment struct first).
  • Require Julia 1.6 or later.

Added

  • Modify model parameters and forcing through the TOML file (see Modify parameters).
  • Run wflow_sbm (SBM + kinematic wave) in two parts (until recharge and after subsurface flow) from BMI, including the option to switch off the lateral subsurface component of wflow_sbm.
  • Support more netCDF dimension and axis order variants.

Fixed

  • Corrected a bug in sediment deposition in the river (case when incoming sediment load is more than the river transport capacity).
  • Fixed update of snow and glacierstore fields of HBV and SBM concepts by the glacier_hbv module.

v0.2.0 - 2021-03-26

Changed

  • Removed dependency of the f model parameter of wflow_sbm on the parameters $\theta_{s}$, $\theta_{r}$ and $M$. This approach is used in Topog_SBM, but not applicable for wflow_sbm. The f parameter needs to be provided as part of the NetCDF model parameter file.
  • Grid properties as cell length and elevation now stored as part of the model.land.network component and not as part of the vertical model components, as it is not used by these components. altitude (elevation) should now be provided as part of the [input] section of the TOML configuration file, and not as part of the [input.vertical] section.
  • Removed parameter $\theta_{e}$ from SBM struct (not used in update). Parameters $\theta_{s}$ and $\theta_{r}$ included separately (instead of $\theta_{e}$) in LateralSSF struct, now directly linked to SBM parameters.
  • Improve error messages (NetCDF and cyclic flow graph).

Added

  • Export of NetCDF scalar timeseries (separate NetCDF file from gridded timeseries). This also allows for importing these timeseries by Delft-FEWS (General Adapter).

Fixed

  • Model parameter Manning's n now used during the update of the struct SurfaceFlow, to change the related $\alpha$ parameter of the kinematic wave for channel flow.
+Changelog · Wflow.jl

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

v0.7.1 - 2023-06-30

Fixed

  • State initialization of 1D floodplain volume. In the initialization function the wrong field name of type FloodPlainProfile was used (area instead of a).

v0.7.0 - 2023-06-12

Fixed

  • BMI.get_time_units now gets called on the model rather than the type, like all other BMI functions, except BMI.initialize. Also it returns "s" instead of "seconds since 1970-01-01T00:00:00", in line with the BMI specification.
  • Added the interception component to total actual evapotranspiration actevap of SBM (was defined as the sum of soil evaporation, transpiration and open water evaporation).

Changed

  • The time values returned in the BMI interface are no longer in seconds since 1970, but in seconds since the model start time. This is more in line with standard BMI practices.
  • The starttime was defined one model timestep Δt ahead of the actual model time (the initial conditions timestamp (state time)). As a consequence this was also the case for the current model time. To allow for an easier interpretation of Wflow time handling, either through BMI or directly, the starttime is now equal to the state time, resulting in current model times without an offset.
  • Using more than 8 threads can result in too much overhead with Threads.@threads. After performance testing, this has been changed for kinematic wave routing and the vertical SBM concept to spawning tasks with Threads@spawn for number of threads <= 8, where each task iterates over a chunk of size basesize. For more than 8 threads the low overhead threading Polyester.@batch (including the minbatch argument) is used. For local inertial routing the use of Threads.@threads has been changed to threaded loop vectorization (river and 1D floodplain local inertial momentum equation) and Polyester.@batch.

Added

  • For (regulated) lakes with rating curve of type 1 (H-Q table), lake storage above the maximumstorage (based on maximum water level from the H-Q table) is spilled instantaneously (overflow) from the lake.
  • Added support to use sum as a reducer function for csv and scalar output options.

v0.6.3 - 2023-03-01

Fixed

  • Removed error when _FillValue is present in the time dimension of the forcing NetCDF file. The simulation is allowed to continue with the attribute present, given that there are no missing values in the time dimension. This is checked by the code, and an error is thrown if this is the case.
  • Column index of daily lake rating curves. This was incorrectly based on dayofyear with a maximum of 365. The column index should be based on julian day (leap days are not counted).

Changed

  • NCDatasets version. Reading the time dimension of multifile NetCDF file became very slow since NCDatasets v0.12.4, this issue has been solved in v0.12.11.
  • Store the time dimension of the forcing NetCDF file as part of the struct NCreader instead of calling dataset["time"][:] each time step when loading forcing data.

Added

  • Show total duration of simulation in the log file (info), and show the current time at execution of each timestep (debug).
  • Support for exponential decline in horizontal conductivity in the sbm_gwf concept. This can be enabled using the conductivity_profile setting (either "uniform" or "exponential"). If set to "exponential", it exponentially reduces the kh0 (or conductivity) based on the value of gwf_f to the actual horizontal conductivity (k).
  • An optional 1D floodplain schematization for the river flow inertial model, based on provided flood volumes as a function of flood depth per river cell. See also the following sections: SBM + Local inertial river and floodplain and River and floodplain routing for a short description, and the following section for associated model parameters.

v0.6.2 - 2022-09-01

Fixed

  • Two issues related to reservoir and lake locations as part of local inertial model: 1) added as boundary points to the update of overland flow, 2) fixed check reservoir and lake location in update river flow.
  • Limit flow (qx, qy and q) in local inertial model when water is not available (set to zero).
  • In the grid output netCDFs, don't set the _FillValue attribute, since the CF conventions don't allow it.
  • Glacier parameter g_sifrac needs to be converted during initialization (time dependent).
  • The check that the sum of adaptive timesteps (Δt) of the local inertial model (1D and 2D) does not exceed the model timestep.

Changed

  • Changed depth h for reservoir and lake locations as part of the river local inertial model from bankfull_depth to zero.

Added

v0.6.1 - 2022-04-26

Fixed

  • Fixed an error with the log file, when writing to a folder that does not (yet) exists. Now, the folder is created prior to writing the log file.
  • Fixed a MethodError for read_dims, thrown when reading netCDF data with NCDatasets.jl 0.12.3 or higher.

v0.6.0 - 2022-04-14

Added

  • The FLEXTopo model.
  • Set a (different) uniform value for each index of input parameters with an extra dimension. A list of values (instead of one uniform value) that should be equal to the length of the extra dimension can be provided in the TOML file. See also Modify parameters.
  • Modify input parameters with an extra dimension at multiple indices with different scale and offset values, through the TOML file. See also Modify parameters.
  • Added support for NetCDF compression for gridded model output, through the option compressionlevel in the [output] section in the TOML file. The setting defaults to 0 (no compression), but all levels between 0 and 9 can be used.

Changed

  • Re-organized the documentation: moved explanation of different model concepts to a model documentation section, added a user guide to explain setting up the model, added new figures to the description of wflow_sbm.
  • The unit of lateral subsurface flow ssf of LateralSSF is now $m^3 d^{-1}$. The unit was $m^3 t^{-1}$, where $t$ is the model timestep. Other flow variables are already stored independently from $t$, this allows for easier interpretation and to use states independently of $t$.
  • Changed the reference level of water depth h and h_av of 2D overland flow (ShallowWaterLand) for cells containing a river from river bed elevation zb to cell elevation z.

Fixed

  • Fixed calculation of average water depth h_av of 2D overland flow (ShallowWaterLand) with the local inertial approach. The summation of h was not correct, resulting in too low values for h_av. For river cells of 2D overland flow h_av was only updated as part of the river domain (ShallowWaterRiver), this value is now also updated as part of the land domain (ShallowWaterLand).
  • Fixed the following two flow width issues for 2D overland flow of the local inertial model: 1) The flow widths xwidth and ywidth were mapped incorrectly (reversed) to the flow calculation in x and y direction, respectively. 2) For river cells the effective flow width for overland flow was not determined correctly: the riverwidth vector supplied to the function set_effective_flowwidth! covered the complete model domain and should have covered the river domain, resulting in incorrect river widths and thus incorrect effective flow widths for river cells.

v0.5.2 - 2022-02-03

Changed

  • Model types sbm_gwf and hbv use the same approach for the calculation of the drain width dw as model type sbm.
  • Renamed h_bankfull parameter to bankfull_depth for consistency between kinematic-wave and local-inertial river routing. When using the old name under the [input.lateral.river] section of the TOML file, it will work but it is suggested to update the name.

Added

Fixed

  • Model type hbv: the surface width for overland flow was not corrected with the river width.
  • Fixed use of absolute path for path_forcing in TOML file, which gave an error in Wflow v0.5.1.
  • Fixed a crash when glacier processes are simulated as part of the hbv concept (Δt was not defined).
  • When the surface flow width for overland flow is zero, the water level h of the kinematic wave should not be calculated, otherwise this results in NaN values. When the model is initialized from state files, q and h are set to zero for indices with a zero surface flow width.
  • Fixed how number of iterations its for kinematic wave river flow are calculated during initialization when using a fixed sub-timestep (specified in the TOML file). For a model timestep smaller than the fixed sub-timestep an InexactError was thrown.
  • Fixed providing a cyclic parameter when the NetCDF variable is read during model initialization with ncread, this gave an error about the size of the NetCDF time dimension.
  • Fixed CSV and NetCDF scalar output of variables with dimension layer (SVector).

v0.5.1 - 2021-11-24

Fixed

  • Fixed calculation of exfiltwater as part of the sbm_gwf model type. This was based directly on groundwater head above the surface level, without multiplying by the specific_yield, resulting in an overestimation of exfiltwater. This is required since the groundwater model estimates the head by dividing the volume by the specific yield or storativity of the aquifer. So, should the groundwater table rise above surface level, the head above surface level does not represent a water column one to one. (This also means the groundwater model (slightly) overestimates heads when the head rises above the surface level. However, this water is immediately removed, and the head will be set to surface level.)

Added

  • Optional dir_input and dir_output keys in the TOML, which can be used to quickly change the path for all input or output files that are given as a relative path.

v0.5.0 - 2021-11-12

Changed

  • Scaling of potential capillary rise is replaced by a common approach found in literature, based on the water table depth zi, a maximum water depth cap_hmax beyond which capillary rise ceases, and a coefficient cap_n. See also Capillary rise. Multiplying the scaling factor with the ratio of model time step and basetimestep in the original approach resulted in (much) smaller capillary fluxes at sub-daily model time steps compared to daily model time steps, and is not used in the new approach. Parameters cap_hmax and cap_n can be set through the TOML file, parameter capscale of the previous approach is not used anymore.

Fixed

  • Conversion of GroundwaterFlow boundaries [$m^3 d^{-1}$] as part of model concept sbm_gwf to $m^3 s^{-1}$ for sub-daily model time steps. For the conversion the basetimestep (86400 s) should be used (and not the model time step).

v0.4.1 - 2021-11-04

Changed

  • The $\alpha$ parameter of the kinematic wave has a fixed value now and is not updated because of changes in water height (this could result in large water balance errors). See also Surface routing.
  • Cyclic input for other structs than vertical are also now supported (for example cyclic inflow to the river).
  • Moved update_forcing! and update_cyclic! functions to the run function. It is now easier to implement a custom run function with custom loading of input data (forcing and cyclic parameters).

Added

  • Check if reservoirs and lakes have downstream nodes. Without downstream nodes is not supported and in that case an error message is thrown that is easier to understand than the previous one: "ArgumentError: Collection is empty, must contain exactly 1 element."
  • For the input.path_forcing TOML setting we use Glob.jl to expand strings like "data/forcing-year-*.nc" to a set of netCDF files that are split in time.
  • External water inflow (supply/abstractions) added to the kinematic wave inflow in m3/s. It is added/removed to sf.qlat[v] before computing the new q[v] with the kinematic wave equation.
  • Fixed values for forcing parameters are supported, see also Fixed forcing values.

Added

Fixed

  • River inflow for reservoirs and lakes in the kinematic wave. This inflow was based on sf.q[v] at the previous time step, and this has been fixed to the current time step.

v0.4.0 - 2021-09-02

Changed

  • Changed length units for lateral subsurface flow component from millimeter to meter. This means that state netCDF files from previous versions can only be reused if ssf is divided by 10^9.
  • Add snow and glacier processes to wflow_sbm figure of the documentation.

Added

  • Multi-threading of vertical SBM concept and lateral kinematic wave components (overland, river and subsurface flow) of wflow_sbm model SBM + Kinematic wave.
  • Improved error message for CSV Reducer.
  • The TOML keys kv₀, θᵣ and θₛ have been replaced with the ASCII versions kv_0, theta_r and theta_s, to avoid encoding issues with certain text editors. The old keys still work as well.

Fixed

  • Calculation of volumetric water content of vertical SBM (soil layers and root zone).
  • Update of satwaterdepth in SBM (evaporation was only subtracted from a local variable, and not from sbm.satwaterdepth).
  • Fixed the index lowerlake_ind of NaturalLake. Linked lakes were not simulated correctly (flows between upstream and downstream lake).
  • Interpolation function interpolate_linear(x, xp, fp) for CSV tables lakes. When x was larger or smaller than xp, maximum(xp) or minimum(xp) was returned instead of maximum(fp) or minimum(fp).
  • Fixed model timestep of reservoirs (SimpleReservoir) and lakes (NaturalLake) in relation to precipitation and evapotranspiration fluxes. This was set to the fixed Wflow basetimestep of 86400 s, and should be set to the actual model time step from the TOML configuration file.
  • Add flux from Drainage (GroundwaterFlow) in the sbm_gwf_model to the overland flow component instead of the river component of the kinematic wave.
  • Fixed option constanthead = false (TOML file), constant_head field of GroundwaterFlow was not defined in this case. Fixed this by initializing empty fields (Vector) for struct ConstantHead.
  • Fixed return max(0, boundary.flux[index]) to return max(0, flux) the flux should be returned when cell is dry, no negative value allowed.
  • Fixed path to initialize lake to: dirname(static_path)
  • Fixed outflow = 0, when lake level is below lake threshold. Before a negative value could enter the log function and model would fail.
  • Fixed the lake storage initialization. For continuation runs (reinit = false), this caused the lake to be reset to the initial conditions instead of the saved state.

v0.3.1 - 2021-05-19

Fixed

  • Ignore extra dimensions in input NetCDFs if they are size 1

v0.3.0 - 2021-05-10

Changed

  • New deposition process for coarse sediment in the reservoirs with a new parameter restrapefficiency in the sediment model.
  • New variables added to the LandSediment and RiverSediment structs in order to save more output from the sediment model.
  • Added variables volume and inwater to SurfaceFlow struct, this is convenient for the coupling with the water quality model Delwaq.
  • River water level (h) and discharge (q) forced directly into the RiverSediment struct (instead of using the OverlandFlowSediment struct first).
  • Require Julia 1.6 or later.

Added

  • Modify model parameters and forcing through the TOML file (see Modify parameters).
  • Run wflow_sbm (SBM + kinematic wave) in two parts (until recharge and after subsurface flow) from BMI, including the option to switch off the lateral subsurface component of wflow_sbm.
  • Support more netCDF dimension and axis order variants.

Fixed

  • Corrected a bug in sediment deposition in the river (case when incoming sediment load is more than the river transport capacity).
  • Fixed update of snow and glacierstore fields of HBV and SBM concepts by the glacier_hbv module.

v0.2.0 - 2021-03-26

Changed

  • Removed dependency of the f model parameter of wflow_sbm on the parameters $\theta_{s}$, $\theta_{r}$ and $M$. This approach is used in Topog_SBM, but not applicable for wflow_sbm. The f parameter needs to be provided as part of the NetCDF model parameter file.
  • Grid properties as cell length and elevation now stored as part of the model.land.network component and not as part of the vertical model components, as it is not used by these components. altitude (elevation) should now be provided as part of the [input] section of the TOML configuration file, and not as part of the [input.vertical] section.
  • Removed parameter $\theta_{e}$ from SBM struct (not used in update). Parameters $\theta_{s}$ and $\theta_{r}$ included separately (instead of $\theta_{e}$) in LateralSSF struct, now directly linked to SBM parameters.
  • Improve error messages (NetCDF and cyclic flow graph).

Added

  • Export of NetCDF scalar timeseries (separate NetCDF file from gridded timeseries). This also allows for importing these timeseries by Delft-FEWS (General Adapter).

Fixed

  • Model parameter Manning's n now used during the update of the struct SurfaceFlow, to change the related $\alpha$ parameter of the kinematic wave for channel flow.
diff --git a/dev/index.html b/dev/index.html index fe5c96da3..dbe076fc4 100644 --- a/dev/index.html +++ b/dev/index.html @@ -1,2 +1,2 @@ -About wflow · Wflow.jl

About wflow

Wflow is Deltares’ solution for modelling hydrological processes, allowing users to account for precipitation, interception, snow accumulation and melt, evapotranspiration, soil water, surface water and groundwater recharge in a fully distributed environment. Successfully applied worldwide for analyzing flood hazards, drought, climate change impacts and land use changes, wflow is growing to be a leader in hydrology solutions. Wflow is conceived as a framework, within which multiple distributed model concepts are available, which maximizes the use of open earth observation data, making it the hydrological model of choice for data scarce environments. Based on gridded topography, soil, land use and climate data, wflow calculates all hydrological fluxes at any given grid cell in the model at a given time step.

Wflow was born out of the creation of Deltares in 2008, when a strategic review identified the need for a distributed hydrological model to allow the simulation of flows at the catchment scale. With the intention being to encourage greater scientific collaboration. For this reason:

  • Wflow is free and open source software.
  • Wflow is easily coupled with other models and software applications.
  • Contribution to the wflow code development is encouraged.

From 2021 the wflow code is distributed under the MIT License. Wflow is also available as a compiled executable under the Deltares terms and conditions. The wflow computational engine is built in the Julia language, a high-performance computing language and does not have a graphical user interface, being designed for maximum user flexibility. Prior to 2021, wflow was developed in PCRaster Python language and is still available but not actively developed.

+About wflow · Wflow.jl

About wflow

Wflow is Deltares’ solution for modelling hydrological processes, allowing users to account for precipitation, interception, snow accumulation and melt, evapotranspiration, soil water, surface water and groundwater recharge in a fully distributed environment. Successfully applied worldwide for analyzing flood hazards, drought, climate change impacts and land use changes, wflow is growing to be a leader in hydrology solutions. Wflow is conceived as a framework, within which multiple distributed model concepts are available, which maximizes the use of open earth observation data, making it the hydrological model of choice for data scarce environments. Based on gridded topography, soil, land use and climate data, wflow calculates all hydrological fluxes at any given grid cell in the model at a given time step.

Wflow was born out of the creation of Deltares in 2008, when a strategic review identified the need for a distributed hydrological model to allow the simulation of flows at the catchment scale. With the intention being to encourage greater scientific collaboration. For this reason:

  • Wflow is free and open source software.
  • Wflow is easily coupled with other models and software applications.
  • Contribution to the wflow code development is encouraged.

From 2021 the wflow code is distributed under the MIT License. Wflow is also available as a compiled executable under the Deltares terms and conditions. The wflow computational engine is built in the Julia language, a high-performance computing language and does not have a graphical user interface, being designed for maximum user flexibility. Prior to 2021, wflow was developed in PCRaster Python language and is still available but not actively developed.

diff --git a/dev/intro/publications/index.html b/dev/intro/publications/index.html index 522e07ef4..0f69d9dc4 100644 --- a/dev/intro/publications/index.html +++ b/dev/intro/publications/index.html @@ -1,2 +1,2 @@ -Publications · Wflow.jl

Publications

The paper introducing Wflow.jl and describing the wflow_sbm concept, together with some case studies, can be found here:

van Verseveld, W. J., Weerts, A. H., Visser, M., Buitink, J., Imhoff, R. O., Boisgontier, H., Bouaziz, L., Eilander, D., Hegnauer, M., ten Velden, C., and Russell, B., 2022. Wflow_sbm v0.6.1, a spatially distributed hydrologic model: from global data to local applications, Geosci. Model Dev. Discuss. https://doi.org/10.5194/gmd-2022-182, in review.

Citing wflow

DOI

When using Wflow.jl as part of for example research or project work or teaching please cite our work. Wflow has been published in Zenodo, see the Zenodo badge above, that points to the latest release. The DOIs of previous versions are also available at Zenodo.

If you use a snapshot of the development (without a DOI) please cite as follows:

van Verseveld, Willem, Visser, Martijn, Boisgontier, Hélène, Bootsma, Huite, Bouaziz, Laurène, Buitink, Joost, Eilander, Dirk & Hegnauer, Mark (YEAR). Deltares/Wflow.jl: unstable-master. https://github.com/Deltares/Wflow.jl, obtained: DATE_OF_DOWNLOAD.

Publications using wflow

Papers

Aerts, J. P. M., Hut, R. W., van de Giesen, N. C., Drost, N., van Verseveld, W. J., Weerts, A. H., and Hazenberg, P., 2022. Large-sample assessment of varying spatial resolution on the streamflow estimates of the wflow_sbm hydrological model. Hydrol. Earth Syst. Sci., 26, 4407–4430. https://doi.org/10.5194/hess-26-4407-2022.

de Boer-Euser, T., Bouaziz, L., De Niel, J., Brauer, C., Dewals, B., Drogue, G., Fenicia, F., Grelier, B., Nossent, J., Pereira, F., Savenije, H., Thirel, G., Willems, P., 2017. Looking beyond general metrics for model comparison – lessons from an international model intercomparison study. Hydrol. Earth Syst. Sci. 21, 423–440. https://doi:10.5194/hess-21-423-2017.

Bouaziz, L.J.E., Fenicia, F., Thirel, G., de Boer-Euser, T., Buitink, J., Brauer, C.C., De Niel, J., Dewals, B.J., Drogue, G., Grelier, B., Melsen, L. A., Moustakas, S., Nossent, J., Pereira, F., Sprokkereef, E., Stam, J., Weerts, A.H., Willems, P., Savenije, H.H.G., Hrachowitz, M., 2021. Behind the scenes of streamflow model performance. Hydrol. Earth Syst. Sci., 25, 1069–1095. https://doi.org/10.5194/hess-25-1069-2021.

Bouaziz, L. J. E., Aalbers, E. E., Weerts, A. H., Hegnauer, M., Buiteveld, H., Lammersen, R., Stam, J., Sprokkereef, E., Savenije, H. H. G., and Hrachowitz, M., 2022. Ecosystem adaptation to climate change: the sensitivity of hydrological predictions to time-dynamic model parameters, Hydrol. Earth Syst. Sci., 26, 1295–1318. https://doi.org/10.5194/hess-26-1295-2022.

Casson, D. R., Werner, M., Weerts, A., and Solomatine, D., 2018. Global re-analysis datasets to improve hydrological assessment and snow water equivalent estimation in a sub-Arctic watershed. Hydrol. Earth Syst. Sci., 22, 4685–4697. https://doi.org/10.5194/hess-22-4685-2018.

Emerton, R.E., Stephens, E.M., Pappenberger, F., Pagano, T.C., Weerts, A.H., Wood, A.W., Salamon, P., Brown, J.D., Hjerdt, N., Donnelly, C., Baugh, C.A., Cloke, H.L., 2016. Continental and global scale flood forecasting systems. WIREs Water 3, 391–418. https://doi.org/10.1002/wat2.1137.

Gebremicael, T.G., Mohamed, Y.A., Van der Zaag, P., 2019. Attributing the hydrological impact of different land use types and their long-term dynamics through combining parsimonious hydrological modelling, alteration analysis and PLSR analysis. Science of The Total Environment, 660, 1155-1167, https://doi.org/10.1016/jscitotenv.2019.01.085.

Giardino, A., Schrijvershof, R., Nederhoff, C.M., de Vroeg, H., Brière, C., Tonnon, P.-K., Caires, S., Walstra, D.J., Sosa, J., van Verseveld, W., Schellekens, J., Sloff, C.J., 2018. A quantitative assessment of human interventions and climate change on the West African sediment budget, Ocean & Coastal Management, 156, 249-265. https://doi.org/10.1016/j.ocecoaman.2017.11.008.

Hally, A., Caumont, O., Garrote, L., Richard, E., Weerts, A., Delogu, F., Fiori, E., Rebora, N., Parodi, A., Mihalović, A., Ivković, M., Dekić, L., van Verseveld, W., Nuissier, O., Ducrocq, V., D’Agostino, D., Galizia, A., Danovaro, E., Clematis, A., 2015. Hydrometeorological multi-model ensemble simulations of the 4 November 2011 flash flood event in Genoa, Italy, in the framework of the DRIHM project. Nat. Hazards Earth Syst. Sci. 15, 537–555. https://doi:10.5194/nhess-15-537-2015.

Hassaballah, K., Mohamed, Y., Uhlenbrook, S., and Biro, K., 2017. Analysis of streamflow response to land use and land cover changes using satellite data and hydrological modelling: case study of Dinder and Rahad tributaries of the Blue Nile (Ethiopia–Sudan), Hydrol. Earth Syst. Sci., 21, 5217–5242. https://doi.org/10.5194/hess-21-5217-2017.

Imhoff, R.O, van Verseveld, W.J., van Osnabrugge, B., Weerts, A.H., 2020. Scaling Point-Scale (Pedo)transfer Functions to Seamless Large-Domain Parameter Estimates for High-Resolution Distributed Hydrologic Modeling: An Example for the Rhine River. Water Resources Research,56,e2019WR026807. https://doi.org/10.1029/2019WR026807.

Imhoff, R.O., van Verseveld, W., van Osnabrugge, B., Weerts, A.H., 2020. Ruimtelijk schaalbare hydrologische modelparameters uit open-source omgevingsdata: een voorbeeld voor de Rijn. Stromingen: vakblad voor hydrologen, 26(3), 19-36 https://edepot.wur.nl/540682.

Jeuken, A., Bouaziz, L., Corzo, G., Alfonso, L., 2016. Analyzing Needs for Climate Change Adaptation in the Magdalena River Basin in Colombia, in: Filho, W.L., Musa, H., Cavan, G., O’Hare, P., Seixas, J. (Eds.), Climate Change Adaptation, Resilience and Hazards, Climate Change Management. Springer International Publishing, pp. 329–344 https://doi.org/10.1007/978-3-319-39880-8.

López López, P., Wanders, N., Schellekens, J., Renzullo, L.J., Sutanudjaja, E.H., Bierkens, M.F.P., 2016. Improved large-scale hydrological modelling through the assimilation of streamflow and downscaled satellite soil moisture observations. Hydrol. Earth Syst. Sci., 20, 3059–3076. https://doi.org/10.5194/hess-20-3059-2016.

van Osnabrugge, B., Weerts, A.H., Uijlenhoet, R., 2017. genRE: A method to extend gridded precipitation climatology data sets in near real-time for hydrological forecasting purposes. Water Resources Research, 53. https://doi.org/10.1002/2017WR021201.

van Osnabrugge, B., Uijlenhoet, R., Weerts, A., 2019. Contribution of potential evaporation forecasts to 10-day streamflow forecast skill for the Rhine River, Hydrol. Earth Syst. Sci., 23, 1453–1467, https://doi.org/10.5194/hess-23-1453-2019.

Rakovec, O., Weerts, A.H., Sumihar, J., Uijlenhoet, R., 2015. Operational aspects of asynchronous filtering for flood forecasting. Hydrol. Earth Syst. Sci., 19, 2911–2924, https://doi.org/10.5194/hess-19-2911-2015.

Rusli,S., A.H. Weerts, A. Taufiq, V. Bense, 2021. Estimating water balance components and their uncertainty bounds in highly groundwater-dependent and data-scarce area: An example for the Upper Citarum basin, J. Hydrol. Regional Studies, https://doi.org/10.1016/j.ejrh.2021.100911.

Schaller, N., Sillmann, J., Müller, M., Haarsma, R., Hazeleger, W., Hegdahl, T.J., Kelder, T., van den Oord, G., Weerts, A., Whan, K., 2020. The role of spatial and temporal model resolution in a flood event storyline approach in western Norway. Weather and Climate Extremes, doi: https://doi.org/10.1016/j.wace.2020.100259.

Sperna Weiland, F.C., R.D. Visser, P. Greve, B. Bisselink, L. Brunner and A.H. Weerts,

  1. Estimating Regionalized Hydrological Impacts of Climate Change Over Europe by

Performance-Based Weighting of CORDEX Projections, Frontiers of Water, https://doi.org/10.3389/frwa.2021.713537.

Tangdamrongsub, N., Steele-Dunne, S.C., Gunter, B.C., Ditmar, P.G., Weerts, A.H., 2015. Data assimilation of GRACE terrestrial water storage estimates into a regional hydrological model of the Rhine River basin. Hydrol. Earth Syst. Sci. 19, 2079–2100. https://doi:10.5194/hess-19-2079-2015.

van der Vat, M., Boderie, P., Bons, K.A., Hegnauer, M., Hendriksen, G., van Oorschot, M., Ottow, B., Roelofsen, F., Sankhua, R.N., Sinha, S.K., Warren, A., Young, W., 2019. Participatory Modelling of Surface and Groundwater to Support Strategic Planning in the Ganga Basin in India. Water, 11, 2443. https://doi.org/10.3390/w11122443.

Wannasin, C., Brauer, C. C., Uijlenhoet, R., van Verseveld, W. J., Weerts, A. H., 2021. Daily flow simulation in Thailand Part I: Testing a distributed hydrological model with seamless parameter maps based on global data. Journal of Hydrology: Regional Studies, 34, 1-19. https://doi.org/10.1016/j.ejrh.2021.100794.

Wannasin, C., Brauer, C. C., Uijlenhoet, R., van Verseveld, W. J., Weerts, A. H., 2021. Daily flow simulation in Thailand Part II: Unraveling effects of reservoir operation. Journal of Hydrology: RegionalStudies, 34, 1-17. https://doi.org/10.1016/j.ejrh.2021.100792.

Wang, X., Zhang, J., Babovic, V., 2016. Improving real-time forecasting of water quality indicators with combination of process-based models and data assimilation technique. Ecological Indicators 66, 428–439. https://doi:10.1016/j.ecolind.2016.02.016.

Theses & Internship reports

Arnal, L., 2014. An intercomparison of flood forecasting models for the Meuse River basin, MSc. Thesis, Vrije Universiteit, Amsterdam. https://hal.inrae.fr/hal-02600749.

Alkemade, G., 2019. Routing and calibration of distributed hydrological models, MSc. Thesis, Vrije Universiteit Amsterdam, Faculty of Science, Hydrology.

Azadeh Karami Fard, 2015. Modeling runoff of an Ethiopian catchment with WFLOW, MSc. Thesis, Vrije Universiteit, Amsterdam.

Beusen, B. The effect of rooting depth on discharge and evapotranspiration in (semi-)arid areas, MSC Thesis, HWM, Wageningen University, 2021.

Beusen, B. Plastic transport and the effect of climate change in the Rhine, Internship Deltares, 2021

Bouaziz, L. J. E., 2021. Internal processes in hydrological models: A glance at the Meuse basin from space. Delft University of Technology, Delft, the Netherlands, Doctoral dissertation. https://doi.org/10.4233/uuid:09d84cc1-27e2-4327-a8c7-207a75952061

López López, P., 2018. Application of Global Hydrological Datasets for River Basin Modelling Utrecht University, Utrecht, the Netherlands, pp. 1-214, Doctoral dissertation. http://dspace.library.uu.nl/handle/1874/364148.

Maat, W.H., 2015. Simulating discharges and forecasting floods using a conceptual rainfall-runoff model for the Bolivian Mamoré basin, MSc. Thesis, University of Twente, Enschede. https://essay.utwente.nl/67046/.

van Osnabrugge, B., 2020. Interpolate, simulate, assimilate: operational aspects of improving hydrological forecasts in the Rhine basin. Wageningen University. https://doi.org/10.18174/513157.

Rohrmueller, I., 2019. BENCHMARKING THE NEW WFLOW DISTRIBUTED HYDROLOGICAL MODEL, MSc. Thesis, School of Engineering - Newcastle University.

Tretjakova, D., 2015. Investigating the effect of using fully-distributed model and data assimilation on the performance of hydrological forecasting in the Karasu catchment, Turkey, MSc thesis, Wageningen University.

Verbrugge, M., 2019. Reservoir Operation Optimization, a case study in the Chao Phraya Basin, BSc thesis, Hydrology and Quantitative Water Management Group, Wageningen University.

Viguures, P. 2020. Modelling of flash floods in current and future climate with high resolution convection permitting regional climate models in the European Alps, MSc Thesis, Wageningen University, 2020

Visser, B. 2020. Impact of climate change on local water resources of European catchments, Intersnhip report, Deltares, 2020

Reports

World Bank. 2021. Plastic Waste Discharges from Rivers and Coastlines in Indonesia. Marine Plastics Series;. World Bank, Washington, DC. © World Bank. https://openknowledge.worldbank.org/handle/10986/35607 License: CC BY 3.0 IGO

+Publications · Wflow.jl

Publications

The paper introducing Wflow.jl and describing the wflow_sbm concept, together with some case studies, can be found here:

van Verseveld, W. J., Weerts, A. H., Visser, M., Buitink, J., Imhoff, R. O., Boisgontier, H., Bouaziz, L., Eilander, D., Hegnauer, M., ten Velden, C., and Russell, B., 2022. Wflow_sbm v0.6.1, a spatially distributed hydrologic model: from global data to local applications, Geosci. Model Dev. Discuss. https://doi.org/10.5194/gmd-2022-182, in review.

Citing wflow

DOI

When using Wflow.jl as part of for example research or project work or teaching please cite our work. Wflow has been published in Zenodo, see the Zenodo badge above, that points to the latest release. The DOIs of previous versions are also available at Zenodo.

If you use a snapshot of the development (without a DOI) please cite as follows:

van Verseveld, Willem, Visser, Martijn, Boisgontier, Hélène, Bootsma, Huite, Bouaziz, Laurène, Buitink, Joost, Eilander, Dirk & Hegnauer, Mark (YEAR). Deltares/Wflow.jl: unstable-master. https://github.com/Deltares/Wflow.jl, obtained: DATE_OF_DOWNLOAD.

Publications using wflow

Papers

Aerts, J. P. M., Hut, R. W., van de Giesen, N. C., Drost, N., van Verseveld, W. J., Weerts, A. H., and Hazenberg, P., 2022. Large-sample assessment of varying spatial resolution on the streamflow estimates of the wflow_sbm hydrological model. Hydrol. Earth Syst. Sci., 26, 4407–4430. https://doi.org/10.5194/hess-26-4407-2022.

de Boer-Euser, T., Bouaziz, L., De Niel, J., Brauer, C., Dewals, B., Drogue, G., Fenicia, F., Grelier, B., Nossent, J., Pereira, F., Savenije, H., Thirel, G., Willems, P., 2017. Looking beyond general metrics for model comparison – lessons from an international model intercomparison study. Hydrol. Earth Syst. Sci. 21, 423–440. https://doi:10.5194/hess-21-423-2017.

Bouaziz, L.J.E., Fenicia, F., Thirel, G., de Boer-Euser, T., Buitink, J., Brauer, C.C., De Niel, J., Dewals, B.J., Drogue, G., Grelier, B., Melsen, L. A., Moustakas, S., Nossent, J., Pereira, F., Sprokkereef, E., Stam, J., Weerts, A.H., Willems, P., Savenije, H.H.G., Hrachowitz, M., 2021. Behind the scenes of streamflow model performance. Hydrol. Earth Syst. Sci., 25, 1069–1095. https://doi.org/10.5194/hess-25-1069-2021.

Bouaziz, L. J. E., Aalbers, E. E., Weerts, A. H., Hegnauer, M., Buiteveld, H., Lammersen, R., Stam, J., Sprokkereef, E., Savenije, H. H. G., and Hrachowitz, M., 2022. Ecosystem adaptation to climate change: the sensitivity of hydrological predictions to time-dynamic model parameters, Hydrol. Earth Syst. Sci., 26, 1295–1318. https://doi.org/10.5194/hess-26-1295-2022.

Casson, D. R., Werner, M., Weerts, A., and Solomatine, D., 2018. Global re-analysis datasets to improve hydrological assessment and snow water equivalent estimation in a sub-Arctic watershed. Hydrol. Earth Syst. Sci., 22, 4685–4697. https://doi.org/10.5194/hess-22-4685-2018.

Emerton, R.E., Stephens, E.M., Pappenberger, F., Pagano, T.C., Weerts, A.H., Wood, A.W., Salamon, P., Brown, J.D., Hjerdt, N., Donnelly, C., Baugh, C.A., Cloke, H.L., 2016. Continental and global scale flood forecasting systems. WIREs Water 3, 391–418. https://doi.org/10.1002/wat2.1137.

Gebremicael, T.G., Mohamed, Y.A., Van der Zaag, P., 2019. Attributing the hydrological impact of different land use types and their long-term dynamics through combining parsimonious hydrological modelling, alteration analysis and PLSR analysis. Science of The Total Environment, 660, 1155-1167, https://doi.org/10.1016/jscitotenv.2019.01.085.

Giardino, A., Schrijvershof, R., Nederhoff, C.M., de Vroeg, H., Brière, C., Tonnon, P.-K., Caires, S., Walstra, D.J., Sosa, J., van Verseveld, W., Schellekens, J., Sloff, C.J., 2018. A quantitative assessment of human interventions and climate change on the West African sediment budget, Ocean & Coastal Management, 156, 249-265. https://doi.org/10.1016/j.ocecoaman.2017.11.008.

Hally, A., Caumont, O., Garrote, L., Richard, E., Weerts, A., Delogu, F., Fiori, E., Rebora, N., Parodi, A., Mihalović, A., Ivković, M., Dekić, L., van Verseveld, W., Nuissier, O., Ducrocq, V., D’Agostino, D., Galizia, A., Danovaro, E., Clematis, A., 2015. Hydrometeorological multi-model ensemble simulations of the 4 November 2011 flash flood event in Genoa, Italy, in the framework of the DRIHM project. Nat. Hazards Earth Syst. Sci. 15, 537–555. https://doi:10.5194/nhess-15-537-2015.

Hassaballah, K., Mohamed, Y., Uhlenbrook, S., and Biro, K., 2017. Analysis of streamflow response to land use and land cover changes using satellite data and hydrological modelling: case study of Dinder and Rahad tributaries of the Blue Nile (Ethiopia–Sudan), Hydrol. Earth Syst. Sci., 21, 5217–5242. https://doi.org/10.5194/hess-21-5217-2017.

Imhoff, R.O, van Verseveld, W.J., van Osnabrugge, B., Weerts, A.H., 2020. Scaling Point-Scale (Pedo)transfer Functions to Seamless Large-Domain Parameter Estimates for High-Resolution Distributed Hydrologic Modeling: An Example for the Rhine River. Water Resources Research,56,e2019WR026807. https://doi.org/10.1029/2019WR026807.

Imhoff, R.O., van Verseveld, W., van Osnabrugge, B., Weerts, A.H., 2020. Ruimtelijk schaalbare hydrologische modelparameters uit open-source omgevingsdata: een voorbeeld voor de Rijn. Stromingen: vakblad voor hydrologen, 26(3), 19-36 https://edepot.wur.nl/540682.

Jeuken, A., Bouaziz, L., Corzo, G., Alfonso, L., 2016. Analyzing Needs for Climate Change Adaptation in the Magdalena River Basin in Colombia, in: Filho, W.L., Musa, H., Cavan, G., O’Hare, P., Seixas, J. (Eds.), Climate Change Adaptation, Resilience and Hazards, Climate Change Management. Springer International Publishing, pp. 329–344 https://doi.org/10.1007/978-3-319-39880-8.

López López, P., Wanders, N., Schellekens, J., Renzullo, L.J., Sutanudjaja, E.H., Bierkens, M.F.P., 2016. Improved large-scale hydrological modelling through the assimilation of streamflow and downscaled satellite soil moisture observations. Hydrol. Earth Syst. Sci., 20, 3059–3076. https://doi.org/10.5194/hess-20-3059-2016.

van Osnabrugge, B., Weerts, A.H., Uijlenhoet, R., 2017. genRE: A method to extend gridded precipitation climatology data sets in near real-time for hydrological forecasting purposes. Water Resources Research, 53. https://doi.org/10.1002/2017WR021201.

van Osnabrugge, B., Uijlenhoet, R., Weerts, A., 2019. Contribution of potential evaporation forecasts to 10-day streamflow forecast skill for the Rhine River, Hydrol. Earth Syst. Sci., 23, 1453–1467, https://doi.org/10.5194/hess-23-1453-2019.

Rakovec, O., Weerts, A.H., Sumihar, J., Uijlenhoet, R., 2015. Operational aspects of asynchronous filtering for flood forecasting. Hydrol. Earth Syst. Sci., 19, 2911–2924, https://doi.org/10.5194/hess-19-2911-2015.

Rusli,S., A.H. Weerts, A. Taufiq, V. Bense, 2021. Estimating water balance components and their uncertainty bounds in highly groundwater-dependent and data-scarce area: An example for the Upper Citarum basin, J. Hydrol. Regional Studies, https://doi.org/10.1016/j.ejrh.2021.100911.

Schaller, N., Sillmann, J., Müller, M., Haarsma, R., Hazeleger, W., Hegdahl, T.J., Kelder, T., van den Oord, G., Weerts, A., Whan, K., 2020. The role of spatial and temporal model resolution in a flood event storyline approach in western Norway. Weather and Climate Extremes, doi: https://doi.org/10.1016/j.wace.2020.100259.

Sperna Weiland, F.C., R.D. Visser, P. Greve, B. Bisselink, L. Brunner and A.H. Weerts,

  1. Estimating Regionalized Hydrological Impacts of Climate Change Over Europe by

Performance-Based Weighting of CORDEX Projections, Frontiers of Water, https://doi.org/10.3389/frwa.2021.713537.

Tangdamrongsub, N., Steele-Dunne, S.C., Gunter, B.C., Ditmar, P.G., Weerts, A.H., 2015. Data assimilation of GRACE terrestrial water storage estimates into a regional hydrological model of the Rhine River basin. Hydrol. Earth Syst. Sci. 19, 2079–2100. https://doi:10.5194/hess-19-2079-2015.

van der Vat, M., Boderie, P., Bons, K.A., Hegnauer, M., Hendriksen, G., van Oorschot, M., Ottow, B., Roelofsen, F., Sankhua, R.N., Sinha, S.K., Warren, A., Young, W., 2019. Participatory Modelling of Surface and Groundwater to Support Strategic Planning in the Ganga Basin in India. Water, 11, 2443. https://doi.org/10.3390/w11122443.

Wannasin, C., Brauer, C. C., Uijlenhoet, R., van Verseveld, W. J., Weerts, A. H., 2021. Daily flow simulation in Thailand Part I: Testing a distributed hydrological model with seamless parameter maps based on global data. Journal of Hydrology: Regional Studies, 34, 1-19. https://doi.org/10.1016/j.ejrh.2021.100794.

Wannasin, C., Brauer, C. C., Uijlenhoet, R., van Verseveld, W. J., Weerts, A. H., 2021. Daily flow simulation in Thailand Part II: Unraveling effects of reservoir operation. Journal of Hydrology: RegionalStudies, 34, 1-17. https://doi.org/10.1016/j.ejrh.2021.100792.

Wang, X., Zhang, J., Babovic, V., 2016. Improving real-time forecasting of water quality indicators with combination of process-based models and data assimilation technique. Ecological Indicators 66, 428–439. https://doi:10.1016/j.ecolind.2016.02.016.

Theses & Internship reports

Arnal, L., 2014. An intercomparison of flood forecasting models for the Meuse River basin, MSc. Thesis, Vrije Universiteit, Amsterdam. https://hal.inrae.fr/hal-02600749.

Alkemade, G., 2019. Routing and calibration of distributed hydrological models, MSc. Thesis, Vrije Universiteit Amsterdam, Faculty of Science, Hydrology.

Azadeh Karami Fard, 2015. Modeling runoff of an Ethiopian catchment with WFLOW, MSc. Thesis, Vrije Universiteit, Amsterdam.

Beusen, B. The effect of rooting depth on discharge and evapotranspiration in (semi-)arid areas, MSC Thesis, HWM, Wageningen University, 2021.

Beusen, B. Plastic transport and the effect of climate change in the Rhine, Internship Deltares, 2021

Bouaziz, L. J. E., 2021. Internal processes in hydrological models: A glance at the Meuse basin from space. Delft University of Technology, Delft, the Netherlands, Doctoral dissertation. https://doi.org/10.4233/uuid:09d84cc1-27e2-4327-a8c7-207a75952061

López López, P., 2018. Application of Global Hydrological Datasets for River Basin Modelling Utrecht University, Utrecht, the Netherlands, pp. 1-214, Doctoral dissertation. http://dspace.library.uu.nl/handle/1874/364148.

Maat, W.H., 2015. Simulating discharges and forecasting floods using a conceptual rainfall-runoff model for the Bolivian Mamoré basin, MSc. Thesis, University of Twente, Enschede. https://essay.utwente.nl/67046/.

van Osnabrugge, B., 2020. Interpolate, simulate, assimilate: operational aspects of improving hydrological forecasts in the Rhine basin. Wageningen University. https://doi.org/10.18174/513157.

Rohrmueller, I., 2019. BENCHMARKING THE NEW WFLOW DISTRIBUTED HYDROLOGICAL MODEL, MSc. Thesis, School of Engineering - Newcastle University.

Tretjakova, D., 2015. Investigating the effect of using fully-distributed model and data assimilation on the performance of hydrological forecasting in the Karasu catchment, Turkey, MSc thesis, Wageningen University.

Verbrugge, M., 2019. Reservoir Operation Optimization, a case study in the Chao Phraya Basin, BSc thesis, Hydrology and Quantitative Water Management Group, Wageningen University.

Viguures, P. 2020. Modelling of flash floods in current and future climate with high resolution convection permitting regional climate models in the European Alps, MSc Thesis, Wageningen University, 2020

Visser, B. 2020. Impact of climate change on local water resources of European catchments, Intersnhip report, Deltares, 2020

Reports

World Bank. 2021. Plastic Waste Discharges from Rivers and Coastlines in Indonesia. Marine Plastics Series;. World Bank, Washington, DC. © World Bank. https://openknowledge.worldbank.org/handle/10986/35607 License: CC BY 3.0 IGO

diff --git a/dev/intro/use_cases/index.html b/dev/intro/use_cases/index.html index ea8f20b01..9f1ccd209 100644 --- a/dev/intro/use_cases/index.html +++ b/dev/intro/use_cases/index.html @@ -1,2 +1,2 @@ -Case studies · Wflow.jl

Case studies

Wflow models for the Meuse and Rhine

Reliable hydrological models for the Rhine and the Meuse river basin are necessary for short-term forecasting of river flows and long-term predictions for strategic water management planning. In collaboration with Rijkswaterstaat, Deltares is setting-up a new line of models for the Rhine and the Meuse basins. The models will be used for forecasting and to estimate the impact of climate change on water resources and extreme streamflow. In the model development, we seek to improve hydrological predictions by including relevant processes in the model schematization. The modularity of the Wflow framework is ideal for this as we can easily evaluate the combination of different vertical and lateral model components. For example, the local inertial routing for river and overland flow enables us to consider retention of water in the floodplains, which will likely improve extreme streamflow predictions.

fig_case_rws

Operational flood forecasting in Australia

In Australia, there was a need for high-resolution, fast and accurate rainfall-runoff models to provide boundary conditions for a fast and detailled flood inundation model (SFINCS). The domain of the flood model covers there complete North and East coast of Australia. Although many observations stations are available to provide real-time information, many rivers are not covered. For these locations, wflow_sbm models are used to provide this real-time information. Additionally, these models are used to provide projections for potential future scenarios. Using the HydroMT library, all wflow_sbm models were automatically build. The high level of flexibility in spatial and temporal resolution, and the physically based nature of the concept make wflow_sbm a very suitable model for ungauged basins. Furthermore, the model is both detailled and computationally efficient enough in order to be coupled to the fast flood inundation model SFINCS.

fig_case_flifs

The results of this Proof of Concept are very promising. Technically, we were able to very quickly setup the wflow_sbm models, couple them to the flood inundation models (SFINCS) and run the models operationally under the Delft-FEWS platform. For two basins, model validation was caried out, by comparing the results of wflow_sbm against the observations and the results of calibrated URBS models. This validation showed that the uncalibrated wflow_sbm model results were already quite satisfying, especially given the complex nature of these basins, including several small and big reservoirs. We could also demonstrate the potential for further calibration by changing the KsatHorFrac parameter.

Reference: De Kleermaeker, S., Maguire, S., Druery, C., Morales, Y., Lijnse, T., Hegnauer, M., 2022 (in preperation). Developing a real-time data and modelling framework for operational flood inundation forecasting in Australia. Hydrology Water and Resources Symposium.

fig_case_flifs

Simulating plastic transport in Thailand

For the Polution Control Board of the Government of Thailand and The World Bank, we supported the material flow analysis of plastics in Thailand using Wflow. Plastic polution is a growing problem globally. Plastic waste enters the rivers and is transported to the ocean where it remains and threatens the health of the ocean, seas and coasts. The initial movement of plastic waste is in many cases triggered by runoff from (heavy) rainfall and with the flow of water transported towards the small stream and rivers. Therefore there is strong relation to rainfall-runoff processes, which allows also to model this process using high-resolution rainfall-runoff models.

In this study we applied the wflow_sbm model in combination with a fate-and-transport and water quality model (DelWaq) to simulate the movement of plastics through 5 large river basins and on 3 island and coastal zones (Krabi, Phuket and Ko Samui, see screenshot of the model below) in Thailand. Together with our partners Panya Consultants and HII, we were able to show hotspots of plastic polution, how much plastic waste would end up in the Gulf of Thailand and what would be priority areas to adress to reduce plastic waste reaching the sea.

fig_case_mfa

The wflow_sbm models for the 5 large basins were calibrated. The presence of large dams and reservoirs complicated the calibration, but with the input for the operation of the dams, the model performance for these basins could be largely improved. The figure below shows the calibrated model results for the Chao Phraya, just upstream of Bangkok. The input from the hydrological wflow_sbm model was used as input for the fate and transport model to assess how much plastic would transported to the ocean.

fig_case_mfa

Link to World Bank report: https://www.worldbank.org/en/country/thailand/publication/plastic-waste-material-flow-analysis-for-thailand

+Case studies · Wflow.jl

Case studies

Wflow models for the Meuse and Rhine

Reliable hydrological models for the Rhine and the Meuse river basin are necessary for short-term forecasting of river flows and long-term predictions for strategic water management planning. In collaboration with Rijkswaterstaat, Deltares is setting-up a new line of models for the Rhine and the Meuse basins. The models will be used for forecasting and to estimate the impact of climate change on water resources and extreme streamflow. In the model development, we seek to improve hydrological predictions by including relevant processes in the model schematization. The modularity of the Wflow framework is ideal for this as we can easily evaluate the combination of different vertical and lateral model components. For example, the local inertial routing for river and overland flow enables us to consider retention of water in the floodplains, which will likely improve extreme streamflow predictions.

fig_case_rws

Operational flood forecasting in Australia

In Australia, there was a need for high-resolution, fast and accurate rainfall-runoff models to provide boundary conditions for a fast and detailled flood inundation model (SFINCS). The domain of the flood model covers there complete North and East coast of Australia. Although many observations stations are available to provide real-time information, many rivers are not covered. For these locations, wflow_sbm models are used to provide this real-time information. Additionally, these models are used to provide projections for potential future scenarios. Using the HydroMT library, all wflow_sbm models were automatically build. The high level of flexibility in spatial and temporal resolution, and the physically based nature of the concept make wflow_sbm a very suitable model for ungauged basins. Furthermore, the model is both detailled and computationally efficient enough in order to be coupled to the fast flood inundation model SFINCS.

fig_case_flifs

The results of this Proof of Concept are very promising. Technically, we were able to very quickly setup the wflow_sbm models, couple them to the flood inundation models (SFINCS) and run the models operationally under the Delft-FEWS platform. For two basins, model validation was caried out, by comparing the results of wflow_sbm against the observations and the results of calibrated URBS models. This validation showed that the uncalibrated wflow_sbm model results were already quite satisfying, especially given the complex nature of these basins, including several small and big reservoirs. We could also demonstrate the potential for further calibration by changing the KsatHorFrac parameter.

Reference: De Kleermaeker, S., Maguire, S., Druery, C., Morales, Y., Lijnse, T., Hegnauer, M., 2022 (in preperation). Developing a real-time data and modelling framework for operational flood inundation forecasting in Australia. Hydrology Water and Resources Symposium.

fig_case_flifs

Simulating plastic transport in Thailand

For the Polution Control Board of the Government of Thailand and The World Bank, we supported the material flow analysis of plastics in Thailand using Wflow. Plastic polution is a growing problem globally. Plastic waste enters the rivers and is transported to the ocean where it remains and threatens the health of the ocean, seas and coasts. The initial movement of plastic waste is in many cases triggered by runoff from (heavy) rainfall and with the flow of water transported towards the small stream and rivers. Therefore there is strong relation to rainfall-runoff processes, which allows also to model this process using high-resolution rainfall-runoff models.

In this study we applied the wflow_sbm model in combination with a fate-and-transport and water quality model (DelWaq) to simulate the movement of plastics through 5 large river basins and on 3 island and coastal zones (Krabi, Phuket and Ko Samui, see screenshot of the model below) in Thailand. Together with our partners Panya Consultants and HII, we were able to show hotspots of plastic polution, how much plastic waste would end up in the Gulf of Thailand and what would be priority areas to adress to reduce plastic waste reaching the sea.

fig_case_mfa

The wflow_sbm models for the 5 large basins were calibrated. The presence of large dams and reservoirs complicated the calibration, but with the input for the operation of the dams, the model performance for these basins could be largely improved. The figure below shows the calibrated model results for the Chao Phraya, just upstream of Bangkok. The input from the hydrological wflow_sbm model was used as input for the fate and transport model to assess how much plastic would transported to the ocean.

fig_case_mfa

Link to World Bank report: https://www.worldbank.org/en/country/thailand/publication/plastic-waste-material-flow-analysis-for-thailand

diff --git a/dev/model_docs/intro/index.html b/dev/model_docs/intro/index.html index 3adf85735..646251066 100644 --- a/dev/model_docs/intro/index.html +++ b/dev/model_docs/intro/index.html @@ -1,2 +1,2 @@ -About the model documentation · Wflow.jl

About the model documentation

As opposed to the user guide, which describes the steps needed to build and apply a model in the software, this section explains the different model concepts that are available within the modelling framework of wflow. Descriptions are given regarding the model concepts with links to the original scientific papers which explain the concepts in more detail. The model parameters which influence the processes are also shown, using inline code blocks. An overview of all model parameters is also provided for easy reference, including their short names, long descriptions and their units (see parameters vertical concepts and parameters lateral concepts).

Division between vertical and lateral

In the documentation we talk of vertical and lateral concepts. These are components in the model that describe the vertical movement of water in each model grid cell and the lateral movement of water across grid cells.

+About the model documentation · Wflow.jl

About the model documentation

As opposed to the user guide, which describes the steps needed to build and apply a model in the software, this section explains the different model concepts that are available within the modelling framework of wflow. Descriptions are given regarding the model concepts with links to the original scientific papers which explain the concepts in more detail. The model parameters which influence the processes are also shown, using inline code blocks. An overview of all model parameters is also provided for easy reference, including their short names, long descriptions and their units (see parameters vertical concepts and parameters lateral concepts).

Division between vertical and lateral

In the documentation we talk of vertical and lateral concepts. These are components in the model that describe the vertical movement of water in each model grid cell and the lateral movement of water across grid cells.

diff --git a/dev/model_docs/lateral/gwf/index.html b/dev/model_docs/lateral/gwf/index.html index ccfb52a48..2ca147c13 100644 --- a/dev/model_docs/lateral/gwf/index.html +++ b/dev/model_docs/lateral/gwf/index.html @@ -1,7 +1,7 @@ -Groundwater flow · Wflow.jl

Groundwater flow

Single layer groundwater flow requires the four following components, and each is described in more detail below:

  • aquifer
  • connectivity
  • constanthead
  • boundaries

Aquifer types

Groundwater flow can occur either in a confined or unconfined aquifer. Confined aquifers are overlain by a poorly permeable confining layer (e.g. clay). No air can get in to fill the pore space so that the aquifer always remains fully saturated. For a confined aquifer, water will always flow along the complete height $H$ [m] over the aquifer and transmissivity $kH$ [m$^2$ d$^{-1}$] is a constant ($k$ [m d$^{-1}$] is the horizontal hydraulic conductivity). Specific storage is the amount of water an aquifer releases per unit change in hydraulic head, per unit volume of aquifer, as the aquifer and the groundwater itself is compressed. Its value is much smaller than specific yield, between 1e-5 (stiff) and 0.01 (weak).

The upper boundary of an unconfined aquifer is the water table (the phreatic surface). Specific yield (or drainable porosity) represents the volumetric fraction the aquifer will yield when all water drains and the pore volume is filled by air instead. Specific yield will vary roughly between 0.05 (clay) and 0.45 (peat) (Johnson, 1967).

Groundwater flow is solved forward in time and central in space. The vertically averaged governing equation for an inhomogeneous and isotropic aquifer in one dimension can be written as:

\[ S \frac{\phi}{\delta t} = \frac{\delta}{\delta x} (kH \frac{\phi}{\delta x}) + Q\]

where $S$ [m m$^{-1}$] is storativity (or specific yield), $\phi$ [m] is hydraulic head, $t$ is time, $k$ [m t$^{-1}$] is horizontal hydraulic conductivity, $H$ [m] is the (saturated) aquifer height: groundwater level - aquifer bottom elevation and $Q$ [m t$^{-1}$] represents fluxes from boundary conditions (e.g. recharge or abstraction), see also Aquifer boundary conditions.

The simplest finite difference formulation is forward in time, central in space, and can be written as:

\[ S_i \frac{(\phi_{i}^{t+1} - \phi_i^{t})}{\Delta t} = -C_{i-1} (\phi_{i-1} - \phi_i) - C_i (\phi_{i+1} - \phi_i) + Q_ᵢ\]

where $_i$ is the cell index, $^t$ is time, $\Delta t$ is the step size, $C_{i-1}$ is the the intercell conductance between cell $i-1$ and $i$ and $C_i$ is the intercell conductance between cell $i$ and $i+1$. The connection data between cells is stored as part of the Connectivity struct, see also Connectivity for more information.

Conductance $C$ is defined as:

\[ C = \frac{kH w}{l}\]

where $w$ [m] is the width of the cell to cell connection, and $l$ [m] is the length of the cell to cell connection. $k$ and $H$ may both vary in space; intercell conductance is therefore an average using the properties of two cells. For the calculation of the intercell conductance $C$ the harmonic mean is used (see also Goode and Appel, 1992), here between cell index $i$ and cell index $i+1$, in the $x$ direction:

\[ C_i = w \frac{(k_iH_i\cdot k_{i+1}H_{i+1})}{(k_iH_i \cdot l_{i+1} + k_{i+1}H_{i+1} \cdot l_i)}\]

where $H$ [m] is the aquifer top - aquifer bottom, and $k$, $l_i$ is the length in cell $i$ ($0.5 \Delta x_i$), $l_{i+1}$ is the length in cell $i+1$ ($0.5 \Delta x_{i+1}$) and $w$ as previously defined. For an unconfined aquifer the intercell conductance is scaled by using the "upstream saturated fraction" as the MODFLOW documentation calls it. In this approach, the saturated thickness of a cell-to-cell is approximated using the cell with the highest head. This results in a consistent overestimation of the saturated thickness, but it avoids complexities related with cell drying and rewetting, such as having to define a "wetting threshold" or a "wetting factor". See also the documentation for MODFLOW-NWT (Niswonger et al., 2011) or MODFLOW6 (Langevin et al., 2017) for more background information. For more background on drying and rewetting, see for example McDonald et al. (1991).

For the finite difference formulation, there is only one unknown, $\phi_i^{t+1}$. Reshuffling terms:

\[\phi_i^{t+1} = \phi_i^t + (C_{i-1} (\phi_i - \phi_{i-1}) + C_i (\phi_{i+1} - \phi_i) + Q_i) \frac{Δt}{S_i}\]

This can be generalized to two dimensions, for both regular and irregular cell connectivity. Finally, a stable time step size can be computed given the forward-in-time, central in space scheme, based on the following criterion from Chu and Willis (1984):

\[\frac{\Delta t k H}{(\Delta x \Delta y S)} \le \frac{1}{4}\]

where $\Delta t$ [d] is the stable time step size, $\Delta x$ [m] is the cell length in the $x$ direction and $\Delta y$ [m] is the cell length in the $y$ direction, $k$ is the horizontal hydraulic conductivity [m$^2$ d$^{-1}$] and $H$ [m] is the saturated thickness of the aquifer. For each cell $\frac{(\Delta x \Delta y S)}{k H}$ is calculated, the minimum of these values is determined, and multiplied by $\frac{1}{4}$, to get the stable time step size.

For more details about the finite difference formulation and the stable time step size criterion we refer to the paper of Chu and Willis (1984).

Boundary conditions can be classified into three categories:

  • specified head (Dirichlet)
  • specified flux (Neumann)
  • head-dependent flux (Robin)

Neumann and Robin conditions are implemented by adding to or subtracting from a net (lumped) cell flux. Dirichlet conditions are special cased, since they cannot (easily) be implemented via the flux, but the head is set directly instead.

Connectivity

The connectivity between cells is defined as follows.

Wflow.ConnectivityType
Connectivity{T}

Stores connection data between cells. Connections are stored in a compressed sparse column (CSC) adjacency matrix: only non-zero values are stored. Primarily, this consist of two vectors:

  • the row value vector holds the cell indices of neighbors
  • the column pointers marks the start and end index of the row value vector

This matrix is square: n = m = ncell. nconnection is equal to nnz (the number of non-zero values).

  • ncell: the number of (active) cells in the simulation
  • nconnection: the number of connections between cells
  • length1: for every connection, the length in the first cell, size nconnection
  • length2: for every connection, the length in the second cell, size nconnection
  • width: width for every connection, (approx.) perpendicular to length1 and length2, size nconnection
  • colptr: CSC column pointer (size ncell + 1)
  • rowval: CSC row value (size nconnection)
source

Constant head

Dirichlet boundary conditions can be specified through the field constanthead (type ConstantHead) of the GroundwaterFlow struct.

@get_units struct ConstantHead{T}
+Groundwater flow · Wflow.jl

Groundwater flow

Single layer groundwater flow requires the four following components, and each is described in more detail below:

  • aquifer
  • connectivity
  • constanthead
  • boundaries

Aquifer types

Groundwater flow can occur either in a confined or unconfined aquifer. Confined aquifers are overlain by a poorly permeable confining layer (e.g. clay). No air can get in to fill the pore space so that the aquifer always remains fully saturated. For a confined aquifer, water will always flow along the complete height $H$ [m] over the aquifer and transmissivity $kH$ [m$^2$ d$^{-1}$] is a constant ($k$ [m d$^{-1}$] is the horizontal hydraulic conductivity). Specific storage is the amount of water an aquifer releases per unit change in hydraulic head, per unit volume of aquifer, as the aquifer and the groundwater itself is compressed. Its value is much smaller than specific yield, between 1e-5 (stiff) and 0.01 (weak).

The upper boundary of an unconfined aquifer is the water table (the phreatic surface). Specific yield (or drainable porosity) represents the volumetric fraction the aquifer will yield when all water drains and the pore volume is filled by air instead. Specific yield will vary roughly between 0.05 (clay) and 0.45 (peat) (Johnson, 1967).

Groundwater flow is solved forward in time and central in space. The vertically averaged governing equation for an inhomogeneous and isotropic aquifer in one dimension can be written as:

\[ S \frac{\phi}{\delta t} = \frac{\delta}{\delta x} (kH \frac{\phi}{\delta x}) + Q\]

where $S$ [m m$^{-1}$] is storativity (or specific yield), $\phi$ [m] is hydraulic head, $t$ is time, $k$ [m t$^{-1}$] is horizontal hydraulic conductivity, $H$ [m] is the (saturated) aquifer height: groundwater level - aquifer bottom elevation and $Q$ [m t$^{-1}$] represents fluxes from boundary conditions (e.g. recharge or abstraction), see also Aquifer boundary conditions.

The simplest finite difference formulation is forward in time, central in space, and can be written as:

\[ S_i \frac{(\phi_{i}^{t+1} - \phi_i^{t})}{\Delta t} = -C_{i-1} (\phi_{i-1} - \phi_i) - C_i (\phi_{i+1} - \phi_i) + Q_ᵢ\]

where $_i$ is the cell index, $^t$ is time, $\Delta t$ is the step size, $C_{i-1}$ is the the intercell conductance between cell $i-1$ and $i$ and $C_i$ is the intercell conductance between cell $i$ and $i+1$. The connection data between cells is stored as part of the Connectivity struct, see also Connectivity for more information.

Conductance $C$ is defined as:

\[ C = \frac{kH w}{l}\]

where $w$ [m] is the width of the cell to cell connection, and $l$ [m] is the length of the cell to cell connection. $k$ and $H$ may both vary in space; intercell conductance is therefore an average using the properties of two cells. For the calculation of the intercell conductance $C$ the harmonic mean is used (see also Goode and Appel, 1992), here between cell index $i$ and cell index $i+1$, in the $x$ direction:

\[ C_i = w \frac{(k_iH_i\cdot k_{i+1}H_{i+1})}{(k_iH_i \cdot l_{i+1} + k_{i+1}H_{i+1} \cdot l_i)}\]

where $H$ [m] is the aquifer top - aquifer bottom, and $k$, $l_i$ is the length in cell $i$ ($0.5 \Delta x_i$), $l_{i+1}$ is the length in cell $i+1$ ($0.5 \Delta x_{i+1}$) and $w$ as previously defined. For an unconfined aquifer the intercell conductance is scaled by using the "upstream saturated fraction" as the MODFLOW documentation calls it. In this approach, the saturated thickness of a cell-to-cell is approximated using the cell with the highest head. This results in a consistent overestimation of the saturated thickness, but it avoids complexities related with cell drying and rewetting, such as having to define a "wetting threshold" or a "wetting factor". See also the documentation for MODFLOW-NWT (Niswonger et al., 2011) or MODFLOW6 (Langevin et al., 2017) for more background information. For more background on drying and rewetting, see for example McDonald et al. (1991).

For the finite difference formulation, there is only one unknown, $\phi_i^{t+1}$. Reshuffling terms:

\[\phi_i^{t+1} = \phi_i^t + (C_{i-1} (\phi_i - \phi_{i-1}) + C_i (\phi_{i+1} - \phi_i) + Q_i) \frac{Δt}{S_i}\]

This can be generalized to two dimensions, for both regular and irregular cell connectivity. Finally, a stable time step size can be computed given the forward-in-time, central in space scheme, based on the following criterion from Chu and Willis (1984):

\[\frac{\Delta t k H}{(\Delta x \Delta y S)} \le \frac{1}{4}\]

where $\Delta t$ [d] is the stable time step size, $\Delta x$ [m] is the cell length in the $x$ direction and $\Delta y$ [m] is the cell length in the $y$ direction, $k$ is the horizontal hydraulic conductivity [m$^2$ d$^{-1}$] and $H$ [m] is the saturated thickness of the aquifer. For each cell $\frac{(\Delta x \Delta y S)}{k H}$ is calculated, the minimum of these values is determined, and multiplied by $\frac{1}{4}$, to get the stable time step size.

For more details about the finite difference formulation and the stable time step size criterion we refer to the paper of Chu and Willis (1984).

Boundary conditions can be classified into three categories:

  • specified head (Dirichlet)
  • specified flux (Neumann)
  • head-dependent flux (Robin)

Neumann and Robin conditions are implemented by adding to or subtracting from a net (lumped) cell flux. Dirichlet conditions are special cased, since they cannot (easily) be implemented via the flux, but the head is set directly instead.

Connectivity

The connectivity between cells is defined as follows.

Wflow.ConnectivityType
Connectivity{T}

Stores connection data between cells. Connections are stored in a compressed sparse column (CSC) adjacency matrix: only non-zero values are stored. Primarily, this consist of two vectors:

  • the row value vector holds the cell indices of neighbors
  • the column pointers marks the start and end index of the row value vector

This matrix is square: n = m = ncell. nconnection is equal to nnz (the number of non-zero values).

  • ncell: the number of (active) cells in the simulation
  • nconnection: the number of connections between cells
  • length1: for every connection, the length in the first cell, size nconnection
  • length2: for every connection, the length in the second cell, size nconnection
  • width: width for every connection, (approx.) perpendicular to length1 and length2, size nconnection
  • colptr: CSC column pointer (size ncell + 1)
  • rowval: CSC row value (size nconnection)
source

Constant head

Dirichlet boundary conditions can be specified through the field constanthead (type ConstantHead) of the GroundwaterFlow struct.

@get_units struct ConstantHead{T}
     head::Vector{T} | "m"
     index::Vector{Int} | "-"
 end

For the model SBM + Groundwater flow this boundary condition is optional, and if used should be specified in the TOML file as follows (see also sbm_gwf_config.toml):

[model]
 constanthead = true

Aquifer boundary conditions

River

The flux between river and aquifer is calculated using Darcy's law following the approach in MODFLOW:

\[ Q_{riv} = \Bigg\lbrace{C_{i} \,\text{min}(h_{riv} - B_{riv}, h_{riv} - \phi), \,h_{riv} > \phi \atop C_{e} (h_{riv} - \phi) , \,h_{riv} \leq \phi}\]

where $Q_{riv}$ is the exchange flux from river to aquifer [L$^3$ T$^{-1}$], $C_i$ [L$^2$ T$^{-1}$] is the river bed infiltration conductance, $C_e$ [L$^2$ T$^{-1}$] is the river bed exfiltration conductance, $B_{riv}$ the bottom of the river bed [L], $h_{riv}$ is the river stage [L] and $\phi$ is the hydraulic head in the river cell [L].

The Table in the Groundwater flow river boundary condition section of the Model parameters provides the parameters of the struct River. Parameters that can be set directly from the static input data (netCDF) are marked in this Table.

The exchange flux (river to aquifer) $Q_{riv}$ is an output variable (field flux of the River struct), and is used to update the total flux in a river cell. For the model SBM + Groundwater flow, the water level h [m] of the river kinematic wave in combination with the river bottom is used to update the stage field of the River struct each time step.

Drainage

The flux from drains to the aquifer is calculated as follows:

\[Q_{drain} = C_{drain} \text{min}(0, h_{drain} - \phi)\]

where $Q_{drain}$ is the exchange flux from drains to aquifer [L$^3$ T$^{-1}$], $C_{drain}$ [L$^2$ T$^{-1}$] is the drain conductance, $h_{drain}$ is the drain elevation [L] and $\phi$ is the hydraulic head in the cell with drainage [L].

The Table in the Groundwater flow drainage boundary condition section of the Model parameters provides the parameters of the struct Drainage. Parameters that can be set directly from the static input data (netCDF) are marked in this Table.

The exchange flux (drains to aquifer) $Q_{drain}$ is an output variable (field flux of struct Drainage), and is used to update the total flux in a cell with drains. For the model SBM + Groundwater flow this boundary condition is optional, and if used should be specified in the TOML file as follows (see also sbm_gwf_config.toml):

[model]
-drains = true

Recharge

The recharge flux $Q_{r}$ to the aquifer is calculated as follows:

\[Q_{r} = R \, A\]

with $R$ the recharge rate [L T$^{-1}$] and $A$ the area [L$^2$ ] of the aquifer cell.

The Table in the Groundwater flow recharge boundary condition section of the Model parameters section provides the parameters of the struct Recharge. Parameters that can be set directly from the static input data (netCDF) are marked in this Table.

The recharge flux $Q_r$ is an output variable (field flux of struct Recharge), and is used to update the total flux in a cell where recharge occurs. For the model SBM + Groundwater flow, the recharge rate from the vertical SBM concept recharge [mm] is used to update the rate field of the Recharge struct each time step. The rate field is multiplied by the area field of the aquifer.

Head boundary

This boundary is a fixed head with time (not affected by the model stresses over time)) outside of the model domain, and is generally used to avoid an unnecessary extension of the model domain to the location of the fixed boundary (for example a large lake). The flux from the boundary $Q_{hb}$ [L$^3$ T$^{-1}$] is calculated as follows:

\[Q_{hb} = C_{hb} (\phi_{hb} - \phi)\]

with $C_{hb}$ the conductance of the head boundary [L$^2$ T$^{-1}$], $\phi_{hb}$ the head [L] of the head boundary and $\phi$ the head of the aquifer cell.

The Table in the Groundwater flow head boundary condition section of the Model parameters provides the parameters of the struct HeadBoundary.

The head boundary flux $Q_{hb}$ is an output variable (field flux of struct HeadBoundary), and is used to update the total flux in a cell where this type of boundary occurs. The parameter Head $\phi_{hb}$ can be specified as a fixed or time dependent value.

Note

This boundary is not (yet) part of the model SBM + Groundwater flow.

Well boundary

A volumetric well rate [L$^3$ T$^{-1}$] can be specified as a boundary condition.

The Table in the well boundary condition section of the Model parameters provides the parameters of the struct Well.

The volumetric well rate $Q_{well}$ can be can be specified as a fixed or time dependent value. If a cell is dry, the actual well flux flux is set to zero (see also the last note on this page).

Note

This boundary is not (yet) part of the model SBM + Groundwater flow.

Note

For an unconfined aquifer the boundary fluxes are checked, in case of a dry aquifer cell a negative flux is not allowed.

References

  • Chu, W. S., & Willis, R. (1984). An explicit finite difference model for unconfined aquifers. Groundwater, 22(6), 728-734.
  • Goode, D. J., & Appel, C. A. (1992). Finite-Difference Interblock Transmissivity for Unconfined Aquifers and for Aquifers having Smoothly Varying Transmissivity Water-resources investigations report, 92, 4124.
  • Johnson, A. I. (1967), Specific yield: compilation of specific yields for various materials, Water Supply Paper 1662-D, Washington, D.C.: U.S. Government Printing Office, p. 74, doi:10.3133/wsp1662D.
  • Langevin, C.D., Hughes, J.D., Banta, E.R., Niswonger, R.G., Panday, Sorab, and Provost, A.M., 2017, Documentation for the MODFLOW 6 Groundwater Flow Model: U.S. Geological Survey Techniques and Methods, book 6, chap. A55, 197 p., https://doi.org/10.3133/tm6A55.
  • McDonald, M.G., Harbaugh, A.W., Orr, B.R., and Ackerman, D.J., 1991, A method of converting no-flow cells to variable-head cells for the U.S. Geological Survey modular finite-difference groundwater flow model: U.S. Geological Survey Open-File Report 91-536, 99 p.
  • Niswonger, R.G., Panday, Sorab, and Ibaraki, Motomu, 2011, MODFLOW-NWT, A Newton formulation for MODFLOW-2005: U.S. Geological Survey Techniques and Methods 6-A37, 44 p.
+drains = true

Recharge

The recharge flux $Q_{r}$ to the aquifer is calculated as follows:

\[Q_{r} = R \, A\]

with $R$ the recharge rate [L T$^{-1}$] and $A$ the area [L$^2$ ] of the aquifer cell.

The Table in the Groundwater flow recharge boundary condition section of the Model parameters section provides the parameters of the struct Recharge. Parameters that can be set directly from the static input data (netCDF) are marked in this Table.

The recharge flux $Q_r$ is an output variable (field flux of struct Recharge), and is used to update the total flux in a cell where recharge occurs. For the model SBM + Groundwater flow, the recharge rate from the vertical SBM concept recharge [mm] is used to update the rate field of the Recharge struct each time step. The rate field is multiplied by the area field of the aquifer.

Head boundary

This boundary is a fixed head with time (not affected by the model stresses over time)) outside of the model domain, and is generally used to avoid an unnecessary extension of the model domain to the location of the fixed boundary (for example a large lake). The flux from the boundary $Q_{hb}$ [L$^3$ T$^{-1}$] is calculated as follows:

\[Q_{hb} = C_{hb} (\phi_{hb} - \phi)\]

with $C_{hb}$ the conductance of the head boundary [L$^2$ T$^{-1}$], $\phi_{hb}$ the head [L] of the head boundary and $\phi$ the head of the aquifer cell.

The Table in the Groundwater flow head boundary condition section of the Model parameters provides the parameters of the struct HeadBoundary.

The head boundary flux $Q_{hb}$ is an output variable (field flux of struct HeadBoundary), and is used to update the total flux in a cell where this type of boundary occurs. The parameter Head $\phi_{hb}$ can be specified as a fixed or time dependent value.

Note

This boundary is not (yet) part of the model SBM + Groundwater flow.

Well boundary

A volumetric well rate [L$^3$ T$^{-1}$] can be specified as a boundary condition.

The Table in the well boundary condition section of the Model parameters provides the parameters of the struct Well.

The volumetric well rate $Q_{well}$ can be can be specified as a fixed or time dependent value. If a cell is dry, the actual well flux flux is set to zero (see also the last note on this page).

Note

This boundary is not (yet) part of the model SBM + Groundwater flow.

Note

For an unconfined aquifer the boundary fluxes are checked, in case of a dry aquifer cell a negative flux is not allowed.

References

  • Chu, W. S., & Willis, R. (1984). An explicit finite difference model for unconfined aquifers. Groundwater, 22(6), 728-734.
  • Goode, D. J., & Appel, C. A. (1992). Finite-Difference Interblock Transmissivity for Unconfined Aquifers and for Aquifers having Smoothly Varying Transmissivity Water-resources investigations report, 92, 4124.
  • Johnson, A. I. (1967), Specific yield: compilation of specific yields for various materials, Water Supply Paper 1662-D, Washington, D.C.: U.S. Government Printing Office, p. 74, doi:10.3133/wsp1662D.
  • Langevin, C.D., Hughes, J.D., Banta, E.R., Niswonger, R.G., Panday, Sorab, and Provost, A.M., 2017, Documentation for the MODFLOW 6 Groundwater Flow Model: U.S. Geological Survey Techniques and Methods, book 6, chap. A55, 197 p., https://doi.org/10.3133/tm6A55.
  • McDonald, M.G., Harbaugh, A.W., Orr, B.R., and Ackerman, D.J., 1991, A method of converting no-flow cells to variable-head cells for the U.S. Geological Survey modular finite-difference groundwater flow model: U.S. Geological Survey Open-File Report 91-536, 99 p.
  • Niswonger, R.G., Panday, Sorab, and Ibaraki, Motomu, 2011, MODFLOW-NWT, A Newton formulation for MODFLOW-2005: U.S. Geological Survey Techniques and Methods 6-A37, 44 p.
diff --git a/dev/model_docs/lateral/kinwave/index.html b/dev/model_docs/lateral/kinwave/index.html index 6fa9f42bc..dad1c397f 100644 --- a/dev/model_docs/lateral/kinwave/index.html +++ b/dev/model_docs/lateral/kinwave/index.html @@ -14,4 +14,4 @@ pits = "wflow_pits" [model] -pits = true

Limitations

The kinematic wave approach for channel, overland and lateral subsurface flow, assumes that the topography controls water flow mostly. This assumption holds for steep terrain, but in less steep terrain the hydraulic gradient is likely not equal to the surface slope (subsurface flow), or pressure differences and inertial momentum cannot be neglected (channel and overland flow). In addition, while the kinematic wave equations are solved with a nonlinear scheme using Newton's method (Chow, 1988), other model equations are solved through a simple explicit scheme. In summary the following limitations apply:

External inflows

External inflows, for example water supply or abstractions, can be added to the kinematic wave via the inflow variable. For this, the user can supply a 2D map of the inflow which can be static or dynamic (changing every timestep or cyclic is possible). These inflow are added or abstracted from the upstream inflow qin before running the kinematic wave to solve the impact on resulting q. In case of a negative inflow (abstractions), a minimum of zero is applied to the upstream flow qin.

References

+pits = true

Limitations

The kinematic wave approach for channel, overland and lateral subsurface flow, assumes that the topography controls water flow mostly. This assumption holds for steep terrain, but in less steep terrain the hydraulic gradient is likely not equal to the surface slope (subsurface flow), or pressure differences and inertial momentum cannot be neglected (channel and overland flow). In addition, while the kinematic wave equations are solved with a nonlinear scheme using Newton's method (Chow, 1988), other model equations are solved through a simple explicit scheme. In summary the following limitations apply:

External inflows

External inflows, for example water supply or abstractions, can be added to the kinematic wave via the inflow variable. For this, the user can supply a 2D map of the inflow which can be static or dynamic (changing every timestep or cyclic is possible). These inflow are added or abstracted from the upstream inflow qin before running the kinematic wave to solve the impact on resulting q. In case of a negative inflow (abstractions), a minimum of zero is applied to the upstream flow qin.

References

diff --git a/dev/model_docs/lateral/local-inertial/index.html b/dev/model_docs/lateral/local-inertial/index.html index d743e7c10..a1b487ddf 100644 --- a/dev/model_docs/lateral/local-inertial/index.html +++ b/dev/model_docs/lateral/local-inertial/index.html @@ -12,4 +12,4 @@ river_routing = "local-inertial" # default is kinematic-wave inertial_flow_alpha = 0.5 # alpha coefficient for model stability (default = 0.7) froude_limit = true # default is true, limit flow to subcritical-critical according to Froude number -h_thresh = 0.1 # water depth [m] threshold for calculating flow between cells (default = 1e-03)

The properties inertial_flow_alpha, froude_limit and h_thresh apply to 1D river routing as well as 2D overland flow. The properties inertial_flow_alpha and froude_limit, and the adaptive model time step $\Delta t$ are explained in more detail in the River routing section of the local inertial model.

Inflow

External water (supply/abstraction) inflow [m$^3$ s$^{-1}$] can be added to the local inertial model for river flow (1D) and river and overland flow combined (1D-2D), as a cyclic parameter or as part of forcing (see also Input section).

Multi-Threading

The local inertial model for river flow (1D) and river and overland flow combined (1D-2D) can be executed in parallel using multiple threads.

References

+h_thresh = 0.1 # water depth [m] threshold for calculating flow between cells (default = 1e-03)

The properties inertial_flow_alpha, froude_limit and h_thresh apply to 1D river routing as well as 2D overland flow. The properties inertial_flow_alpha and froude_limit, and the adaptive model time step $\Delta t$ are explained in more detail in the River routing section of the local inertial model.

Inflow

External water (supply/abstraction) inflow [m$^3$ s$^{-1}$] can be added to the local inertial model for river flow (1D) and river and overland flow combined (1D-2D), as a cyclic parameter or as part of forcing (see also Input section).

Multi-Threading

The local inertial model for river flow (1D) and river and overland flow combined (1D-2D) can be executed in parallel using multiple threads.

References

diff --git a/dev/model_docs/lateral/sediment_flux/index.html b/dev/model_docs/lateral/sediment_flux/index.html index 0fdb6a065..6b94d9b98 100644 --- a/dev/model_docs/lateral/sediment_flux/index.html +++ b/dev/model_docs/lateral/sediment_flux/index.html @@ -32,4 +32,4 @@ # Lake lakearea = "LakeArea" lakeareas = "wflow_lakeareas" -lakelocs = "wflow_lakelocs"

Note that in the inland part, lake and reservoir coverage are used to filter erosion and transport in overland flow.

References

+lakelocs = "wflow_lakelocs"

Note that in the inland part, lake and reservoir coverage are used to filter erosion and transport in overland flow.

References

diff --git a/dev/model_docs/lateral/waterbodies/index.html b/dev/model_docs/lateral/waterbodies/index.html index a00498b74..2c050b418 100644 --- a/dev/model_docs/lateral/waterbodies/index.html +++ b/dev/model_docs/lateral/waterbodies/index.html @@ -36,4 +36,4 @@ 394.02, 46.671, 46.671, 46.671, 46.671 394.03, 48.509, 48.509, 48.509, 48.509 394.04, 50.347, 50.347, 50.347, 50.347 -394.05, 52.179, 52.179, 52.179, 52.179

Linked lakes: In some cases, lakes can be linked and return flow can be allowed from the downstream to the upstream lake. The linked lakes are defined in the linkedlakelocs parameter that represent the downstream lake location ID, at the grid cell of the upstream lake location.

Note

In every file, level units are meters [m] above lake bottom and not meters above sea level [m asl]. Especially with storage/rating curves coming from data, please be careful and convert units if needed.

References

+394.05, 52.179, 52.179, 52.179, 52.179

Linked lakes: In some cases, lakes can be linked and return flow can be allowed from the downstream to the upstream lake. The linked lakes are defined in the linkedlakelocs parameter that represent the downstream lake location ID, at the grid cell of the upstream lake location.

Note

In every file, level units are meters [m] above lake bottom and not meters above sea level [m asl]. Especially with storage/rating curves coming from data, please be careful and convert units if needed.

References

diff --git a/dev/model_docs/model_configurations/index.html b/dev/model_docs/model_configurations/index.html index d041954c5..9a5ae1abb 100644 --- a/dev/model_docs/model_configurations/index.html +++ b/dev/model_docs/model_configurations/index.html @@ -83,4 +83,4 @@ # Suspended load [kg/m3] SSconc = "SSconc" # Bed load [kg/m3] -Bedconc = "Bedconc"

References

+Bedconc = "Bedconc"

References

diff --git a/dev/model_docs/params_lateral/index.html b/dev/model_docs/params_lateral/index.html index 116eb82b4..e792b1212 100644 --- a/dev/model_docs/params_lateral/index.html +++ b/dev/model_docs/params_lateral/index.html @@ -10,4 +10,4 @@ n = "n_land" # mannings roughness
parameterdescriptionunitdefault
nnumber of cells--
xlcell length x directionm-
ylcell length y directionm-
xwidtheffective flow width x direction (floodplain)m-
ywidtheffective flow width y direction (floodplain)m-
gacceleration due to gravitym s$^{-2}$-
θweighting factor (de Almeida et al., 2012)-0.8
αstability coefficient (Bates et al., 2010)-0.7
h_threshdepth threshold for calculating flowm0.001
Δtmodel time steps-
qy0flow in y direction at previous time stepm$^3$ s$^{-1}$-
qx0flow in x direction at previous time stepm$^3$ s$^{-1}$-
qxflow in x directionm$^3$ s$^{-1}$-
qyflow in y directionm$^3$ s$^{-1}$-
zx_maxmaximum cell elevation (x direction)m-
zy_maxmaximum cell elevation (y direction)m-
mannings_n_sqManning's roughness squareds m$^{-\frac{1}{3}}$based on 0.072
volumetotal volume of cell (including river volume for river cells)m$^3$-
errorerror volumem$^3$-
runoffrunoff from hydrological modelm$^3$ s$^{-1}$-
hwater depth of cellm-
z (elevation)elevation of cellm-
froude_limitif true a check is performed if froude number > 1.0 (algorithm is modified)--
rivercellsriver cells--
h_avaverage water depthm-

Groundwater flow

Confined aquifer

The Table below shows the parameters (fields) of struct ConfinedAquifer, including a description of these parameters, the unit, and default value if applicable. Struct ConfinedAquifer is not (yet) part of a Wflow Model.

parameterdescriptionunitdefault
khorizontal conductivitym d$^{-1}$s-
storativitystorativitym m$^{-1}$-
specific_storagespecific storagem$^{-1}$- }
toptop groundwater layersm-
bottombottom groundwater layersm-
areacell aream$^2$-
headgroundwater headm-
conductanceconductancem$^2$ d$^{-1}$-

Unconfined aquifer

The Table below shows the parameters (fields) of struct UnconfinedAquifer, including a description of these parameters, the unit, and default value if applicable. The parameters in bold represent model parameters that can be set through static input data (netCDF), and can be listed in the TOML configuration file under [lateral.subsurface], to map the internal model parameter to the external netCDF variable. For some input parameters the parameter listed under [lateral.subsurface] is not equal to the internal model parameter, these are listed in the Table below between parentheses after the internal model parameter. The top parameter is provided by the external parameter altitude as part of the static input data and set as follows through the TOML file:

[input]
 # these are not directly part of the model
 altitude = "wflow_dem"
parameterdescriptionunitdefault
kh₀ (conductivity)horizontal conductivitym d$^{-1}$s-
specific_yieldspecific yieldm m$^{-1}$-
top (altitude)top groundwater layerm-
bottombottom groundwater layerm-
areacell aream$^2$-
headgroundwater headm-
conductanceconductancem$^2$ d$^{-1}$-
ffactor controlling the reduction of reference horizontal conductivity-3.0

Constant Head

The Table below shows the parameters (fields) of struct ConstantHead, including a description of these parameters, the unit, and default value if applicable. The parameters in bold represent model parameters that can be set through static input data (netCDF), and can be listed in the TOML configuration file under [lateral.subsurface], to map the internal model parameter to the external netCDF variable. For some input parameters the parameter listed under [lateral.subsurface] is not equal to the internal model parameter, these are listed in the Table below between parentheses after the internal model parameter.

parameterdescriptionunitdefault
head (constant_head)groundwater headm-
indexconstant head cell index--

Boundary conditions

River

The Table below shows the parameters (fields) of struct River, including a description of these parameters, the unit, and default value if applicable. The parameters in bold represent model parameters that can be set through static input data (netCDF), and can be listed in the TOML configuration file under [lateral.subsurface], to map the internal model parameter to the external netCDF variable. For some input parameters the parameter listed under [lateral.subsurface] is not equal to the internal model parameter, these are listed in the Table below between parentheses after the internal model parameter.

parameterdescriptionunitdefault
stageriver stagem-
infiltration_conductanceriver bed infiltration conductancem$^2$ day$^{-1}$ m$^2$ day$^{-1}$-
exfiltration_conductanceriver bed exfiltration conductancem$^2$ day$^{-1}$-
bottom (river_bottom)river bottom elevationm-
indexriver cell index--
fluxexchange flux (river to aquifer)m$^3$ d$^{-1}$-

Drainage

The Table below shows the parameters (fields) of struct Drainage, including a description of these parameters, the unit, and default value if applicable. The parameters in bold represent model parameters that can be set through static input data (netCDF), and can be listed in the TOML configuration file under [lateral.subsurface], to map the internal model parameter to the external netCDF variable. For some input parameters the parameter listed under [lateral.subsurface] is not equal to the internal model parameter, these are listed in the Table below between parentheses after the internal model parameter.

parameterdescriptionunitdefault
elevation (drain_elevation)drain elevationm-
conductance (drain_conductance)drain conductancem$^2$ day$^{-1}$-
index (drain)drain cell index--
fluxexchange flux (drains to aquifer)m$^3$ day$^{-1}$-

Recharge

The Table below shows the parameters (fields) of struct Recharge, including a description of these parameters, the unit, and default value if applicable.

parameterdescriptionunitdefault
raterecharge ratem$^3$ day$^{-1}$-
indexrecharge cell index--
fluxrecharge fluxm$^3$ day$^{-1}$-

Head boundary

The Table below shows the parameters (fields) of struct HeadBoundary, including a description of these parameters, the unit, and default value if applicable.

parameterdescriptionunitdefault
headheadm-
conductanceconductance of the head boundarym$^2$ day$^{-1}$-
indexhead boundary cell index--
fluxconductance of the head boundarym$^3$ day$^{-1}$-

Well boundary

The Table below shows the parameters (fields) of struct Well, including a description of these parameters, the unit, and default value if applicable.

input parameterdescriptionunitdefault
volumetric_ratevolumetric well ratem$^3$ d$^{-1}$-
indexwell index--
fluxactual well fluxm$^3$ day$^{-1}$-

Sediment

Overland flow

The Table below shows the parameters (fields) of struct OverlandFlowSediment, including a description of these parameters, the unit, and default value if applicable.

parameterdescriptionunitdefault
nnumber of cells--
rivcellriver cells--
soillosstotal eroded soilton Δt$^{-1}$-
erosclayeroded soil for particle class clayton Δt$^{-1}$-
erossilteroded soil for particle class siltton Δt$^{-1}$-
erossanderoded soil for particle class sandton Δt$^{-1}$-
erossaggeroded soil for particle class small aggregateston Δt$^{-1}$-
eroslaggeroded soil for particle class large aggregateston Δt$^{-1}$-
TCsedtotal transport capacity of overland flowton Δt$^{-1}$-
TCclaytransport capacity of overland flow for particle class clayton Δt$^{-1}$-
TCsilttransport capacity of overland flow for particle class siltton Δt$^{-1}$-
TCsandtransport capacity of overland flow for particle class sandton Δt$^{-1}$-
TCsaggtransport capacity of overland flow for particle class small aggregateston Δt$^{-1}$-
TClaggtransport capacity of overland flow for particle class large aggregateston Δt$^{-1}$-
inlandsedsediment reaching the river with overland flowton Δt$^{-1}$-
inlandclaysediment with particle class clay reaching the river with overland flowton Δt$^{-1}$-
inlandsiltsediment with particle class silt reaching the river with overland flowton Δt$^{-1}$-
inlandsandsediment with particle class sand reaching the river with overland flowton Δt$^{-1}$-
inlandsaggsediment with particle class small aggregates reaching the river with overland flowton Δt$^{-1}$-
inlandlaggsediment with particle class large aggregates reaching the river with overland flowton Δt$^{-1}$-

River flow

The Table below shows external parameters that can be set through static input data (netCDF), and can be listed in the TOML configuration file under [input.lateral.river]. These external parameters are not part of struct RiverSediment, but used to calculate parameters of struct RiverSediment.

external parameterdescriptionunitdefault
reslocsreservoir location (outlet)--
resareasreservoir coverage--
resareareservoir area-m$^2$
restrapeffreservoir trapping efficiency coefficient--
lakelocslake location (outlet)--
lakeareaslake coverage--
lakearealake area-m$^2$

The Table below shows the parameters (fields) of struct RiverSediment, including a description of these parameters, the unit, and default value if applicable. The parameters in bold represent model parameters that can be set through static and forcing input data (netCDF), and can be listed in the TOML configuration file under [input.lateral.river], to map the internal model parameter to the external netCDF variable. For some input parameters the parameter listed under [input.lateral.river] is not equal to the internal model parameter, these are listed in the Table below between parentheses after the internal model parameter. For example, internal model parameter sl is mapped as follows in the TOML file to the external netCDF variable RiverSlope:

[input.vertical]
-slope = "RiverSlope"
parameterdescriptionunitdefault
dl (length)river lengthm-
widthriver widthm-
sl (slope)river slope--
rhos (rhosed)density of sedimentkg m$^{-3}1$2650.0
dmclaymedian diameter particle size class claymm2.0
dmsiltmedian diameter particle size class siltmm10.0
dmsandmedian diameter particle size class sandmm200.0
dmsaggmedian diameter particle size class small aggregatesmm30.0
dmlaggmedian diameter particle size class large aggregatesmm500.0
dmgravmedian diameter particle size class gravelmm2000.0
fclayrivfraction of particle class clay--
fsiltrivfraction of particle class silt--
fsandrivfraction of particle class sand--
fsaggrivfraction of particle class small aggregates--
flaggrivfraction of particle class large aggregates--
fgravrivfraction of particle class gravel--
d50 (d50riv)river sediment median diametermm-
d50engelundriver mean diametermm-
cbagnoldBagnold c coefficient--
ebagnoldBagnold exponent--
nnumber of cells--
Δtmodel time steps-
akKodatie coefficient a--
bkKodatie coefficient b--
ckKodatie coefficient c--
dkKodatie coefficient d--
kdbankbank erodibiltym$^3$ N$^{-1}$ s$^{-1}$-
kdbedbed erodibilitym$^3$ N$^{-1}$ s$^{-1}$-
TCrbankcritical bed bank shear stressm$^3$ N$^{-2}$-
TCrbedcritical bed shear stressm$^3$ N$^{-2}$-
h_rivriver water levelm-
q_rivriver dischargem$^3$ s$^{-1}$-
inlandclaysediment input with particle class clay from land erosiont Δt$^{-1}$-
inlandsiltsediment input with particle class silt from land erosiont Δt$^{-1}$-
inlandsandsediment input with particle class sand from land erosiont Δt$^{-1}$-
inlandsaggsediment input with particle class small aggregates from land erosiont Δt$^{-1}$-
inlandlaggsediment input with particle class large aggregates from land erosiont Δt$^{-1}$-
inlandsedsediment input from land erosiont Δt$^{-1}$-
sedloadsediment left in the cellt-
clayloadsediment with particle class clay left in the cellt-
siltloadsediment with particle class silt left in the cellt-
sandloadsediment with particle class sand left in the cellt-
saggloadsediment with particle class small aggregates left in the cellt-
laggloadsediment with particle class large aggregates in the cellt-
gravloadsediment with particle class gravel left in the cellt-
sedstoresediment stored on the river bed after depositiont Δt$^{-1}$-
claystoresediment with particle class clay stored on the river bed after depositiont Δt$^{-1}$-
siltstoresediment with particle class silt stored on the river bed after depositiont Δt$^{-1}$-
sandstoresediment with particle class sand stored on the river bed after depositiont Δt$^{-1}$-
saggstoresediment with particle class small aggregates stored on the river bed after depositiont Δt$^{-1}$-
laggstoresediment with particle class large aggregates stored on the river bed after depositiont Δt$^{-1}$-
gravstoresediment with particle class gravel stored on the river bed after depositiont Δt$^{-1}$-
outsedsediment fluxt Δt$^{-1}$-
outclaysediment with particle class clay fluxt Δt$^{-1}$-
outsiltsediment with particle class siltt Δt$^{-1}$-
outsandsediment with particle class sandt Δt$^{-1}$-
outsaggsediment with particle class small aggregatest Δt$^{-1}$-
outlaggsediment with particle class large aggregatest Δt$^{-1}$-
outgravsediment with particle class gravelt Δt$^{-1}$-
Sedconcsediment concentrationkg m$^{-3}$-
SSconcsediment concentrationkg m$^{-3}$-
Bedconcsediment concentrationkg m$^{-3}$-
maxsedriver transport capacityt Δt$^{-1}$-
erodsedtotal eroded sedimentt Δt$^{-1}$-
erodsedbankeroded bank sedimentt Δt$^{-1}$-
erodsedbederoded bed sedimentt Δt$^{-1}$-
depseddeposited sedimentt Δt$^{-1}$-
insedsediment input fluxt Δt$^{-1}$-
wbcoverwaterbody coverage--
wblocswaterbody locations--
wbareawaterbody aream$^2$-
wbtrapwaterbody trapping efficiency coefficient--
+slope = "RiverSlope"
parameterdescriptionunitdefault
dl (length)river lengthm-
widthriver widthm-
sl (slope)river slope--
rhos (rhosed)density of sedimentkg m$^{-3}1$2650.0
dmclaymedian diameter particle size class claymm2.0
dmsiltmedian diameter particle size class siltmm10.0
dmsandmedian diameter particle size class sandmm200.0
dmsaggmedian diameter particle size class small aggregatesmm30.0
dmlaggmedian diameter particle size class large aggregatesmm500.0
dmgravmedian diameter particle size class gravelmm2000.0
fclayrivfraction of particle class clay--
fsiltrivfraction of particle class silt--
fsandrivfraction of particle class sand--
fsaggrivfraction of particle class small aggregates--
flaggrivfraction of particle class large aggregates--
fgravrivfraction of particle class gravel--
d50 (d50riv)river sediment median diametermm-
d50engelundriver mean diametermm-
cbagnoldBagnold c coefficient--
ebagnoldBagnold exponent--
nnumber of cells--
Δtmodel time steps-
akKodatie coefficient a--
bkKodatie coefficient b--
ckKodatie coefficient c--
dkKodatie coefficient d--
kdbankbank erodibiltym$^3$ N$^{-1}$ s$^{-1}$-
kdbedbed erodibilitym$^3$ N$^{-1}$ s$^{-1}$-
TCrbankcritical bed bank shear stressm$^3$ N$^{-2}$-
TCrbedcritical bed shear stressm$^3$ N$^{-2}$-
h_rivriver water levelm-
q_rivriver dischargem$^3$ s$^{-1}$-
inlandclaysediment input with particle class clay from land erosiont Δt$^{-1}$-
inlandsiltsediment input with particle class silt from land erosiont Δt$^{-1}$-
inlandsandsediment input with particle class sand from land erosiont Δt$^{-1}$-
inlandsaggsediment input with particle class small aggregates from land erosiont Δt$^{-1}$-
inlandlaggsediment input with particle class large aggregates from land erosiont Δt$^{-1}$-
inlandsedsediment input from land erosiont Δt$^{-1}$-
sedloadsediment left in the cellt-
clayloadsediment with particle class clay left in the cellt-
siltloadsediment with particle class silt left in the cellt-
sandloadsediment with particle class sand left in the cellt-
saggloadsediment with particle class small aggregates left in the cellt-
laggloadsediment with particle class large aggregates in the cellt-
gravloadsediment with particle class gravel left in the cellt-
sedstoresediment stored on the river bed after depositiont Δt$^{-1}$-
claystoresediment with particle class clay stored on the river bed after depositiont Δt$^{-1}$-
siltstoresediment with particle class silt stored on the river bed after depositiont Δt$^{-1}$-
sandstoresediment with particle class sand stored on the river bed after depositiont Δt$^{-1}$-
saggstoresediment with particle class small aggregates stored on the river bed after depositiont Δt$^{-1}$-
laggstoresediment with particle class large aggregates stored on the river bed after depositiont Δt$^{-1}$-
gravstoresediment with particle class gravel stored on the river bed after depositiont Δt$^{-1}$-
outsedsediment fluxt Δt$^{-1}$-
outclaysediment with particle class clay fluxt Δt$^{-1}$-
outsiltsediment with particle class siltt Δt$^{-1}$-
outsandsediment with particle class sandt Δt$^{-1}$-
outsaggsediment with particle class small aggregatest Δt$^{-1}$-
outlaggsediment with particle class large aggregatest Δt$^{-1}$-
outgravsediment with particle class gravelt Δt$^{-1}$-
Sedconcsediment concentrationkg m$^{-3}$-
SSconcsediment concentrationkg m$^{-3}$-
Bedconcsediment concentrationkg m$^{-3}$-
maxsedriver transport capacityt Δt$^{-1}$-
erodsedtotal eroded sedimentt Δt$^{-1}$-
erodsedbankeroded bank sedimentt Δt$^{-1}$-
erodsedbederoded bed sedimentt Δt$^{-1}$-
depseddeposited sedimentt Δt$^{-1}$-
insedsediment input fluxt Δt$^{-1}$-
wbcoverwaterbody coverage--
wblocswaterbody locations--
wbareawaterbody aream$^2$-
wbtrapwaterbody trapping efficiency coefficient--
diff --git a/dev/model_docs/params_vertical/index.html b/dev/model_docs/params_vertical/index.html index 91fb97017..cbfb39bb7 100644 --- a/dev/model_docs/params_vertical/index.html +++ b/dev/model_docs/params_vertical/index.html @@ -1,4 +1,4 @@ Parameters vertical concepts · Wflow.jl

Parameters vertical concepts

SBM

The Table below shows the parameters (fields) of struct SBM, including a description of these parameters, the unit, and default value if applicable. The parameters in bold represent model parameters that can be set through static and forcing input data (netCDF), and can be listed in the TOML configuration file under [input.vertical], to map the internal model parameter to the external netCDF variable. For some input parameters the parameter listed under [input.vertical] is not equal to the internal model parameter, these are listed in the Table below between parentheses after the internal model parameter. For example, internal model parameter sl is mapped as follows in the TOML file to the external netCDF variable Sl:

[input.vertical]
 specific_leaf = "Sl"
parameterdescriptionunitdefault
cfmaxdegree-day factormm ᵒC$^{-1}$ Δt$^{-1}$3.75653 mm ᵒC$^{-1}$ day$^{-1}$
ttthreshold temperature for snowfallᵒC0.0
ttithreshold temperature interval lengthᵒC1.0
ttmthreshold temperature for snowmeltᵒC0.0
whcwater holding capacity as fraction of current snow pack-0.1
w_soilsoil temperature smooth factor-0.1125
cf_soilcontrols soil infiltration reduction factor when soil is frozen-0.038
g_ttthreshold temperature for snowfall above glacierᵒC0.0
g_cfmaxDegree-day factor for glaciermm ᵒC$^{-1}$ Δt$^{-1}$3.0 mm ᵒC$^{-1}$ day$^{-1}$
g_sifracfraction of the snowpack on top of the glacier converted into iceΔt$^{-1}$0.001 day$^{-1}$
glacierfracfraction covered by a glacier-0.0
glacierstorewater within the glaciermm5500.0
θₛ (theta_s)saturated water content (porosity)-0.6
θᵣ (theta_r)residual water content-0.01
kv₀ (kv_0)Vertical hydraulic conductivity at soil surfacemm Δt$^{-1}$3000.0 mm day$^{-1}$
fscaling parameter (controls exponential decline of kv₀)mm$^{-1}$0.001
hbair entry pressure of soil (Brooks-Corey)cm10.0
soilthicknesssoil thicknessmm2000.0
infiltcappathinfiltration capacity of the compacted areasmm Δt$^{-1}$10.0 mm day$^{-1}$
infiltcapsoilsoil infiltration capacitymm Δt$^{-1}$100.0 mm day$^{-1}$
maxleakagemaximum leakage from saturated zonemm Δt$^{-1}$0.0 mm day$^{-1}$
cBrooks-Corey power coefficient for each soil layer-10.0
kvfracmultiplication factor applied to kv_z (vertical flow)-1.0
waterfracfraction of open water (excluding rivers)-0.0
pathfracfraction of compacted area-0.01
rootingdepthrooting depthmm750.0
rootdistparcontrols how roots are linked to water table--500.0
cap_hmaxwater depth beyond which capillary flux ceasesmm2000.0
cap_ncoefficient controlling capillary rise-2.0
et_reftopotmultiplication factor to correct reference evaporation-1.0
sl (specific_leaf)specific leaf storagemm-
swood (storage_wood)storage woody part of vegetationmm-
kextextinction coefficient (to calculate canopy gap fraction)--
cmaxmaximum canopy storagemm1.0
e_r (eoverr)Gash interception model parameter-0.1
canopygapfractioncanopy gap fraction-0.1
Δtmodel time steps-
maxlayersmaximum number of soil layers--
nnumber of grid cells--
nlayersnumber of soil layers--
n_unsatlayersnumber of unsaturated soil layers--
riverfracfraction of river--
act_thicklthickness of soil layersmm-
sumlayerscumulative sum of soil layers thickness, starting at soil surfacemm-
stemflowstemflowmm Δt$^{-1}$-
throughfallthroughfallmm Δt$^{-1}$-
ustorelayerdepthamount of water in the unsaturated store, per layermm-
satwaterdepthsaturated storemm-
zipseudo-water table depth (top of the saturated zone)mm-
soilwatercapacitysoilwater capacitymm-
canopystoragecanopy storagemm-
canopygapfractioncanopygapfraction--
precipitationprecipitationmm Δt$^{-1}$-
temperaturetemperatureᵒC-
potential_evaporationpotential evaporationmm Δt$^{-1}$-
pottrans_soilinterception subtracted from potential evaporation)mm Δt$^{-1}$-
transpirationtranspirationmm Δt$^{-1}$-
ae_ustoreactual evaporation from unsaturated storemm Δt$^{-1}$-
interceptioninterceptionmm Δt$^{-1}$-
soilevaptotal soil evaporation from unsaturated and saturated storemm Δt$^{-1}$-
soilevapsatsoil evaporation from saturated storemm Δt$^{-1}$-
actcapfluxactual capillary risemm Δt$^{-1}$-
actevapsatactual transpiration from saturated storemm Δt$^{-1}$-
actevaptotal actual evapotranspirationmm Δt$^{-1}$-
runoff_riverrunoff from river based on riverfracmm Δt$^{-1}$-
runoff_landrunoff from land based on waterfracmm Δt$^{-1}$-
ae_openw_lactual evaporation from open water (land)mm Δt$^{-1}$-
ae_openw_ractual evaporation from rivermm Δt$^{-1}$-
net_runoff_rivernet runoff from river (runoff_river - ae_openw_r)mm Δt$^{-1}$-
avail_forinfiltwater available for infiltrationmm Δt$^{-1}$-
actinfiltactual infiltration into the unsaturated zonemm Δt$^{-1}$-
actinfiltsoilactual infiltration into non-compacted fractionmm Δt$^{-1}$-
actinfiltpathactual infiltration into compacted fractionmm Δt$^{-1}$-
infiltsoilpathinfiltration into the unsaturated zonemm Δt$^{-1}$-
infiltexcessinfiltration excess watermm Δt$^{-1}$-
excesswaterwater that cannot infiltrate due to saturated soil (saturation excess)mm Δt$^{-1}$-
exfiltsatwaterwater exfiltrating during saturation excess conditionsmm Δt$^{-1}$-
exfiltustorewater exfiltrating from unsaturated store because of change in water tablemm Δt$^{-1}$-
excesswatersoilexcess water for non-compacted fractionmm Δt$^{-1}$-
excesswaterpathexcess water for compacted fractionmm Δt$^{-1}$-
runofftotal surface runoff from infiltration and saturation excessmm Δt$^{-1}$-
vwcvolumetric water content per soil layer (including θᵣ and saturated zone)--
vwc_percvolumetric water content per soil layer (including θᵣ and saturated zone)%-
rootstoreroot water storage in unsaturated and saturated zone (excluding θᵣ)mm-
vwc_rootvolumetric water content in root zone (including θᵣ and saturated zone)--
vwc_percrootvolumetric water content in root zone (including θᵣ and saturated zone)%-
ustoredepthtotal amount of available water in the unsaturated zonemm-
transferdownward flux from unsaturated to saturated zonemm Δt$^{-1}$-
rechargenet recharge to saturated zonemm Δt$^{-1}$-
actleakageactual leakage from saturated storemm Δt$^{-1}$-
snowsnow storagemm-
snowwaterliquid water content in the snow packmm-
rainfallplusmeltsnowmelt + precipitation as rainfallmm Δt$^{-1}$-
glacierstorewater within the glaciermm-
tsoiltop soil temperatureᵒC-
leaf_area_indexleaf area indexm$^2$ m${-2}$-
waterlevel_landwater level landmm-
waterlevel_riverwater level rivermm-

HBV

The Table below shows the parameters (fields) of struct HBV, including a description of these parameters, the unit, and default value if applicable. The parameters in bold represent model parameters that can be set through static and forcing input data (netCDF), and can be listed in the TOML configuration file under [input.vertical], to map the internal model parameter to the external netCDF variable.

parameterdescriptionunitdefault
cfmaxdegree-day factormm ᵒC$^{-1}$ Δt$^{-1}$3.75653 mm ᵒC$^{-1}$ day$^{-1}$
ttthreshold temperature for snowfallᵒC-1.41934
ttithreshold temperature interval lengthᵒC1.0
ttmthreshold temperature for snowmeltᵒC-1.41934
whcwater holding capacity as fraction of current snow pack-0.1
g_ttthreshold temperature for snowfall above glacierᵒC0.0
g_cfmaxDegree-day factor for glaciermm ᵒC$^{-1}$ Δt$^{-1}$3.0 mm ᵒC$^{-1}$ day$^{-1}$
g_sifracfraction of the snowpack on top of the glacier converted into iceΔt$^{-1}$0.001 day$^{-1}$
glacierfracfraction covered by a glacier-0.0
glacierstorewater within the glaciermm5500.0
fcfield capacitymm260.0
betaseepageexponent in soil runoff generation equation-1.8
lpfraction of field capacity below which actual evaporation=potential evaporation-0.53
k4recession constant baseflowΔt$^-1$0.02307 day$^{-1}$
kquickflowrecession constant upper reservoirΔt$^-1$0.09880 day$^{-1}$
suzLevel over which k0 is usedmm100.0
k0recession constant upper reservoirΔt$^-1$0.30 day$^{-1}$
khqrecession rate at flow hqΔt$^-1$0.09880 day$^{-1}$
hqhigh flow rate hq for which recession rate of upper reservoir is knownmm Δt$^-1$3.27 mm day$^{-1}$
alphanlmeasure of non-linearity of upper reservoir-1.1
percpercolation from upper to lower zonemm Δt$^-1$0.4 mm day$^{-1}$
cfrrefreezing efficiency constant in refreezing of freewater in snow-0.05
pcorrcorrection factor for precipitation-1.0
rfcfcorrection factor for rainfall-1.0
sfcfcorrection factor for snowfall-1.0
cfluxmaximum capillary rise from runoff response routine to soil moisture routinemm Δt$^-1$2.0 mm day$^{-1}$
icfmaximum interception storage (in forested and non-forested areas)mm2.0
cevpfcorrection factor for potential evaporation-1.0
epfexponent of correction factor for evaporation on days with precipitationmm$^{-1}$1.0
ecorrevaporation correction-1.0
precipitationprecipitationmm Δt$^-1$-
temperaturetemperatureᵒC-
potential_evaporationpotential evapotranspirationmm Δt$^-1$-
potsoilevappotential soil evaporationmm Δt$^-1$-
soilevapsoil evaporationmm Δt$^-1$-
intevapevaporation from interception storagemm Δt$^-1$-
actevapactual evapotranspiration (intevap + soilevap)mm Δt$^-1$-
interceptionstorageactual interception storagemm-
snowwateravailable free water in snowmm-
snowsnow packmm-
rainfallplusmeltsnow melt + precipitation as rainfallmm Δt$^-1$-
soilmoistureactual soil moisturemm-
directrunoffdirect runoff to upper zonemm Δt$^-1$-
hbv_seepagerecharge to upper zonemm Δt$^-1$-
in_upperzonewater inflow into upper zonemm Δt$^-1$-
upperzonestoragewater content of the upper zonemm-
quickflowspecific runoff (quickflow part)mm Δt$^-1$-
real_quickflowspecific runoff (quickflow), if K upper zone is precalculatedmm Δt$^-1$-
percolationactual percolation to the lower zonemm Δt$^-1$-
capfluxcapillary risemm Δt$^-1$-
lowerzonestoragewater content of the lower zonemm-
baseflowspecific runoff (baseflow part) per cellmm Δt$^-1$-
runofftotal specific runoff per cellmm Δt$^-1$-

FLEXtopo

The Table below shows the parameters (fields) of struct FLEXTOPO, including a description of these parameters, the unit, and default value if applicable. The parameters in bold represent model parameters that can be set through static and forcing input data (netCDF), and can be listed in the TOML configuration file under [input.vertical], to map the internal model parameter to the external netCDF variable.

parameterdescriptionunitdefault
cfmaxdegree-day factormm ᵒC$^{-1}$ Δt$^{-1}$3.75653 mm ᵒC$^{-1}$ day$^{-1}$
ttthreshold temperature for snowfallᵒC-1.41934
ttithreshold temperature interval lengthᵒC1.0
ttmthreshold temperature for snowmeltᵒC-1.41934
whcwater holding capacity as fraction of current snow pack-0.1
cfrrefreezing efficiency constant in refreezing of freewater in snow-0.05
g_ttthreshold temperature for snowfall above glacierᵒC0.0
g_cfmaxDegree-day factor for glaciermm ᵒC$^{-1}$ Δt$^{-1}$3.0 mm ᵒC$^{-1}$ day$^{-1}$
g_sifracfraction of the snowpack on top of the glacier converted into iceΔt$^{-1}$0.001 day$^{-1}$
glacierfracfraction covered by a glacier-0.0
glacierstorewater within the glaciermm5500.0
ecorrevaporation correction-1.0
pcorrcorrection factor for precipitation-1.0
rfcfcorrection factor for rainfall-1.0
sfcfcorrection factor for snowfall-1.0
imaxmaximum interception storage ($I_\mathrm{max}$)mm3.0
shmaxmaximum horton ponding storage capacity ($S_\mathrm{Hmax}$)mm30.0
srmaxmaximum root zone storage capacity ($S_\mathrm{Rmax}$)mm260.0
betaexponent in soil runoff generation equation-0.3
lpfraction of root zone capacity below which actual evaporation=potential evaporation ($L_\mathrm{P}$)-0.3
ksrecession constant slow groundwater storage ($K_\mathrm{S}$)Δt$^-1$0.006 day$^{-1}$
kfrecession constant fast storage ($K_\mathrm{F}$)Δt$^-1$0.1 day$^{-1}$
khfrecession constant horton runoff storage ($K_\mathrm{Hf}$)Δt$^-1$0.5 day$^{-1}$
alfameasure of non-linearity of upper reservoir ($\alpha$)-1.0
percmaximum percolation flux from root zone to slow storage ($Q_\mathrm{perc,max}$)mm Δt$^-1$0.30 mm day$^{-1}$
capmaximum capillary rise from slow storage to root zone ($Q_\mathrm{cap,max}$)mm Δt$^-1$0.20 mm day$^{-1}$
dssplitter parameter determining fraction of root zone outflow to slow storage ($d_\mathrm{s}$)-0.2
shminminimum storage capacity in horton ponding (relative to $S_\mathrm{Hmax}$) ($S_\mathrm{Hmin}$)[-]0.2
facc0maximum modelled accumulated frost resulting in shmin ($F_\mathrm{acc,fr0}$)[ᵒC Δt]-3.0
facc1minimum modelled accumulated frost resulting in shmin ($F_\mathrm{acc,fr1}$)[ᵒC Δt]0.0
fdecexponent for the decline of infiltration capacity ($F_\mathrm{dec}$)[-]0.2
fmaxmaximum infiltration capacity from horton ponding ($F_\mathrm{max}$)[mm Δt$^-1$]2.0
kmfmelt coefficient of frozen topsoil ($K_\mathrm{mf}$)[-]1.0
hrufracfraction of class within cell ($F_\mathrm{hrufrac}$)-1/length(classes)
precipitationprecipitationmm Δt$^-1$-
temperaturetemperatureᵒC-
potential_evaporationpotential evapotranspirationmm Δt$^-1$-
precipcorrcorrected precipitationmm Δt$^-1$-
epotcorrcorrected potential evaporationmm Δt$^-1$-
snowsnow water ($S_\mathrm{W}$)mm-
snowwateravailable free water in snowmm-
interceptionstorageinterception storage ($S_\mathrm{I}$)mm-
interceptionstorage_maverage interception storage over classes ($S_\mathrm{I}$)mm-
hortonpondingstoragehorton ponding storage ($S_\mathrm{Hp}$)mm-
hortonpondingstorage_maverage horton ponding storage over classes ($S_\mathrm{Hp}$)mm-
hortonrunoffstoragehorton runoff storage ($S_\mathrm{Hf}$)mm-
hortonrunoffstorage_maverage horton runoff storage over classes ($S_\mathrm{Hf}$)mm-
rootzonestorageroot zone storage ($S_\mathrm{R}$)mm-
rootzonestorage_maverage root zone storage over classes ($S_\mathrm{R}$)mm-
faststoragefast storage ($S_\mathrm{F}$)mm-
faststorage_maverage fast storage over classes ($S_\mathrm{F}$)mm-
slowstorageslow storage ($S_\mathrm{S}$)mm-
potsoilevappotential soil evaporation ($E_\mathrm{P}$)mm Δt$^-1$-
soilevapsoil evaporationmm Δt$^-1$-
intevapevaporation from interception storage ($E_\mathrm{I}$)mm Δt$^-1$-
intevap_maverage evaporation from interception storage over classes ($E_\mathrm{I}$)mm Δt$^-1$-
hortonevapevaporation from horton ponding storage ($E_\mathrm{H}$)mm Δt$^-1$-
hortonevap_maverage evaporation from horton ponding storage over classes ($E_\mathrm{H}$)mm Δt$^-1$-
rootevapevaporation from root zone storage ($E_\mathrm{R}$)mm Δt$^-1$-
rootevap_maverage evaporation from root zone storage over classes ($E_\mathrm{R}$)mm Δt$^-1$-
actevapactual evapotranspiration (intevap + hortonevap + rootevap) ($E_\mathrm{A}$)mm Δt$^-1$-
actevap_maverage actual evapotranspiration (intevap + hortonevap + rootevap) over classes ($E_\mathrm{A}$)mm Δt$^-1$-
precipeffectiveEffective precipitation ($P_\mathrm{E}$)mm Δt$^-1$-
rainfallplusmeltsnow melt + precipitation as rainfall ($P_\mathrm{M} + P_\mathrm{R}$)mm Δt$^-1$-
snowmeltsnowfallmm Δt$^-1$-
snowfallsnowfallmm Δt$^-1$-
faccmodeled accumulated frostᵒC Δt-
qhortonpondFlux from the hortonian ponding storage to the hortonian runoff storage ($Q_\mathrm{H}$)mm Δt$^-1$-
qhortonrootzoneFlux from the hortonian ponding storage to the root zone storage ($Q_\mathrm{HR}$)mm Δt$^-1$-
qhortonrunFlux from the hortonian runoff storage ($Q_\mathrm{Hf}$)mm Δt$^-1$-
qrootzoneFlux from the root zone storage ($Q_\mathrm{R}$)mm Δt$^-1$-
qrootzonefastPref. recharge to fast storage ($Q_\mathrm{RF}$)mm Δt$^-1$-
qrootzoneslow_mPref. recharge to slow storage sum classes ($Q_\mathrm{RS}$)mm Δt$^-1$-
qcapillaryCapillary flux from the slow to the root-zone storage ($Q_\mathrm{cap}$)mm Δt$^-1$-
qcapillary_mCapillary flux from the slow to the root-zone storage sum classes ($Q_\mathrm{cap}$)mm Δt$^-1$-
qpercolationPercolation flux from the root-zone to the slow storage ($Q_\mathrm{perc}$)mm Δt$^-1$-
qpercolation_mPercolation flux from the root-zone to the slow storage sum classes ($Q_\mathrm{perc}$)mm Δt$^-1$-
qfastrunoff from fast storage ($Q_\mathrm{F}$)mm Δt$^-1$-
qfast_totsum of fast runoff (from fast and horton runoff storages) over classesmm Δt$^-1$-
qslowrunoff from slow storage ($Q_\mathrm{S}$)mm Δt$^-1$-
runofftotal specific runoff per cell (qslow + qfast_tot) ($Q$)mm Δt$^-1$-
wb_tottotal water balancemm Δt$^-1$-

Sediment

The Table below shows external parameters that can be set through static input data (netCDF), and can be listed in the TOML configuration file under [input.vertical]. These external parameters are not part of struct LandSediment, but used to calculate parameters of struct LandSediment.

external parameterdescriptionunitdefault
pclaypercentage clay%0.1
psiltpercentage silt%0.1
resareasreservoir coverage--
lakeareaslake coverage--

The Table below shows the parameters (fields) of struct LandSediment, including a description of these parameters, the unit, and default value if applicable. The parameters in bold represent model parameters that can be set through static and forcing input data (netCDF), and can be listed in the TOML configuration file under [input.vertical], to map the internal model parameter to the external netCDF variable. For some input parameters the parameter listed under [input.vertical] is not equal to the internal model parameter, these are listed in the Table below between parentheses after the internal model parameter. For example, internal model parameter sl is mapped as follows in the TOML file to the external netCDF variable Sl:

[input.vertical]
-specific_leaf = "Sl"
parameterdescriptionunitdefault
canopyheightcanopy heightm3.0
eroskcoefficient for EUROSEM rainfall erosion-0.6
erossplexponent for EUROSEM rainfall erosion-2.0
erosovcoefficient for ANSWERS overland flow erosion-0.9
pathfracfraction of impervious area per grid cell-0.01
slopeland slope-0.01
usleCUSLE crop management factor-0.01
usleKUSLE soil erodibility factor-0.1
sl (specific_leaf)specific leaf storagemm-
swood (storage_wood)storage woody part of vegetationmm-
kextextinction coefficient (to calculate canopy gap fraction)--
cmaxmaximum canopy storagemm1.0
canopygapfractioncanopy gap fraction-0.1
dmclaymedian diameter particle size class clayµm2.0
dmsiltmedian diameter particle size class siltµm10.0
dmsandmedian diameter particle size class sandµm200.0
dmsaggmedian diameter particle size class small aggregatesµm30.0
dmlaggmedian diameter particle size class large aggregatesµm500.0
rhos (rhosed)density of sedimentkg m$^{-3}1$2650.0
nnumber of cells--
yllength of cells in y directionm-
xllength of cells in x directionm-
riverfracfraction of river--
wbcoverwaterbody coverage--
h_landdepth of overland flowm-
interceptioncanopy interceptionmm Δt$^{-1}$-
precipitationprecipitationmm Δt$^{-1}$-
q_landoverland flowm$^3$ s$^{-1}$-
sedsplsediment eroded by rainfallton Δt$^{-1}$-
sedovsediment eroded by overland flowton Δt$^{-1}$-
soillosstotal eroded soilton Δt$^{-1}$-
erosclayeroded soil for particle class clayton Δt$^{-1}$-
erossilteroded soil for particle class siltton Δt$^{-1}$-
erossanderoded soil for particle class sandton Δt$^{-1}$-
erossaggeroded soil for particle class small aggregateston Δt$^{-1}$-
eroslaggeroded soil for particle class large aggregateston Δt$^{-1}$-
leaf_area_indexleaf area indexm$^2$ m$^{-2}$-
dldrain lengthm-
dwflow widthm-
cGoversGovers transport capacity coefficient--
nGoversGovers transport capacity coefficient--
D50median particle diameter of the topsoilmm-
fclayfraction of particle class clay--
fsiltfraction of particle class silt--
fsandfraction of particle class sand--
fsaggfraction of particle class small aggregates--
flaggfraction of particle class large aggregates--
rivcellriver cells--
TCsedtotal transport capacity of overland flowton Δt$^{-1}$-
TCclaytransport capacity of overland flow for particle class clayton Δt$^{-1}$-
TCsilttransport capacity of overland flow for particle class siltton Δt$^{-1}$-
TCsandtransport capacity of overland flow for particle class sandton Δt$^{-1}$-
TCsaggtransport capacity of overland flow for particle class small aggregateston Δt$^{-1}$-
TClaggtransport capacity of overland flow for particle class large aggregateston Δt$^{-1}$-
+specific_leaf = "Sl"
parameterdescriptionunitdefault
canopyheightcanopy heightm3.0
eroskcoefficient for EUROSEM rainfall erosion-0.6
erossplexponent for EUROSEM rainfall erosion-2.0
erosovcoefficient for ANSWERS overland flow erosion-0.9
pathfracfraction of impervious area per grid cell-0.01
slopeland slope-0.01
usleCUSLE crop management factor-0.01
usleKUSLE soil erodibility factor-0.1
sl (specific_leaf)specific leaf storagemm-
swood (storage_wood)storage woody part of vegetationmm-
kextextinction coefficient (to calculate canopy gap fraction)--
cmaxmaximum canopy storagemm1.0
canopygapfractioncanopy gap fraction-0.1
dmclaymedian diameter particle size class clayµm2.0
dmsiltmedian diameter particle size class siltµm10.0
dmsandmedian diameter particle size class sandµm200.0
dmsaggmedian diameter particle size class small aggregatesµm30.0
dmlaggmedian diameter particle size class large aggregatesµm500.0
rhos (rhosed)density of sedimentkg m$^{-3}1$2650.0
nnumber of cells--
yllength of cells in y directionm-
xllength of cells in x directionm-
riverfracfraction of river--
wbcoverwaterbody coverage--
h_landdepth of overland flowm-
interceptioncanopy interceptionmm Δt$^{-1}$-
precipitationprecipitationmm Δt$^{-1}$-
q_landoverland flowm$^3$ s$^{-1}$-
sedsplsediment eroded by rainfallton Δt$^{-1}$-
sedovsediment eroded by overland flowton Δt$^{-1}$-
soillosstotal eroded soilton Δt$^{-1}$-
erosclayeroded soil for particle class clayton Δt$^{-1}$-
erossilteroded soil for particle class siltton Δt$^{-1}$-
erossanderoded soil for particle class sandton Δt$^{-1}$-
erossaggeroded soil for particle class small aggregateston Δt$^{-1}$-
eroslaggeroded soil for particle class large aggregateston Δt$^{-1}$-
leaf_area_indexleaf area indexm$^2$ m$^{-2}$-
dldrain lengthm-
dwflow widthm-
cGoversGovers transport capacity coefficient--
nGoversGovers transport capacity coefficient--
D50median particle diameter of the topsoilmm-
fclayfraction of particle class clay--
fsiltfraction of particle class silt--
fsandfraction of particle class sand--
fsaggfraction of particle class small aggregates--
flaggfraction of particle class large aggregates--
rivcellriver cells--
TCsedtotal transport capacity of overland flowton Δt$^{-1}$-
TCclaytransport capacity of overland flow for particle class clayton Δt$^{-1}$-
TCsilttransport capacity of overland flow for particle class siltton Δt$^{-1}$-
TCsandtransport capacity of overland flow for particle class sandton Δt$^{-1}$-
TCsaggtransport capacity of overland flow for particle class small aggregateston Δt$^{-1}$-
TClaggtransport capacity of overland flow for particle class large aggregateston Δt$^{-1}$-
diff --git a/dev/model_docs/shared_concepts/index.html b/dev/model_docs/shared_concepts/index.html index 75545c38c..55e1d611b 100644 --- a/dev/model_docs/shared_concepts/index.html +++ b/dev/model_docs/shared_concepts/index.html @@ -3,9 +3,9 @@ Q_r=cfmax \, cfr(tt−T_a)\,;\, Ta < tt\]

where $Q_m$ is the rate of snow melt, $Q_r$ is the rate of snow refreezing, and $cfmax$ and $cfr$ are user defined model parameters (the melting factor [mm/($\degree$C day)] and the refreezing factor respectively).

The fraction of liquid water in the snow pack is at most equal to a user defined fraction, whc, of the water equivalent of the dry snow content. If the liquid water concentration exceeds whc, either through snow melt or incoming rainfall, the surplus water (rainfall) becomes available for infiltration into the soil:

    snowwater = snowwater - refreezing  # free water content in snow
     maxsnowwater = snow * whc  # max water in the snow
     snowwater = snowwater + snowmelt + rainfall  # add all water and potentially supersaturate the snowpack
-    rainfall = max(snowwater - maxsnowwater, 0.0)  # rain + surplus snowwater


snowmelt

Snowmelt and refreezing rates as a function of temperature (for set melting and refreezing factors)

Glacier modelling

Glacier processes can be modelled if the snow model is enabled. For the vertical HBV concept snow modelling is not optional. Glacier modelling is very close to snow modelling and considers two main processes: glacier build-up from snow turning into firn/ice (using the HBV-light model) and glacier melt (using a temperature degree-day model).

The definition of glacier boundaries and initial volume is defined in three parameters. glacierfrac is a parameter that gives the fraction of each grid cell covered by a glacier as a number between zero and one. glacierstore is a state parameter that gives the amount of water (in mm w.e.) within the glaciers at each gridcell. Because the glacier store (glacierstore) cannot be initialized by running the model for a couple of years, a default initial state should be supplied by adding this parameter to the input static file. The required glacier data can be prepared from available glacier datasets.

First, a fixed fraction of the snowpack on top of the glacier is converted into ice for each timestep and added to the glacierstore using the HBV-light model (Seibert et al., 2018). This fraction g_sifrac typically ranges from 0.001 to 0.006.

Then, when the snowpack on top of the glacier is almost all melted (snow cover < 10 mm), glacier melt is enabled and estimated with a degree-day model. If the air temperature, $T_a$, is below a certain threshold g_tt ($\degree$C) precipitation occurs as snowfall, whereas it occurs as rainfall if $T_a ≥$ g_tt.

With this the rate of glacier melt in mm is estimated as:

\[Q_m = g\_cfmax(T_a − g\_tt)\, ; \, T_a > g\_tt\]

where $Q_m$ is the rate of glacier melt and $g\_cfmax$ is the melting factor in mm/($\degree$C day). Parameter g_tt can be taken as equal to the snow tt parameter. Values of the melting factor g_cfmax normally varies from one glacier to another and some values are reported in the literature. g_cfmax can also be estimated by multiplying snow cfmax by a factor between 1 and 2, to take into account the higher albedo of ice compared to snow.

Rainfall interception

Both the Gash and Rutter models are available to estimate rainfall interception by the vegetation. The selection of an interception model depends on the simulation timestep.

The analytical (Gash) model

The analytical model of rainfall interception is based on Rutter’s numerical model. The simplifications that introduced allow the model to be applied on a daily basis, although a storm-based approach will yield better results in situations with more than one storm per day. The amount of water needed to completely saturate the canopy is defined as:

\[P'=\frac{-\overline{R}S}{\overline{E}_{w}}ln\left[1-\frac{\overline{E}_{w}}{\overline{R}}(1-p-p_{t})^{-1}\right]\]

where $\overline{R}$ is the average precipitation intensity on a saturated canopy and $\overline{E}_{w}$ the average evaporation from the wet canopy and with the vegetation parameters $S$, $p$ and $p_t$ as defined previously. The model uses a series of expressions to calculate the interception loss during different phases of a storm. An analytical integration of the total evaporation and rainfall under saturated canopy conditions is then done for each storm to determine average values of $\overline{E}_{w}$ and $\overline{R}$. The total evaporation from the canopy (the total interception loss) is calculated as the sum of the components listed in the table below. Interception losses from the stems are calculated for days with $P\geq S_{t}/p_{t}$. $p_t$ and $S_t$ are small and neglected.

Table: Formulation of the components of interception loss according to Gash:

ComponentsInterception loss
For $m$ small storms ($P_{g}<{P'}_{g}$)$(1-p-p_{t})\sum_{j=1}^{m}P_{g,j}$
Wetting up the canopy in $n$ large storms ($P_{g}\geq{P'}_{g}$)$n(1-p-p_{t}){P'}_{g}-nS$
Evaporation from saturated canopy during rainfall$\overline{E}/\overline{R}\sum_{j=1}^{n}(P_{g,j}-{P'}_{g})$
Evaporation after rainfall ceases for $n$ large storms$nS$
Evaporation from trunks in $q$ storms that fill the trunk storage$qS_{t}$
Evaporation from trunks in $m+n-q$ storms that do not fill the trunk storage$p_{t}\sum_{j=1}^{m+n-q}P_{g,j}$

In applying the analytical model, saturated conditions are assumed to occur when the hourly rainfall exceeds a certain threshold. Often a threshold of 0.5 mm/hr is used. $\overline{R}$ is calculated for all hours when the rainfall exceeds the threshold to give an estimate of the mean rainfall rate onto a saturated canopy.

Gash (1979) has shown that in a regression of interception loss on rainfall (on a storm basis) the regression coefficient should equal to $\overline{E}_w/\overline{R}$. Assuming that neither $\overline{E}_w$ nor $\overline{R}$ vary considerably in time, $\overline{E}_w$ can be estimated in this way from $\overline{R}$ in the absence of above-canopy climatic observations. Values derived in this way generally tend to be (much) higher than those calculated with the penman-monteith equation.

The modified rutter model

For sub daily timesteps the interception is calculated using a simplification of the Rutter model. The simplified model is solved explicitly and does not take drainage from the canopy into account.

Wflow.rainfall_interception_modrutFunction
rainfall_interception_modrut(precipitation, potential_evaporation, canopystorage, canopygapfraction, cmax)

Interception according to a modified Rutter model. The model is solved explicitly and there is no drainage below cmax.

source

Interception parameters from LAI

The SBM concept can determine the interception parameters from leaf area index (LAI) climatology. In order to switch this on you must define this cyclic parameter in the TOML file, the parameter is read from path_static, as follows:

[input]
+    rainfall = max(snowwater - maxsnowwater, 0.0)  # rain + surplus snowwater


snowmelt

Snowmelt and refreezing rates as a function of temperature (for set melting and refreezing factors)

Glacier modelling

Glacier processes can be modelled if the snow model is enabled. For the vertical HBV concept snow modelling is not optional. Glacier modelling is very close to snow modelling and considers two main processes: glacier build-up from snow turning into firn/ice (using the HBV-light model) and glacier melt (using a temperature degree-day model).

The definition of glacier boundaries and initial volume is defined in three parameters. glacierfrac is a parameter that gives the fraction of each grid cell covered by a glacier as a number between zero and one. glacierstore is a state parameter that gives the amount of water (in mm w.e.) within the glaciers at each gridcell. Because the glacier store (glacierstore) cannot be initialized by running the model for a couple of years, a default initial state should be supplied by adding this parameter to the input static file. The required glacier data can be prepared from available glacier datasets.

First, a fixed fraction of the snowpack on top of the glacier is converted into ice for each timestep and added to the glacierstore using the HBV-light model (Seibert et al., 2018). This fraction g_sifrac typically ranges from 0.001 to 0.006.

Then, when the snowpack on top of the glacier is almost all melted (snow cover < 10 mm), glacier melt is enabled and estimated with a degree-day model. If the air temperature, $T_a$, is below a certain threshold g_tt ($\degree$C) precipitation occurs as snowfall, whereas it occurs as rainfall if $T_a ≥$ g_tt.

With this the rate of glacier melt in mm is estimated as:

\[Q_m = g\_cfmax(T_a − g\_tt)\, ; \, T_a > g\_tt\]

where $Q_m$ is the rate of glacier melt and $g\_cfmax$ is the melting factor in mm/($\degree$C day). Parameter g_tt can be taken as equal to the snow tt parameter. Values of the melting factor g_cfmax normally varies from one glacier to another and some values are reported in the literature. g_cfmax can also be estimated by multiplying snow cfmax by a factor between 1 and 2, to take into account the higher albedo of ice compared to snow.

Rainfall interception

Both the Gash and Rutter models are available to estimate rainfall interception by the vegetation. The selection of an interception model depends on the simulation timestep.

The analytical (Gash) model

The analytical model of rainfall interception is based on Rutter’s numerical model. The simplifications that introduced allow the model to be applied on a daily basis, although a storm-based approach will yield better results in situations with more than one storm per day. The amount of water needed to completely saturate the canopy is defined as:

\[P'=\frac{-\overline{R}S}{\overline{E}_{w}}ln\left[1-\frac{\overline{E}_{w}}{\overline{R}}(1-p-p_{t})^{-1}\right]\]

where $\overline{R}$ is the average precipitation intensity on a saturated canopy and $\overline{E}_{w}$ the average evaporation from the wet canopy and with the vegetation parameters $S$, $p$ and $p_t$ as defined previously. The model uses a series of expressions to calculate the interception loss during different phases of a storm. An analytical integration of the total evaporation and rainfall under saturated canopy conditions is then done for each storm to determine average values of $\overline{E}_{w}$ and $\overline{R}$. The total evaporation from the canopy (the total interception loss) is calculated as the sum of the components listed in the table below. Interception losses from the stems are calculated for days with $P\geq S_{t}/p_{t}$. $p_t$ and $S_t$ are small and neglected.

Table: Formulation of the components of interception loss according to Gash:

ComponentsInterception loss
For $m$ small storms ($P_{g}<{P'}_{g}$)$(1-p-p_{t})\sum_{j=1}^{m}P_{g,j}$
Wetting up the canopy in $n$ large storms ($P_{g}\geq{P'}_{g}$)$n(1-p-p_{t}){P'}_{g}-nS$
Evaporation from saturated canopy during rainfall$\overline{E}/\overline{R}\sum_{j=1}^{n}(P_{g,j}-{P'}_{g})$
Evaporation after rainfall ceases for $n$ large storms$nS$
Evaporation from trunks in $q$ storms that fill the trunk storage$qS_{t}$
Evaporation from trunks in $m+n-q$ storms that do not fill the trunk storage$p_{t}\sum_{j=1}^{m+n-q}P_{g,j}$

In applying the analytical model, saturated conditions are assumed to occur when the hourly rainfall exceeds a certain threshold. Often a threshold of 0.5 mm/hr is used. $\overline{R}$ is calculated for all hours when the rainfall exceeds the threshold to give an estimate of the mean rainfall rate onto a saturated canopy.

Gash (1979) has shown that in a regression of interception loss on rainfall (on a storm basis) the regression coefficient should equal to $\overline{E}_w/\overline{R}$. Assuming that neither $\overline{E}_w$ nor $\overline{R}$ vary considerably in time, $\overline{E}_w$ can be estimated in this way from $\overline{R}$ in the absence of above-canopy climatic observations. Values derived in this way generally tend to be (much) higher than those calculated with the penman-monteith equation.

The modified rutter model

For sub daily timesteps the interception is calculated using a simplification of the Rutter model. The simplified model is solved explicitly and does not take drainage from the canopy into account.

Wflow.rainfall_interception_modrutFunction
rainfall_interception_modrut(precipitation, potential_evaporation, canopystorage, canopygapfraction, cmax)

Interception according to a modified Rutter model. The model is solved explicitly and there is no drainage below cmax.

source

Interception parameters from LAI

The SBM concept can determine the interception parameters from leaf area index (LAI) climatology. In order to switch this on you must define this cyclic parameter in the TOML file, the parameter is read from path_static, as follows:

[input]
 path_forcing = "data/forcing-moselle.nc"
 path_static = "data/staticmaps-moselle.nc"
 
 cyclic = ["vertical.leaf_area_index"]

Furthermore these additional parameters are required:

Here it is assumed that cmax [mm] (leaves) (canopy storage capacity for the leaves only) relates linearly with LAI (c.f. Van Dijk and Bruijnzeel 2001). This done via the sl. sl can be determined through a lookup table with land cover based on literature (Pitman 1989, Lui 1998). Next the cmax (leaves) is determined using:

\[ - cmax(leaves) = sl \, LAI\]

To get to total storage (cmax) the woody part of the vegetation also needs to be added. As for sl, the storage of the woody part swood can also be related to land cover (lookup table).

The canopy gap fraction is determined using the extinction coefficient kext (van Dijk and Bruijnzeel 2001):

\[ canopygapfraction = exp(-kext \, LAI)\]

The extinction coefficient kext can be related to land cover.

References

+ cmax(leaves) = sl \, LAI\]

To get to total storage (cmax) the woody part of the vegetation also needs to be added. As for sl, the storage of the woody part swood can also be related to land cover (lookup table).

The canopy gap fraction is determined using the extinction coefficient kext (van Dijk and Bruijnzeel 2001):

\[ canopygapfraction = exp(-kext \, LAI)\]

The extinction coefficient kext can be related to land cover.

References

diff --git a/dev/model_docs/structures/index.html b/dev/model_docs/structures/index.html index 336926bc1..7615f927e 100644 --- a/dev/model_docs/structures/index.html +++ b/dev/model_docs/structures/index.html @@ -31,4 +31,4 @@ kvfrac::Vector{SVector{N,T}} | "-"

The type parameter T is used in Wflow as a subtype of AbstractFloat, allowing to store fields with a certain floating point precision (e.g. Float64 or Float32) in a flexible way. N refers to the maximum number of soil layers of the SBM soil column, and M refers to the maximum number of soil layers + 1. See also part of the following instance of SBM:

sbm = SBM{Float,maxlayers,maxlayers + 1}(
     Δt = tosecond(Δt),
     maxlayers = maxlayers,
-    n = n,

For the other model concepts, we refer to the code to check these type parameters.

+ n = n,

For the other model concepts, we refer to the code to check these type parameters.

diff --git a/dev/model_docs/vertical/flextopo/index.html b/dev/model_docs/vertical/flextopo/index.html index 69eb9b8b7..c0ca27e1d 100644 --- a/dev/model_docs/vertical/flextopo/index.html +++ b/dev/model_docs/vertical/flextopo/index.html @@ -5,4 +5,4 @@ S_\mathrm{Hmin} & \text{if $F_\mathrm{acc,fr} < F_\mathrm{acc,fr0}$}\\ \frac{F_\mathrm{acc}}{F_\mathrm{acc,fr1} - F_\mathrm{acc,fr0}} - \frac{F_\mathrm{acc,fr0}}{F_\mathrm{acc,fr1} - F_\mathrm{acc,fr0}} & \text{if $ F_\mathrm{acc,fr0} \le F_\mathrm{acc,fr} \le F_\mathrm{acc,fr1}$}\\ 1 & \text{if $F_\mathrm{acc,fr} > F_\mathrm{acc,fr,1}$} - \end{cases}\]

where $S_\mathrm{Hmin}$ [-], $F_\mathrm{acc,fr0}$ [degree t], $F_\mathrm{acc,fr1}$ [degree t] and $K_\mathrm{mf}$ [-] are all model parameters to describe: a coefficient to reduce $S_\mathrm{Hmax}$ to a minimum storage capacity, the minimum and maximum modelled accumulated frost and a melt coefficient for the frozen topsoil, respectively.

The following equations apply for the Horton fast runoff storage $S_\mathrm{Hf}$ [mm]:

\[ \mathrm{d}S_\mathrm{Hf}/\mathrm{d}t = Q_\mathrm{H} - Q_\mathrm{Hf}\]

\[ Q_\mathrm{Hf} = K_\mathrm{Hf}^{-1} \cdot S_\mathrm{Hf}\]

Root zone soil moisture

The incoming water from the interception and hortonian routines $Q_\mathrm{HR}$ [mm t$^{-1}$] enters the root zone storage $S_\mathrm{R}$ [mm]. The root zone storage has a maximum capacity $S_\mathrm{Rmax}$ [mm], which represents the volume of water in the unsaturated root zone, which is available to the roots of vegetation for transpiration. Abundant water which exceeds the capacity of the root zone storage cannot infiltrate and becomes directly available for runoff $Q_\mathrm{R,direct}$ [mm t$^{-1}$]. The net infiltration in the root zone storage is denoted as $Q_\mathrm{R,in,net}$ [mm t$^{-1}$].

A simple formulation to express water stress is used to calculate evaporation $E_\mathrm{R}$ [mm t$^{-1}$] from the root zone storage. The equation describes how actual evaporation is linearly reduced when the relative root zone storage $\overline{S_\mathrm{R}}$ [-] is below a certain threshold $L_\mathrm{P}$ [-] parameter.

Next, a beta function with parameter $\beta$ [-] describes the partitioning of incoming water to the root zone storage and to runoff $Q_\mathrm{R}$ [mm t$^{-1}$]. The water that leaves the root zone storage is partitioned into the fast storage and through preferential recharge to the slow storage, based on a splitter parameter $d_\mathrm{s}$ [-].

Water may also leave the root zone storage through percolation to the slow groundwater $Q_\mathrm{perc}$ [mm t$^{-1}$] or enter the root zone storage from the slow groundwater through capillary rise $Q_\mathrm{cap}$ [mm t$^{-1}$], based on a maximum percolation parameter $Q_\mathrm{perc,max}$ [mm t$^{-1}$] and a maximum capillary rise flux parameter $Q_\mathrm{cap,max}$ [mm t$^{-1}$].

The water balance equation for the root zone storage is:

\[ \mathrm{d}S_\mathrm{R}/\mathrm{d}t = Q_\mathrm{HR} - E_\mathrm{R} - Q_\mathrm{R} - Q_\mathrm{perc} + Q_\mathrm{cap}\]

The constitutive equations are:

\[ Q_\mathrm{R,direct}=\mathrm{max}((S_\mathrm{R}+Q_\mathrm{HR}−S_\mathrm{Rmax});0.0)\]

\[ Q_\mathrm{R,in,net} = Q_\mathrm{HR} − Q_\mathrm{R,direct}\]

\[ \overline{S_\mathrm{R}} = S_\mathrm{R}/S_\mathrm{R,max}\]

\[ E_\mathrm{R} = \mathrm{min} ( (E_\mathrm{P} - E_\mathrm{I} - E_\mathrm{H}) \cdot \mathrm{min}(\overline{S_\mathrm{R}}/L_\mathrm{P},1), S_\mathrm{R}/\mathrm{d}t )\]

\[ Q_\mathrm{R} = Q_\mathrm{R,in,net} \cdot (1-(1-\overline{S_\mathrm{R}})^\beta)\]

\[ Q_\mathrm{perc} = Q_\mathrm{perc,max} \cdot \overline{S_\mathrm{R}}\]

\[ Q_\mathrm{cap} = Q_\mathrm{cap,max} \cdot (1 - \overline{S_\mathrm{R}})\]

Fast storage and runoff

The outflow from the root zone storage $Q_\mathrm{R}$ [mm t$^{-1}$] is split with the splitter parameter $d_\mathrm{s}$ [-] into inflow in the fast storage $Q_\mathrm{RF}$ [mm t$^{-1}$] and inflow in the slow storage $Q_\mathrm{RS}$ [mm t$^{-1}$] to represent preferential recharge. The fast runoff storage $S_\mathrm{F}$ [mm] generates fast runoff $Q_\mathrm{F}$ [mm t$^{-1}$] through a simple non-linear equation with a recession constant $K_\mathrm{F}$ [t$^{-1}$] and an exponent $\alpha$ [-].

The following equations apply:

\[ \mathrm{d}S_\mathrm{F}/\mathrm{d}t = Q_\mathrm{RF} - Q_\mathrm{F}\]

\[ Q_\mathrm{RF} = Q_\mathrm{R} \cdot (1-d_\mathrm{s})\]

\[ Q_\mathrm{F} = K_\mathrm{F}^{-1} \cdot S_\mathrm{F}^{\alpha}\]

Common slow groundwater storage and runoff

The slow groundwater storage $S_\mathrm{S}$ [mm] is a shared storage for all the different classes. It is filled through preferential recharge from the outflow of the root zone storage $Q_\mathrm{RS}$ [mm t$^{-1}$] and through percolation $Q_\mathrm{perc}$ [mm t$^{-1}$]. It empties through capillary rise $Q_\mathrm{cap}$ [mm t$^{-1}$] and through a linear outflow $Q_\mathrm{S}$ [mm t$^{-1}$] with recession timescale coefficient $K_\mathrm{S}$ [t$^{-1}$].

Total streamflow $Q_\mathrm{TOT}$ [mm t$^{-1}$] is the weighted sum of the horton fast runoff and the fast runoff from the different classes based on the fraction of each class in a cell $F_\mathrm{hrufrac}$ [-] and the slow runoff, which is then routed downstream along the river network through the kinematic wave.

\[ \mathrm{d}S_\mathrm{S}/\mathrm{d}t = Q_\mathrm{RS} + Q_\mathrm{perc} - Q_\mathrm{S} - Q_\mathrm{cap}\]

\[ Q_\mathrm{RS} = Q_\mathrm{R} \cdot d_\mathrm{s}\]

\[ Q_\mathrm{S} = K_\mathrm{S}^{-1} \cdot S_\mathrm{S}\]

\[Q_\mathrm{TOT} = Q_\mathrm{S} + \sum_{class=1}^{n} (Q_\mathrm{F,class} + Q_\mathrm{Hf,class}) \cdot F_\mathrm{hrufrac,class}\]

References

+ \end{cases}\]

where $S_\mathrm{Hmin}$ [-], $F_\mathrm{acc,fr0}$ [degree t], $F_\mathrm{acc,fr1}$ [degree t] and $K_\mathrm{mf}$ [-] are all model parameters to describe: a coefficient to reduce $S_\mathrm{Hmax}$ to a minimum storage capacity, the minimum and maximum modelled accumulated frost and a melt coefficient for the frozen topsoil, respectively.

The following equations apply for the Horton fast runoff storage $S_\mathrm{Hf}$ [mm]:

\[ \mathrm{d}S_\mathrm{Hf}/\mathrm{d}t = Q_\mathrm{H} - Q_\mathrm{Hf}\]

\[ Q_\mathrm{Hf} = K_\mathrm{Hf}^{-1} \cdot S_\mathrm{Hf}\]

Root zone soil moisture

The incoming water from the interception and hortonian routines $Q_\mathrm{HR}$ [mm t$^{-1}$] enters the root zone storage $S_\mathrm{R}$ [mm]. The root zone storage has a maximum capacity $S_\mathrm{Rmax}$ [mm], which represents the volume of water in the unsaturated root zone, which is available to the roots of vegetation for transpiration. Abundant water which exceeds the capacity of the root zone storage cannot infiltrate and becomes directly available for runoff $Q_\mathrm{R,direct}$ [mm t$^{-1}$]. The net infiltration in the root zone storage is denoted as $Q_\mathrm{R,in,net}$ [mm t$^{-1}$].

A simple formulation to express water stress is used to calculate evaporation $E_\mathrm{R}$ [mm t$^{-1}$] from the root zone storage. The equation describes how actual evaporation is linearly reduced when the relative root zone storage $\overline{S_\mathrm{R}}$ [-] is below a certain threshold $L_\mathrm{P}$ [-] parameter.

Next, a beta function with parameter $\beta$ [-] describes the partitioning of incoming water to the root zone storage and to runoff $Q_\mathrm{R}$ [mm t$^{-1}$]. The water that leaves the root zone storage is partitioned into the fast storage and through preferential recharge to the slow storage, based on a splitter parameter $d_\mathrm{s}$ [-].

Water may also leave the root zone storage through percolation to the slow groundwater $Q_\mathrm{perc}$ [mm t$^{-1}$] or enter the root zone storage from the slow groundwater through capillary rise $Q_\mathrm{cap}$ [mm t$^{-1}$], based on a maximum percolation parameter $Q_\mathrm{perc,max}$ [mm t$^{-1}$] and a maximum capillary rise flux parameter $Q_\mathrm{cap,max}$ [mm t$^{-1}$].

The water balance equation for the root zone storage is:

\[ \mathrm{d}S_\mathrm{R}/\mathrm{d}t = Q_\mathrm{HR} - E_\mathrm{R} - Q_\mathrm{R} - Q_\mathrm{perc} + Q_\mathrm{cap}\]

The constitutive equations are:

\[ Q_\mathrm{R,direct}=\mathrm{max}((S_\mathrm{R}+Q_\mathrm{HR}−S_\mathrm{Rmax});0.0)\]

\[ Q_\mathrm{R,in,net} = Q_\mathrm{HR} − Q_\mathrm{R,direct}\]

\[ \overline{S_\mathrm{R}} = S_\mathrm{R}/S_\mathrm{R,max}\]

\[ E_\mathrm{R} = \mathrm{min} ( (E_\mathrm{P} - E_\mathrm{I} - E_\mathrm{H}) \cdot \mathrm{min}(\overline{S_\mathrm{R}}/L_\mathrm{P},1), S_\mathrm{R}/\mathrm{d}t )\]

\[ Q_\mathrm{R} = Q_\mathrm{R,in,net} \cdot (1-(1-\overline{S_\mathrm{R}})^\beta)\]

\[ Q_\mathrm{perc} = Q_\mathrm{perc,max} \cdot \overline{S_\mathrm{R}}\]

\[ Q_\mathrm{cap} = Q_\mathrm{cap,max} \cdot (1 - \overline{S_\mathrm{R}})\]

Fast storage and runoff

The outflow from the root zone storage $Q_\mathrm{R}$ [mm t$^{-1}$] is split with the splitter parameter $d_\mathrm{s}$ [-] into inflow in the fast storage $Q_\mathrm{RF}$ [mm t$^{-1}$] and inflow in the slow storage $Q_\mathrm{RS}$ [mm t$^{-1}$] to represent preferential recharge. The fast runoff storage $S_\mathrm{F}$ [mm] generates fast runoff $Q_\mathrm{F}$ [mm t$^{-1}$] through a simple non-linear equation with a recession constant $K_\mathrm{F}$ [t$^{-1}$] and an exponent $\alpha$ [-].

The following equations apply:

\[ \mathrm{d}S_\mathrm{F}/\mathrm{d}t = Q_\mathrm{RF} - Q_\mathrm{F}\]

\[ Q_\mathrm{RF} = Q_\mathrm{R} \cdot (1-d_\mathrm{s})\]

\[ Q_\mathrm{F} = K_\mathrm{F}^{-1} \cdot S_\mathrm{F}^{\alpha}\]

Common slow groundwater storage and runoff

The slow groundwater storage $S_\mathrm{S}$ [mm] is a shared storage for all the different classes. It is filled through preferential recharge from the outflow of the root zone storage $Q_\mathrm{RS}$ [mm t$^{-1}$] and through percolation $Q_\mathrm{perc}$ [mm t$^{-1}$]. It empties through capillary rise $Q_\mathrm{cap}$ [mm t$^{-1}$] and through a linear outflow $Q_\mathrm{S}$ [mm t$^{-1}$] with recession timescale coefficient $K_\mathrm{S}$ [t$^{-1}$].

Total streamflow $Q_\mathrm{TOT}$ [mm t$^{-1}$] is the weighted sum of the horton fast runoff and the fast runoff from the different classes based on the fraction of each class in a cell $F_\mathrm{hrufrac}$ [-] and the slow runoff, which is then routed downstream along the river network through the kinematic wave.

\[ \mathrm{d}S_\mathrm{S}/\mathrm{d}t = Q_\mathrm{RS} + Q_\mathrm{perc} - Q_\mathrm{S} - Q_\mathrm{cap}\]

\[ Q_\mathrm{RS} = Q_\mathrm{R} \cdot d_\mathrm{s}\]

\[ Q_\mathrm{S} = K_\mathrm{S}^{-1} \cdot S_\mathrm{S}\]

\[Q_\mathrm{TOT} = Q_\mathrm{S} + \sum_{class=1}^{n} (Q_\mathrm{F,class} + Q_\mathrm{Hf,class}) \cdot F_\mathrm{hrufrac,class}\]

References

diff --git a/dev/model_docs/vertical/hbv/index.html b/dev/model_docs/vertical/hbv/index.html index 512e1f23d..668ba2c66 100644 --- a/dev/model_docs/vertical/hbv/index.html +++ b/dev/model_docs/vertical/hbv/index.html @@ -3,4 +3,4 @@ glacier = true

Potential Evaporation

The cevpf model parameter is used to adjust the potential evaporation based on land use. In the original HBV version cevpfo is used, a factor for forest land use only.

Interception

For interception storage a single icf parameter is used according to the land use. In this implementation interception evaporation is subtracted to ensure total evaporation does not exceed potential evaporation. From this storage evaporation equal to the potential evaporation rate will occur as long as water is available, even if it is stored as snow. All water enters this store first, there is no concept of free throughfall (e.g. through gaps in the canopy). In the model a running water budget is kept of the interception store:

The soil routine

The incoming water from the snow and interception routines, $Q_{in}$, is available for infiltration in the soil routine. The soil layer has a limited capacity, fc, to hold soil water, which means if fc is exceeded the abundant water cannot infiltrate and, consequently, becomes directly available for runoff.

\[ Q_{dr}=max((SM+Q_{in}−fc);0.0)\]

where $Q_{dr}$ is the abundant soil water (also referred to as direct runoff) and $SM$ is the soil moisture content. Consequently, the net amount of water that infiltrates into the soil, $I_{net}$, equals:

\[I_{net} = Q_{in} − Q_{dr}\]

Part of the infiltrating water, $I_{net}$, will runoff through the soil layer (seepage). This runoff volume, $SP$, is related to the soil moisture content, $SM$, through the following power relation:

\[SP = \left(\frac{SM}{fc}\right)^\beta I_{net}\]

where $\beta$ is an empirically based parameter. Application of this equation implies that the amount of seepage water increases with increasing soil moisture content. The fraction of the infiltrating water which does not runoff, $I_{net}−SP$, is added to the available amount of soil moisture, $SM$. The $\beta$ parameter affects the amount of supply to the soil moisture reservoir that is transferred to the quick response reservoir. Values of $\beta$ vary generally between 1 and 3. Larger values of $\beta$ reduce runoff and indicate a higher absorption capacity of the soil.

hbv-soilmoist.png

Schematic view of the soil moisture routine

A percentage of the soil moisture will evaporate. This percentage is related to the potential evaporation and the available amount of soil moisture:

\[ E_a = \frac{SM}{T_m} E_p \, ; \, SM<T_m \\~\\ E_a = E_p \, ; \, SM \geq T_m\]

where $E_a$ is the actual evaporation, $E_p$ is the potential evaporation and $T_m$ ($\leq fc$) is a user defined threshold, above which the actual evaporation equals the potential evaporation. $T_m$ is defined as $LP * fc$ in which $LP$ is a soil dependent evaporation factor ($LP\leq 1$).

In the original model (Bergström, 1992), a correction to $E_a$ is applied in case of interception. If $E_a$ from the soil moisture storage plus $E_i$ exceeds $ET_p−E_i$ ($E_i$ = interception evaporation) then the exceeding part is multiplied by a factor ($1-e_{red}$), where the parameter $e_{red}$ varies between 0 and 1. This correction is not present in the wflow_hbv model.

The runoff response routine

The volume of water which becomes available for runoff, $S_{dr}+SP$, is transferred to the runoff response routine. In this routine the runoff delay is simulated through the use of a number of linear reservoirs.

Two linear reservoirs are defined to simulate the different runoff processes: the upper zone (generating quick runoff and interflow) and the lower zone (generating slow runoff). The available runoff water from the soil routine (i.e. direct runoff, $S_{dr}$, and seepage, $SP$) in principle ends up in the lower zone, unless the percolation threshold, $PERC$, is exceeded, in which case the redundant water ends up in the upper zone:

\[\Delta V_{LZ}=min(PERC;(S_{dr}+SP)) \\~\\ \Delta V_{UZ}=max(0.0;(S_{dr}+SP−PERC))\]

where $V_{UZ}$ is the content of the upper zone, $V_{LZ}$ is the content of the lower zone.

Capillary flow from the upper zone to the soil moisture reservoir is modeled according to:

\[Q_{cf}=cflux \; (fc−SM)/fc\]

where $cflux$ is the maximum capillary flux [mm day$^{-1}$].

The upper zone generates quick runoff ($Q_q$) using:

\[Q_q=K \, UZ^{(1+\alpha)}\]

where $K$ is the upper zone recession coefficient, and $\alpha$ determines the amount of non-linearity. Within HBV-96, the value of $K$ is determined from three other parameters: $\alpha$, $KHQ$, and $HQ$ [mm day$^{-1}$]. The value of $HQ$ represents an outflow rate of the upper zone for which the recession rate is equal to $KHQ$. If we define $UZ_{HQ}$ to be the content of the upper zone at outflow rate $HQ$ we can write the following equation:

\[ HQ=K \cdot UZ^{(1+\alpha)} = KHQ \cdot UZ_{HQ}\]

If we eliminate $UZ_{HQ}$ we obtain:

\[ HQ = K \left(\frac{HQ}{KHQ}\right)^{(1+\alpha)}\]

Rewriting for $K$ results in:

\[ K = KQH^{(1−\alpha)} HQ^{−\alpha}\]

The lower zone is a linear reservoir, which means the rate of slow runoff, $Q_{LZ}$, which leaves this zone during one time step equals:

\[Q_{LZ} = K_{LZ} \, V_{LZ}\]

where $K_{LZ}$ is the reservoir constant.

The upper zone is also a linear reservoir, but it is slightly more complicated than the lower zone because it is divided into two zones: a lower part in which interflow is generated and an upper part in which quick flow is generated.

hbv-upper

Schematic view of the upper zone

If the total water content of the upper zone, $V_{UZ}$ is lower than a threshold $UZ1$, the upper zone only generates interflow. On the other hand, if $V_{UZ}$ exceeds $UZ1$, part of the upper zone water will runoff as quick flow:

\[ Q_i = K_i min(UZ1;V_{uz})\\ - Q_q = K_q max((V_{UZ}−UZ1);0.0)\]

Where $Q_i$ is the amount of generated interflow in one time step, $Q_q$ is the amount of generated quick flow in one time step and $K_i$ and $K_q$ are reservoir constants for interflow and quick flow respectively.

The total runoff rate, $Q$, is equal to the sum of the three different runoff components:

\[ Q = Q_{LZ}+Q_i+Q_q\]

The runoff behavior in the runoff response routine is controlled by two threshold values $P_m$ and $UZ1$ in combination with three reservoir parameters, $K_{LZ}$, $K_i$ and $K_q$.

In order to represent the differences in delay times between the three runoff components, the reservoir constants have to meet the following requirement:

\[ K_{LZ}<K_i<K_q\]

References

+ Q_q = K_q max((V_{UZ}−UZ1);0.0)\]

Where $Q_i$ is the amount of generated interflow in one time step, $Q_q$ is the amount of generated quick flow in one time step and $K_i$ and $K_q$ are reservoir constants for interflow and quick flow respectively.

The total runoff rate, $Q$, is equal to the sum of the three different runoff components:

\[ Q = Q_{LZ}+Q_i+Q_q\]

The runoff behavior in the runoff response routine is controlled by two threshold values $P_m$ and $UZ1$ in combination with three reservoir parameters, $K_{LZ}$, $K_i$ and $K_q$.

In order to represent the differences in delay times between the three runoff components, the reservoir constants have to meet the following requirement:

\[ K_{LZ}<K_i<K_q\]

References

diff --git a/dev/model_docs/vertical/sbm/index.html b/dev/model_docs/vertical/sbm/index.html index c022e10df..cc456aa98 100644 --- a/dev/model_docs/vertical/sbm/index.html +++ b/dev/model_docs/vertical/sbm/index.html @@ -45,4 +45,4 @@ usld = setindex(usld, usld[k] + toadd, k) netcapflux = netcapflux - toadd actcapflux = actcapflux + toadd - end

In case of multiple unsaturated layers (n_usl $>$ 1), the calculation of the actual capillary rise starts at the lowest unsaturated layer while keeping track of the remaining capillary rise netcapflux [mm t$^{-1}$].

Leakage

If the maxleakage (mm/day) input model parameter is set > 0, water is lost from the saturated zone and runs out of the model.

Open water

Part of the water available for infiltration is diverted to the open water, based on the fractions of river and lakes of each grid cell. The amount of evaporation from open water is taken assumed to be equal to potential evaporation (if sufficient water is available).

References

+ end

In case of multiple unsaturated layers (n_usl $>$ 1), the calculation of the actual capillary rise starts at the lowest unsaturated layer while keeping track of the remaining capillary rise netcapflux [mm t$^{-1}$].

Leakage

If the maxleakage (mm/day) input model parameter is set > 0, water is lost from the saturated zone and runs out of the model.

Open water

Part of the water available for infiltration is diverted to the open water, based on the fractions of river and lakes of each grid cell. The amount of evaporation from open water is taken assumed to be equal to potential evaporation (if sufficient water is available).

References

diff --git a/dev/model_docs/vertical/sediment/index.html b/dev/model_docs/vertical/sediment/index.html index 8677f351d..78ee10454 100644 --- a/dev/model_docs/vertical/sediment/index.html +++ b/dev/model_docs/vertical/sediment/index.html @@ -2,4 +2,4 @@ Sediment · Wflow.jl

Sediment

Over the land, soil erosion, also called soil loss, is closely linked to the water cycle. The main processes governing sediment generation are splash erosion from rain droplets, and sheet and rill erosion from the shear stress caused by overland flow. The intensity of soil erosion by rain or flow depends on the land and soil characteristics such as slope, land use or soil type. Once soil is eroded, the detached particles can be transported downslope by overland flow. Along the transport pathways, soil particles can also be deposited due to a low flow velocity, a change of topography in depressions, footslopes or valley bottoms, and/or can be filtered and stopped by a change in vegetation such as field boundaries.

The inland part of the sediment gathers these different processes, separated in a vertical structure for the soil loss and lateral structure for the transport in overland flow.

Overview of the different processes for a land cell in wflow_sediment.

sediment_inland

Soil Erosion

The first process to consider in sediment dynamics is the generation of sediments by land erosion. The main processes behind soil loss are rainfall erosion and overland flow erosion. In order to model such processes at a fine time and space scale, physics-based models such as ANSWERS and EUROSEM were chosen here.

The choice of rainfall erosion method is set up in the model section of the TOML:

[model]
 rainerosmethod = "answers" # Rainfall erosion equation: ["answers", "eurosem"]

Rainfall erosion

In wflow_sediment, rainfall erosion can both be modelled using EUROSEM or ANSWERS equation. The main difference between the models is that EUROSEM uses a more physics-based approach using the kinetic energy of the rain drops impacting the soil (Morgan et al, 1998), while ANSWERS is more empirical and uses parameters from the USLE model (Beasley et al, 1991).

In EUROSEM, rainfall erosion is modelled according to rainfall intensity and its kinetic energy while it reaches the soil according to equations developed by Brandt (1990). As the intensity of the rain kinetic energy depends on the length of the fall, rainfall intercepted by vegetation will then be reduced compared to direct throughfall. The kinetic energy of direct throughfall is estimated by (Morgan et al, 1998):

\[ KE_{direct} = 8.95 + 8.44\,log_{10}\,R_{i}\]

where $KE_{direct}$ is kinetic energy of direct throughfall (J m$^{-2}$ mm$^{-1}$) and $R_{i}$ is rainfall intensity (mm h$^{-1}$). If the rainfall is intercepted by vegetation and falls as leaf drainage, its kinetic energy is then reduced according to (Brandt, 1990):

\[ KE_{leaf} = 15.8\,H_{p}^{0.5} - 5.87\]

where $KE_{leaf}$ is kinetic energy of leaf drainage (J m$^{-2}$ mm$^{-1}$) and $H_{p}$ is the effective canopy height (half of plant height in m). Canopy height can be derived from the global map from Simard & al. (2011) or by user input depending on the land use.

Kinetic energies from both direct throughfall and leaf drainage are then multiplied by the respective depths of direct throughfall and leaf drainage (mm) and added to get the total rainfall kinetic energy $KE$. The soil detached by rainfall $D_{R}$ (g m$^{-2}$) is then:

\[ D_{R} = k\,KE\,e^{-\varphi h}\]

where $k$ is an index of the detachability of the soil (g $J^{-1}$), $KE$ is the total rainfall kinetic energy (J m$^{-2}$), $h$ is the surface runoff depth on the soil (m) and $\varphi$ is an exponent varying between 0.9 and 3.1 used to reduce rainfall impact if the soil is already covered by water. As a simplification, Torri (1987) has shown that a value of 2.0 for $\varphi$ is representative enough for a wide range of soil conditions. The detachability of the soil $k$ depends on the soil texture (proportion of clay, silt and sand content) and corresponding values are defined in EUROSEM user guide (Morgan et al, 1998). As a simplification, in wflow_sediment, the mean value of the detachability shown in the table below are used. Soil texture can for example be derived from the topsoil clay and silt content from SoilGrids (Hengl et al, 2017).

Table: Mean detachability of soil depending on its texture (Morgan et al, 1998).

Texture (USDA system)Mean detachability $k$ (g/J)
Clay2.0
Clay Loam1.7
Silt1.2
Silt Loam1.5
Loam2.0
Sandy Loam2.6
Loamy Sand3.0
Fine Sand3.5
Sand1.9

Rainfall erosion is handled differently in ANSWERS. There, the impacts of vegetation and soil properties are handled through the USLE coefficients in the equation (Beasley et al, 1991):

\[ D_{R} = 0.108 \, C_{USLE} \, K_{USLE} \, A_{i} \, R_{i}^{2}\]

where $D_{R}$ is the soil detachment by rainfall (here in kg min$^{-1}$), $C_{USLE}$ is the soil cover-management factor from the USLE equation, $K_{USLE}$ is the soil erodibility factor from the USLE equation, $A_{i}$ is the area of the cell (m$^{2}$) and $R_{i}$ is the rainfall intensity (here in mm min$^{-1}$). There are several methods available to estimate the $C$ and $K$ factors from the USLE. They can come from user input maps, for example maps resulting from Panagos & al.’s recent studies for Europe (Panagos et al, 2015) (Ballabio et al, 2016). To get an estimate of the $C$ factor globally, the other method is to estimate $C$ values for the different land use type in from global land cover maps (e.g. GlobCover). An example is given for the global land cover map GlobCover, summed up in the table below, the values come from a literature study including Panagos et al.’s review (2015), Gericke & al. (2015), Mansoor & al. (2013), Chadli et al. (2016), de Vente et al. (2009), Borrelli et al. (2014), Yang et al. (2003) and Bosco et al. (2015).

The other methods to estimate the USLE $K$ factor are to use either topsoil composition or topsoil geometric mean diameter. $K$ estimation from topsoil composition is estimated with the equation developed in the EPIC model (Williams et al, 1983):

\[ K_{USLE} = \left\{ 0.2 + 0.3exp\left[-0.0256SAN\frac{(1-SIL)}{100}\right] \right\} \left(\frac{SIL}{CLA+SIL}\right)^{0.3} \\~\\ - \left(1-\frac{0.25OC}{OC+e^{(3.72-2.95OC)}}\right)\left(1-\frac{0.75SN}{SN+e^{(-5.51+22.9SN)}}\right)\]

where $CLA$, $SIL$, $SAN$ are respectively the clay, silt and sand fractions of the topsoil (%), $OC$ is the topsoil organic carbon content (%) and $SN$ is $1-SAN/100$. These soil parameters can be derived for example from the SoilGrids dataset. The $K$ factor can also be estimated from the soil mean geometric diameter using the formulation from the RUSLE guide by Renard & al. (1997):

\[ K_{USLE} = 0.0034 + 0.0405e^{\left(-\dfrac{1}{2}\left(\dfrac{log_{10}(D_{g})+1.659}{0.7101}\right)^{2}\right)}\]

where $D_{g}$ is the soil geometric mean diameter (mm) estimated from topsoil clay, silt, sand fraction.

Table: Estimation of USLE C factor per Globcover land use type

GlobCover ValueGlobcover label$C_{USLE}$
11Post-flooding or irrigated croplands (or aquatic)0.2
14Rainfed croplands0.35
20Mosaic cropland (50-70%) vegetation (grassland/shrubland/forest) (20-50%)0.27
30Mosaic vegetation (grassland/shrubland/forest) (50-70%) / cropland (20-50%)0.25
40Closed to open (>15%) broadleaved evergreen or semi-deciduous forest (>5m)0.0065
50Closed (>40%) broadleaved deciduous forest (>5m)0.001
60Open (15-40%) broadleaved deciduous forest/woodland (>5m)0.01
70Closed (>40%) needleleaved evergreen forest (>5m)0.001
90Open (15-40%) needleleaved deciduous or evergreen forest (>5m)0.01
100Closed to open (>15%) mixed broadleaved and needleleaved forest (>5m)0.02
110Mosaic forest or shrubland (50-70%) / grassland (20-50%)0.015
120Mosaic grassland (50-70%) / forest or shrubland (20-50%)0.03
130Closed to open (>15%) (broadleaved or needleleaved, evergreen or deciduous) shrubland (<5m)0.035
140Closed to open (>15%) herbaceous vegetation (grassland, savannas or lichens/mosses)0.05
150Sparse (<15%) vegetation0.35
160Closed to open (>15%) broadleaved forest regularly flooded (semi-permanently or temporarily) - Fresh or brackish water0.001
170Closed (>40%) broadleaved forest or shrubland permanently flooded - Saline or brackish water0.0005
180Closed to open (>15%) grassland or woody vegetation on regularly flooded or waterlogged soil - Fresh, brackish or saline water0.04
190Artificial surfaces and associated areas (Urban areas >50%)0.0
200Bare areas0.0
210Water bodies0.0
220Permanent snow and ice0.0
230No data (burnt areas, clouds,…)0.0

Overland flow erosion

Overland flow (or surface runoff) erosion is induced by the strength of the shear stress of the surface water on the soil. As in rainfall erosion, the effect of the flow shear stress can be reduced by the soil vegetation or by the soil properties. In wflow_sediment, soil detachment by overland flow is modelled as in ANSWERS with (Beasley et al, 1991):

\[ D_{F} = 0.90 \, C_{USLE} \, K_{USLE} \, A_{i} \, S \, q\]

where $D_{F}$ is soil detachment by flow (kg min$^{-1}$), $C_{USLE}$ and $K_{USLE}$ are the USLE cover and soil erodibility factors, $A_{i}$ is the cell area (m$^{2}$), $S$ is the slope gradient and $q$ is the overland flow rate per unit width (m$^{2}$ min$^{-1}$). The USLE $C$ and $K$ factors can be estimated with the same methods as for rainfall erosion and here the slope gradient is obtained from the sinus rather than the tangent of the slope angle.

Delivery to the river system

Once soil is detached, it can be transported by overland flow and reach the river system. This process is described in Sediment Flux in overland flow.

References

  • D.B Beasley and L.F Huggins. ANSWERS - Users Manual. Technical report, EPA, 1991.
  • P. Borrelli, M. Märker, P. Panagos, and B. Schütt. Modeling soil erosion and river sediment yield for an intermountain drainage basin of the Central Apennines, Italy. Catena, 114:45-58, 2014. 10.1016/j.catena.2013.10.007
  • C. Bosco, D. De Rigo, O. Dewitte, J. Poesen, and P. Panagos. Modelling soil erosion at European scale: Towards harmonization and reproducibility. Natural Hazards and Earth System Sciences, 15(2):225-245, 2015. 10.5194/nhess-15-225-2015
  • C.J Brandt. Simulation of the size distribution and erosivity of raindrops and throughfall drops. Earth Surface Processes and Landforms, 15(8):687-698, dec 1990.
  • K. Chadli. Estimation of soil loss using RUSLE model for Sebou watershed (Morocco). Modeling Earth Systems and Environment, 2(2):51, 2016. 10.1007/s40808-016-0105-y
  • G R Foster. Modeling the erosion process. Hydrologic modeling of small watersheds, pages 295-380, 1982.
  • A. Gericke. Soil loss estimation and empirical relationships for sediment delivery ratios of European river catchments. International Journal of River Basin Management, 2015. 10.1080/15715124.2014.1003302
  • L.D.K. Mansoor, M.D. Matlock, E.C. Cummings, and L.L. Nalley. Quantifying and mapping multiple ecosystem services change in West Africa. Agriculture, Ecosystems and Environment, 165:6-18, 2013. 10.1016/j.agee.2012.12.001
  • Q Morgan, J.N Smith, R.E Govers, G Poesen, J.W.A Auerswald, K Chisci, G Torri, D Styczen, and M E Folly. The European soil erosion model (EUROSEM): documentation and user guide. Technical report, 1998.
  • S.L Neitsch, J.G Arnold, J.R Kiniry, and J.R Williams. SWAT Theoretical Documentation Version 2009. Texas Water Resources Institute, pages 1-647, 2011. 10.1016/j.scitotenv.2015.11.063
  • P. Panagos, P. Borrelli, K. Meusburger, C. Alewell, E. Lugato, and L. Montanarella. Estimating the soil erosion cover-management factor at the European scale. Land Use Policy, 48:38-50, 2015. 10.1016/j.landusepol.2015.05.021
  • K Renard, Gr Foster, Ga Weesies, Dk McCool, and Dc Yoder. Predicting soil erosion by water: a guide to conservation planning with the Revised Universal Soil Loss Equation (RUSLE). Washington, 1997.
  • D. Torri, M. Sfalanga, and M. Del Sette. Splash detachment: Runoff depth and soil cohesion. Catena, 14(1-3):149-155, 1987. 10.1016/S0341-8162(87)80013-9
  • J. de Vente, J. Poesen, G. Govers, and C. Boix-Fayos. The implications of data selection for regional erosion and sediment yield modelling. Earth Surface Processes and Landforms, 34(15):1994-2007, 2009. 10.1002/esp.1884
  • G. Verstraeten and J. Poesen. Estimating trap efficiency of small reservoirs and ponds: methods and implications for the assessment of sediment yield. Progress in Physical Geography, 24(2):219-251, 2000. 10.1177/030913330002400204
  • O. Vigiak, A. Malago, F. Bouraoui, M. Vanmaercke, and J. Poesen. Adapting SWAT hillslope erosion model to predict sediment concentrations and yields in large Basins. Science of the Total Environment, 538:855-875, 2015. 10.1016/j.scitotenv.2015.08.095
  • J.R. Williams, K.G. Renard, and P.T. Dyke. EPIC A new method for assessing erosion's effect on soil productivity. Journal of Soil and Water Conservation, 38(5):381-383, 1983.
  • D. Yang, S. Kanae, T. Oki, T. Koike, and K. Musiake. Global potential soil erosion with reference to land use and climate changes. Hydrological Processes, 17(14):2913-2928, 2003. 10.1002/hyp.1441
+ \left(1-\frac{0.25OC}{OC+e^{(3.72-2.95OC)}}\right)\left(1-\frac{0.75SN}{SN+e^{(-5.51+22.9SN)}}\right)\]

where $CLA$, $SIL$, $SAN$ are respectively the clay, silt and sand fractions of the topsoil (%), $OC$ is the topsoil organic carbon content (%) and $SN$ is $1-SAN/100$. These soil parameters can be derived for example from the SoilGrids dataset. The $K$ factor can also be estimated from the soil mean geometric diameter using the formulation from the RUSLE guide by Renard & al. (1997):

\[ K_{USLE} = 0.0034 + 0.0405e^{\left(-\dfrac{1}{2}\left(\dfrac{log_{10}(D_{g})+1.659}{0.7101}\right)^{2}\right)}\]

where $D_{g}$ is the soil geometric mean diameter (mm) estimated from topsoil clay, silt, sand fraction.

Table: Estimation of USLE C factor per Globcover land use type

GlobCover ValueGlobcover label$C_{USLE}$
11Post-flooding or irrigated croplands (or aquatic)0.2
14Rainfed croplands0.35
20Mosaic cropland (50-70%) vegetation (grassland/shrubland/forest) (20-50%)0.27
30Mosaic vegetation (grassland/shrubland/forest) (50-70%) / cropland (20-50%)0.25
40Closed to open (>15%) broadleaved evergreen or semi-deciduous forest (>5m)0.0065
50Closed (>40%) broadleaved deciduous forest (>5m)0.001
60Open (15-40%) broadleaved deciduous forest/woodland (>5m)0.01
70Closed (>40%) needleleaved evergreen forest (>5m)0.001
90Open (15-40%) needleleaved deciduous or evergreen forest (>5m)0.01
100Closed to open (>15%) mixed broadleaved and needleleaved forest (>5m)0.02
110Mosaic forest or shrubland (50-70%) / grassland (20-50%)0.015
120Mosaic grassland (50-70%) / forest or shrubland (20-50%)0.03
130Closed to open (>15%) (broadleaved or needleleaved, evergreen or deciduous) shrubland (<5m)0.035
140Closed to open (>15%) herbaceous vegetation (grassland, savannas or lichens/mosses)0.05
150Sparse (<15%) vegetation0.35
160Closed to open (>15%) broadleaved forest regularly flooded (semi-permanently or temporarily) - Fresh or brackish water0.001
170Closed (>40%) broadleaved forest or shrubland permanently flooded - Saline or brackish water0.0005
180Closed to open (>15%) grassland or woody vegetation on regularly flooded or waterlogged soil - Fresh, brackish or saline water0.04
190Artificial surfaces and associated areas (Urban areas >50%)0.0
200Bare areas0.0
210Water bodies0.0
220Permanent snow and ice0.0
230No data (burnt areas, clouds,…)0.0

Overland flow erosion

Overland flow (or surface runoff) erosion is induced by the strength of the shear stress of the surface water on the soil. As in rainfall erosion, the effect of the flow shear stress can be reduced by the soil vegetation or by the soil properties. In wflow_sediment, soil detachment by overland flow is modelled as in ANSWERS with (Beasley et al, 1991):

\[ D_{F} = 0.90 \, C_{USLE} \, K_{USLE} \, A_{i} \, S \, q\]

where $D_{F}$ is soil detachment by flow (kg min$^{-1}$), $C_{USLE}$ and $K_{USLE}$ are the USLE cover and soil erodibility factors, $A_{i}$ is the cell area (m$^{2}$), $S$ is the slope gradient and $q$ is the overland flow rate per unit width (m$^{2}$ min$^{-1}$). The USLE $C$ and $K$ factors can be estimated with the same methods as for rainfall erosion and here the slope gradient is obtained from the sinus rather than the tangent of the slope angle.

Delivery to the river system

Once soil is detached, it can be transported by overland flow and reach the river system. This process is described in Sediment Flux in overland flow.

References

diff --git a/dev/search/index.html b/dev/search/index.html index 2845808d2..414227f96 100644 --- a/dev/search/index.html +++ b/dev/search/index.html @@ -1,2 +1,2 @@ -Search · Wflow.jl

Loading search...

    +Search · Wflow.jl

    Loading search...

      diff --git a/dev/user_guide/additional_options/index.html b/dev/user_guide/additional_options/index.html index b8f9c96cf..73ec7bb36 100644 --- a/dev/user_guide/additional_options/index.html +++ b/dev/user_guide/additional_options/index.html @@ -95,10 +95,10 @@ "lateral.land", "lateral.river", "lateral.river.reservoir" -]

      See also:

      BasicModelInterface.initializeFunction
      BMI.initialize(::Type{<:Wflow.Model}, config_file)

      Initialize the model. Reads the input settings and data as defined in the Config object generated from the configuration file config_file. Will return a Model that is ready to run.

      source
      BasicModelInterface.get_input_var_namesFunction
      BMI.get_input_var_names(model::Model)

      Returns model input variables, based on the API section in the model configuration file. This API sections contains a list of Model components for which variables can be exchanged.

      source

      Couple to a groundwater model

      For the coupling of wflow_sbm (SBM + kinematic wave) with a groundwater model (e.g. MODFLOW) it is possible to run:

      The lateral subsurface component of wflow_sbm is not initialized by Wflow when the [input.lateral.subsurface] part of the TOML file is not included. Then from the BMI it is possible to run first the recharge part of SBM:

      model = BMI.update(model, run="sbm_until_recharge")

      and to exchange recharge and for example river waterlevels to the groundwater model. After the groundwater model update, and the exchange of groundwater head and for example drain and river flux to wflow_sbm, the SBM part that mainly determines exfiltration of water from the unsaturated store, and the kinematic wave for river - and overland flow can be run as follows:

      model = BMI.update(model, run="sbm_after_subsurfaceflow")

      See also:

      BasicModelInterface.updateFunction
      BMI.update(model::Model; run = nothing)

      Update the model for a single timestep.

      Arguments

      • run = nothing: to update a model partially.
      source

      Run from Delft-FEWS

      Wflow integrates easily as part of an operational system by linking to the Delft-FEWS platform. Delft-FEWS integrates data and models, and is for example used in many active flood forecasting systems around the world.

      This can be done without a model adapter that provides the interface between Delft-FEWS and an external model (or module). This is possible because time information in the TOML configuration file is optional and Delft-FEWS can import and export NetCDF files. When time information is left out from the TOML configuration file, the starttime, endtime and timestepsecs (timestep) of the run is extracted from the NetCDF forcing file by Wflow.

      To indicate that a Wflow model runs from Delft-FEWS, the following setting needs to be specified in the main section of the TOML configuration file:

      fews_run = true  # optional, default value is false

      This ensures that Wflow offsets the time handling, to meet the expectations of Delft-FEWS.

      It also uses a different format for the log file such that each log message takes up only one line. That meets the General Adapter logFile expectations, which then can get parsed with these Delft-FEWS log parsing settings:

      <logFile>
      +]

      See also:

      BasicModelInterface.initializeFunction
      BMI.initialize(::Type{<:Wflow.Model}, config_file)

      Initialize the model. Reads the input settings and data as defined in the Config object generated from the configuration file config_file. Will return a Model that is ready to run.

      source
      BasicModelInterface.get_input_var_namesFunction
      BMI.get_input_var_names(model::Model)

      Returns model input variables, based on the API section in the model configuration file. This API sections contains a list of Model components for which variables can be exchanged.

      source

      Couple to a groundwater model

      For the coupling of wflow_sbm (SBM + kinematic wave) with a groundwater model (e.g. MODFLOW) it is possible to run:

      The lateral subsurface component of wflow_sbm is not initialized by Wflow when the [input.lateral.subsurface] part of the TOML file is not included. Then from the BMI it is possible to run first the recharge part of SBM:

      model = BMI.update(model, run="sbm_until_recharge")

      and to exchange recharge and for example river waterlevels to the groundwater model. After the groundwater model update, and the exchange of groundwater head and for example drain and river flux to wflow_sbm, the SBM part that mainly determines exfiltration of water from the unsaturated store, and the kinematic wave for river - and overland flow can be run as follows:

      model = BMI.update(model, run="sbm_after_subsurfaceflow")

      See also:

      BasicModelInterface.updateFunction
      BMI.update(model::Model; run = nothing)

      Update the model for a single timestep.

      Arguments

      • run = nothing: to update a model partially.
      source

      Run from Delft-FEWS

      Wflow integrates easily as part of an operational system by linking to the Delft-FEWS platform. Delft-FEWS integrates data and models, and is for example used in many active flood forecasting systems around the world.

      This can be done without a model adapter that provides the interface between Delft-FEWS and an external model (or module). This is possible because time information in the TOML configuration file is optional and Delft-FEWS can import and export NetCDF files. When time information is left out from the TOML configuration file, the starttime, endtime and timestepsecs (timestep) of the run is extracted from the NetCDF forcing file by Wflow.

      To indicate that a Wflow model runs from Delft-FEWS, the following setting needs to be specified in the main section of the TOML configuration file:

      fews_run = true  # optional, default value is false

      This ensures that Wflow offsets the time handling, to meet the expectations of Delft-FEWS.

      It also uses a different format for the log file such that each log message takes up only one line. That meets the General Adapter logFile expectations, which then can get parsed with these Delft-FEWS log parsing settings:

      <logFile>
           <file>log.txt</file>
           <errorLinePattern >* [Error] *</errorLinePattern >
           <warningLinePattern>* [Warn] *</warningLinePattern>
           <infoLinePattern>* [Info] *</infoLinePattern>
           <debugLinePattern >* [Debug] *</debugLinePattern >
      -</logFile>
      +</logFile> diff --git a/dev/user_guide/install/index.html b/dev/user_guide/install/index.html index 28e300425..1d6f5e317 100644 --- a/dev/user_guide/install/index.html +++ b/dev/user_guide/install/index.html @@ -1,3 +1,3 @@ How to install · Wflow.jl

      How to install

      First download and install the current stable release of Julia. Please see platform specific instructions for further installation instructions and if you have trouble installing Julia.

      If you are new to Julia, it may be a good idea to check out the Getting Started section of the Julia Manual. Links to other learning resources can be found at julialang.org/learning.

      Wflow can be used in two different ways, depending on the required use of the code:

      • If you want to stay up-to-date with the latest version, explore and modify the model code, and write your own Julia scripts around the wflow package, we recommend installing wflow as a Julia package.
      • If you don't need extra features, but just want to run simulations, a complied executable version is available. This consists of a single executable, wflow_cli, allowing you to run the model via the command line.

      Below, we describe how to install both versions of wflow.

      Installing as Julia package

      Wflow is a Julia package, that can be installed through several different ways. Below we show how to install wflow from Julia's package repository, and how to install the latest version from GitHub.

      Install from Julia's package repository

      To access Julia's package manager, press ] in the Julia REPL. To get back to the Julia REPL, press backspace or ^C.

      Tip

      If you have not used Julia in a while, it can be a good idea to run up to update your packages.

      pkg> up

      Access Julia's package manager and install wflow using:

      pkg> add Wflow

      This can take a while, especially the first time, since compatible dependencies are also automatically looked up and installed from the Pkg General registry.

      Install from GitHub

      It is also possible to install wflow from the master branch as follows:

      pkg> add Wflow#master

      This command will track the master branch, and will update to the latest commit on that branch when you run update, or simply up, in the Pkg REPL. The use of add will install wflow in you home directory under .julia/packages/Wflow. Note that packages installed under packages by add are supposed to never be altered in that location, for Pkg and it's automatic dependency handling to work well.

      If you want to make any changes to any of the files in the repository, you need to do a development install. This can be done using:

      pkg> dev Wflow

      This will clone the git repository, put it under your home directory in .julia/dev/Wflow, and add the wflow package to your project environment. Note that to receive updates, you have to pull in the latest changes yourself using git pull.

      Check installation of wflow

      Finally, go back the Julia REPL and try to load wflow:

      julia> using Wflow

      The first time this will take longer as any package that is new or changed needs to be pre-compiled first, to allow faster loading on subsequent uses. No error messages should appear, indicating that you have now successfully installed wflow.

      Before ending this section, we still want to recommend a few tools that can make using and developing Julia code easier.

      Tip

      There is a section on editors and IDEs for Julia on https://julialang.org/, scroll down to see it. We use and recommend Microsoft's free and open source Visual Studio Code. When combined with the Julia extension it provides a powerful and interactive development experience.

      Tip

      When planning to make changes to the code of wflow, we recommend installing the Revise.jl package. This package allows you to modify code and use the changes without restarting Julia. Install it with add Revise from the Pkg REPL. Then create a file called .julia/config/startup.jl, and put using Revise there. This will load Revise every time you start a Julia session.

      Installing the compiled executable

      Binaries of wflow_cli can be downloaded from our website download.deltares.nl, and are currently available for Windows. Download and install the .msi file. After installing you can see two folders in the installation directory. It is only the bin/wflow_cli that is used. The artifacts folder contains binary dependencies such as NetCDF.

      artifacts\
      -bin\wflow_cli

      Check whether the installation was performed successfully, run wflow_cli with no arguments in the command line will give the following message:

      Usage: wflow_cli 'path/to/config.toml'
      Note

      The old version of wflow, based on Python and PCRaster libraries is also available to download from our website download.deltares.nl. We recommend installing the Julia version, as this documentation is written to support this version.

      +bin\wflow_cli

      Check whether the installation was performed successfully, run wflow_cli with no arguments in the command line will give the following message:

      Usage: wflow_cli 'path/to/config.toml'
      Note

      The old version of wflow, based on Python and PCRaster libraries is also available to download from our website download.deltares.nl. We recommend installing the Julia version, as this documentation is written to support this version.

      diff --git a/dev/user_guide/intro/index.html b/dev/user_guide/intro/index.html index 1add60c0b..5ccec82eb 100644 --- a/dev/user_guide/intro/index.html +++ b/dev/user_guide/intro/index.html @@ -1,2 +1,2 @@ -About the user guide · Wflow.jl

      About the user guide

      The purpose of this user guide is to describe the steps to install the wflow julia software and to set up a simple model. The user guide also contains a step-wise process how to configure your model using the TOML file (model settings) and the NetCDF gridded datasets.

      Sample data and model set up is also included for the Moselle River Basin (a major tributary of the Rhine River), which can be used to explore the model software. The model is set up for the wflow_sbm, wflow_hbv and wflow_sediment model concepts.

      Finally information is provided on setting up your own model, including building a model from scratch or alternatively using Deltares HydroMT model building tools which are open source.

      +About the user guide · Wflow.jl

      About the user guide

      The purpose of this user guide is to describe the steps to install the wflow julia software and to set up a simple model. The user guide also contains a step-wise process how to configure your model using the TOML file (model settings) and the NetCDF gridded datasets.

      Sample data and model set up is also included for the Moselle River Basin (a major tributary of the Rhine River), which can be used to explore the model software. The model is set up for the wflow_sbm, wflow_hbv and wflow_sediment model concepts.

      Finally information is provided on setting up your own model, including building a model from scratch or alternatively using Deltares HydroMT model building tools which are open source.

      diff --git a/dev/user_guide/model-setup/index.html b/dev/user_guide/model-setup/index.html index 6e50a2bb6..ab47cb885 100644 --- a/dev/user_guide/model-setup/index.html +++ b/dev/user_guide/model-setup/index.html @@ -1,2 +1,2 @@ -Building a model from scratch · Wflow.jl

      Building a model from scratch

      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.

      • 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:

      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 following Model types make use of the kinematic wave:

      • wflow_sbm + kinematic wave
      • wflow_sbm + groundwater flow
      • wflow_hbv
      • wflow_flextopo

      and require for the river and overland flow components input data that is described in Surface flow. Reservoirs or lakes can be part of the kinematic wave (optional) and input parameters are described in Reservoirs and Lakes.

      Besides the river and overland flow components the wflow_sbm + kinematic wave model consists of the vertical concept SBM and input parameters for this component are described in the SBM section of Model parameters. Finally, the SBM + Kinematic wave model includes the lateral component Subsurface flow routing and parameters that are part of this component are described in the Lateral subsurface flow section of Model parameters. Input parameters for this component of the SBM + Kinematic wave model 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 surface kh₀.

      There is also the option to use the local inertial model as part of the sbm model type:

      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.

      The HBV model consists besides the river and overland flow components of the HBV vertical concept. Input parameters for this component are described in the HBV section of Model parameters.

      The FLEXTopo model consists besides the river and overland flow components of the FLEXTopo vertical concept. Input parameters for this component are described in the FLEXTopo section of Model parameters.

      The SBM + Groundwater flow includes besides the river and overland flow components and the vertical SBM concept, the lateral Groundwater flow component. 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 the soilthickness [mm] parameter of SBM and the provided surface elevation altitude [m] as part of the static input. The area 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.

      The wflow_sediment model 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 model section.

      hydroMT

      hydroMT is a Python package, developed by Deltares, to build and analysis hydro models. It provides a generic model api with attributes to access the model schematization, (dynamic) forcing data, results and states.

      For the following Wflow models:

      • wflow_sbm + kinematic wave
      • wflow_sediment

      the Wflow plugin hydroMT-wflow of hydroMT can be used to build and analyse these Wflow model types in an automated way.

      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.

      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.
      +Building a model from scratch · Wflow.jl

      Building a model from scratch

      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.

      • 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:

      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 following Model types make use of the kinematic wave:

      • wflow_sbm + kinematic wave
      • wflow_sbm + groundwater flow
      • wflow_hbv
      • wflow_flextopo

      and require for the river and overland flow components input data that is described in Surface flow. Reservoirs or lakes can be part of the kinematic wave (optional) and input parameters are described in Reservoirs and Lakes.

      Besides the river and overland flow components the wflow_sbm + kinematic wave model consists of the vertical concept SBM and input parameters for this component are described in the SBM section of Model parameters. Finally, the SBM + Kinematic wave model includes the lateral component Subsurface flow routing and parameters that are part of this component are described in the Lateral subsurface flow section of Model parameters. Input parameters for this component of the SBM + Kinematic wave model 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 surface kh₀.

      There is also the option to use the local inertial model as part of the sbm model type:

      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.

      The HBV model consists besides the river and overland flow components of the HBV vertical concept. Input parameters for this component are described in the HBV section of Model parameters.

      The FLEXTopo model consists besides the river and overland flow components of the FLEXTopo vertical concept. Input parameters for this component are described in the FLEXTopo section of Model parameters.

      The SBM + Groundwater flow includes besides the river and overland flow components and the vertical SBM concept, the lateral Groundwater flow component. 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 the soilthickness [mm] parameter of SBM and the provided surface elevation altitude [m] as part of the static input. The area 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.

      The wflow_sediment model 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 model section.

      hydroMT

      hydroMT is a Python package, developed by Deltares, to build and analysis hydro models. It provides a generic model api with attributes to access the model schematization, (dynamic) forcing data, results and states.

      For the following Wflow models:

      • wflow_sbm + kinematic wave
      • wflow_sediment

      the Wflow plugin hydroMT-wflow of hydroMT can be used to build and analyse these Wflow model types in an automated way.

      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.

      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.
      diff --git a/dev/user_guide/sample_data/index.html b/dev/user_guide/sample_data/index.html index 46a0ffbcd..2a0c233ca 100644 --- a/dev/user_guide/sample_data/index.html +++ b/dev/user_guide/sample_data/index.html @@ -68,4 +68,4 @@ download(staticmaps, joinpath(datadir, "staticmaps-moselle-sed.nc")) download(forcing, joinpath(datadir, "forcing-moselle-sed.nc")) download(instates, joinpath(datadir, "instates-moselle-sed.nc")) -download(toml_url, toml_path) +download(toml_url, toml_path) diff --git a/dev/user_guide/step1_requirements/index.html b/dev/user_guide/step1_requirements/index.html index 2749ed5fc..d3c0856e7 100644 --- a/dev/user_guide/step1_requirements/index.html +++ b/dev/user_guide/step1_requirements/index.html @@ -1,2 +1,2 @@ -Step 1: Understanding the requirements · Wflow.jl

      Step 1: Understanding the requirements

      In order to run wflow, several files are required. These consist of a settings file and input data. The input data is typically separated into static maps and forcing data, both are supplied in a NetCDF file, except for lake storage and rating curves that are supplied via CSV files. A brief overview of the different files:

      • The settings.toml file contains information on the simulation period, links to the input files (and their names in the NetCDF files), and links the correct names of the variables in the NetCDF files to the variables and parameters of wflow.
      • The staticmaps.nc file contains spatial information on the elevation, locations of the gauges, land-use, drainage direction, etc. This file can also contain maps with parameter values.
      • The forcing.nc file contains the precipitation, temperature and potential evaporation time series (as a 3D array).

      There are several model configurations supported by wflow. These model configurations require slightly different input requirements, yet the general structure is similar for each model. A wflow model configuration consists of a vertical concept like the SBM, HBV or FLEXTOPO vertical concept in combination with lateral concepts that control how water is routed for example over the land or river domain. For the wflow_sbm model different model configurations are possible. The following model configurations are supported in wflow:

      • wflow_sbm:
        • SBM + kinematic wave for subsurface and surface flow
        • SBM + kinematic wave for subsurface and overland flow + local inertial river (+ optional floodplain)
        • SBM + kinematic wave for subsurface flow + local inertial river (1D) and land (2D)
        • SBM + groundwater flow + kinematic wave for surface flow
      • wflow_hbv: HBV + kinematic wave for surface routing
      • wflow_flextopo: FLEXTOPO + kinematic wave for surface routing
      • wflow_sediment as post processing of wflow_sbm or wflow_hbv output

      In the following pages, some examples will be given on how to prepare a basic wflow_sbm model. Example data for other model configurations is provided in the section with sample data.

      +Step 1: Understanding the requirements · Wflow.jl

      Step 1: Understanding the requirements

      In order to run wflow, several files are required. These consist of a settings file and input data. The input data is typically separated into static maps and forcing data, both are supplied in a NetCDF file, except for lake storage and rating curves that are supplied via CSV files. A brief overview of the different files:

      • The settings.toml file contains information on the simulation period, links to the input files (and their names in the NetCDF files), and links the correct names of the variables in the NetCDF files to the variables and parameters of wflow.
      • The staticmaps.nc file contains spatial information on the elevation, locations of the gauges, land-use, drainage direction, etc. This file can also contain maps with parameter values.
      • The forcing.nc file contains the precipitation, temperature and potential evaporation time series (as a 3D array).

      There are several model configurations supported by wflow. These model configurations require slightly different input requirements, yet the general structure is similar for each model. A wflow model configuration consists of a vertical concept like the SBM, HBV or FLEXTOPO vertical concept in combination with lateral concepts that control how water is routed for example over the land or river domain. For the wflow_sbm model different model configurations are possible. The following model configurations are supported in wflow:

      • wflow_sbm:
        • SBM + kinematic wave for subsurface and surface flow
        • SBM + kinematic wave for subsurface and overland flow + local inertial river (+ optional floodplain)
        • SBM + kinematic wave for subsurface flow + local inertial river (1D) and land (2D)
        • SBM + groundwater flow + kinematic wave for surface flow
      • wflow_hbv: HBV + kinematic wave for surface routing
      • wflow_flextopo: FLEXTOPO + kinematic wave for surface routing
      • wflow_sediment as post processing of wflow_sbm or wflow_hbv output

      In the following pages, some examples will be given on how to prepare a basic wflow_sbm model. Example data for other model configurations is provided in the section with sample data.

      diff --git a/dev/user_guide/step2_settings_file/index.html b/dev/user_guide/step2_settings_file/index.html index 43761ee82..8a9f167fb 100644 --- a/dev/user_guide/step2_settings_file/index.html +++ b/dev/user_guide/step2_settings_file/index.html @@ -217,4 +217,4 @@ value = 10

      Note that the mapping to the external netCDF variable listed under the section [input.vertical] needs to be removed or commented out:

      [input.vertical]
       potential_evaporation = "PET" # forcing
       # temperature = "TEMP" # forcing
      -precipitation = "P" # forcing
      +precipitation = "P" # forcing diff --git a/dev/user_guide/step3_input_data/index.html b/dev/user_guide/step3_input_data/index.html index c25ef4766..c7744c524 100644 --- a/dev/user_guide/step3_input_data/index.html +++ b/dev/user_guide/step3_input_data/index.html @@ -72,4 +72,4 @@ Global attributes unit = mm - precip_fn = era5
      Note

      Wflow expects right labeling of the forcing time interval, e.g. daily precipitation at 01-02-2000 00:00:00 is the accumulated total precipitation between 01-01-2000 00:00:00 and 01-02-2000 00:00:00.

      Static data

      List of essential static data

      The list below contains a brief overview of several essential static maps required to run wflow. These NC variables names refer to the example data of the wflow_sbm + kinematic wave model (see here). Example data for the other model configurations can be found here.

      DescriptionNC variable nameunit
      Flow direction (1-9)wflow_ldd-
      Map indicating the river cells (0-1)wflow_river-
      The length of the riverwflow_riverlengthm
      The width of the riverwflow_riverwidthm
      Mask of the basinwflow_subcatch-
      Land slopeSlopem m$^{-1}$
      River slopeRiverSlopem m$^{-1}$

      As mentioned before, the model parameters can also be defined as spatial maps. They can be included in the same NetCDF file, as long as their variable names are correctly mapped in the TOML settings file. See the section on example models on how to use this functionality.

      + precip_fn = era5
      Note

      Wflow expects right labeling of the forcing time interval, e.g. daily precipitation at 01-02-2000 00:00:00 is the accumulated total precipitation between 01-01-2000 00:00:00 and 01-02-2000 00:00:00.

      Static data

      List of essential static data

      The list below contains a brief overview of several essential static maps required to run wflow. These NC variables names refer to the example data of the wflow_sbm + kinematic wave model (see here). Example data for the other model configurations can be found here.

      DescriptionNC variable nameunit
      Flow direction (1-9)wflow_ldd-
      Map indicating the river cells (0-1)wflow_river-
      The length of the riverwflow_riverlengthm
      The width of the riverwflow_riverwidthm
      Mask of the basinwflow_subcatch-
      Land slopeSlopem m$^{-1}$
      River slopeRiverSlopem m$^{-1}$

      As mentioned before, the model parameters can also be defined as spatial maps. They can be included in the same NetCDF file, as long as their variable names are correctly mapped in the TOML settings file. See the section on example models on how to use this functionality.

      diff --git a/dev/user_guide/step4_running/index.html b/dev/user_guide/step4_running/index.html index 87b6ad1e7..5b797112b 100644 --- a/dev/user_guide/step4_running/index.html +++ b/dev/user_guide/step4_running/index.html @@ -12,4 +12,4 @@ │ endtime = CFTime.DateTimeStandard(2000-12-31T00:00:00) └ nthreads() = 4 -Progress: 100%|██████████████████████████████████████████████████| Time: 0:00:27 +Progress: 100%|██████████████████████████████████████████████████| Time: 0:00:27 diff --git a/dev/user_guide/step5_output/index.html b/dev/user_guide/step5_output/index.html index 240381927..f63c74e9d 100644 --- a/dev/user_guide/step5_output/index.html +++ b/dev/user_guide/step5_output/index.html @@ -23,4 +23,4 @@ name = "prec" map = "subcatchment" parameter = "vertical.precipitation" -reducer = "mean"

      Using your own preferred programming language, the model output files can be easily read and visualized.

      +reducer = "mean"

      Using your own preferred programming language, the model output files can be easily read and visualized.