2.0.0b10
catchment modelling framework
|
Contains classes to describe interactions with the atmosphere. More...
Contains classes to describe interactions with the atmosphere.
Classes | |
class | aerodynamic_resistance |
Abstract class. Child classes can be used to calculate aerodynamic resistances against turbulent heat fluxes. More... | |
class | ConstantMeteorology |
A primitive implementation of the Meteorology interface. More... | |
class | ConstantRainSource |
A simple implementation of RainSource. More... | |
class | IDW_Meteorology |
Regionalizes meteorological measurements using a simple inverse distance weighted (IDW) method. More... | |
class | IDWRainfall |
A RainSource using a spatially interpolated rainfall intensity from all stations. More... | |
class | log_wind_profile |
, A logarithmic wind profile More... | |
class | Meteorology |
An abstract class, for objects generating Weather records at a specific time. More... | |
class | MeteoStation |
A meteorological station holding timeseries to create Weather records. More... | |
class | MeteoStationList |
A list of meteorological stations. More... | |
class | MeteoStationReference |
A reference to a meteorological station. More... | |
class | RainfallStation |
RainfallStation describes a rainfall timeseries in mm/day at a certain place. More... | |
class | RainfallStationList |
A list of rainfall stations. More... | |
class | RainfallStationReference |
References a single RainfallStation to provide rainfall intensity data. More... | |
class | RainSource |
An abstract class for different types of rainfall sources. More... | |
class | TimeseriesRainSource |
A rainsource with a timeseries. More... | |
struct | Weather |
Functions | |
double | extraterrestrial_radiation (cmf::math::Time t, double longitude=8, double latitude=51, double time_zone=1, bool daily=false) |
Calculates the global radiation in MJ/(m2 day) from the sun position and the sunshine fraction. | |
double | global_radiation (double Ra, double height, double sunshine_fraction) |
Calculates the global radiation in MJ/(m2 day) from the sun position and the sunshine fraction. | |
double | MJ_to_watts (double MJ) |
Transforms an energy flux from MJ/day to W. | |
double | Pressure (double height) |
Returns the average air pressure for a height (m a.s.l.) | |
double | rH_from_vpd (double T, double vpd) |
Returns the rel. | |
double | vapour_pressure (double T) |
Returns the saturated vapor pressure in Pa for temperature T [degC]. | |
double | vpd_from_rH (double T, double rH) |
Returns the vapor pressure deficit in Pa for temperature T [degC] and rel. | |
double | watts_to_MJ (double Watts) |
Transforms an energy flux from W to MJ/day. | |
double extraterrestrial_radiation | ( | cmf::math::Time | t, |
double | longitude = 8, | ||
double | latitude = 51, | ||
double | time_zone = 1, | ||
bool | daily = false ) |
Calculates the global radiation in MJ/(m2 day) from the sun position and the sunshine fraction.
t | actual time step |
longitude,latitude | Geographical position in degree. Latitude is only taken into acount for subdaily calculation |
time_zone | Offset by timezone from GMT, eg. central Europe=1 US west coast = -8 |
daily | If true, the average radiation for the whole day is given (therefore latitude and time zone ignored), otherwise the average of the current hour is returned |
The calculation of the global radiation follows http://www.fao.org/docrep/X0490E/x0490e07.htm#radiation.
The following formula is used:
double global_radiation | ( | double | Ra, |
double | height, | ||
double | sunshine_fraction ) |
Calculates the global radiation in MJ/(m2 day) from the sun position and the sunshine fraction.
Ra | extra terrestrial radiation |
height | Height above sea level |
sunshine_fraction | Fraction of sunshine hours per potential sunshine duration in h/h |
The calculation of the global radiation follows http://www.fao.org/docrep/X0490E/x0490e07.htm#radiation.
The following formula is used:
double rH_from_vpd | ( | double | T, |
double | vpd ) |
Returns the rel.
humidity in % for temperature T [degC] and vapor pressure deficit vpd [Pa]
the rel. humidity is calculated from the vapor pressure deficit \(vpd = e_s - e_a\) as:
\[rH = 100 * \frac{e_a}{e_s(T)}, e_a = e_s(T) - vpd\]
The definition is from http://www.fao.org/docrep/X0490E/x0490e07.htm#concepts
T | Air temperature in degC |
vpd | Vapor pressure deficit in Pa |
\(e_s(T)\) is calculated using cmf::atmosphere::vapor_pressure(double)
double vapour_pressure | ( | double | T | ) |
Returns the saturated vapor pressure in Pa for temperature T [degC].
The saturated vapor pressure \(e_s\) is calculated follwing the following formula
\[e_s = 0.6108 \exp{\frac{17.27 T}{T+237.3}}\]
The definition is from http://www.fao.org/docrep/X0490E/x0490e07.htm#concepts
double vpd_from_rH | ( | double | T, |
double | rH ) |
Returns the vapor pressure deficit in Pa for temperature T [degC] and rel.
humidity rH [%]
The vapor pressure deficit \(e_s - e_a\) is calculated from rel. humidity as:
\[e_s - e_a = (1-rH/100) * e_s(T)\]
The definition is from http://www.fao.org/docrep/X0490E/x0490e07.htm#concepts
T | Air temperature in degC |
rH | Rel. humidity in % |
\(e_s(T)\) is calculated using cmf::atmosphere::vapor_pressure(double)