Personal tools

Module Basin

From MohidWiki

Revision as of 19:39, 13 February 2012 by PedroChambel (talk | contribs)
Jump to: navigation, search


Module Basin works as an interface among the different modules of Mohid-Land. Indeed it manages fluxes between modules as precipitation, evapotranspiration, infiltration, etc and updates water column and concentration after each module call. This module is able to compute a water and mass balance for each property transported in all mediums.

Main Processes

The processes made in the Module Basin can be summarized as following:

  • Reading entering data and grid construction
  • Atmospheric processes (precipitation, leaf interception, leaf drainage, evaporation) in order to obtain the potential water column
  • Call of Module PorousMedia giving potential water column and obtain the infiltration rate
  • Update of the water column and send it to ModuleRunoff (the holder of water column)
  • Call of Module PorousMediaProperties and update of water column concentrations send it to the ModuleRunoffProperties
  • Call of Module Runoff giving the remaining water columns to be transported
  • Call of Module RunoffProperties

(When Module Runoff and RunoffProperties run as they are the holders of water column and water column concentration, no update is needed).

  • Call of Module DrainageNetwork to route the water in the river and the new transfered from groundwater and from runoff.
  • Output of the different components of the water and property flux


Some water may be extracted from the soil because of the evaporation and transpiration processes, which become a sink in soil water profile. These two processes are currently named Evapotranspiration and Potential Evapotranspiration may be modeled using the Penmann Monteith equation:

 \overset{\text{Energy flux rate}}{\lambda_v E=\frac{\Delta R_n   +   \rho_a c_p  \left(  \delta q  \right) g_a }{\Delta  + \gamma \left (    1 + g_a / g_s    \right)}}\Leftrightarrow 
 \overset{\text{Volume flux rate}}{ET_o=\frac{\Delta R_n   +   \rho_a c_p  \left(  \delta q  \right) g_a } { \left(   \Delta  + \gamma \left (    1 + g_a / g_s    \right)    \right) \lambda_v }}

λv = Latent heat of vaporization. Energy required per unit mass of water vaporized. (J/g)
Lv = Volumetric latent heat of vaporization. Energy required per water volume vaporized. (Lv = 2453 MJ m-3)
E = Mass water evapotranspiration rate (g s-1 m-2)
ETo = Water volume evapotranspired (m3 s-1 m-2)
Δ = Rate of change of saturation specific humidity with air temperature. (Pa K-1)
Rn = Net irradiance (W m-2), the external source of energy flux
cp = Specific heat capacity of air (J kg-1 K-1)
ρa = dry air density (kg m-3)
δe = vapor pressure deficit, or specific humidity (Pa)
ga = Hydraulic conductivity of air, atmospheric conductance (m s-1)
gs = Conductivity of stoma, surface conductance (m s-1)
γ = Psychrometric constant (γ ≈ 66 Pa K-1)

Mohid Land has a sub-daily time step. According with FAO-56 Hourly Time Step ET is calulated with the equation below. This is the equation used in Mohid-Land.

\ ET_o=\frac{ \left  0.408\Delta(R_n - G)   +   \gamma \frac{37}{T_h+273}u_2 \left ( e^{o}*T_h-e_a \right )} {    \Delta  + \gamma \left (1 + 0.34u_2) }

ETo = reference evapotranspiration [mm hour-1]
Rn = net radiation at the grass surface [MJ m-2 hour-1]
G = soil heat flux density [MJ m-2 hour-1]
Th = mean hourly air temperature at 2m hight [°C]
Δ = saturation slope vapour pressure curve at Th [kPa °C-1]
γ = psychrometric constant [kPa °C-1]
e°(Th) = saturation vapour pressure at air temperature Th [kPa]
ea = average hourly actual vapour pressure [kPa]
u2 = average hourly wind speed at 2m hight [m s-1].

Calculate Psicrometric constant:

  \gamma =\frac{ \left( c_p \right)_{air} *  P }{ \lambda_v * MW_{ratio} }
   \gamma = psychrometric constant [kPa °C-1],
P = atmospheric pressure [kPa],
 \lambda_v = latent heat of water vaporization, 2.45 [MJ kg-1],
 c_p = specific heat of air at constant pressure, 1.013 10-3 [MJ kg-1 °C-1],
 MW_{ratio} = ratio molecular weight of water vapor/dry air = 0.622.

Equation of \gamma becomes:

  \gamma =  0.665*10^{-3} * P

Calculation of the atmospheric pressure based on the heigth simplification of the ideal gas law

 P = 101.3  \left ( \frac{293.-0.0065 * Elevation}{293.}\right  ) ^{5.26}

G beneath a dense cover of grass does not correlate well with air temperature. Hourly G can be approximated during daylight periods as: G = 0.1 Rn and during nighttime periods as: G = 0.5 Rn

The net radiation (Rn) is the difference between the incoming net shortwave radiation (Rns) and the outgoing net longwave radiation (Rnl):

Rn = Rns - Rnl = [(1-0.23) * SolarRadiation] - [5.669e-08 * (T_h + 273.15)** 4. * LwradCorrection]

LwradCorrection =   (0.34 - 0.14 * VP **(0.5)) * (1.35 * ATMTransmitivity  - 0.35)

The Penman Montheith Potential Evapotranspiration computation will be active if in basin file


and the property evapotranspiration is not readed from file.

If the user is running with vegetation

than Crop Evapotranspiration is obtained from Potential Evapotranspiration using crop coefficient from Module Vegetation (dependent on crop).

CropEvapoTransp = PotentialEvapoTransp * CropCoefficient

Also if the user is running with vegetation a differentiation in Crop Evapotranspiration between Potential Transpiration and Potential Evaporation may be done using LAI:

PotentialTrans = CropEvapoTransp * (1 - e^{-0.463 * LAI})

PotentialEvap = CropEvapoTransp - PotentialTrans 

if the user is running with vegetation and does not want the Crop Evapotranspiration to be separated in Potential Transpiration and Potential Evaporation then


there will not be soil evaporation (in Module PorousMedia) and Crop Evapotranspiration is all transpiration (in Module Vegetation).

If the user is not running with vegetation

than Potential Evapotranspiration is all evaporation in the soil surface and will be done in Module PorousMedia.

Fluxes to other modules

If they are used, Potential transpiration computed in Module Basin is given to Module Vegetation to compute the effective transpiration. Potential Evaporation computed in Module Basin is given to Module Porous Media to compute the effective evaporation.

Other Features



water_column_[m] - runoff water column height in top of soil (height from soil surface)

water_level_[m] - runoff water altitude (in reference to mean sea level)

Infil._Rate_[mm/hour] - infiltration rate in the selected cell

Precipitation_Rate_[mm/hour] - precipitation rate in the selected cell

Throughfall_Rate_[mm/hour] - precipitation rate that arrives to soil surface (after leaf interception) in the selected cell

Canopy_Capacity_[m] - leaf capacity to accumulate water (in height) in the selected cell

Canopy_Storage_[m] - leaf accumulated water (in height) in the selected cell

Canopy_Drainage_[m] - leaf dip water (in height) in the selected cell

Reference_Evapotranspiration_[mm/h] - reference evapotranspiration (computed by Penman Motheith or given by the user)

Potential_Crop_EVTP_[mm/h] - reference evapotranspiration * Kc

Potential_Evaporation_[mm/h] - potential crop EVTP separated in evaporation (potential as may not occur depending on soil water availability)

Potential_Transpiration_[mm/h] - potential crop EVTP separated in transpiration (potential as may not occur depending on soil water availability)

EvapoTranspiration_Rate_[mm/hour] - actual evapotranspiration in the selected cell (the effevtive water removed)

Actual_Evaporation_[mm/h] - effective evaporation removed (from potential evaporation) - in surface soil

Actual_Transpiration_[mm/h] - effective transpiration removed (from potential transpiration) - along vegetation roots

Check Mohid Land Heights and Levels to understand the difference between level and height results


Data File


ATMOSPHERE                    : 0/1              [1]          !Use Module Atmosphere 
POROUS_MEDIA                  : 0/1              [1]          !Use Module Porous Media
POROUS_MEDIA_PROPERTIES       : 0/1              [1]          !Use Module Porous Media Properties
RUN_OFF                       : 0/1              [1]          !Use Module RunOff
RUN_OFF_PROPERTIES            : 0/1              [1]          !Use Module RunOff Properties
DRAINAGE_NET                  : 0/1              [1]          !Use Module Drainage Netork
DT_DURING_RAIN                : sec.             [60.]        !initial dt that is tried when rains in the time step
EVAPOTRANSPIRATION_METHOD     : integer          [1]          !1- evapotranspiration - everything in crops; 2- separate
                                                              !between evaporation (surface soil) and transpiration (in crops)
EVAP_FROM_CANOPY              : 0/1              [1]          !Evaporate from plant leafs
EVAP_FROM_WATER_COLUMN        : 0/1              [0]          !Evaporate from water column.
EVAP_METHOD                   : integer          [2]          !Evaporation from canopy and water column method
                                                              !1 - latent heat method, 2 - uses potential evaporation
                                                              !3 - no evaporation from canopy and water column
OUTPUT_TIME                   : sec. sec. sec.    -           !Output Time
TIME_SERIE_LOCATION           : char              -           !Path to time serie location file

Computed or user defined potential evapotranspiration
NAME                      : reference evapotranspiration
UNITS                     : mm/h
DESCRIPTION               : fao evapotranspiration
DEFAULTVALUE              : 0.0
REMAIN_CONSTANT           : 0


ATMOSPHERE                : 1
VEGETATION                : 0
POROUS_MEDIA              : 1
RUN_OFF                   : 1
DRAINAGE_NET              : 0

!OUTPUT_TIME              : 0 7200
TIME_SERIE_LOCATION       : ..\General Data\TimeSeries\TimeSeriesLocation2D_2.dat
VERIFY_MASS               : 1
CONTINUOUS                : 0
DT_DURING_RAIN            : 3600. 
EVAP_FROM_CANOPY          : 1

NAME                      : reference evapotranspiration
UNITS                     : mm/h
DESCRIPTION               : fao evapotranspiration
DEFAULTVALUE              : 0.0
REMAIN_CONSTANT           : 0