Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Water demand and allocation in sbm model concept #402

Merged
merged 100 commits into from
Jul 17, 2024
Merged
Show file tree
Hide file tree
Changes from 93 commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
c082441
initialization water demand (non-irrigation)
vers-w Mar 8, 2022
23bd36e
file water_demand
vers-w Mar 8, 2022
2cb6449
change netto to net
vers-w Mar 8, 2022
415f798
non-irrigation water demand sectors
vers-w Mar 21, 2022
dce4d74
irrigation structs (not complete)
vers-w Mar 24, 2022
2b6017a
water demand structs
vers-w Apr 22, 2022
0233a3a
impoved root water uptake (transpiration)
vers-w Sep 6, 2022
bb4ea77
fix: add ust option
vers-w Sep 6, 2022
589b31b
use crop coefficient kc (and not et_reftopot)
vers-w Sep 6, 2022
709ece5
run JuliaFormatter
vers-w Sep 7, 2022
eaeb7bb
water demand calculation
vers-w Sep 8, 2022
650c493
irrigation demand and tests
vers-w Sep 9, 2022
059cd30
move water demand (and allocation) calculation
vers-w May 24, 2023
6dc92b8
add fields `WaterAllocation`
vers-w May 25, 2023
d0f3ed2
surface water abstraction and allocation
vers-w Jun 19, 2023
9f5939a
groundwater abstraction and allocation
vers-w Jun 20, 2023
6a92c78
add surface water abstraction
vers-w Jun 22, 2023
0c99ff4
surface water abstraction (set and fix)
vers-w Jun 22, 2023
900864e
fix running update water demand and allocation
vers-w Jun 22, 2023
3f12e69
add groundwater abstraction to `recharge` of `SBM`
vers-w Jun 22, 2023
aac650f
fraction surface water and livestock
vers-w Jun 23, 2023
37f964b
fix groundwater demand, reset `surfacewater_alloc`
vers-w Jun 26, 2023
d296eab
precalculate `area` as part of `model.network.land`
vers-w Jun 26, 2023
3613d2e
irrigation allocation, returnflow, units
vers-w Jun 28, 2023
b17a67a
non irrigation returnflow and split waterallocation
vers-w Jun 29, 2023
22176e2
fix check (add irrigation) and update waterdemand settings
vers-w Jun 29, 2023
846a565
update water demand settings
vers-w Jun 30, 2023
5555b36
Add root fraction and small fix nonpaddy irrigation
vers-w Jul 11, 2023
2e5b559
local surface water abstraction
vers-w Aug 3, 2023
10b5465
update metadata structs water demand
vers-w Nov 22, 2023
d8e28d5
Rename paddy variables `h_max` and `h_p`
vers-w Nov 22, 2023
cfb61fe
Merge branch 'master' into water-demand
vers-w Mar 4, 2024
b107fe6
Add two missing modified files for merge 'master'
vers-w Mar 4, 2024
51295ff
Fix reservoir and lake indices water demand
vers-w Mar 5, 2024
48f907e
Fix logic check `Paddy` and `NonPaddy` areas
vers-w Mar 5, 2024
0e3542e
Merge branch 'master' into water-demand
vers-w Mar 28, 2024
1ae2f22
Update tests run_sbm_gwf.jl
vers-w Mar 28, 2024
1a6159b
Merge branch 'master' into water-demand
vers-w Apr 8, 2024
e131f9d
Two missing modified files merge `master`
vers-w Apr 8, 2024
c41311c
Add `irrigation_trigger` (initialization)
vers-w Apr 9, 2024
32a3941
Add `irrigation_trigger` to update water demand
vers-w Apr 9, 2024
8852cd3
Support water allocation from local inertial river routing
vers-w Apr 9, 2024
f7eda84
Water allocation: reservoir and lake locations
vers-w Apr 10, 2024
58ee27b
Refactor `update_water_allocation` and docstrings
vers-w Apr 11, 2024
606b0b4
Extend docstring `update_water_allocation`
vers-w Apr 11, 2024
cdb4534
Merge branch 'master' into water-demand
vers-w Apr 23, 2024
420ea4b
Fix non-ASCII characters
vers-w Apr 23, 2024
aeb5419
Fix update local `act_groundwater_abst_vol`
vers-w Apr 24, 2024
9c8ecb6
Avoid small negative values
vers-w Apr 24, 2024
2c83c9f
FIx `vwc` computation and unit groundwater abstraction
vers-w Apr 24, 2024
195f70b
Irrigation demand and infiltration capacity
vers-w Apr 24, 2024
df99114
Merge branch 'master' of https://github.com/Deltares/Wflow.jl into wa…
vers-w Apr 25, 2024
ef17ec1
Add paddy states and some small changes
vers-w May 7, 2024
ba8e679
Add a couple of water demand and allocation tests
vers-w May 7, 2024
783a089
Subtract `paddy_h_add` from `runoff`
vers-w May 13, 2024
7eafa48
Fix update of `h3` first time step `update_water_demand`
vers-w May 13, 2024
6431522
Extend water demand tests and small fix
vers-w May 13, 2024
62aadd7
Exclude local groundwater abstraction below water bodies
vers-w May 14, 2024
6b06b96
Add `Paddy` water depth to total water storage computation
vers-w May 14, 2024
3b1aa36
Use one struct for non-irrigation demand
vers-w May 15, 2024
d022b7b
Add parameters docs for water demand and allocation
vers-w May 15, 2024
cb0552e
Fix update of `returnflow_fraction`
vers-w May 16, 2024
5b5ad10
Specify type of water demand fields in `SBM`
vers-w May 16, 2024
bad9a64
Refactor return flow functions non-irrigation sectors
vers-w May 16, 2024
fd2cad9
Support water demand and allocation for `sbm_gwf` concept
vers-w May 17, 2024
bc9f826
Water demand and allocation for `sbm_gwf`
vers-w May 18, 2024
b4b5b73
Add test waterlevel lake
vers-w May 18, 2024
8ff5155
Allow infiltration of paddy water
vers-w May 21, 2024
f2ee3bf
Update piave test model
vers-w May 27, 2024
2774a94
Limit irrigation depth paddy and non-paddy
vers-w May 27, 2024
3adb3a4
Add code comments and update `paddy_h_add`
vers-w May 29, 2024
e1063f1
Parameter `maximum_irrigation_depth` as Vector
vers-w May 30, 2024
f190306
Merge branch 'master' into water-demand
vers-w Jun 3, 2024
ab7f208
Fix unit `act_groundwater_abst`
vers-w Jun 3, 2024
9210fd6
Update wflow piave test model
vers-w Jun 3, 2024
4ce82ab
Start with water demand docs as part of `SBM` concept
vers-w Jun 4, 2024
0aa2907
Update docs (root water uptake reduction changed)
vers-w Jun 5, 2024
010ebfd
Docs: add water demand and allocation to "Addition wflow options" sec…
vers-w Jun 5, 2024
2d19587
Update docs water demand and allocation
vers-w Jun 6, 2024
c5795a9
Update changelog
vers-w Jun 6, 2024
c4e023b
Fix unit for computation `max_abstract` of kinematic wave
vers-w Jun 10, 2024
46228ac
Update changelog
vers-w Jun 11, 2024
9affb62
Fix `SBM` root water uptake computation
vers-w Jun 12, 2024
43bc18a
Consistent use of `rootingdepth` corrected by `soilthickness`
vers-w Jun 12, 2024
9312fd2
Avoid actual transpiration > potential transpiration
vers-w Jun 13, 2024
21d845c
Update changelog
vers-w Jun 13, 2024
f393cea
Update docs and changelog
vers-w Jun 14, 2024
9a0927c
Fix adding `nonirri_returnflow` to overland flow
vers-w Jun 24, 2024
61640d7
Reset allocations and abstractions before update
vers-w Jul 2, 2024
495c6d9
Small fix unit `act_surfacewater_abst`
vers-w Jul 2, 2024
c590219
Fix indexing `nonirri_returnflow` for river cells
vers-w Jul 2, 2024
c2ca984
Compute `groundwater_demand` for all land cells
vers-w Jul 3, 2024
a24c531
Simplify computation `groundwater_demand` local
vers-w Jul 3, 2024
ce9ecd4
Adress review comment: replace `waterallocation` by `allocation`
vers-w Jul 15, 2024
b66a3df
Adress review comment: replace `divide` by `bounded_divide`
vers-w Jul 15, 2024
6b5f746
Adress review comment: extend tests Feddes reduction function
vers-w Jul 15, 2024
486d4aa
Addres review comments: docs
vers-w Jul 15, 2024
67ca647
Adress review comment: rename variable `maximum_irrigation_depth`
vers-w Jul 15, 2024
6d15db1
Address remaining review comments
vers-w Jul 16, 2024
d08def6
Small docs improvements
vers-w Jul 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions build/create_binaries/download_test_data.jl
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,9 @@ instates_sbm_gw_path =
lake_sh_1_path = testdata(v"0.2.1", "lake_sh_1.csv", "lake_sh_1.csv")
lake_sh_2_path = testdata(v"0.2.1", "lake_sh_2.csv", "lake_sh_2.csv")
lake_hq_2_path = testdata(v"0.2.1", "lake_hq_2.csv", "lake_hq_2.csv")
forcing_calendar_noleap_path =
testdata(v"0.2.8", "forcing-calendar-noleap.nc", "forcing-calendar-noleap.nc")
forcing_piave_path = testdata(v"0.2.9", "inmaps-era5-2010-piave.nc", "forcing-piave.nc")
staticmaps_piave_path = testdata(v"0.2.9", "staticmaps-piave.nc", "staticmaps-piave.nc")
instates_piave_path = testdata(v"0.2.9", "instates-piave.nc", "instates-piave.nc")
instates_piave_gwf_path = testdata(v"0.2.9", "instates-piave-gwf.nc", "instates-piave-gwf.nc")
13 changes: 12 additions & 1 deletion docs/src/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
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
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
Expand All @@ -84,6 +94,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
the following sections: [The SBM soil water accounting scheme](@ref) and [Subsurface flow
routing](@ref) 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

Expand Down
Binary file added docs/src/images/paddy_profile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 8 additions & 7 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@ CurrentModule = Wflow

Wflow is Deltares' solution for modelling hydrological processes, allowing users to account
for precipitation, interception, snow accumulation and melt, evapotranspiration, soil water,
surface water and groundwater recharge in a fully distributed environment. Successfully
applied worldwide for analyzing flood hazards, drought, climate change impacts and land use
changes, wflow is growing to be a leader in hydrology solutions. Wflow is conceived as a
framework, within which multiple distributed model concepts are available, which maximizes
the use of open earth observation data, making it the hydrological model of choice for data
scarce environments. Based on gridded topography, soil, land use and climate data, wflow
calculates all hydrological fluxes at any given grid cell in the model at a given time step.
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
Expand Down
7 changes: 7 additions & 0 deletions docs/src/model_docs/lateral/kinwave.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,13 @@ External water (supply/abstraction) `inflow` [m``^3`` s``^{-1}``] can be added
kinematic wave for surface water routing, as a cyclic parameter or as part of forcing (see
also [Input section](@ref)).

## Abstractions (internal)
Abstractions (internal) from the river are possible when water demand and allocation is
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to explain what you mean by internal, also in local-inertial.md.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, I did leave out this confusing term and rewrote the description a bit.

computed through the variable `abstraction` [m``^3`` s``{-1}``], that is set from the water
demand and allocation module each time step. The `abstraction` is divided by the length of
the runoff pathway and subtracted from the lateral inflow of the kinematic wave routing
scheme for river flow.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if the abstraction is higher that the lateral inflow?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then there is negative lateral inflow. Note that abstraction is limited to the available river water volume multiplied by a fixed scaling factor (0.80), including a check for negative external inflow.


## Subsurface flow routing
In the SBM model the kinematic wave approach is used to route subsurface flow laterally.
Different vertical hydraulic conductivity depth profiles are possible as part of the
Expand Down
6 changes: 6 additions & 0 deletions docs/src/model_docs/lateral/local-inertial.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,12 @@ External water (supply/abstraction) `inflow` [m``^3`` s``^{-1}``] can be added
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](@ref)).

## Abstractions (internal)
Abstractions (internal) from the river are possible when water demand and allocation is
computed through the variable `abstraction` [m``^3`` s``{-1}``], that 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.
Expand Down
8 changes: 8 additions & 0 deletions docs/src/model_docs/model_configurations.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ for the vertical concept SBM of wflow\_sbm:
- The unsaturated zone can be split-up in different layers
- The addition of evapotranspiration losses
- The addition of a capillary rise
- The addition of [water demand and allocation](@ref sbm_demand_allocation)

The water demand and allocation computations are supported by the wflow\_sbm model
configurations:
- [SBM + Kinematic wave](@ref config_sbm)
- [SBM + Groundwater flow](@ref config_sbm_gwf)
- [SBM + Local inertial river](@ref config_sbm_gwf_lie_river)
- [SBM + Local inertial river (1D) and land (2D)](@ref config_sbm_gwf_lie_river_land)

The vertical SBM concept is explained in more detail in the following section [SBM vertical
concept](@ref vert_sbm).
Expand Down
22 changes: 20 additions & 2 deletions docs/src/model_docs/params_lateral.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ internal model parameter `sl`, and is listed in the Table below between parenthe
| `q_av` | average discharge | m``^3`` s``^{-1}``| - |
| `qlat` | lateral inflow per unit length | m``^2`` s``^{-1}``| - |
| `inwater` | lateral inflow | m``^3`` s``^{-1}``| - |
| `inflow` | external inflow (abstraction/supply/demand) | m``^3`` s``^{-1}``| 0.0 |
| **`inflow`** | external inflow (abstraction/supply/demand) | m``^3`` s``^{-1}``| 0.0 |
| `inflow_wb` | inflow waterbody (lake or reservoir model) from land part | m``^3`` s``^{-1}``| 0.0 |
| `abstraction` | abstraction (computed as part of water demand and allocation) | m``^3`` s``^{-1}``| 0.0 |
| `volume` | kinematic wave volume |m``^3``| - |
| `h` | water level | m | - |
| `h_av` | average water level | m | - |
Expand All @@ -38,6 +40,7 @@ internal model parameter `sl`, and is listed in the Table below between parenthe
| `lake_index` | map cell to 0 (no lake) or i (pick lake i in lake field) | - | - |
| `reservoir` | an array of reservoir models `SimpleReservoir` | - | - |
| `lake` | an array of lake models `Lake` | - | - |
| `waterallocation`| water allocation of type `WaterAllocationRiver` | - | - |
| `kinwave_it` | boolean for kinematic wave iterations | - | false |

The Table below shows the parameters (fields) of struct `SurfaceFlowLand` used for overland
Expand Down Expand Up @@ -210,6 +213,7 @@ the `layered_exponential` profile `kv` is used and `z_exp` is required as part o
| `ssfin` | inflow from upstream cells | m``^3`` d``{-1}`` | - |
| `ssfmax` | maximum subsurface flow | m``^2`` d``{-1}`` | - |
| `to_river` | part of subsurface flow that flows to the river | m``^3`` d``{-1}`` | - |
| `volume` | subsurface volume | m``^3`` | - |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the subsurface water volume right? Good to make that explicit.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, changed the description.


## Local inertial

Expand Down Expand Up @@ -270,7 +274,8 @@ model parameter `mannings_n`, and is listed in the Table below between parenthes
| `volume` | river volume | m``^3`` | - |
| `error` | error volume | m``^3`` | - |
| `inwater` | lateral inflow | m``^3`` s``^{-1}`` | - |
| `inflow` | external inflow (abstraction/supply/demand) | m``^3`` s``^{-1}``| 0.0 |
| **`inflow`** | external inflow (abstraction/supply/demand) | m``^3`` s``^{-1}``| 0.0 |
| `abstraction` | abstraction (computed as part of water demand and allocation) | m``^3`` s``^{-1}``| 0.0 |
| `inflow_wb` | inflow waterbody (lake or reservoir model) from land part | m``^3`` s``^{-1}``| 0.0 |
| `bankfull_volume` | bankfull volume | m``^3`` | - |
| **`bankfull_depth`** | bankfull depth | m | - |
Expand All @@ -280,6 +285,7 @@ model parameter `mannings_n`, and is listed in the Table below between parenthes
| `waterbody` | water body cells (reservoir or lake) | - | - |
| `reservoir` | an array of reservoir models `SimpleReservoir` | - | - |
| `lake` | an array of lake models `Lake` | - | - |
| `waterallocation`| optional water allocation of type `WaterAllocationRiver` | - | - |
| `floodplain` | optional 1D floodplain routing `FloodPlain` | - | - |

### [1D floodplain](@id local-inertial_floodplain_params)
Expand Down Expand Up @@ -376,6 +382,18 @@ internal model parameter `z`, and is listed in the Table below between parenthes
| `rivercells` | river cells| - | - |
| `h_av` | average water depth| m | - |

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

| parameter | description | unit | default |
|:--------------- | ------------------| ----- | -------- |
| `act_surfacewater_abst` | actual surface water abstraction | mm Δt⁻¹ | - |
| `act_surfacewater_abst_vol`| actual surface water abstraction | m``^3`` Δt⁻¹ | - |
| `available_surfacewater`| available surface water | m``^3`` | - |
| `nonirri_returnflow`| return flow from non-irrigation | mm Δt⁻¹ | - |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps mention what non-irrigation consists of here as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added the non-irrigation sectors.


## Groundwater flow

### Confined aquifer
Expand Down
95 changes: 93 additions & 2 deletions docs/src/model_docs/params_vertical.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ profile `kv` is used and `z_layered` is required as input.
| **`f`** | scaling parameter (controls exponential decline of `kv_0`) | mm``^{-1}`` | 0.001 |
| **`z_exp`** | Depth from soil surface for which exponential decline of `kv_0` is valid | mm | - |
| **`z_layered`** | Depth from soil surface for which layered profile (of `layered_exponential`) is valid | mm | - |
| **`hb`** | air entry pressure of soil (Brooks-Corey) | cm | 10.0 |
| **`hb`** | air entry pressure of soil (Brooks-Corey) | cm | -10.0 |
| **`soilthickness`** | soil thickness | mm | 2000.0 |
| **`infiltcappath`** | infiltration capacity of the compacted areas | mm Δt``^{-1}`` | 10.0 mm day``^{-1}`` |
| **`infiltcapsoil`** | soil infiltration capacity | mm Δt``^{-1}`` | 100.0 mm day``^{-1}``|
Expand All @@ -61,6 +61,13 @@ profile `kv` is used and `z_layered` is required as input.
| **`waterfrac`** | fraction of open water (excluding rivers) | - | 0.0 |
| **`pathfrac`** | fraction of compacted area | - | 0.01 |
| **`rootingdepth`** | rooting depth | mm | 750.0 |
| **`rootfraction`** | root fraction per soil layer (relative to the total root length) | - | - |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the total root length here the length from the surface to the bottom of the longest root? Or is it the total length of all roots, such that it can take into account that some depths have a higher root density?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It can indeed take into account that some depths have a higher root density, changed the description to make this more clear.

| **`h1`** | soil water pressure head h1 of the root water uptake reduction function (Feddes) | cm | 0.0 cm |
| **`h2`** | soil water pressure head h2 of the root water uptake reduction function (Feddes) | cm | -100.0 cm |
| **`h3_high`** | soil water pressure head h3_high of the root water uptake reduction function (Feddes) | cm | -400.0 cm |
| **`h3_low`** | soil water pressure head h3_low of the root water uptake reduction function (Feddes) | cm | -1000.0 cm |
| **`h4`** | soil water pressure head h4 of the root water uptake reduction function (Feddes) | cm | -15849.0 cm |
| **`alpha_h1`** | root water uptake reduction at soil water pressure head h1 (0.0 or 1.0) | - | 1.0 |
| **`rootdistpar`** | controls how roots are linked to water table | - | -500.0 |
| **`cap_hmax`** | water depth beyond which capillary flux ceases | mm | 2000.0 |
| **`cap_n`** | coefficient controlling capillary rise | - | 2.0 |
Expand Down Expand Up @@ -134,7 +141,12 @@ profile `kv` is used and `z_layered` is required as input.
| `waterlevel_land` | water level land | mm | - |
| `waterlevel_river` | water level river | mm | - |
| `total_storage` | total water storage (excluding floodplains, lakes and reservoirs) | mm | - |

| `paddy` | optional paddy (rice) fields of type `Paddy` (water demand and irrigation) | - | - |
| `nonpaddy` | optional non-paddy fields of type `NonPaddy` (water demand and irrigation) | - | - |
| `domestic` | optional domestic water demand of type `NonIrrigationDemand` | - | - |
| `livestock` | optional livestock water demand of type `NonIrrigationDemand` | - | - |
| `industry` | optional industry water demand of type `NonIrrigationDemand` | - | - |
| `waterallocation` | optional water allocation of type `WaterAllocationLand` | - | - |

## [HBV](@id params_hbv)
The Table below shows the parameters (fields) of struct `HBV`, including a description of
Expand Down Expand Up @@ -378,3 +390,82 @@ specific_leaf = "Sl"
| `TCsand` | transport capacity of overland flow for particle class sand | ton Δt``^{-1}`` | - |
| `TCsagg` | transport capacity of overland flow for particle class small aggregates | ton Δt``^{-1}`` | - |
| `TClagg` | transport capacity of overland flow for particle class large aggregates | ton Δ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.

| parameter | description | unit | default |
|:---------------| --------------- | ---------------------- | ----- |
| `demand_gross` | irrigation gross demand | mm Δt``^{-1}`` | - |
| **`irrigation_efficiency`** | irrigation efficiency | - | - |
| **`maximum_irrigation_depth`** | maximum irrigation depth | mm Δt``^{-1}`` | 25.0 |
JoostBuitink marked this conversation as resolved.
Show resolved Hide resolved
| **`irrigation_areas`** | irrigation areas | - | - |
| **`irrigation_trigger`** | irrigation on or off | - | - |
| **`h_min`** | minimum required water depth in the irrigated paddy fields | mm | 20.0 |
| **`h_opt`** | optimal water depth in the irrigated paddy fields | mm | 50.0 |
| **`h_max`** | water depth when paddy field starts spilling water (overflow) | mm | 80.0 |
| `h` | actual water depth in paddy field | mm | - |

### 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.

| parameter | description | unit | default |
|:---------------| --------------- | ---------------------- | ----- |
| `demand_gross` | irrigation gross demand | mm Δt``^{-1}`` | - |
| **`irrigation_efficiency`** | irrigation efficiency | - | - |
| **`maximum_irrigation_depth`** | maximum irrigation depth | mm Δt``^{-1}`` | 25.0 |
| **`irrigation_areas`** | irrigation areas | - | - |
| **`irrigation_trigger`** | irrigation on or off | - | - |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some indication that a Boolean is expected here would be good. Or do you expect 1 and 0?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A Boolean is expected, added it to the description.


### 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.

| parameter | description | unit | default |
|:---------------| --------------- | ---------------------- | ----- |
| **`demand_gross`** | gross industry water demand | mm Δt``^{-1}`` | 0.0 |
| **`demand_net`** | net industry water demand | mm Δt``^{-1}`` | 0.0 |
| `returnflow_fraction` | return flow fraction | - | - |
| `returnflow` | return flow | mm Δt``^{-1}`` | - |

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

| parameter | description | unit | default |
|:---------------| --------------- | ---------------------- | ----- |
| `irri_demand_gross` | irrigation gross demand | mm Δt``^{-1}`` | - |
| `nonirri_demand_gross` | non-irrigation gross demand | mm Δt``^{-1}`` | - |
| `total_gross_demand` | total gross demand | mm Δt``^{-1}`` | - |
| **`frac_sw_used`** | fraction surface water used | - | 1.0 |
| **`areas`** | allocation areas | - | 1 |
| `surfacewater_demand` | demand from surface water | mm Δt``^{-1}`` | - |
| `surfacewater_alloc` | allocation from surface water | mm Δt``^{-1}`` | - |
| `act_groundwater_abst` | actual groundwater abstraction | mm Δt``^{-1}`` | - |
| `act_groundwater_abst_vol` | actual groundwater abstraction | m``^3`` Δt``^{-1}`` | - |
| `available_groundwater` | available groundwater | m``^3`` | - |
| `groundwater_demand` | groundwater_demand |mm Δt``^{-1}`` | - |
| `groundwater_alloc` | allocation from groundwater |mm Δt``^{-1}`` | - |
| `irri_alloc` | allocated water for irrigation |mm Δt``^{-1}`` | - |
| `nonirri_alloc` | allocated water for non-irrigation |mm Δt``^{-1}`` | - |
| `total_alloc` | total allocated water |mm Δt``^{-1}`` | - |
| `nonirri_returnflow` | return flow from non-irrigation |mm Δt``^{-1}`` | - |
Loading
Loading