Open hboisgon opened 2 years ago
Wflow.jl uses critical pressure heads (cm) for root water uptake reduction (Feddes): h1, h2, h3_h, h3_l and h4. Values for different crop types can be found in literature and in software packages like SWAP (e.g. https://edepot.wur.nl/222782) and HYDRUS. For rice (paddy) I did find the following values: 100, 55, -160, -250, -16000 based on Singh (https://edepot.wur.nl/121640).
For irrigation areas in Wflow.jl two types are available: Paddy and NonPaddy. As Wflow.jl does not work with sub-grid land cover functionality this should be based on dominant land cover.
Root fraction with depth (root distribution) has been added to the SBM
concept (rootfraction
) of Wflow.jl, also for natural vegetation. A good starting point is "Global Vegetation Root Distribution for Land Modeling" of Zeng (2001) and references therein:
https://journals.ametsoc.org/view/journals/hydr/2/5/1525-7541_2001_002_0525_gvrdfl_2_0_co_2.xml
I came across this dataset, if of interest:
Sectors domestic, industry and livestock:
demand_gross
(gross water demand) [mm Δt⁻¹].demand_net
(net water demand) [mm Δt⁻¹].Paddy (paddy irrigated crops (i.e. rice)):
irrigation_areas
(irrigation areas) [-].irrigation_efficiency
(irrigation efficiency) [-].h_min
(minimum required water depth in the irrigated rice field) [mm], (e.g. 20 mm was used for Brantas basin).h_opt
(optimal water depth in the irrigated rice fields) [mm], (e.g. 50 mm was used for Brantas basin).h_max
(water depth when rice field starts spilling water (overflow)) [mm], (e.g. 80 mm was used for Brantas basin).kvfrac
(multiplication factor applied to vertical hydraulic conductivity) [-]: most irrigated paddy soils are characterized by a layer with low permeability (plow sole), in the order ~5 mm/day.Non-paddy (non-paddy irrigated crops):
irrigation_areas
(irrigation areas) [-].irrigation_efficiency
(irrigation efficiency) [-].Input for paddy, non-paddy and other vegetation:
kc
(crop coefficient) [-], as (monthly climatology).h1
, h_2
, h3_high
, h3_low
, h4
(critical pressure heads for root water uptake reduction) [cm], see also comment.alpha_h1
(root water uptake reduction at h1
) [-], either 0.0 or 1.0 (root water uptake not constrained during saturated conditions). rootfraction
(root fraction with depth) [-], see also comment, by default a homogeneous root distribution is assumed in Wflow.Water allocation:
I think the variable frac_sw_used
(frac_sw_abstraction
is probably a better term) is sufficient for Wflow, the fraction groundwater used is then (1.0 - frac_sw_used
). So, do we also need frac_sw_gw_extraction
?
We could indeed base this on water use statistics (e.g. from FAO, often at country level), and condition this with a map of active/productive aquifers, similar to LISFLOOD. Or we could use for example the approach described in the paper mentioned in the comment above.
An approach to check if irrigation is required during a time step for irrigation areas is to use the crop factor valid for that time step and a crop factor threshold (e.g. a value of 0.2 for NonPaddy
areas and a value of 0.75 for Paddy
areas used by models like PCR-GLOBWB and CWATM).
As we do not use a crop factor climatology/ time series in Wflow for water demand, another more suitable approach is to use the leaf area index time series (climatology/forcing) for determining the growing season of irrigated crops. See also the following links for more detailed information Global Variability of Simulated and Observed Vegetation Growing Season, CRESCENDO and github code.
Not sure if we need to follow this approach completely in hydromt_wflow (perhaps Eq. 2 in Peano et al. is already sufficient), but a climatology map with a parameter that indicates whether crops are growing and irrigation can be applied would be very useful. @JoostBuitink, @hboisgon and @dalmijn what do you think of this approach?
After a discussion with @verseve, we decided the following functionality to be added to the current PR:
c
parameter):
[50, 100, 50, 200, 800, ]
. This stays close to the default values ([100, 300, 800,]
), but allows us to add a layer below the paddy fields (from 15 to 20 cm depth) where we can restrict the conductivity to ensure water stays in the top 15 cm.kvfrac
for that specific layer. For all other layers, this parameter remains 1.irrigation_trigger
or something) that essentially flags for each pixel and month whether irrigation can start.
Add first implementation new water demands input data for the new water demand allocation module in Wflow.Jl.
TODOs: