5.13.2-dev0
mHM
The mesoscale Hydrological Model
Loading...
Searching...
No Matches
mo_soil_moisture Module Reference

Soil moisture of the different layers. More...

Functions/Subroutines

subroutine, public soil_moisture (processcase, frac_sealed, water_thresh_sealed, pet, evap_coeff, soil_moist_sat, frac_roots, soil_moist_fc, wilting_point, soil_moist_exponen, jarvis_thresh_c1, aet_canopy, prec_effec, runoff_sealed, storage_sealed, infiltration, soil_moist, aet, aet_sealed)
 Soil moisture in different soil horizons.
 
elemental pure real(dp) function, public feddes_et_reduction (soil_moist, soil_moist_fc, wilting_point, frac_roots)
 stress factor for reducing evapotranspiration based on actual soil moisture
 
elemental pure real(dp) function, public jarvis_et_reduction (soil_moist, soil_moist_sat, wilting_point, frac_roots, jarvis_thresh_c1)
 stress factor for reducing evapotranspiration based on actual soil moisture
 

Detailed Description

Soil moisture of the different layers.

Soil moisture in the different layers is calculated with infiltration as \( (\theta / \theta_{sat})^\beta \) Then evapotranspiration is calculated from PET with a soil water stress factor \( f_{SM} \) either using the Feddes equation - processCase(3) = 1:

\[ f_{SM} = \frac{\theta - \theta_\mathit{pwp}}{\theta_\mathit{fc} - \theta_\mathit{pwp}} \]

or using the Jarvis equation - processCase(3) = 2:

\[ f_{SM} = \frac{1}{\theta_\mathit{stress-index-C1}} \frac{\theta - \theta_\mathit{pwp}}{\theta_\mathit{sat} - \theta_\mathit{pwp}} \]

Authors
Matthias Cuntz, Luis Samaniego
Date
Dec 2012

Function/Subroutine Documentation

◆ feddes_et_reduction()

elemental pure real(dp) function, public mo_soil_moisture::feddes_et_reduction ( real(dp), intent(in)  soil_moist,
real(dp), intent(in)  soil_moist_fc,
real(dp), intent(in)  wilting_point,
real(dp), intent(in)  frac_roots 
)

stress factor for reducing evapotranspiration based on actual soil moisture

Potential evapotranspiration is reduced to 0 if SM is lower PWP. PET is equal fraction of roots if soil moisture is exceeding field capacity. If soil moisture is in between PWP and FC PET is reduced by fraction of roots times a stress factor. The ET reduction factor \( f \) is estimated as

\[ f = \left\{ \begin{array}{lr} f_{roots} & if \theta \ge \theta_{fc}\\ f_{roots} \cdot \frac{\theta - \theta_\mathit{pwp}}{\theta_\mathit{fc} - \theta_\mathit{pwp}} & if \theta < \theta_{fc} \\ 0 & if \theta < \theta_{pwp} \end{array} \right. \]

Parameters
[in]real(dp) :: soil_moistSoil moisture of each horizon [mm]
[in]real(dp) :: soil_moist_FCSoil moisture below which actual ET is reduced [mm]
[in]real(dp) :: wilting_pointPermanent wilting point
[in]real(dp) :: frac_rootsFraction of Roots in soil horizon is reduced [mm]
Returns
real(dp) :: feddes_et_reduction; et reduction factor
Authors
Matthias Cuntz, Cueneyd Demirel, Matthias Zink
Date
March 2017

Definition at line 333 of file mo_soil_moisture.f90.

References feddes_et_reduction().

Referenced by feddes_et_reduction(), and soil_moisture().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ jarvis_et_reduction()

elemental pure real(dp) function, public mo_soil_moisture::jarvis_et_reduction ( real(dp), intent(in)  soil_moist,
real(dp), intent(in)  soil_moist_sat,
real(dp), intent(in)  wilting_point,
real(dp), intent(in)  frac_roots,
real(dp), intent(in)  jarvis_thresh_c1 
)

stress factor for reducing evapotranspiration based on actual soil moisture

The soil moisture stress factor is estimated based on the normalized soil water content. The normalized soil water content \( \theta_{norm} \) is estimated as:

\[ \theta_{norm} = \frac{\theta - \theta_\mathit{pwp}} {\theta_{sat} - \theta_{pwp}} \]

The ET reduction factor \( f \) is estimated as

\[ f = \left\{ \begin{array}{lr} f_{roots} & if \theta_{norm} \ge jarvis\_sm\_threshold\_c1 \\ f_{roots}\frac{\theta_{norm}}{jarvis\_sm\_threshold\_c1} & if \theta_{norm} < jarvis\_sm\_threshold\_c1 \\ \end{array} \right. \]

Parameters
[in]real(dp) :: soil_moistSoil moisture of each horizon [mm]
[in]real(dp) :: soil_moist_satsaturated Soil moisture content [mm]
[in]real(dp) :: wilting_pointPermanent wilting point
[in]real(dp) :: frac_rootsFraction of Roots in soil horizon is reduced [mm]
[in]real(dp) :: jarvis_thresh_c1parameter C1 from Jarvis formulation
Returns
real(dp) :: jarvis_et_reduction; et reduction factor
Authors
Cueneyd Demirel, Matthias Zink
Date
March 2017

Definition at line 405 of file mo_soil_moisture.f90.

References jarvis_et_reduction().

Referenced by jarvis_et_reduction(), and soil_moisture().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ soil_moisture()

subroutine, public mo_soil_moisture::soil_moisture ( integer(i4), intent(in)  processcase,
real(dp), intent(in)  frac_sealed,
real(dp), intent(in)  water_thresh_sealed,
real(dp), intent(in)  pet,
real(dp), intent(in)  evap_coeff,
real(dp), dimension(:), intent(in)  soil_moist_sat,
real(dp), dimension(:), intent(in)  frac_roots,
real(dp), dimension(:), intent(in)  soil_moist_fc,
real(dp), dimension(:), intent(in)  wilting_point,
real(dp), dimension(:), intent(in)  soil_moist_exponen,
real(dp), intent(in)  jarvis_thresh_c1,
real(dp), intent(in)  aet_canopy,
real(dp), intent(in)  prec_effec,
real(dp), intent(inout)  runoff_sealed,
real(dp), intent(inout)  storage_sealed,
real(dp), dimension(size(soil_moist_sat, 1)), intent(inout)  infiltration,
real(dp), dimension(size(soil_moist_sat, 1)), intent(inout)  soil_moist,
real(dp), dimension(size(soil_moist_sat, 1)), intent(out)  aet,
real(dp), intent(out)  aet_sealed 
)

Soil moisture in different soil horizons.

Infiltration \(I\) from one layer \(k-1\) to the next \(k\) on pervious areas is calculated as (omit \(t\))

\[ I[k] = I[k-1] (\theta[k] / \theta_{sat}[k])^{\beta[k]} \]

Then soil moisture can be calculated as (omit \(k\))

\[ \theta[t] = \theta[t-1] + I[t] - \mathit{ET}[t] \]

with \( \mathit{ET} \) (omit \([k,t]\)) being

\[ \mathit{ET} = f_\mathrm{roots} \cdot f_{SM} \cdot \mathit{PET} \]

.

Parameters
[in]integer(i4) :: processCase1 - Feddes equation for PET reduction2 - Jarvis equation for PET reduction3 - Jarvis equation for PET reduction and FC dependency on root fraction coefficient
[in]real(dp) :: frac_sealedFraction of sealed area
[in]real(dp) :: water_thresh_sealedThreshhold water depth in impervious areas [mm TS-1]
[in]real(dp) :: petReference evapotranspiration [mm TS-1]
[in]real(dp) :: evap_coeffEvaporation coefficent for free-water surface of that current month
[in]real(dp), dimension(:) :: soil_moist_satSaturation soil moisture for each horizon [mm]
[in]real(dp), dimension(:) :: frac_rootsFraction of Roots in soil horizon
[in]real(dp), dimension(:) :: soil_moist_FCSoil moisture below which actual ET is reduced [mm]
[in]real(dp), dimension(:) :: wilting_pointPermanent wilting point for each horizon [mm]
[in]real(dp), dimension(:) :: soil_moist_exponenExponential parameter to how non-linear is the soil water retention
[in]real(dp) :: jarvis_thresh_c1Jarvis critical value for normalized soil water content
[in]real(dp) :: aet_canopyActual ET from canopy [mm TS-1]
[in,out]real(dp) :: prec_effecEffective precipitation (rain + snow melt) [mm]
[in,out]real(dp) :: runoff_sealedDirect runoff from impervious areas
[in,out]real(dp) :: storage_sealedRetention storage of impervious areas
[in,out]real(dp), dimension(size(soil_moist_sat, 1)) :: infiltrationRecharge, infiltration intensity oreffective precipitation of each horizon [mm TS-1]
[in,out]real(dp), dimension(size(soil_moist_sat, 1)) :: soil_moistSoil moisture of each horizon [mm]
[out]real(dp), dimension(size(soil_moist_sat, 1)) :: aetactual ET [mm TS-1]
[out]real(dp) :: aet_sealedactual ET from free-water surfaces,i.e impervious cover [mm TS-1]
Authors
Matthias Cuntz
Date
Dec 2012

Definition at line 94 of file mo_soil_moisture.f90.

References mo_common_constants::eps_dp, feddes_et_reduction(), and jarvis_et_reduction().

Referenced by mo_mhm::mhm().

Here is the call graph for this function:
Here is the caller graph for this function: