2.0.0b10
catchment modelling framework
Loading...
Searching...
No Matches
PenmanMonteithET Class Reference

Calculates the potential evapotranspiration according to FAO(1998) More...

+ Inheritance diagram for PenmanMonteithET:
+ Collaboration diagram for PenmanMonteithET:

Detailed Description

Calculates the potential evapotranspiration according to FAO(1998)

Governing equations:

\begin{eqnarray*} \lambda ET &=& \frac{\Delta\left(R_n - G\right)+\rho_a c_p \frac{e_s - e_a}{r_a}}{\Delta + \gamma\left(1+\frac{r_s}{r_a}\right)} \mbox{ FAO 1998, Eq. 3} \\ \mbox{With:} \\ \Delta &=& 4098 \frac{0.6108 e^{17.27 T}}{(T+237.3)^2} \frac{kPa}{^\circ C} \mbox{ (FAO 1998, Eq. 13)} \\ T &=& \mbox{Actual Temperature in } ^\circ C \\ R_n &=& \mbox{net Radiation (see Atmosphere) in } \frac{MJ}{m^2day} \\ G &=& 0 \ \frac{MJ}{m^2day} \mbox{ if daily average (FAO 1998, Eq. 42)} \\ && 0.1 R_n \ \mbox{ if day time (FAO 1998, Eq. 45)} \\ && 0.5 R_n \ \mbox{ if night time (FAO 1998, Eq. 46)} \\ \gamma &=& \frac{c_p P}{\epsilon \lambda} \mbox{ (FAO 1998,Eq. 8): Psychrometric constant } \frac{kPa}{^\circ C} \\ c_p &=& 0.001013 \frac{MJ}{kg\ ^\circ C}\mbox{ specific heat at constant pressure } \\ P &=& 101.3 \left(\frac{293-0.0065z}{293}\right)^{5.26} \mbox{ (FAO 1998,Eq. 7)} \\ \epsilon &=& 0.622 \frac{mol/g \mbox{ vapor}}{mol/g \mbox{ liquid water}} \\ \lambda &=& 2.45 \frac{MJ}{kg} \mbox{ (FAO 1998,Eq. 8)} \\ R &=& 0.287 \frac{kJ}{kg\ k}\mbox{ Spec. gas const.} \\ \rho_a &=& \frac{P}{1.01(T+273)R} \mbox{ (FAO 1998,Box. 6)} \\ e_s &=& \mbox{ Sat. vapor press. } [kPa] \\ e_a &=& \mbox{ Act. vapor press. } [kPa] \\ r_a &=& \frac{\ln\left(\frac{2-d}{z_{om}}\right)\ln\left(\frac{2-d}{z_{oh}}\right)}{k^2 u_2} \mbox{ (FAO 1998, Eq. 4/Box 4} \frac s m \\ && d=\frac 2 3 h,z_{om}=0.123 h,z_{oh}=0.1 z_{om}, k=0.41 \\ h &=& \mbox{ Vegetation height in }m \\ u_2 &=& \mbox{ Windspeed in 2m above canopy } \frac m s \\ r_s &=& \frac{r_l}{LAI_{Active}} \mbox{ (FAO 1998, Eq. 5/Box 5)} \frac s m \\ && r_l=100 \frac s m, LAI_{Active}=0.5 LAI \end{eqnarray*}

Public Member Functions

real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
 Returns the concentration of the flux.
 
flux_node::ptr get_target (const flux_node &inquirer)
 Returns the other end of a connection than the asking end.
 
flux_node::ptr get_target (int index) const
 With index 0, the left node is returned, with index 1 the right node of the connection.
 
real get_tracer_filter ()
 A value ranging from 0 to 1 to filter tracers out of the water flux.
 
real get_tracer_filter (solute S)
 A value ranging from 0 to 1 to filter tracers out of the water flux.
 
bool kill_me ()
 Deregisters this connection from its nodes. Returns true if only one reference is left.
 
flux_node::ptr left_node () const
 Returns the left node of this connection.
 
real q (const flux_node &inquirer, cmf::math::Time t)
 Returns the current flux through a connection. Negative signs mean out of the inquirer, positive are inflows to the inquirer.
 
void refresh (cmf::math::Time t)
 Performes a new calculation of the flux.
 
flux_node::ptr right_node () const
 returns the right node of this connection
 
void set_tracer_filter (real value)
 A value ranging from 0 to 1 to filter tracers out of the water flux.
 

Static Public Member Functions

static void use_for_cell (cmf::upslope::Cell &cell)
 Connects all soil layers with the transpiration node of the cell.
 

Public Attributes

const std::string type
 A string describing the type of the connection.
 

Member Function Documentation

◆ conc()

real conc ( cmf::math::Time t,
const cmf::water::solute & _Solute )
inherited

Returns the concentration of the flux.


If not overridden, it returns the concentration of the source of the flux (direction depending)

◆ get_tracer_filter()

real get_tracer_filter ( )
inherited

A value ranging from 0 to 1 to filter tracers out of the water flux.

1.0 is no filter and 0.0 means no solute is crossing this connection

◆ set_tracer_filter()

void set_tracer_filter ( real value)
inherited

A value ranging from 0 to 1 to filter tracers out of the water flux.

1.0 is no filter and 0.0 means no solute is crossing this connection