From 91c04e15c4eee7cbd58a51841d8230bb907bc704 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Thu, 10 Oct 2024 13:09:59 +0000 Subject: [PATCH] build based on 2e36ddb --- previews/PR480/changelog/index.html | 2 +- previews/PR480/index.html | 2 +- previews/PR480/intro/publications/index.html | 2 +- previews/PR480/intro/use_cases/index.html | 2 +- previews/PR480/model_docs/intro/index.html | 2 +- previews/PR480/model_docs/lateral/gwf/index.html | 4 ++-- previews/PR480/model_docs/lateral/kinwave/index.html | 2 +- previews/PR480/model_docs/lateral/local-inertial/index.html | 2 +- previews/PR480/model_docs/lateral/sediment_flux/index.html | 2 +- previews/PR480/model_docs/lateral/waterbodies/index.html | 2 +- previews/PR480/model_docs/model_configurations/index.html | 2 +- previews/PR480/model_docs/params_lateral/index.html | 2 +- previews/PR480/model_docs/params_vertical/index.html | 2 +- previews/PR480/model_docs/shared_concepts/index.html | 4 ++-- previews/PR480/model_docs/structures/index.html | 2 +- previews/PR480/model_docs/vertical/flextopo/index.html | 2 +- previews/PR480/model_docs/vertical/hbv/index.html | 2 +- previews/PR480/model_docs/vertical/sbm/index.html | 2 +- previews/PR480/model_docs/vertical/sediment/index.html | 2 +- previews/PR480/search/index.html | 2 +- previews/PR480/user_guide/additional_options/index.html | 4 ++-- previews/PR480/user_guide/install/index.html | 2 +- previews/PR480/user_guide/intro/index.html | 2 +- previews/PR480/user_guide/model-setup/index.html | 2 +- previews/PR480/user_guide/sample_data/index.html | 2 +- previews/PR480/user_guide/step1_requirements/index.html | 2 +- previews/PR480/user_guide/step2_settings_file/index.html | 2 +- previews/PR480/user_guide/step3_input_data/index.html | 2 +- previews/PR480/user_guide/step4_running/index.html | 2 +- previews/PR480/user_guide/step5_output/index.html | 2 +- 30 files changed, 33 insertions(+), 33 deletions(-) diff --git a/previews/PR480/changelog/index.html b/previews/PR480/changelog/index.html index e362eeabe..11fc5b9aa 100644 --- a/previews/PR480/changelog/index.html +++ b/previews/PR480/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.8.1 - 2024-08-27

Fixed

  • Reduce allocations in update of vertical SBM concept.

v0.8.0 - 2024-08-19

Fixed

  • Added missing BMI function get_grid_size, it is used for unstructured grids, for example to get the length of arrays returned by BMI functions get_grid_x and get_grid_y.
  • Added a check for the solution of the quadratic equation as part of the Modified Puls approach for lake outflow. Lower limit should be zero (very small negative values can occur).
  • Limit lake evaporation (added variable actevap) and lake outflow to prevent negative lake storage. The variable actevap has also been added to the reservoir module.
  • The set_states function for model type sbm with local inertial routing for river and land component.
  • Inflow to reservoir and lake locations for local inertial routing: 1) with floodplain routing, the floodplain discharge was not added to the inflow of these locations, 2) the to_river variable from overland flow and lateral subsurface flow was not added to the inflow of these locations.
  • Close netCDF NCDataset with state variables in extended BMI function save_state.
  • For the computation of Gash interception model parameter e_r multiply the precipitation input with the canopy fraction (this was only done for the potential evapotranspiration input).
  • Function BMI.update_until could throw an InexactError: Int64 caused by a not whole number, representing how many times (steps) an update of a wflow model is required. This is fixed by using divrem for the computation of the number of steps in this function. An error is thrown when the absolute remainder of divrem is larger than eps(), or when the number of steps is negative.
  • Fixed internal and external broken links in docs.
  • The internal time step of the local inertial model (stable_timestep function) can get zero when LoopVectorization is applied (@tturbo) to the for loop of these functions. This issue occured on a virtual machine, Windows 10 Enterprise, with Intel(R) Xeon(R) Gold 6144 CPU (2 processors). This has been fixed by replacing @tturbo with reduction of Polyester.jl.
  • Fixed required states of the model type sbm_gwf: added h_av for the river and land domain.
  • For the constanthead boundary of GroundwaterFlow the head should not be changed (was set to top elevation of the aquifer if head > top), and exfiltwater should be 0 for these boundary cells.

Changed

  • Stop exposing scalar variables through BMI. The BMI.get_value_ptr function was not working correctly for scalar model variables (a view was applied). Only a few scalar model parameters are defined, and it is not expected that exposing these variables is required (e.g. for model coupling) while code changes for these variables (including struct fields) are required.
  • The local inertial routing (constant) river boundary condition depth at a ghost node (downstream river outlet) was set at 0.0 in the code and can now be provided through the model parameter netCDF file (riverdepth_bc). In addition, the boundary condition river length dl at a ghost node should be set through the model parameter netCDF file (riverlength_bc), providing this boundary condition through the [model] settings in the TOML file (model.riverlength_bc) has been deprecated.
  • As part of the vertical SBM concept: 1) add variable net_runoff (land runoff minus actual open water evaporation ae_openw_l) and 2) change the definition of variable runoff by removing the subtraction of ae_openw_l (total land runoff). The variable net_runoff is now input to the kinematic wave for overland flow (replaces the original runoff variable as input). The lower limit of the original runoff variable was set at zero, which may result in water balance errors. This lower limit was implemented in the Python version of wflow_sbm, to avoid a very slow kinematic wave solution for surface flow computation (no distinction between a kinematic wave for overland and river flow). When in the Python version of wflow_sbm the kinematic wave for surface flow was split into a river and land component, the lower limit was removed for river runoff (net_runoff_river), but not for land runoff.
  • Always use fractions for the computation of potential evapotranspiration (interception and transpiration) and potential evaporation (open water and soil). Replaced variable et_reftopot by crop coefficient kc (use of et_reftopot has been deprecated).
  • For improved code readability it is now discouraged to use non-ASCII characters for the names of variables, structs, functions and macros. Using the non-ASCII character for built-in operators is still allowed. This change in naming convention is now in effect and all invalid uses of non-ASCII characters have been replaced by ASCII equivalents.
  • Docs: 1) improved description of different model configurations in model-setup.md, also in relation to hydromt_wflow in docs, 2) citing info related to wflow_sbm publication in Geosci. Model Dev. (from in review to published).
  • Root water uptake reduction (Feddes): 1) extend critical pressure head parameters with h3_low and h3_high, 2) all critical pressure head parameters can be set (values for h1, h2 and h3 were fixed) and 3) the root water uptake reduction coefficient $\alpha$ can be set at 0 (default is 1) at critical pressure head h1 (through the model parameter alpha_h1).
  • For the actual transpiration computation in SBM, the potential transpiration is partitioned over the soil layers with roots according to the model parameter rootfraction (fraction of the total root length in a soil layer). Previously, for each soil layer (from top to bottom) the actual transpiration was computed, and the remaining potential transpiration was used in the next soil layer.

Added

  • Total water storage as an export variable for SBM concept. This is the total water stored per grid cell in millimeters. Excluded from this variable are the floodplain, lakes and reservoirs.
  • Checks to see if all states are covered in the .toml file. If not all states are covered, an error is thrown. If there are more states specified than required, these states are ignored (with a warning in the logging), and the simulation will continue.
  • Support different vertical hydraulic conductivity profiles for the SBM concept. See also the following sections: The SBM soil water accounting scheme and Subsurface flow routing for a short description.
  • Local inertial routing to sbm_gwf model type.
  • Water demand and allocation computations for model types sbm and sbm_gwf.

v0.7.3 - 2024-01-12

Fixed

  • Documentation: add leakage term to the wflow_sbm figure, document external input parameter ksathorfrac and fix description of adding external inflow to the kinematic wave.
  • Fixed BMI functions (e.g. BMI.get_value) that deviated from BMI specifications (BasicModelInterface.jl), including function arguments, return types and the BMI specification that arrays are always flattened (this was not the case for variables stored as 2-dimensional arrays or as vector of SVectors).
  • Bump compat for NCDatasets to 0.13, 0.14.
  • The solution for lake outflow as part of the Modified Puls Approach. The inflow and outflow variables are defined for period Δt, and not at t1 and t2 (instantaneous) as in the original mass balance equation of the Modified Puls Approach. Because of this, the terms of the quadratic equation (and solution) were fixed.
  • Use kvfrac for the computation of vertical saturated hydraulic conductivity at the bottom of the soil layer, since kvfrac is also used for the computation of vertical unsaturated flow.

Changed

  • For cyclic parameters different cyclic time inputs are supported (only one common cyclic time (for example daily or monthly) was allowed).
  • BMI: 1) added grid information (type and location) and whether a variable can be exchanged to metadata Structs, 2) extend model grid functions for wflow components that store variables on edges (local inertial model) with get_grid_edge_count and get_grid_edge_nodes.

Added

  • Functions for loading and saving states and getting the starttime in Unix time format. This is convenient for coupling with OpenDA (and other external) software. The set states functionality from the initialization function has been moved to a separate set_states function for each Model type, to support loading states independent of initialization.

v0.7.2 - 2023-09-27

Fixed

  • Water balance of modified Rutter interception model. The sum of the stemflow partitioning coefficient pt and free throughfall coefficient p could get larger than 1, resulting in an overestimation of stemflow and throughfall amounts and negative net interception amounts. And the first drainage amount dd, controlled by a change over time in canopy storage capacity cmax, should not be subtracted from precipitation to compute net interception.
  • The netinterception (net interception) computed by the modified Rutter interception model was stored as interception in SBM, while this should be the interception (interception loss by evaporation) output of the modified Rutter interception model. The interception of SBM is used to compute the total actual evapotranspiration actevap.

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 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.8.1 - 2024-08-27

Fixed

  • Reduce allocations in update of vertical SBM concept.

v0.8.0 - 2024-08-19

Fixed

  • Added missing BMI function get_grid_size, it is used for unstructured grids, for example to get the length of arrays returned by BMI functions get_grid_x and get_grid_y.
  • Added a check for the solution of the quadratic equation as part of the Modified Puls approach for lake outflow. Lower limit should be zero (very small negative values can occur).
  • Limit lake evaporation (added variable actevap) and lake outflow to prevent negative lake storage. The variable actevap has also been added to the reservoir module.
  • The set_states function for model type sbm with local inertial routing for river and land component.
  • Inflow to reservoir and lake locations for local inertial routing: 1) with floodplain routing, the floodplain discharge was not added to the inflow of these locations, 2) the to_river variable from overland flow and lateral subsurface flow was not added to the inflow of these locations.
  • Close netCDF NCDataset with state variables in extended BMI function save_state.
  • For the computation of Gash interception model parameter e_r multiply the precipitation input with the canopy fraction (this was only done for the potential evapotranspiration input).
  • Function BMI.update_until could throw an InexactError: Int64 caused by a not whole number, representing how many times (steps) an update of a wflow model is required. This is fixed by using divrem for the computation of the number of steps in this function. An error is thrown when the absolute remainder of divrem is larger than eps(), or when the number of steps is negative.
  • Fixed internal and external broken links in docs.
  • The internal time step of the local inertial model (stable_timestep function) can get zero when LoopVectorization is applied (@tturbo) to the for loop of these functions. This issue occured on a virtual machine, Windows 10 Enterprise, with Intel(R) Xeon(R) Gold 6144 CPU (2 processors). This has been fixed by replacing @tturbo with reduction of Polyester.jl.
  • Fixed required states of the model type sbm_gwf: added h_av for the river and land domain.
  • For the constanthead boundary of GroundwaterFlow the head should not be changed (was set to top elevation of the aquifer if head > top), and exfiltwater should be 0 for these boundary cells.

Changed

  • Stop exposing scalar variables through BMI. The BMI.get_value_ptr function was not working correctly for scalar model variables (a view was applied). Only a few scalar model parameters are defined, and it is not expected that exposing these variables is required (e.g. for model coupling) while code changes for these variables (including struct fields) are required.
  • The local inertial routing (constant) river boundary condition depth at a ghost node (downstream river outlet) was set at 0.0 in the code and can now be provided through the model parameter netCDF file (riverdepth_bc). In addition, the boundary condition river length dl at a ghost node should be set through the model parameter netCDF file (riverlength_bc), providing this boundary condition through the [model] settings in the TOML file (model.riverlength_bc) has been deprecated.
  • As part of the vertical SBM concept: 1) add variable net_runoff (land runoff minus actual open water evaporation ae_openw_l) and 2) change the definition of variable runoff by removing the subtraction of ae_openw_l (total land runoff). The variable net_runoff is now input to the kinematic wave for overland flow (replaces the original runoff variable as input). The lower limit of the original runoff variable was set at zero, which may result in water balance errors. This lower limit was implemented in the Python version of wflow_sbm, to avoid a very slow kinematic wave solution for surface flow computation (no distinction between a kinematic wave for overland and river flow). When in the Python version of wflow_sbm the kinematic wave for surface flow was split into a river and land component, the lower limit was removed for river runoff (net_runoff_river), but not for land runoff.
  • Always use fractions for the computation of potential evapotranspiration (interception and transpiration) and potential evaporation (open water and soil). Replaced variable et_reftopot by crop coefficient kc (use of et_reftopot has been deprecated).
  • For improved code readability it is now discouraged to use non-ASCII characters for the names of variables, structs, functions and macros. Using the non-ASCII character for built-in operators is still allowed. This change in naming convention is now in effect and all invalid uses of non-ASCII characters have been replaced by ASCII equivalents.
  • Docs: 1) improved description of different model configurations in model-setup.md, also in relation to hydromt_wflow in docs, 2) citing info related to wflow_sbm publication in Geosci. Model Dev. (from in review to published).
  • Root water uptake reduction (Feddes): 1) extend critical pressure head parameters with h3_low and h3_high, 2) all critical pressure head parameters can be set (values for h1, h2 and h3 were fixed) and 3) the root water uptake reduction coefficient $\alpha$ can be set at 0 (default is 1) at critical pressure head h1 (through the model parameter alpha_h1).
  • For the actual transpiration computation in SBM, the potential transpiration is partitioned over the soil layers with roots according to the model parameter rootfraction (fraction of the total root length in a soil layer). Previously, for each soil layer (from top to bottom) the actual transpiration was computed, and the remaining potential transpiration was used in the next soil layer.

Added

  • Total water storage as an export variable for SBM concept. This is the total water stored per grid cell in millimeters. Excluded from this variable are the floodplain, lakes and reservoirs.
  • Checks to see if all states are covered in the .toml file. If not all states are covered, an error is thrown. If there are more states specified than required, these states are ignored (with a warning in the logging), and the simulation will continue.
  • Support different vertical hydraulic conductivity profiles for the SBM concept. See also the following sections: The SBM soil water accounting scheme and Subsurface flow routing for a short description.
  • Local inertial routing to sbm_gwf model type.
  • Water demand and allocation computations for model types sbm and sbm_gwf.

v0.7.3 - 2024-01-12

Fixed

  • Documentation: add leakage term to the wflow_sbm figure, document external input parameter ksathorfrac and fix description of adding external inflow to the kinematic wave.
  • Fixed BMI functions (e.g. BMI.get_value) that deviated from BMI specifications (BasicModelInterface.jl), including function arguments, return types and the BMI specification that arrays are always flattened (this was not the case for variables stored as 2-dimensional arrays or as vector of SVectors).
  • Bump compat for NCDatasets to 0.13, 0.14.
  • The solution for lake outflow as part of the Modified Puls Approach. The inflow and outflow variables are defined for period Δt, and not at t1 and t2 (instantaneous) as in the original mass balance equation of the Modified Puls Approach. Because of this, the terms of the quadratic equation (and solution) were fixed.
  • Use kvfrac for the computation of vertical saturated hydraulic conductivity at the bottom of the soil layer, since kvfrac is also used for the computation of vertical unsaturated flow.

Changed

  • For cyclic parameters different cyclic time inputs are supported (only one common cyclic time (for example daily or monthly) was allowed).
  • BMI: 1) added grid information (type and location) and whether a variable can be exchanged to metadata Structs, 2) extend model grid functions for wflow components that store variables on edges (local inertial model) with get_grid_edge_count and get_grid_edge_nodes.

Added

  • Functions for loading and saving states and getting the starttime in Unix time format. This is convenient for coupling with OpenDA (and other external) software. The set states functionality from the initialization function has been moved to a separate set_states function for each Model type, to support loading states independent of initialization.

v0.7.2 - 2023-09-27

Fixed

  • Water balance of modified Rutter interception model. The sum of the stemflow partitioning coefficient pt and free throughfall coefficient p could get larger than 1, resulting in an overestimation of stemflow and throughfall amounts and negative net interception amounts. And the first drainage amount dd, controlled by a change over time in canopy storage capacity cmax, should not be subtracted from precipitation to compute net interception.
  • The netinterception (net interception) computed by the modified Rutter interception model was stored as interception in SBM, while this should be the interception (interception loss by evaporation) output of the modified Rutter interception model. The interception of SBM is used to compute the total actual evapotranspiration actevap.

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 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/previews/PR480/index.html b/previews/PR480/index.html index 8d59baa43..a410092f4 100644 --- a/previews/PR480/index.html +++ b/previews/PR480/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, groundwater recharge, and water demand and allocation 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. Wflow does not include a graphical user interface and is designed for maximum user flexibility. Prior to 2021, wflow was developed in Python on top of the PCRaster Python extension. The Python version 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, groundwater recharge, and water demand and allocation 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. Wflow does not include a graphical user interface and is designed for maximum user flexibility. Prior to 2021, wflow was developed in Python on top of the PCRaster Python extension. The Python version is still available, but not actively developed.

diff --git a/previews/PR480/intro/publications/index.html b/previews/PR480/intro/publications/index.html index ebfc7483e..4edefa8a4 100644 --- a/previews/PR480/intro/publications/index.html +++ b/previews/PR480/intro/publications/index.html @@ -1,2 +1,2 @@ -Publications · Wflow.jl

Publications

Citing wflow

For publications, please cite the following paper introducing Wflow.jl and describing the wflow_sbm concept, together with some case studies:

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., 2024. Wflow_sbm v0.7.3, a spatially distributed hydrological model: from global data to local applications. Geosci. Model Dev., 17, 3199–3234. https://doi.org/10.5194/gmd-17-3199-2024.

To cite a specific software version please use the DOI provided in the Zenodo badge DOI, 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, Buitink, Joost, Bouaziz, Laurène, Boisgontier, Hélène, Bootsma, Huite, Weerts, Albrecht, Baptista, Carlos Fernando, Pronk, Maarten, Eilander, Dirk, Hartgring, Sebastian, Dalmijn, Brendan, Hofer, Julian, Hegnauer, Mark, & Mendoza, Raul, (YEAR). Deltares/Wflow.jl: unstable-master. https://github.com/Deltares/Wflow.jl, obtained: DATE_OF_DOWNLOAD.

Publications using wflow

Peer reviewed journal 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.

Droppers, B., Rakovec, O., Avila, L., Azimi, S., Cortés-Torres N., De León Pérez, D., Imhoff, R., Francés, F., Kollet, S., Rigon, R., Weerts, A. & Samaniego, L, 2024. Multi-model hydrological reference dataset over continental Europe and an African basin. Sci Data, 11, 1009. https://doi.org/10.1038/s41597-024-03825-9.

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., Buitink, J., van Verseveld, W.J., Weerts, A.H., 2024. A fast high resolution distributed hydrological model for forecasting, climate scenarios and digital twin applications using wflow_sbm. Environmental Modelling & Software, 179, 106099. https://doi.org/10.1016/j.envsoft.2024.106099

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.

Pranoto, B., Soekarno, H., Hartulistiyoso, E., Nur Aidi, M., Sutrisno, D., Pohan, D., Radhika, Sutejo, B., Heru Kuncoro, A., Nahib, I., 2024. Integrating Flood Early Warning System (FEWS) for Optimizing Small Hydropower Sites: A West Java Case Study. EVERGREEN Joint Journal of Novel Carbon Resource Sciences & Green Asia Strategy, 11, 3, 2691-2699. https://www.tj.kyushu-u.ac.jp/evergreen/contents/EG2024-11_3_content/pdf/p2691-2699.pdf

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.

