![]() |
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. | |
Static Public Attributes | |
| static const unsigned int | IMAX_W = 24 |
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 () |
| 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 | get_time_step_duration () |
| Time fraction with regard to daily rates. | |
| double | get_clay_limitation (size_t _sl, double _water_avail, double _water_ref) |
| Restrains water availability due to clay content. | |
Private Attributes | |
| double | thornthwaite_heat_index |
| heat index for potential evaporation using approach after Thornthwaite | |
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(), 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 get_time_step_duration().
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(), get_time_step_duration(), SoilWaterEvaporation(), 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 get_time_step_duration().
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 |
fixed amount of maximum rainfall/irrigation triggered per time step
References rainfall_intensity().
Referenced by CalcIrrigation(), CalcRaining(), and rainfall_intensity().


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


|
private |
| [in] | None | |
| [out] | None |
References get_time_step_duration(), 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(), get_time_step_duration(), and WaterFlowAboveFieldCapacity().
Referenced by CalcSoilEvapoPercolation(), CalcTranspiration(), and WaterFlowAboveFieldCapacity().


|
static |
number of iteration steps within a day