![]() |
LandscapeDNDC 1.37.0
|
Watercycle model WatercycleDNDC. More...
#include <models/watercycle/dndc/watercycle-dndc.h>
Public Member Functions | |
| lerr_t | solve () |
| Kicks off computation for one time step. | |
Private Member Functions | |
| lerr_t | event_irrigate () |
| considers water input due to irrigation and/or liquid manure evetns | |
| lerr_t | event_flood () |
| sets hydrologic conditions during flooding events, e.g., | |
| double | balance_check (double *) |
| checks each time step for correct water balance | |
| void | CalcRaining (unsigned int) |
| apportion daily rainfall to subdaily rainfall | |
| double | rainfall_intensity () |
| void | CalcIrrigation (unsigned int) |
| apportion daily irrigation to subdaily irrigation | |
| lerr_t | CalcIceContent () |
| Call of ice-content related processes. | |
| lerr_t | CalcPotEvapoTranspiration (size_t) |
| Potential evaporation. | |
| void | CalcInterception () |
| Calculates water quantity that is retained on leaf and stem bark surfaces. | |
| double | get_leaf_water () |
| Collects leaf water from all canopy layers. | |
| double | get_impedance_factor (size_t) |
| Reduces water fluxes out of a layer if ice lenses have formed. | |
| lerr_t | CalcTranspiration () |
| lerr_t | CalcTranspirationCouvreur (double const &hr_potTransinm) |
| void | CalcSnowEvaporation () |
| void | CalcSurfaceWaterEvaporation () |
| void | CalcSurfaceFlux () |
| void | WatercycleDNDC_preferential_flow () |
| void | CalcSoilEvapoPercolation () |
| void | SoilWaterEvaporation (size_t) |
| double | WaterFlowCapillaryRise (size_t, double const &) |
| Similar to WaterFlowBelowFieldCapacity(...) but restricts water flow by water availability from soil layer below. | |
| double | WaterFlowAboveFieldCapacity (size_t, double const &) |
| double | get_fsl (size_t) |
| Returns factor accounting for soil layer depth. Originally, a constant soil layer depth of 0.02 m has been assumed. Due to flexible layer depth, an additional factor has been introduced that accounts for a higher resistance of larger layers. | |
| double | substep_day_fraction () |
| Length of a substep as fraction of a day. | |
| double | get_clay_limitation (size_t _sl, double _water_avail, double _water_ref) |
| Restrains water availability due to clay content. | |
| double | hours_per_time_step () |
Private Attributes | |
| double | thornthwaite_heat_index |
| heat index for potential evaporation using approach after Thornthwaite | |
| double | rainfall_intensity_cache |
Watercycle model WatercycleDNDC.
|
private |
checks each time step for correct water balance
Balance check of water.
References balance_check(), and get_leaf_water().
Referenced by balance_check(), and solve().


|
private |
Calculates water quantity that is retained on leaf and stem bark surfaces.
References get_impedance_factor(), and get_leaf_water().
Referenced by solve().


|
private |
apportion daily irrigation to subdaily irrigation
Automatic irrigation to prevent water stress
GGCMI style irrigation
Irrigation due to flooding
irrigation triggered by flooding management
Irrigation due to explicit irrigation event
References CalcIrrigation(), get_impedance_factor(), and rainfall_intensity().
Referenced by CalcIrrigation(), and solve().


|
private |
Potential evaporation.
there are two methods of calculating potential evaporation (choose via macro POTENTIAL_EVAPORATION above)
References CalcPotEvapoTranspiration(), ldndc::thornthwaite(), ldndc::thornthwaite_heat_index(), and thornthwaite_heat_index.
Referenced by CalcPotEvapoTranspiration(), and solve().


|
private |
| [in] | None | |
| [out] | None |
References CalcSnowEvaporation().
Referenced by CalcSnowEvaporation(), CalcTranspiration(), and solve().


|
private |
| [in] | None | |
| [out] | None |
References CalcSoilEvapoPercolation(), CalcSurfaceFlux(), get_impedance_factor(), SoilWaterEvaporation(), WaterFlowAboveFieldCapacity(), and WaterFlowCapillaryRise().
Referenced by CalcSoilEvapoPercolation(), CalcTranspiration(), and solve().


|
private |
| [in] | None | |
| [out] | None |
References CalcSurfaceFlux(), and substep_day_fraction().
Referenced by CalcSoilEvapoPercolation(), CalcSurfaceFlux(), and CalcTranspiration().


|
private |
| [in] | None | |
| [out] | None |
References CalcSurfaceWaterEvaporation().
Referenced by CalcSurfaceWaterEvaporation(), CalcTranspiration(), and solve().


|
private |
| [in] | None | |
| [out] | None |
References CalcSnowEvaporation(), CalcSoilEvapoPercolation(), CalcSurfaceFlux(), CalcSurfaceWaterEvaporation(), CalcTranspirationCouvreur(), get_clay_limitation(), get_fsl(), hours_per_time_step(), SoilWaterEvaporation(), substep_day_fraction(), WatercycleDNDC_preferential_flow(), WaterFlowAboveFieldCapacity(), and WaterFlowCapillaryRise().
Referenced by solve().


|
private |
| [in] | None | |
| [out] | None |
References CalcTranspirationCouvreur().
Referenced by CalcTranspiration(), and CalcTranspirationCouvreur().


|
private |
sets hydrologic conditions during flooding events, e.g.,
References event_flood(), and substep_day_fraction().
Referenced by event_flood(), and solve().


|
private |
Collects leaf water from all canopy layers.
| [in] | None | |
| [out] | None |
References get_leaf_water().
Referenced by balance_check(), CalcInterception(), and get_leaf_water().


|
private |
number of hours per time step
References hours_per_time_step().
Referenced by CalcRaining(), CalcTranspiration(), and hours_per_time_step().


|
private |
rainfall intensity, i.e., maximum rainfall/irrigation per hour [m h-1]
References rainfall_intensity(), and rainfall_intensity_cache.
Referenced by CalcIrrigation(), CalcRaining(), and rainfall_intensity().


|
private |
| [in] | _sl | Soil layer |
| [out] | None |
References SoilWaterEvaporation().
Referenced by CalcSoilEvapoPercolation(), CalcTranspiration(), and SoilWaterEvaporation().


|
private |
Length of a substep as fraction of a day.
Length of a substep as fraction of a day (used to convert daily rates to rates per substep)
References substep_day_fraction().
Referenced by CalcSurfaceFlux(), CalcTranspiration(), event_flood(), substep_day_fraction(), WatercycleDNDC_preferential_flow(), and WaterFlowAboveFieldCapacity().


|
private |
| [in] | None | |
| [out] | None |
References substep_day_fraction(), and WatercycleDNDC_preferential_flow().
Referenced by CalcTranspiration(), solve(), and WatercycleDNDC_preferential_flow().


|
private |
factor accounting for different water travelling characteristics in litter and mineral soil
References get_fsl(), substep_day_fraction(), and WaterFlowAboveFieldCapacity().
Referenced by CalcSoilEvapoPercolation(), CalcTranspiration(), and WaterFlowAboveFieldCapacity().


|
private |
rainfall intensity (constant during a run), cached on first use (negative: not yet read) [m h-1]
Referenced by rainfall_intensity().