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

Multiscale parameter regionalization (MPR) for soil moisture. More...

Functions/Subroutines

subroutine, public mpr_sm (param, processmatrix, is_present, nhorizons, ntillhorizons, sand, clay, dbm, id0, soilid0, lcover0, thetas_till, thetafc_till, thetapw_till, thetas, thetafc, thetapw, ks, db, ksvar_h0, ksvar_v0, sms_fc0)
 multiscale parameter regionalization for soil moisture
 
elemental pure subroutine pwp (genu_mual_n, genu_mual_alpha, thetas, thetapwp)
 Permanent Wilting point.
 
elemental pure subroutine field_cap (thetafc, ks, thetas, genu_mual_n)
 calculates the field capacity
 
subroutine genuchten (thetas, genu_mual_n, genu_mual_alpha, param, sand, clay, db)
 calculates the Genuchten shape parameter
 
subroutine hydro_cond (ks, param, sand, clay)
 calculates the hydraulic conductivity Ks
 

Detailed Description

Multiscale parameter regionalization (MPR) for soil moisture.

This module contains all routines required for parametrizing soil moisture processes.

Authors
Stephan Thober, Rohini Kumar
Date
Dec 2012

Function/Subroutine Documentation

◆ field_cap()

elemental pure subroutine mo_mpr_soilmoist::field_cap ( real(dp), intent(out)  thetafc,
real(dp), intent(in)  ks,
real(dp), intent(in)  thetas,
real(dp), intent(in)  genu_mual_n 
)
private

calculates the field capacity

estimate Field capacity; FC – Flux based approach (Twarakavi, et. al. 2009, WRR) According to the above reference FC is defined as the soil water content at which the drainage from a profile ceases under natural conditions. Since drainage from a soil profile in a simulation never becomes zero, we assume that drainage ceases when the bottom flux from the soil reaches a value that is equivalent to the minimum amount of precipitation that could be recorded (i.e. 0.01 cm/d == 1 mm/d). It is assumed that ThetaR = 0.0_dp ADDITIONAL INFORMATION Twarakavi, et. al. 2009, WRR

Parameters
[out]real(dp) :: thetaFC- Field capacity
[in]real(dp) :: Ks- saturated hydraulic conductivity
[in]real(dp) :: thetaS- saturated water content
[in]real(dp) :: Genu_Mual_n- Genuchten shape parameter
Authors
Stephan Thober, Rohini Kumar
Date
Dec 2012

Definition at line 560 of file mo_mpr_soilmoist.f90.

References mo_mpr_constants::field_cap_c1, and mo_mpr_constants::field_cap_c2.

Referenced by mpr_sm().

Here is the caller graph for this function:

◆ genuchten()

subroutine mo_mpr_soilmoist::genuchten ( real(dp), intent(out)  thetas,
real(dp), intent(out)  genu_mual_n,
real(dp), intent(out)  genu_mual_alpha,
real(dp), dimension(6), intent(in)  param,
real(dp), intent(in)  sand,
real(dp), intent(in)  clay,
real(dp), intent(in)  db 
)
private

calculates the Genuchten shape parameter

estimate SMs_till & van Genuchten's shape parameter (n) (Zacharias et al, 2007, soil Phy.) Global parameters needed (see mhm_parameter.nml):

  • param( 1) = PTF_lower66_5_constant
  • param( 2) = PTF_lower66_5_clay
  • param( 3) = PTF_lower66_5_Db
  • param( 4) = PTF_higher66_5_constant
  • param( 5) = PTF_higher66_5_clay
  • param( 6) = PTF_higher66_5_Db ADDITIONAL INFORMATION Zacharias et al, 2007, soil Phy.
    Parameters
    [out]real(dp) :: thetaS- saturated water content
    [out]real(dp) :: Genu_Mual_n- van Genuchten shape parameter
    [out]real(dp) :: Genu_Mual_alpha- van Genuchten shape parameter
    [in]real(dp), dimension(6) :: paramparameters
    [in]real(dp) :: sand- [%] sand content
    [in]real(dp) :: clay- [%] clay content
    [in]real(dp) :: Db- [10^3 kg/m3] bulk density
    Authors
    Stephan Thober, Rohini Kumar
    Date
    Dec 2012

Definition at line 626 of file mo_mpr_soilmoist.f90.

References mo_mpr_constants::vgenuchten_sandtresh, mo_mpr_constants::vgenuchtenn_c1, mo_mpr_constants::vgenuchtenn_c10, mo_mpr_constants::vgenuchtenn_c11, mo_mpr_constants::vgenuchtenn_c12, mo_mpr_constants::vgenuchtenn_c13, mo_mpr_constants::vgenuchtenn_c14, mo_mpr_constants::vgenuchtenn_c15, mo_mpr_constants::vgenuchtenn_c16, mo_mpr_constants::vgenuchtenn_c17, mo_mpr_constants::vgenuchtenn_c18, mo_mpr_constants::vgenuchtenn_c2, mo_mpr_constants::vgenuchtenn_c3, mo_mpr_constants::vgenuchtenn_c4, mo_mpr_constants::vgenuchtenn_c5, mo_mpr_constants::vgenuchtenn_c6, mo_mpr_constants::vgenuchtenn_c7, mo_mpr_constants::vgenuchtenn_c8, and mo_mpr_constants::vgenuchtenn_c9.

Referenced by mpr_sm().

Here is the caller graph for this function:

◆ hydro_cond()

subroutine mo_mpr_soilmoist::hydro_cond ( real(dp), intent(out)  ks,
real(dp), dimension(4), intent(in)  param,
real(dp), intent(in)  sand,
real(dp), intent(in)  clay 
)
private

calculates the hydraulic conductivity Ks

By default save this value of Ks, particularly for the deeper layers where OM content plays relatively low or no role Global parameters needed (see mhm_parameter.nml):

  • param(1) = PTF_Ks_constant
  • param(2) = PTF_Ks_sand
  • param(3) = PTF_Ks_clay
  • param(4) = PTF_Ks_curveSlope ADDITIONAL INFORMATION Written, Stephan Thober, Dec 2012
    Parameters
    [out]real(dp) :: KS
    [in]real(dp), dimension(4) :: param
    [in]real(dp) :: sand- [%] sand content
    [in]real(dp) :: clay- [%] clay content
    Authors
    Stephan Thober, Rohini Kumar
    Date
    Dec 2012

Definition at line 736 of file mo_mpr_soilmoist.f90.

References mo_mpr_constants::ks_c.

Referenced by mpr_sm().

Here is the caller graph for this function:

◆ mpr_sm()

subroutine, public mo_mpr_soilmoist::mpr_sm ( real(dp), dimension(13), intent(in)  param,
integer(i4), dimension(:, :), intent(in)  processmatrix,
integer(i4), dimension(:), intent(in)  is_present,
integer(i4), dimension(:), intent(in)  nhorizons,
integer(i4), dimension(:), intent(in)  ntillhorizons,
real(dp), dimension(:, :), intent(in)  sand,
real(dp), dimension(:, :), intent(in)  clay,
real(dp), dimension(:, :), intent(in)  dbm,
integer(i4), dimension(:), intent(in)  id0,
integer(i4), dimension(:, :), intent(in)  soilid0,
integer(i4), dimension(:), intent(in)  lcover0,
real(dp), dimension(:, :, :), intent(out)  thetas_till,
real(dp), dimension(:, :, :), intent(out)  thetafc_till,
real(dp), dimension(:, :, :), intent(out)  thetapw_till,
real(dp), dimension(:, :), intent(out)  thetas,
real(dp), dimension(:, :), intent(out)  thetafc,
real(dp), dimension(:, :), intent(out)  thetapw,
real(dp), dimension(:, :, :), intent(out)  ks,
real(dp), dimension(:, :, :), intent(out)  db,
real(dp), dimension(:), intent(out)  ksvar_h0,
real(dp), dimension(:), intent(out)  ksvar_v0,
real(dp), dimension(:), intent(out)  sms_fc0 
)

multiscale parameter regionalization for soil moisture

This subroutine is a wrapper around all soil moisture parameter routines. This subroutine requires 13 parameters. These parameters have to correspond to the parameters in the original parameter array at the following locations: 10-12, 13-18, 27-30. Global parameters needed (see mhm_parameter.nml):

  • param( 1) = orgMatterContent_forest
  • param( 2) = orgMatterContent_impervious
  • param( 3) = orgMatterContent_pervious
  • param( 4) = PTF_lower66_5_constant
  • param( 5) = PTF_lower66_5_clay
  • param( 6) = PTF_lower66_5_Db
  • param( 7) = PTF_higher66_5_constant
  • param( 8) = PTF_higher66_5_clay
  • param( 9) = PTF_higher66_5_Db
  • param(10) = PTF_Ks_constant
  • param(11) = PTF_Ks_sand
  • param(12) = PTF_Ks_clay
  • param(13) = PTF_Ks_curveSlope
    Parameters
    [in]real(dp), dimension(13) :: paramglobal parameters
    [in]integer(i4), dimension(:) :: is_presentindicates whether soiltype is present
    [in]integer(i4), dimension(:) :: nHorizonsNumber of Horizons per soiltype
    [in]integer(i4), dimension(:) :: nTillHorizonsNumber of Tillage Horizons
    [in]real(dp), dimension(:, :) :: sandsand content
    [in]real(dp), dimension(:, :) :: clayclay content
    [in]real(dp), dimension(:, :) :: DbMmineral Bulk density
    [in]integer(i4), dimension(:) :: ID0cell ids at level 0
    [in]integer(i4), dimension(:, :) :: soilId0soil ids at level 0
    [in]integer(i4), dimension(:) :: LCOVER0land cover ids at level 0
    [out]real(dp), dimension(:, :, :) :: thetaS_tillsaturated soil moisture tillage layer
    [out]real(dp), dimension(:, :, :) :: thetaFC_tillfield capacity tillage layer
    [out]real(dp), dimension(:, :, :) :: thetaPW_tillpermanent wilting point tillage layer
    [out]real(dp), dimension(:, :) :: thetaSsaturated soil moisture
    [out]real(dp), dimension(:, :) :: thetaFCfield capacity
    [out]real(dp), dimension(:, :) :: thetaPWpermanent wilting point
    [out]real(dp), dimension(:, :, :) :: Kssaturated hydraulic conductivity
    [out]real(dp), dimension(:, :, :) :: DbBulk density
    [out]real(dp), dimension(:) :: KsVar_H0rel. var. of Ks for horizontal flow
    [out]real(dp), dimension(:) :: KsVar_V0rel. var. of Ks for vertical flow
    [out]real(dp), dimension(:) :: SMs_FC0soil mositure deficit from field cap. w.r.t to saturation
    Authors
    Stephan Thober, Rohini Kumar
    Date
    Dec 2012

Definition at line 100 of file mo_mpr_soilmoist.f90.

References mo_mpr_constants::bulkdens_orgmatter, field_cap(), genuchten(), hydro_cond(), mo_mpr_global_variables::iflag_soildb, mo_common_constants::nodata_dp, mo_common_constants::nodata_i4, and pwp().

Referenced by mo_multi_param_reg::mpr().

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

◆ pwp()

elemental pure subroutine mo_mpr_soilmoist::pwp ( real(dp), intent(in)  genu_mual_n,
real(dp), intent(in)  genu_mual_alpha,
real(dp), intent(in)  thetas,
real(dp), intent(out)  thetapwp 
)
private

Permanent Wilting point.

This subroutine calculates the permanent wilting point according to Zacharias et al. (2007, Soil Phy.) and using van Genuchten 1980's equation. For the water retention curve at a matrix potential of -1500 kPa, it is assumed that thetaR = 0. ADDITIONAL INFORMATION Zacharias et al. 2007, Soil Phy.

Parameters
[in]real(dp) :: Genu_Mual_n- Genuchten shape parameter
[in]real(dp) :: Genu_Mual_alpha- Genuchten shape parameter
[in]real(dp) :: thetaS- saturated water content
[out]real(dp) :: thetaPWP- Permanent Wilting point
Authors
Stephan Thober, Rohini Kumar
Date
Dec, 2012

Definition at line 489 of file mo_mpr_soilmoist.f90.

References mo_mpr_constants::pwp_c, and mo_mpr_constants::pwp_matpot_thetar.

Referenced by mpr_sm().

Here is the caller graph for this function: