2.0.0b10
catchment modelling framework
|
Calculates the potential evapotranspiration according to FAO(1998) More...
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. | |
|
inherited |
Returns the concentration of the flux.
If not overridden, it returns the concentration of the source of the flux (direction depending)
|
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
|
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