Ratri, D.N., A.H. Weerts, R. Muharsyah, K. Whan, A. Klein Tank, E. Aldrian, M. H. Hariadi, Calibration of ECMWF SEAS5 based streamflow forecast in Seasonal hydrological forecasting for Citarum river basin, West Java, Indonesia, Journal of Hydrology: Regional Studies,45,101305, https://doi.org/10.1016/j.ejrh.2022.101305.

Rusli, S.R., 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.

Rusli, S.R., V.F. Bense, A. Taufiq, A.H. Weerts,2023. Quantifying basin-scale changes in groundwater storage using GRACE and one-way coupled hydrological and groundwater flow model in the data-scarce Bandung groundwater Basin, Indonesia, Groundwater for Sustainable Development,22, 100953, https://doi.org/10.1016/j.gsd.2023.100953.

Rusli, S.R., A.H. Weerts, S.M.T. Mustafa, D.E. Irawan, A. Taufiq, V.F. Bense, 2023. Quantifying aquifer interaction using numerical groundwater flow model evaluated by environmental water tracer data: Application to the data-scarce area of the Bandung groundwater basin, West Java, Indonesia, Journal of Hydrology: Regional Studies, 50, https://doi.org/10.1016/j.ejrh.2023.101585.

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.

Seizarwati, W. and M. Syahidah, 2021. Rainfall-Runoff Simulation for Water Availability Estimation in Small Island Using Distributed Hydrological Model wflow. IOP Conf. Ser.: Earth Environ. Sci., 930,012050, doi:10.1088/1755-1315/930/1/012050. https://iopscience.iop.org/article/10.1088/1755-1315/930/1/012050/pdf

Sperna Weiland, F.C., R.D. Visser, P. Greve, B. Bisselink, L. Brunner and A.H. Weerts, 2021. 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 Laan, E., P. Hazenberg, A.H. Weerts, 2024. Simulation of long-term storage dynamics of headwater reservoirs across the globe using public cloud computing infrastructure. Science of The Total Environment, 172678, https://doi.org/10.1016/j.scitotenv.2024.172678.

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.

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.

PhD, MSc, BSc Theses & Internship reports

Abdelnour, A., 2022. Bias Correction of Climate Simulations to Assess Climate Change Impacts on Low Flows in the Rhine River, MSc thesis, Delft Universitry of technology, https://repository.tudelft.nl/islandora/object/uuid:50489399-cbd2-467f-9b82-98e5f3e371e9.

Ali, M.A., 2023. Machine learning for predicting spatially variable lateral hydraulic conductivity: a step towards efficient hydrological model calibration and global applicability, Intersnhip report, Deltares.

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.

Benschop, J., 2023. The application of hybrid lateral routing in hydrological simulations of the Rhine catchment, MSc Thesis, Hydrology and Environmental Hydraulics Group, Wageningen University.

Beusen, B., 2021. The effect of rooting depth on discharge and evapotranspiration in (semi-)arid areas, MSc Thesis, Hydrology and Quantitative Water Management Group, Wageningen University.

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

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.

Hartgring, S., 2023. On Forecasting the Rur River: Using hindcasts and forecasts of the 2021 flood event to improve understanding of flood forecasting in the Rur catchment. Delft University of Technology, Delft, the Netherlands, MSc thesis, http://resolver.tudelft.nl/uuid:2909d997-a983-490a-a588-87119998543a.

Jaime, D.E.V, 2021. Ensemble hydrological forecasts to derive extreme return periods: Case Study of the Overijsselse Vecht River using the wflow_sbm model, MSc thesis, Unesco IHE, Delft.

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, Doctoral dissertation, https://doi.org/10.18174/513157.

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

Rusli, S.R., 2024. Deepening the quantitative understanding of groundwater systems in data-scarce areas: application in the Bandung Groundwater Basin, Indonesia. Wageningen University, Doctoral dissertation, https://doi.org/10.18174/640983.

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.

van der Gaast, R.H., 2024. Evaluating the transferability of data-driven pedo-transfer functions for the wflow_sbm parameter KsatHorFrac in central and Western Europe. Universiteit Twente, Enschede, The Netherlands, https://essay.utwente.nl/103634/1/vandergaast_MA_ET.pdf.

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

Verbrugge, M., 2023. Bias-correcting meteorological forcing to improve seasonal discharge forecasting of the Rhine, Internship report, Deltares.

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.

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

Wannasin, C., 2023. Modelling and forecasting daily streamflow with reservoir operation in the upper Chao Phraya River basin, Thailand. Wageningen University, Doctoral dissertation, https://doi.org/10.18174/584572.

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.

World Meteorological Organization (WMO), 2023. State of Global Water Resources report 2022, WMO-No. 1333, https://library.wmo.int/idurl/4/68473.

World Meteorological Organization (WMO), 2024. State of Global Water Resources report 2023, WMO-No. 1362, https://library.wmo.int/idurl/4/69033.

+Publications · Wflow.jl

Publications

Citing wflow

For publications, please cite the following paper introducing Wflow.jl and describing the wflow_sbm concept, together with some case studies:

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., 2024. Wflow_sbm v0.7.3, a spatially distributed hydrological model: from global data to local applications. Geosci. Model Dev., 17, 3199–3234. https://doi.org/10.5194/gmd-17-3199-2024.

To cite a specific software version please use the DOI provided in the Zenodo badge DOI, 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, Buitink, Joost, Bouaziz, Laurène, Boisgontier, Hélène, Bootsma, Huite, Weerts, Albrecht, Baptista, Carlos Fernando, Pronk, Maarten, Eilander, Dirk, Hartgring, Sebastian, Dalmijn, Brendan, Hofer, Julian, Hegnauer, Mark, & Mendoza, Raul, (YEAR). Deltares/Wflow.jl: unstable-master. https://github.com/Deltares/Wflow.jl, obtained: DATE_OF_DOWNLOAD.

Publications using wflow

Peer reviewed journal 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.

Droppers, B., Rakovec, O., Avila, L., Azimi, S., Cortés-Torres N., De León Pérez, D., Imhoff, R., Francés, F., Kollet, S., Rigon, R., Weerts, A. & Samaniego, L, 2024. Multi-model hydrological reference dataset over continental Europe and an African basin. Sci Data, 11, 1009. https://doi.org/10.1038/s41597-024-03825-9.

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., Buitink, J., van Verseveld, W.J., Weerts, A.H., 2024. A fast high resolution distributed hydrological model for forecasting, climate scenarios and digital twin applications using wflow_sbm. Environmental Modelling & Software, 179, 106099. https://doi.org/10.1016/j.envsoft.2024.106099

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.

Pranoto, B., Soekarno, H., Hartulistiyoso, E., Nur Aidi, M., Sutrisno, D., Pohan, D., Radhika, Sutejo, B., Heru Kuncoro, A., Nahib, I., 2024. Integrating Flood Early Warning System (FEWS) for Optimizing Small Hydropower Sites: A West Java Case Study. EVERGREEN Joint Journal of Novel Carbon Resource Sciences & Green Asia Strategy, 11, 3, 2691-2699. https://www.tj.kyushu-u.ac.jp/evergreen/contents/EG2024-11_3_content/pdf/p2691-2699.pdf

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.

Ratri, D.N., A.H. Weerts, R. Muharsyah, K. Whan, A. Klein Tank, E. Aldrian, M. H. Hariadi, Calibration of ECMWF SEAS5 based streamflow forecast in Seasonal hydrological forecasting for Citarum river basin, West Java, Indonesia, Journal of Hydrology: Regional Studies,45,101305, https://doi.org/10.1016/j.ejrh.2022.101305.

Rusli, S.R., 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.

Rusli, S.R., V.F. Bense, A. Taufiq, A.H. Weerts,2023. Quantifying basin-scale changes in groundwater storage using GRACE and one-way coupled hydrological and groundwater flow model in the data-scarce Bandung groundwater Basin, Indonesia, Groundwater for Sustainable Development,22, 100953, https://doi.org/10.1016/j.gsd.2023.100953.

Rusli, S.R., A.H. Weerts, S.M.T. Mustafa, D.E. Irawan, A. Taufiq, V.F. Bense, 2023. Quantifying aquifer interaction using numerical groundwater flow model evaluated by environmental water tracer data: Application to the data-scarce area of the Bandung groundwater basin, West Java, Indonesia, Journal of Hydrology: Regional Studies, 50, https://doi.org/10.1016/j.ejrh.2023.101585.

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.

Seizarwati, W. and M. Syahidah, 2021. Rainfall-Runoff Simulation for Water Availability Estimation in Small Island Using Distributed Hydrological Model wflow. IOP Conf. Ser.: Earth Environ. Sci., 930,012050, doi:10.1088/1755-1315/930/1/012050. https://iopscience.iop.org/article/10.1088/1755-1315/930/1/012050/pdf

Sperna Weiland, F.C., R.D. Visser, P. Greve, B. Bisselink, L. Brunner and A.H. Weerts, 2021. 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 Laan, E., P. Hazenberg, A.H. Weerts, 2024. Simulation of long-term storage dynamics of headwater reservoirs across the globe using public cloud computing infrastructure. Science of The Total Environment, 172678, https://doi.org/10.1016/j.scitotenv.2024.172678.

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.

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.

PhD, MSc, BSc Theses & Internship reports

Abdelnour, A., 2022. Bias Correction of Climate Simulations to Assess Climate Change Impacts on Low Flows in the Rhine River, MSc thesis, Delft Universitry of technology, https://repository.tudelft.nl/islandora/object/uuid:50489399-cbd2-467f-9b82-98e5f3e371e9.

Ali, M.A., 2023. Machine learning for predicting spatially variable lateral hydraulic conductivity: a step towards efficient hydrological model calibration and global applicability, Intersnhip report, Deltares.

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.

Benschop, J., 2023. The application of hybrid lateral routing in hydrological simulations of the Rhine catchment, MSc Thesis, Hydrology and Environmental Hydraulics Group, Wageningen University.

Beusen, B., 2021. The effect of rooting depth on discharge and evapotranspiration in (semi-)arid areas, MSc Thesis, Hydrology and Quantitative Water Management Group, Wageningen University.

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

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.

Hartgring, S., 2023. On Forecasting the Rur River: Using hindcasts and forecasts of the 2021 flood event to improve understanding of flood forecasting in the Rur catchment. Delft University of Technology, Delft, the Netherlands, MSc thesis, http://resolver.tudelft.nl/uuid:2909d997-a983-490a-a588-87119998543a.

Jaime, D.E.V, 2021. Ensemble hydrological forecasts to derive extreme return periods: Case Study of the Overijsselse Vecht River using the wflow_sbm model, MSc thesis, Unesco IHE, Delft.

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, Doctoral dissertation, https://doi.org/10.18174/513157.

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

Rusli, S.R., 2024. Deepening the quantitative understanding of groundwater systems in data-scarce areas: application in the Bandung Groundwater Basin, Indonesia. Wageningen University, Doctoral dissertation, https://doi.org/10.18174/640983.

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.

van der Gaast, R.H., 2024. Evaluating the transferability of data-driven pedo-transfer functions for the wflow_sbm parameter KsatHorFrac in central and Western Europe. Universiteit Twente, Enschede, The Netherlands, https://essay.utwente.nl/103634/1/vandergaast_MA_ET.pdf.

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

Verbrugge, M., 2023. Bias-correcting meteorological forcing to improve seasonal discharge forecasting of the Rhine, Internship report, Deltares.

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.

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

Wannasin, C., 2023. Modelling and forecasting daily streamflow with reservoir operation in the upper Chao Phraya River basin, Thailand. Wageningen University, Doctoral dissertation, https://doi.org/10.18174/584572.

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.

World Meteorological Organization (WMO), 2023. State of Global Water Resources report 2022, WMO-No. 1333, https://library.wmo.int/idurl/4/68473.

World Meteorological Organization (WMO), 2024. State of Global Water Resources report 2023, WMO-No. 1362, https://library.wmo.int/idurl/4/69033.

diff --git a/previews/PR480/intro/use_cases/index.html b/previews/PR480/intro/use_cases/index.html index 2d7774b0b..4c869f300 100644 --- a/previews/PR480/intro/use_cases/index.html +++ b/previews/PR480/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 basins are necessary for short-term forecasting of river flows and long-term predictions for strategic water management planning. In collaboration with Rijkswaterstaat, Deltares is developing 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 aim 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 is likely to 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 detailed flood inundation model (SFINCS). The domain of the flood model covers the entire North and East Coast of Australia. Although many gauging 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 built. The high level of flexibility in spatial and temporal resolution, combined with the physics-based nature of the concept, makes Wflow_sbm particularly suitable for ungauged basins. Furthermore, the model is detailed and computationally efficient enough for coupling with the fast flood inundation model SFINCS.

fig_case_flifs

The results of this proof of concept are very promising. Technically, we were able to quickly set up the wflow_sbm models, couple them to the flood inundation models (SFINCS), and run the models operationally under the Delft-FEWS platform. Model validation was conducted for two basins by comparing the results of Wflow_sbm against observations and the results of calibrated URBS models. This validation demonstrated that the uncalibrated Wflow_sbm model results were already quite satisfactory, especially given the complex nature of these basins, which include several small and large reservoirs. We could also show the potential for further calibration by adjusting the KsatHorFrac parameter.

Reference: De Kleermaeker, S., Leijnse, T., Morales, Y., Druery, C., Maguire, S.,

  1. Developing a real-time data and modelling framework for operational flood inundation forecasting in Australia. In Hydrology & Water Resources Symposium 2022 (HWRS 2022): The Past, the Present, the Future. Engineers Australia. https://search.informit.org/doi/10.3316/informit.916755150845355

fig_case_flifs

Simulating plastic transport in Thailand

For the Pollution Control Board of the Government of Thailand and the World Bank, we supported a material flow analysis of plastics in Thailand using wflow. Plastic pollution is a growing global issue. Plastic waste enters rivers and is transported to the ocean where it persists 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 transported by water flow towards small streams and rivers. Therefore there is strong relation to rainfall-runoff processes, which can be modeled 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 five large river basins and on three 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 identify hotspots of plastic pollution, estimate how much plastic waste would end up in the Gulf of Thailand and recommend priority areas for reducing plastic waste reaching the sea.

fig_case_mfa

The wflow_sbm models for the five large basins were calibrated. The presence of large dams and reservoirs complicated calibration, but with the input for the dam operation, 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 the amount of plastic 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 basins are necessary for short-term forecasting of river flows and long-term predictions for strategic water management planning. In collaboration with Rijkswaterstaat, Deltares is developing 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 aim 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 is likely to 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 detailed flood inundation model (SFINCS). The domain of the flood model covers the entire North and East Coast of Australia. Although many gauging 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 built. The high level of flexibility in spatial and temporal resolution, combined with the physics-based nature of the concept, makes Wflow_sbm particularly suitable for ungauged basins. Furthermore, the model is detailed and computationally efficient enough for coupling with the fast flood inundation model SFINCS.

fig_case_flifs

The results of this proof of concept are very promising. Technically, we were able to quickly set up the wflow_sbm models, couple them to the flood inundation models (SFINCS), and run the models operationally under the Delft-FEWS platform. Model validation was conducted for two basins by comparing the results of Wflow_sbm against observations and the results of calibrated URBS models. This validation demonstrated that the uncalibrated Wflow_sbm model results were already quite satisfactory, especially given the complex nature of these basins, which include several small and large reservoirs. We could also show the potential for further calibration by adjusting the KsatHorFrac parameter.

Reference: De Kleermaeker, S., Leijnse, T., Morales, Y., Druery, C., Maguire, S.,

  1. Developing a real-time data and modelling framework for operational flood inundation forecasting in Australia. In Hydrology & Water Resources Symposium 2022 (HWRS 2022): The Past, the Present, the Future. Engineers Australia. https://search.informit.org/doi/10.3316/informit.916755150845355

fig_case_flifs

Simulating plastic transport in Thailand

For the Pollution Control Board of the Government of Thailand and the World Bank, we supported a material flow analysis of plastics in Thailand using wflow. Plastic pollution is a growing global issue. Plastic waste enters rivers and is transported to the ocean where it persists 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 transported by water flow towards small streams and rivers. Therefore there is strong relation to rainfall-runoff processes, which can be modeled 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 five large river basins and on three 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 identify hotspots of plastic pollution, estimate how much plastic waste would end up in the Gulf of Thailand and recommend priority areas for reducing plastic waste reaching the sea.

fig_case_mfa

The wflow_sbm models for the five large basins were calibrated. The presence of large dams and reservoirs complicated calibration, but with the input for the dam operation, 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 the amount of plastic 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/previews/PR480/model_docs/intro/index.html b/previews/PR480/model_docs/intro/index.html index 751990967..9630f0a85 100644 --- a/previews/PR480/model_docs/intro/index.html +++ b/previews/PR480/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/previews/PR480/model_docs/lateral/gwf/index.html b/previews/PR480/model_docs/lateral/gwf/index.html index 2422cf3f9..318e21c60 100644 --- a/previews/PR480/model_docs/lateral/gwf/index.html +++ b/previews/PR480/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/previews/PR480/model_docs/lateral/kinwave/index.html b/previews/PR480/model_docs/lateral/kinwave/index.html index 066081718..f1c979b63 100644 --- a/previews/PR480/model_docs/lateral/kinwave/index.html +++ b/previews/PR480/model_docs/lateral/kinwave/index.html @@ -24,4 +24,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, as a cyclic parameter or as part of forcing (see also Input section). These inflows 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, as a cyclic parameter or as part of forcing (see also Input section). These inflows 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/previews/PR480/model_docs/lateral/local-inertial/index.html b/previews/PR480/model_docs/lateral/local-inertial/index.html index 69188d9ce..478ed9041 100644 --- a/previews/PR480/model_docs/lateral/local-inertial/index.html +++ b/previews/PR480/model_docs/lateral/local-inertial/index.html @@ -13,4 +13,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 and floodplain 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).

Abstractions

Abstractions from the river through the variable abstraction [m$^3$ s${-1}$] are possible when water demand and allocation is computed. The variable abstraction is set from the water demand and allocation module each time step. Abstractions are subtracted as part of the continuity equation of the local inertial model.

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 and floodplain 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).

Abstractions

Abstractions from the river through the variable abstraction [m$^3$ s${-1}$] are possible when water demand and allocation is computed. The variable abstraction is set from the water demand and allocation module each time step. Abstractions are subtracted as part of the continuity equation of the local inertial model.

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/previews/PR480/model_docs/lateral/sediment_flux/index.html b/previews/PR480/model_docs/lateral/sediment_flux/index.html index 696350bc0..7c127554c 100644 --- a/previews/PR480/model_docs/lateral/sediment_flux/index.html +++ b/previews/PR480/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/previews/PR480/model_docs/lateral/waterbodies/index.html b/previews/PR480/model_docs/lateral/waterbodies/index.html index 2f8484dc8..ff63a2acd 100644 --- a/previews/PR480/model_docs/lateral/waterbodies/index.html +++ b/previews/PR480/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/previews/PR480/model_docs/model_configurations/index.html b/previews/PR480/model_docs/model_configurations/index.html index 3bd7aeabb..c896205a9 100644 --- a/previews/PR480/model_docs/model_configurations/index.html +++ b/previews/PR480/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/previews/PR480/model_docs/params_lateral/index.html b/previews/PR480/model_docs/params_lateral/index.html index 280d06a67..906d38d29 100644 --- a/previews/PR480/model_docs/params_lateral/index.html +++ b/previews/PR480/model_docs/params_lateral/index.html @@ -12,4 +12,4 @@ n = "n_land" # mannings roughness

The input parameter elevation (listed under [input.lateral.land]) is not equal to the internal model parameter z, and is listed in the Table below between parentheses.

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}$-
thetaweighting factor (de Almeida et al., 2012)-0.8
alphastability coefficient (Bates et al., 2010)-0.7
h_threshdepth threshold for calculating flowm0.001
dtmodel 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-

Water allocation river

The Table below shows the parameters (fields) of struct AllocationRiver, used when water demand and allocation is computed (optional), including a description of these parameters, the unit, and default value if applicable.

parameterdescriptionunitdefault
act_surfacewater_abstactual surface water abstractionmm Δt⁻¹-
act_surfacewater_abst_volactual surface water abstractionm$^3$ Δt⁻¹-
available_surfacewateravailable surface waterm$^3$-
nonirri_returnflowreturn flow from non-irrigation (industry, domestic and livestock)mm Δt⁻¹-

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 [input.lateral.subsurface], to map the internal model parameter to the external netCDF variable. For some input parameters the parameter listed under [input.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"

The input parameter conductivity (listed under [input.lateral.subsurface]) is not equal to the internal model parameter kh_0, and is listed in the Table below between parentheses.

parameterdescriptionunitdefault
kh_0 (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 [input.lateral.subsurface], to map the internal model parameter to the external netCDF variable. The input parameter constant_head (listed under [input.lateral.subsurface]) is not equal to the internal model parameter head, and is listed in the Table below between parentheses.

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 [input.lateral.subsurface], to map the internal model parameter to the external netCDF variable. The input parameter river_bottom (listed under [input.lateral.subsurface]) is not equal to the internal model parameter bottom, and is listed in the Table below between parentheses.

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 [input.lateral.subsurface], to map the internal model parameter to the external netCDF variable. For some input parameters the parameter listed under [input.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--
dtmodel 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}$-
Sedconctotal sediment concentration (SSconc + Bedconc)g m$^{-3}$-
SSconcsuspended load concentrationg m$^{-3}$-
Bedconcbed load concentrationg 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--
dtmodel 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}$-
Sedconctotal sediment concentration (SSconc + Bedconc)g m$^{-3}$-
SSconcsuspended load concentrationg m$^{-3}$-
Bedconcbed load concentrationg 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/previews/PR480/model_docs/params_vertical/index.html b/previews/PR480/model_docs/params_vertical/index.html index d1635f8e5..f6be82f1b 100644 --- a/previews/PR480/model_docs/params_vertical/index.html +++ b/previews/PR480/model_docs/params_vertical/index.html @@ -2,4 +2,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"

Different vertical hydraulic conductivity depth profiles: exponential (default), exponential_constant, layered and layered_exponential can be provided through the TOML file. Below an example for the exponential_constant profile:

[input.vertical]
 ksat_profile = "exponential_constant"

For the exponential profile the input parameters kv_0 and f are used. For the exponential_constant profile kv_0 and f are used, and z_exp is required as input. For the layered profile, input parameter kv is used, and for the layered_exponential profile kv is used and z_layered is required as input.

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_ssaturated water content (porosity)-0.6
theta_rresidual water content-0.01
kv_0Vertical hydraulic conductivity at soil surfacemm Δt$^{-1}$3000.0 mm day$^{-1}$
kvVertical hydraulic conductivity per soil layermm Δt$^{-1}$1000.0 mm day$^{-1}$
fscaling parameter (controls exponential decline of kv_0)mm$^{-1}$0.001
z_expDepth from soil surface for which exponential decline of kv_0 is validmm-
z_layeredDepth from soil surface for which layered profile (of layered_exponential) is validmm-
hbair entry pressure of soil (Brooks-Corey)cm-10.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
rootfractionfraction of the root length density in each soil layer--
h1soil water pressure head h1 of the root water uptake reduction function (Feddes)cm0.0 cm
h2soil water pressure head h2 of the root water uptake reduction function (Feddes)cm-100.0 cm
h3_highsoil water pressure head h3_high of the root water uptake reduction function (Feddes)cm-400.0 cm
h3_lowsoil water pressure head h3_low of the root water uptake reduction function (Feddes)cm-1000.0 cm
h4soil water pressure head h4 of the root water uptake reduction function (Feddes)cm-15849.0 cm
alpha_h1root water uptake reduction at soil water pressure head h1 (0.0 or 1.0)-1.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
kccrop coefficient Kc-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
dtmodel time steps-
maxlayersmaximum number of soil layers--
nnumber of grid cells--
nlayersnumber of soil layers--
n_unsatlayersnumber of unsaturated soil layers--
nlayers_kvnumber of soil layers with vertical hydraulic conductivity value kv--
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-
precipitationprecipitationmm Δt$^{-1}$-
temperaturetemperatureᵒC-
potential_evaporationpotential reference evapotranspirationmm Δt$^{-1}$-
pottransinterception subtracted from potential evapotranspirationmm Δt$^{-1}$-
transpirationtranspirationmm Δt$^{-1}$-
ae_ustoreactual evaporation from unsaturated storemm Δt$^{-1}$-
interceptioninterception loss by evaporationmm Δ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}$-
net_runoffnet surface runoff (runoff - ae_openw_l)mm Δt$^{-1}$-
vwcvolumetric water content per soil layer (including theta_r and saturated zone)--
vwc_percvolumetric water content per soil layer (including theta_r and saturated zone)%-
rootstoreroot water storage in unsaturated and saturated zone (excluding theta_r)mm-
vwc_rootvolumetric water content in root zone (including theta_r and saturated zone)--
vwc_percrootvolumetric water content in root zone (including theta_r 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}$-
tsoiltop soil temperatureᵒC-
leaf_area_indexleaf area indexm$^2$ m${-2}$-
waterlevel_landwater level landmm-
waterlevel_riverwater level rivermm-
total_storagetotal water storage (excluding floodplains, lakes and reservoirs)mm-
paddyoptional paddy (rice) fields of type Paddy (water demand and irrigation)--
nonpaddyoptional non-paddy fields of type NonPaddy (water demand and irrigation)--
domesticoptional domestic water demand of type NonIrrigationDemand--
livestockoptional livestock water demand of type NonIrrigationDemand--
industryoptional industry water demand of type NonIrrigationDemand--
allocationoptional water allocation of type AllocationLand--

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}$-

Water demand and allocation

Paddy

The Table below shows the parameters (fields) of struct Paddy, 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.paddy], to map the internal model parameter to the external netCDF variable.

parameterdescriptionunitdefault
demand_grossirrigation gross demandmm Δt$^{-1}$-
irrigation_efficiencyirrigation efficiency--
maximum_irrigation_ratemaximum irrigation ratemm Δt$^{-1}$25.0 mm day$^{-1}$
irrigation_areasirrigation areas--
irrigation_triggerirrigation on or off (boolean)--
h_minminimum required water depth in the irrigated paddy fieldsmm20.0
h_optoptimal water depth in the irrigated paddy fieldsmm50.0
h_maxwater depth when paddy field starts spilling water (overflow)mm80.0
hactual water depth in paddy fieldmm-

Non-paddy

The Table below shows the parameters (fields) of struct NonPaddy, 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.nonpaddy], to map the internal model parameter to the external netCDF variable.

parameterdescriptionunitdefault
demand_grossirrigation gross demandmm Δt$^{-1}$-
irrigation_efficiencyirrigation efficiency--
maximum_irrigation_ratemaximum irrigation ratemm Δt$^{-1}$25.0 mm day$^{-1}$
irrigation_areasirrigation areas--
irrigation_triggerirrigation on or off (boolean)--

Non-irrigation (industry, domestic and livestock)

The Table below shows the parameters (fields) of struct NonIrrigationDemand, 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). These parameters can be listed for the sectors industry, domestic and livestock, in the TOML configuration file under [input.vertical.industry], [input.vertical.domestic] and [input.vertical.livestock], to map the internal model parameter to the external netCDF variable.

parameterdescriptionunitdefault
demand_grossgross industry water demandmm Δt$^{-1}$0.0
demand_netnet industry water demandmm Δt$^{-1}$0.0
returnflow_fractionreturn flow fraction--
returnflowreturn flowmm Δt$^{-1}$-

Water allocation land

The Table below shows the parameters (fields) of struct AllocationLand, 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.allocation], to map the internal model parameter to the external netCDF variable.

parameterdescriptionunitdefault
irri_demand_grossirrigation gross demandmm Δt$^{-1}$-
nonirri_demand_grossnon-irrigation gross demandmm Δt$^{-1}$-
total_gross_demandtotal gross demandmm Δt$^{-1}$-
frac_sw_usedfraction surface water used-1.0
areasallocation areas-1
surfacewater_demanddemand from surface watermm Δt$^{-1}$-
surfacewater_allocallocation from surface watermm Δt$^{-1}$-
act_groundwater_abstactual groundwater abstractionmm Δt$^{-1}$-
act_groundwater_abst_volactual groundwater abstractionm$^3$ Δt$^{-1}$-
available_groundwateravailable groundwaterm$^3$-
groundwater_demandgroundwater_demandmm Δt$^{-1}$-
groundwater_allocallocation from groundwatermm Δt$^{-1}$-
irri_allocallocated water for irrigationmm Δt$^{-1}$-
nonirri_allocallocated water for non-irrigationmm Δt$^{-1}$-
total_alloctotal allocated watermm Δt$^{-1}$-
nonirri_returnflowreturn flow from non-irrigationmm Δ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}$-

Water demand and allocation

Paddy

The Table below shows the parameters (fields) of struct Paddy, 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.paddy], to map the internal model parameter to the external netCDF variable.

parameterdescriptionunitdefault
demand_grossirrigation gross demandmm Δt$^{-1}$-
irrigation_efficiencyirrigation efficiency--
maximum_irrigation_ratemaximum irrigation ratemm Δt$^{-1}$25.0 mm day$^{-1}$
irrigation_areasirrigation areas--
irrigation_triggerirrigation on or off (boolean)--
h_minminimum required water depth in the irrigated paddy fieldsmm20.0
h_optoptimal water depth in the irrigated paddy fieldsmm50.0
h_maxwater depth when paddy field starts spilling water (overflow)mm80.0
hactual water depth in paddy fieldmm-

Non-paddy

The Table below shows the parameters (fields) of struct NonPaddy, 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.nonpaddy], to map the internal model parameter to the external netCDF variable.

parameterdescriptionunitdefault
demand_grossirrigation gross demandmm Δt$^{-1}$-
irrigation_efficiencyirrigation efficiency--
maximum_irrigation_ratemaximum irrigation ratemm Δt$^{-1}$25.0 mm day$^{-1}$
irrigation_areasirrigation areas--
irrigation_triggerirrigation on or off (boolean)--

Non-irrigation (industry, domestic and livestock)

The Table below shows the parameters (fields) of struct NonIrrigationDemand, 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). These parameters can be listed for the sectors industry, domestic and livestock, in the TOML configuration file under [input.vertical.industry], [input.vertical.domestic] and [input.vertical.livestock], to map the internal model parameter to the external netCDF variable.

parameterdescriptionunitdefault
demand_grossgross industry water demandmm Δt$^{-1}$0.0
demand_netnet industry water demandmm Δt$^{-1}$0.0
returnflow_fractionreturn flow fraction--
returnflowreturn flowmm Δt$^{-1}$-

Water allocation land

The Table below shows the parameters (fields) of struct AllocationLand, 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.allocation], to map the internal model parameter to the external netCDF variable.

parameterdescriptionunitdefault
irri_demand_grossirrigation gross demandmm Δt$^{-1}$-
nonirri_demand_grossnon-irrigation gross demandmm Δt$^{-1}$-
total_gross_demandtotal gross demandmm Δt$^{-1}$-
frac_sw_usedfraction surface water used-1.0
areasallocation areas-1
surfacewater_demanddemand from surface watermm Δt$^{-1}$-
surfacewater_allocallocation from surface watermm Δt$^{-1}$-
act_groundwater_abstactual groundwater abstractionmm Δt$^{-1}$-
act_groundwater_abst_volactual groundwater abstractionm$^3$ Δt$^{-1}$-
available_groundwateravailable groundwaterm$^3$-
groundwater_demandgroundwater_demandmm Δt$^{-1}$-
groundwater_allocallocation from groundwatermm Δt$^{-1}$-
irri_allocallocated water for irrigationmm Δt$^{-1}$-
nonirri_allocallocated water for non-irrigationmm Δt$^{-1}$-
total_alloctotal allocated watermm Δt$^{-1}$-
nonirri_returnflowreturn flow from non-irrigationmm Δt$^{-1}$-
diff --git a/previews/PR480/model_docs/shared_concepts/index.html b/previews/PR480/model_docs/shared_concepts/index.html index 54793a895..3f145d6b1 100644 --- a/previews/PR480/model_docs/shared_concepts/index.html +++ b/previews/PR480/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 by two parameters. The parameter glacierfrac gives the fraction of each grid cell covered by a glacier as a number between zero and one. The state parameter glacierstore gives the amount of water (in mm w.e.) within the glaciers at each grid cell. 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 by two parameters. The parameter glacierfrac gives the fraction of each grid cell covered by a glacier as a number between zero and one. The state parameter glacierstore gives the amount of water (in mm w.e.) within the glaciers at each grid cell. 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/previews/PR480/model_docs/structures/index.html b/previews/PR480/model_docs/structures/index.html index c71221cae..0441f0621 100644 --- a/previews/PR480/model_docs/structures/index.html +++ b/previews/PR480/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}(
     dt = tosecond(dt),
     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/previews/PR480/model_docs/vertical/flextopo/index.html b/previews/PR480/model_docs/vertical/flextopo/index.html index 6540213e8..368deb91b 100644 --- a/previews/PR480/model_docs/vertical/flextopo/index.html +++ b/previews/PR480/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/previews/PR480/model_docs/vertical/hbv/index.html b/previews/PR480/model_docs/vertical/hbv/index.html index a5da8007c..34bd740eb 100644 --- a/previews/PR480/model_docs/vertical/hbv/index.html +++ b/previews/PR480/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/previews/PR480/model_docs/vertical/sbm/index.html b/previews/PR480/model_docs/vertical/sbm/index.html index 7bd273d54..b4e76bdfa 100644 --- a/previews/PR480/model_docs/vertical/sbm/index.html +++ b/previews/PR480/model_docs/vertical/sbm/index.html @@ -68,4 +68,4 @@ industry = true livestock = true

For these non-irrigation sectors the gross demand ($d_\mathrm{gross}$ [mm t$^{-1}$]) and net demand ($d_\mathrm{net}$ [mm t$^{-1}$]) are provided to the model (input through cyclic or forcing data). Gross demand represents the total demand and hence the total abstraction from surface water or groundwater when sufficient water is available. Net demand represents water consumption. The portion of total abstracted water that is not consumed is returned as surface water. The return flow fraction ($f_\mathrm{return}$ [-]) is calculated as follows:

\[ f_\mathrm{return} = 1.0 - \frac{d_\mathrm{net}}{d_\mathrm{gross}},\]

and used to calculate the return flow rate (water abstracted from surface water or groundwater but not consumed). For grid cells containing a river the return flow is directly returned to the river routing component, otherwise the return flow is returned to the overland flow routing component.

Non-paddy irrigation

Non-paddy (other crops than flooded rice) water demand and allocation computations are supported. These computations can be enabled by specifying the following in the TOML file:

[model.water_demand]
 nonpaddy = true

Irrigation is applied during the growing season (when input parameter irrigation_trigger [-] is true (or on)) and when water depletion exceeds the readily available water:

\[ (U_\mathrm{field} - U_\mathrm{a}) \ge (U_\mathrm{field} - U_\mathrm{h3})\]

where $U_\mathrm{field}$ [mm] is the unsaturated store in the root zone at field capacity (defined at a soil water pressure head of -100 cm), $U_\mathrm{a}$ [mm] is the actual unsaturated store in the root zone and $U_\mathrm{h3}$ [mm] is the unsaturated store in the root zone at the critical soil water pressure head h3, below this pressure head reduction of root water uptake starts due to drought stress. The net irrigation demand [mm t$^{-1}$] is the irrigation rate that brings the root zone back to field capacity, limited by the soil infiltration capacity [mm t$^{-1}$], assuming that farmers do not apply an irrigation rate higher than the soil infiltration capacity. To account for limited irrigation efficiency the net irrigation demand is divided by the irrigation efficiency for non-paddy crops (irrigation_efficiency [-], default is 1.0), resulting in gross irrigation demand [mm t$^{-1}$]. Finally, the gross irrigation demand is limited by the maximum irrigation rate (maximum_irrigation_rate [mm t$^{-1}$], default is 25 mm d$^{-1}$). If the maximum irrigation rate is applied, irrigation continues at subsequent time steps until field capacity is reached. Irrigation is added to the SBM variable avail_forinfilt [mm t$^{-1}$], the amount of water available for infiltration.

Paddy irrigation

Paddy (flooded rice) water demand and allocation computations are supported. These computations can be enabled by specifying the following in the TOML file:

[model.water_demand]
-paddy = true

Irrigation is applied during the growing season (when input parameter irrigation_trigger [-] is true (or on)) and when the paddy water depth h [mm] reaches below the minimum water depth h_min [mm] (see also the figure below). The net irrigation demand [mm t$^{-1}$] is the irrigation rate required to reach the optimal paddy water depth h_opt [mm], an approach similar to Xie and Cui (2011). To account for limited irrigation efficiency the net irrigation demand is divided by the irrigation efficiency for paddy fields (irrigation_efficiency [-], default is 1.0), resulting in gross irrigation demand [mm t$^{-1}$]. Finally, the gross irrigation demand is limited by the maximum irrigation rate (maximum_irrigation_rate [mm t$^{-1}$], default is 25 mm d$^{-1}$). If the maximum irrigation rate is applied, irrigation continues at subsequent time steps until the optimal paddy water depth h_opt is reached. Irrigation is added to the SBM variable avail_forinfilt [mm t$^{-1}$], the amount of water available for infiltration. When the paddy water depth h exceeds h_max [mm] runoff occurs, and this amount is added to the runoff routing scheme for overland flow. The figure below shows a typical vertical soil profile of a puddled rice soil with a muddy layer of about 15 cm (in this case represented by two soil layers of 5 cm and 10 cm thickness), a plow soil layer of 5 cm with relative low permeability (vertical hydraulic conductivity $k_v$ of about 5 mm d$^{-1}$), and a non-puddled soil below the plow soil layer. The low vertical hydraulic conductivity of the plow soil layer can be realized by making use of the parameter kvfrac [-], a multiplication factor applied to the vertical hydraulic conductivity at soil depth $z$ [mm].

paddy_profile

Schematic diagram of a paddy field with water balance components and soil profile

Water withdrawal and allocation

For the water withdrawal the total gross demand is computed (sum over the irrigation and non-irrigation water demand sectors), in case sufficient water is available the water withdrawal is equal to the total gross demand. In case of insufficient water availability, the water withdrawal is scaled down to the available water, and allocation is then proportional to the gross demand per sector (industry, domestic, livestock and irrigation). Water can be abstracted from the following sources:

The model parameter frac_sw_used (fraction surface water used, default is 1.0) determines how much water is supplied by available surface water and groundwater.

Local

First, surface water abstraction (excluding reservoir and lake locations) is computed to satisfy local (same grid cell) water demand. The available surface water volume is limited by a fixed scaling factor of 0.8 to prevent rivers from completely drying out. It is assumed that the water demand cannot be satisfied completely from local surface water and groundwater. The next step is to satisfy the remaining water demand for allocation areas [-], described in the next sub-section.

Allocation areas

For allocation areas the water demand $V_\mathrm{sw, demand}$ [m$^3$] and availability $V_\mathrm{sw, availabilty}$ [m$^3$] are summed (including reservoir and lake locations limited by a fixed scaling factor of 0.98), and the total surface water abstraction is then:

\[ V_\mathrm{sw, abstraction} = \mathrm{min}(V_\mathrm{sw, demand}, V_\mathrm{sw, availabilty})\]

The fraction of available surface water that can be abstracted $f_\mathrm{sw, abstraction}$ [-] at the allocation area level is then:

\[ f_\mathrm{sw, abstraction} = \frac{V_\mathrm{sw, abstraction}}{V_\mathrm{sw, available}}\]

This fraction is applied to the remaining available surface water of each river cell (including lake and reservoir locations) to compute surface water abstraction at each river cell and to update the local surface water abstraction.

The fraction of water demand that can be satisfied by available surface water $f_\mathrm{sw, allocation}$ [-] at the allocation area level is then:

\[ f_\mathrm{sw, allocation} = \frac{V_\mathrm{sw, abstraction}}{V_\mathrm{sw, demand}}\]

This fraction is applied to the remaining surface water demand of each land cell to compute the allocated surface water to each land cell.

Then groundwater abstraction is computed to satisfy the remaining local water demand, where groundwater abstraction is limited by a fixed scaling factor of 0.75 applied to the groundwater volume. Finally, for allocation areas the water demand $V_\mathrm{gw, demand}$ [m$^3$] and availability $V_\mathrm{gw, availabilty}$ [m$^3$] are summed, and the total groundwater abstraction is then:

\[ V_\mathrm{gw, abstraction} = \mathrm{min}(V_\mathrm{gw, demand}, V_\mathrm{gw, availabilty})\]

The fraction of available groundwater that can be abstracted at allocation area level $f_\mathrm{gw, abstraction}$ [-] at the allocation area level is then:

\[ f_\mathrm{gw, abstraction} = \frac{V_\mathrm{gw, abstraction}}{V_\mathrm{gw, available}}\]

This fraction is applied to the remaining available groundwater of each land cell to compute groundwater abstraction and to update the local groundwater abstraction.

The fraction of water demand that can be satisfied by available groundwater $f_\mathrm{gw, allocation}$ [-] at the allocation area level is then:

\[ f_\mathrm{gw, allocation} = \frac{V_\mathrm{gw, abstraction}}{V_\mathrm{gw, demand}}\]

This fraction is applied to the remaining groundwater demand of each land cell to compute the allocated groundwater to each land cell.

Abstractions

Groundwater abstraction is implemented by subtracting this amount from the recharge variable of the lateral subsurface flow component (kinematic wave) or the recharge rate of the groundwater flow module. Surface water abstraction [m$^3$ s$^{-1}$] is divided by the flow length dl [m] and subtracted from the lateral inflow of kinematic wave routing scheme for river flow. For the local inertial routing scheme (river and optional floodplain routing), the surface water abstraction [m$^3$ s$^{-1}$] is subtracted as part of the continuity equation of the local inertial model. For reservoir and lake locations surface water is abstracted (act_surfacewater_abst_vol [m$^3$ t$^{-1}$]) from the reservoir volume [m$^3$] and lake storage [m$^3$] respectively, with a subsequent update of the lake waterlevel [m].

References

+paddy = true

Irrigation is applied during the growing season (when input parameter irrigation_trigger [-] is true (or on)) and when the paddy water depth h [mm] reaches below the minimum water depth h_min [mm] (see also the figure below). The net irrigation demand [mm t$^{-1}$] is the irrigation rate required to reach the optimal paddy water depth h_opt [mm], an approach similar to Xie and Cui (2011). To account for limited irrigation efficiency the net irrigation demand is divided by the irrigation efficiency for paddy fields (irrigation_efficiency [-], default is 1.0), resulting in gross irrigation demand [mm t$^{-1}$]. Finally, the gross irrigation demand is limited by the maximum irrigation rate (maximum_irrigation_rate [mm t$^{-1}$], default is 25 mm d$^{-1}$). If the maximum irrigation rate is applied, irrigation continues at subsequent time steps until the optimal paddy water depth h_opt is reached. Irrigation is added to the SBM variable avail_forinfilt [mm t$^{-1}$], the amount of water available for infiltration. When the paddy water depth h exceeds h_max [mm] runoff occurs, and this amount is added to the runoff routing scheme for overland flow. The figure below shows a typical vertical soil profile of a puddled rice soil with a muddy layer of about 15 cm (in this case represented by two soil layers of 5 cm and 10 cm thickness), a plow soil layer of 5 cm with relative low permeability (vertical hydraulic conductivity $k_v$ of about 5 mm d$^{-1}$), and a non-puddled soil below the plow soil layer. The low vertical hydraulic conductivity of the plow soil layer can be realized by making use of the parameter kvfrac [-], a multiplication factor applied to the vertical hydraulic conductivity at soil depth $z$ [mm].

paddy_profile

Schematic diagram of a paddy field with water balance components and soil profile

Water withdrawal and allocation

For the water withdrawal the total gross demand is computed (sum over the irrigation and non-irrigation water demand sectors), in case sufficient water is available the water withdrawal is equal to the total gross demand. In case of insufficient water availability, the water withdrawal is scaled down to the available water, and allocation is then proportional to the gross demand per sector (industry, domestic, livestock and irrigation). Water can be abstracted from the following sources:

The model parameter frac_sw_used (fraction surface water used, default is 1.0) determines how much water is supplied by available surface water and groundwater.

Local

First, surface water abstraction (excluding reservoir and lake locations) is computed to satisfy local (same grid cell) water demand. The available surface water volume is limited by a fixed scaling factor of 0.8 to prevent rivers from completely drying out. It is assumed that the water demand cannot be satisfied completely from local surface water and groundwater. The next step is to satisfy the remaining water demand for allocation areas [-], described in the next sub-section.

Allocation areas

For allocation areas the water demand $V_\mathrm{sw, demand}$ [m$^3$] and availability $V_\mathrm{sw, availabilty}$ [m$^3$] are summed (including reservoir and lake locations limited by a fixed scaling factor of 0.98), and the total surface water abstraction is then:

\[ V_\mathrm{sw, abstraction} = \mathrm{min}(V_\mathrm{sw, demand}, V_\mathrm{sw, availabilty})\]

The fraction of available surface water that can be abstracted $f_\mathrm{sw, abstraction}$ [-] at the allocation area level is then:

\[ f_\mathrm{sw, abstraction} = \frac{V_\mathrm{sw, abstraction}}{V_\mathrm{sw, available}}\]

This fraction is applied to the remaining available surface water of each river cell (including lake and reservoir locations) to compute surface water abstraction at each river cell and to update the local surface water abstraction.

The fraction of water demand that can be satisfied by available surface water $f_\mathrm{sw, allocation}$ [-] at the allocation area level is then:

\[ f_\mathrm{sw, allocation} = \frac{V_\mathrm{sw, abstraction}}{V_\mathrm{sw, demand}}\]

This fraction is applied to the remaining surface water demand of each land cell to compute the allocated surface water to each land cell.

Then groundwater abstraction is computed to satisfy the remaining local water demand, where groundwater abstraction is limited by a fixed scaling factor of 0.75 applied to the groundwater volume. Finally, for allocation areas the water demand $V_\mathrm{gw, demand}$ [m$^3$] and availability $V_\mathrm{gw, availabilty}$ [m$^3$] are summed, and the total groundwater abstraction is then:

\[ V_\mathrm{gw, abstraction} = \mathrm{min}(V_\mathrm{gw, demand}, V_\mathrm{gw, availabilty})\]

The fraction of available groundwater that can be abstracted at allocation area level $f_\mathrm{gw, abstraction}$ [-] at the allocation area level is then:

\[ f_\mathrm{gw, abstraction} = \frac{V_\mathrm{gw, abstraction}}{V_\mathrm{gw, available}}\]

This fraction is applied to the remaining available groundwater of each land cell to compute groundwater abstraction and to update the local groundwater abstraction.

The fraction of water demand that can be satisfied by available groundwater $f_\mathrm{gw, allocation}$ [-] at the allocation area level is then:

\[ f_\mathrm{gw, allocation} = \frac{V_\mathrm{gw, abstraction}}{V_\mathrm{gw, demand}}\]

This fraction is applied to the remaining groundwater demand of each land cell to compute the allocated groundwater to each land cell.

Abstractions

Groundwater abstraction is implemented by subtracting this amount from the recharge variable of the lateral subsurface flow component (kinematic wave) or the recharge rate of the groundwater flow module. Surface water abstraction [m$^3$ s$^{-1}$] is divided by the flow length dl [m] and subtracted from the lateral inflow of kinematic wave routing scheme for river flow. For the local inertial routing scheme (river and optional floodplain routing), the surface water abstraction [m$^3$ s$^{-1}$] is subtracted as part of the continuity equation of the local inertial model. For reservoir and lake locations surface water is abstracted (act_surfacewater_abst_vol [m$^3$ t$^{-1}$]) from the reservoir volume [m$^3$] and lake storage [m$^3$] respectively, with a subsequent update of the lake waterlevel [m].

References

diff --git a/previews/PR480/model_docs/vertical/sediment/index.html b/previews/PR480/model_docs/vertical/sediment/index.html index 67b07c147..b3bb35c9d 100644 --- a/previews/PR480/model_docs/vertical/sediment/index.html +++ b/previews/PR480/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 based on 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 when 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 the 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/previews/PR480/search/index.html b/previews/PR480/search/index.html index 6c4044183..7358d83ad 100644 --- a/previews/PR480/search/index.html +++ b/previews/PR480/search/index.html @@ -1,2 +1,2 @@ -Search · Wflow.jl

Loading search...

    +Search · Wflow.jl

    Loading search...

      diff --git a/previews/PR480/user_guide/additional_options/index.html b/previews/PR480/user_guide/additional_options/index.html index ad18d8c55..024b67aca 100644 --- a/previews/PR480/user_guide/additional_options/index.html +++ b/previews/PR480/user_guide/additional_options/index.html @@ -135,10 +135,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

      Variables with a third dimension, for example layer as part of the vertical SBM concept, are exposed as two-dimensional grids through the wflow BMI implementation. For these variables the index of this third dimension is required, by adding [k] to the variable name (k refers to the index of the third dimension). For example, the variable vertical.vwc[1] refers to the first soil layer of the vertical SBM concept.

      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

      Variables with a third dimension, for example layer as part of the vertical SBM concept, are exposed as two-dimensional grids through the wflow BMI implementation. For these variables the index of this third dimension is required, by adding [k] to the variable name (k refers to the index of the third dimension). For example, the variable vertical.vwc[1] refers to the first soil layer of the vertical SBM concept.

      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>

      Run wflow as a ZMQ Server

      It is possible to run wflow as a ZMQ Server, for example for the coupling to the OpenDA software for data-assimilation. The code for the wflow ZMQ Server is not part of the Wflow.jl package, and is located here.

      +</logFile>

      Run wflow as a ZMQ Server

      It is possible to run wflow as a ZMQ Server, for example for the coupling to the OpenDA software for data-assimilation. The code for the wflow ZMQ Server is not part of the Wflow.jl package, and is located here.

      diff --git a/previews/PR480/user_guide/install/index.html b/previews/PR480/user_guide/install/index.html index 50292fb34..6b0836127 100644 --- a/previews/PR480/user_guide/install/index.html +++ b/previews/PR480/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. If you have any issues installing Julia, please see platform specific instructions for further instructions.

      If you are new to Julia, it might be a good idea to check out the Getting Started section of the Julia Manual. You can also find additional learning resources 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 compiled executable version is available. This version includes a single executable, wflow_cli, which allows 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 in several 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 haven't used Julia in a while, it's a good idea to run up to update your packages.

      pkg> up

      To access Julia's package manager and install wflow, use:

      pkg> add Wflow

      This process can take a while, especially on the first run, as compatible dependencies are automatically resolved and installed from the Pkg General registry.

      Install from GitHub

      You can also install wflow from the master branch on the repository as follows:

      pkg> add Wflow#master

      This command tracks the master branch and updates to the latest commit on that branch when you run update, or simply up, in the Pkg REPL. The add installs wflow in your home directory under .julia/packages/Wflow. Note that packages installed under packages by add should not be changed in the directory, as the change could disrupt Pkg's automatic dependency handling.

      If you want to modify any 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, place it under your home directory in .julia/dev/Wflow, and add the wflow package to your project environment. To receive updates, you'll need to pull the latest changes manually using git pull.

      Check installation of wflow

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

      julia> using Wflow

      The first time you do this, it may take longer as any new or changed packages need to be precompiled to enable faster loading on subsequent uses. No error messages should appear, which indicates that you have successfully installed wflow.

      Before concluding this section, we 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. Combined with the Julia extension it provides a powerful and interactive development experience.

      Tip

      If you plan to modify 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 installation, you will see two folders in the installation directory. Only the bin/wflow_cli is used. The artifacts folder contains binary dependencies such as netCDF.

      artifacts\
      -bin\wflow_cli

      To verify whether the installation was completed successfully, run wflow_cli with no arguments in the command line. This will display the following message:

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

      The old version of wflow, which was based on Python and PCRaster libraries, is also available for 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

      To verify whether the installation was completed successfully, run wflow_cli with no arguments in the command line. This will display the following message:

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

      The old version of wflow, which was based on Python and PCRaster libraries, is also available for 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/previews/PR480/user_guide/intro/index.html b/previews/PR480/user_guide/intro/index.html index 553dfeb02..6898feb9b 100644 --- a/previews/PR480/user_guide/intro/index.html +++ b/previews/PR480/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 for installing the wflow Julia software and setting up a simple model. The guide also includes a step-by-step process for configuring your model using the TOML file (model settings) and the netCDF gridded datasets.

      Sample data and model setup are also provided for the Moselle River Basin (a major tributary of the Rhine River), which can be used to explore the model software. The guide covers model setups for the wflow\_sbm, wflow\_hbv and wflow\_sediment model concepts.

      Finally, the guide offers information 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 for installing the wflow Julia software and setting up a simple model. The guide also includes a step-by-step process for configuring your model using the TOML file (model settings) and the netCDF gridded datasets.

      Sample data and model setup are also provided for the Moselle River Basin (a major tributary of the Rhine River), which can be used to explore the model software. The guide covers model setups for the wflow\_sbm, wflow\_hbv and wflow\_sediment model concepts.

      Finally, the guide offers information 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/previews/PR480/user_guide/model-setup/index.html b/previews/PR480/user_guide/model-setup/index.html index 51c23743a..eb71e119e 100644 --- a/previews/PR480/user_guide/model-setup/index.html +++ b/previews/PR480/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 different supported model configurations are described in the section Model configurations. Wflow_sbm models have the vertical concept SBM in common and input parameters for this component are described in the SBM section of Model parameters. For wflow_sbm models there are two ways to include subsurface flow:

      1. The kinematic wave approach (see section Subsurface flow routing) as part of the sbm model type. Parameters that are part of this component are described in the Lateral subsurface flow section of Model parameters. Input parameters for this component are derived from the SBM vertical concept and the land slope. One external parameter ksathorfrac is used to calculate the horizontal hydraulic conductivity at the soil surface kh_0.
      2. Groundwater flow (see section Groundwater flow component) as part of the sbm_gwf model type. For the unconfined aquifer the input parameters are described in the section Unconfined aquifer of Model parameters. The bottom (bottom) of the groundwater layer is derived from from 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.

      Most hydrological model configurations make use of the kinematic wave surface routing (river flow, overland flow or both) and input data required for the river and overland flow components is described in Surface flow. There is also the option to use the local inertial model as part of the wflow_sbm models (model types sbm and sbm_gwf):

      Input parameters for this approach are described in River flow (local inertial), including the optional 1D floodplain schematization, and Overland flow (local inertial) of the Model parameters section.

      Reservoirs or lakes can be part of the kinematic wave or local inertial model for river flow and input parameters are described in Reservoirs and Lakes.

      The wflow_hbv model configuration 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. For the river and overland flow components the kinematic wave approach is used.

      The wflow_flextopo model configuration 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. For the river and overland flow components the kinematic wave approach is used.

      The wflow_sediment model configuration consists of the vertical Soil Erosion concept and the input parameters for this concept are described in the Sediment section of the Model parameters. The parameters of the lateral Sediment Flux in overland flow concept are described in the Overland flow section of the Model parameters. Parameters of this component are not directly set by data from static input. The input parameters of the lateral concept River Sediment Model are listed in River flow of the Model parameters section.

      The Model parameters section lists all the parameters per Model component and these Tables can also be used to check which parameters can be part of the output, see also Output netCDF section and Output CSV section.

      Example models can be found in the Example models section.

      hydroMT

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

      For the following wflow_sbm model (modeltype sbm) configurations:

      and the wflow_sediment model configuration, the wflow plugin hydroMT-wflow of hydroMT can be used to build and analyze these wflow models 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 different supported model configurations are described in the section Model configurations. Wflow_sbm models have the vertical concept SBM in common and input parameters for this component are described in the SBM section of Model parameters. For wflow_sbm models there are two ways to include subsurface flow:

      1. The kinematic wave approach (see section Subsurface flow routing) as part of the sbm model type. Parameters that are part of this component are described in the Lateral subsurface flow section of Model parameters. Input parameters for this component are derived from the SBM vertical concept and the land slope. One external parameter ksathorfrac is used to calculate the horizontal hydraulic conductivity at the soil surface kh_0.
      2. Groundwater flow (see section Groundwater flow component) as part of the sbm_gwf model type. For the unconfined aquifer the input parameters are described in the section Unconfined aquifer of Model parameters. The bottom (bottom) of the groundwater layer is derived from from 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.

      Most hydrological model configurations make use of the kinematic wave surface routing (river flow, overland flow or both) and input data required for the river and overland flow components is described in Surface flow. There is also the option to use the local inertial model as part of the wflow_sbm models (model types sbm and sbm_gwf):

      Input parameters for this approach are described in River flow (local inertial), including the optional 1D floodplain schematization, and Overland flow (local inertial) of the Model parameters section.

      Reservoirs or lakes can be part of the kinematic wave or local inertial model for river flow and input parameters are described in Reservoirs and Lakes.

      The wflow_hbv model configuration 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. For the river and overland flow components the kinematic wave approach is used.

      The wflow_flextopo model configuration 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. For the river and overland flow components the kinematic wave approach is used.

      The wflow_sediment model configuration consists of the vertical Soil Erosion concept and the input parameters for this concept are described in the Sediment section of the Model parameters. The parameters of the lateral Sediment Flux in overland flow concept are described in the Overland flow section of the Model parameters. Parameters of this component are not directly set by data from static input. The input parameters of the lateral concept River Sediment Model are listed in River flow of the Model parameters section.

      The Model parameters section lists all the parameters per Model component and these Tables can also be used to check which parameters can be part of the output, see also Output netCDF section and Output CSV section.

      Example models can be found in the Example models section.

      hydroMT

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

      For the following wflow_sbm model (modeltype sbm) configurations:

      and the wflow_sediment model configuration, the wflow plugin hydroMT-wflow of hydroMT can be used to build and analyze these wflow models 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/previews/PR480/user_guide/sample_data/index.html b/previews/PR480/user_guide/sample_data/index.html index 4a5307ae9..766e18348 100644 --- a/previews/PR480/user_guide/sample_data/index.html +++ b/previews/PR480/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/previews/PR480/user_guide/step1_requirements/index.html b/previews/PR480/user_guide/step1_requirements/index.html index d640e6740..0ece101c3 100644 --- a/previews/PR480/user_guide/step1_requirements/index.html +++ b/previews/PR480/user_guide/step1_requirements/index.html @@ -1,2 +1,2 @@ -Step 1: Understanding the requirements · Wflow.jl

      Step 1: Understanding the requirements

      To run wflow, several files are required. These include a settings file and input data. The input data is typically separated into static maps and forcing data, and both are provided in netCDF files, except for lake storage and rating curves that are supplied via CSV files. Below is 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 connect the correct variable names in the netCDF files to the variables and parameters of wflow.
      • The staticmaps.nc file contains spatial information such as elevation, gauge locations, land use, and drainage direction, etc. This file can also contain maps with parameter values.
      • The forcing.nc file contains time series data for precipitation, temperature and potential evaporation (as a 3D array).

      Wflow supports several model configurations, each requiring slightly different input, but with a similar general structure. A wflow model configuration consists of a vertical concept like SBM, HBV or FLEXTOPO 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 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. Sample data for other model configurations is provided in the sample data section.

      +Step 1: Understanding the requirements · Wflow.jl

      Step 1: Understanding the requirements

      To run wflow, several files are required. These include a settings file and input data. The input data is typically separated into static maps and forcing data, and both are provided in netCDF files, except for lake storage and rating curves that are supplied via CSV files. Below is 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 connect the correct variable names in the netCDF files to the variables and parameters of wflow.
      • The staticmaps.nc file contains spatial information such as elevation, gauge locations, land use, and drainage direction, etc. This file can also contain maps with parameter values.
      • The forcing.nc file contains time series data for precipitation, temperature and potential evaporation (as a 3D array).

      Wflow supports several model configurations, each requiring slightly different input, but with a similar general structure. A wflow model configuration consists of a vertical concept like SBM, HBV or FLEXTOPO 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 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. Sample data for other model configurations is provided in the sample data section.

      diff --git a/previews/PR480/user_guide/step2_settings_file/index.html b/previews/PR480/user_guide/step2_settings_file/index.html index 9ff66cf27..4427659e7 100644 --- a/previews/PR480/user_guide/step2_settings_file/index.html +++ b/previews/PR480/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 [input.vertical] section 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/previews/PR480/user_guide/step3_input_data/index.html b/previews/PR480/user_guide/step3_input_data/index.html index f49a080c8..d8aaf6cfc 100644 --- a/previews/PR480/user_guide/step3_input_data/index.html +++ b/previews/PR480/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/previews/PR480/user_guide/step4_running/index.html b/previews/PR480/user_guide/step4_running/index.html index 1a544730f..f0d0aaa97 100644 --- a/previews/PR480/user_guide/step4_running/index.html +++ b/previews/PR480/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/previews/PR480/user_guide/step5_output/index.html b/previews/PR480/user_guide/step5_output/index.html index 028b69b45..e0842727e 100644 --- a/previews/PR480/user_guide/step5_output/index.html +++ b/previews/PR480/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.