Canopy data used as a pointer in the SnowStation structure.
#include <DataClasses.h>
Public Member Functions | |
CanopyData () | |
void | initialize (const SN_SNOWSOIL_DATA &SSdata, const bool useCanopyModel, const bool isAlpine3D) |
Initialize all the CData elements value with values by default or with values read from the SNO file. This function is called in SnowStation::initialize, whch is called by XXX in the main(). More... | |
void | reset (const bool &cumsum_mass) |
void | initializeSurfaceExchangeData () |
Function called to initialize the canopy "Surface" exchange data (to enable accumulated mass and energy fluxes) More... | |
void | multiplyFluxes (const double &factor) |
If multiple fluxes have been summed over multiple time steps, the fluxes then need to be averaged by the number of steps. The albedos are also averaged in this method. More... | |
const std::string | toString () const |
Public Attributes | |
double | int_cap_snow |
double | int_cap_rain |
Specific interception capacity for rain (I_LAI) (mm/LAI) More... | |
double | interception_timecoef |
double | can_alb_dry |
RADIATION BALANCE. More... | |
double | can_alb_wet |
double | can_alb_snow |
double | krnt_lai |
double | can_diameter |
double | biomass_heat_capacity |
double | biomass_density |
double | lai_frac_top_default |
double | trunk_frac_height |
double | trunkalb |
double | et |
bool | canopy_stabilitycorrection |
double | roughmom_to_canopyheight_ratio |
Ratio between canopy height and roughness length. More... | |
double | displ_to_canopyheight_ratio |
As above for displacement height. More... | |
double | raincrease_snow |
double | canopytemp_maxchange_perhour |
Maximum allowed canopy temperature change (K hr-1) More... | |
double | roughheat_to_roughmom_ratio |
(~=1, but Not allowed to be exactly 1) More... | |
double | can_ch0 |
minimum heat exchange (Wm-2K-1) at zero wind More... | |
double | can_rs_mult |
1+CAN_RS_MULT = maximum factor to increase Cdata->rs below canopy More... | |
double | rsmin |
TRANSPIRATION. More... | |
double | f3_gd |
gd (Pa-1) parameter for canopy surface resistance response to vapour pressure: More... | |
double | rootdepth |
Root depth, determining the soil layers influenced by root water uptake. More... | |
double | wp_fraction |
Wilting point, defined as a fraction of water content at field capacity (-) More... | |
double | h_wilt |
Wilting point pressure head, when using Richards equation for soil. More... | |
double | storage |
intercepted water (mm or kg m-2) More... | |
double | temp |
temperature (K) More... | |
double | sigf |
radiation transmissivity (1) More... | |
double | ec |
longwave emissivity (1) More... | |
double | lai |
double | z0m |
double | z0h |
double | zdispl |
double | height |
double | direct_throughfall |
double | ra |
from canopy air to reference height More... | |
double | rc |
from canopy to canopy air More... | |
double | rs |
from subsurface to canpopy air More... | |
double | rstransp |
stomatal surface resistance for transpiration More... | |
double | canopyalb |
canopy albedo [-] More... | |
double | totalalb |
total albedo above canopy and snow/soil surface [-] More... | |
double | wetfraction |
fraction of canopy covered by interception [-] More... | |
double | intcapacity |
maximum interception storage [mm] More... | |
double | rswrac |
upward shortwave above canopy More... | |
double | iswrac |
downward shortwave radiation above canopy More... | |
double | rswrbc |
upward shortwave below canopy More... | |
double | iswrbc |
downward shortwave radiation below canopy More... | |
double | ilwrac |
downward longwave radiation ABOVE canopy More... | |
double | rlwrac |
upward longwave radiation ABOVE canopy More... | |
double | ilwrbc |
downward longwave radiation BELOW canopy More... | |
double | rlwrbc |
upward longwave radiation BELOW canopy More... | |
double | rsnet |
net shortwave radiation More... | |
double | rlnet |
net longwave radiation More... | |
double | sensible |
double | latent |
double | latentcorr |
double | transp |
double | intevap |
double | interception |
double | throughfall |
double | snowunload |
double | snowfac |
snowfall above canopy More... | |
double | rainfac |
rainfall above canopy More... | |
double | liquidfraction |
double | sigftrunk |
radiation interception cross section for trunk layer () More... | |
double | Ttrunk |
trunk temperature (K) More... | |
double | CondFluxCanop |
biomass heat storage flux towards Canopy (if 1L) towards Leaves (if 2L). (>0 towards canopy) More... | |
double | CondFluxTrunks |
biomass heat storage flux towards Trunks (if 2L) More... | |
double | LWnet_Trunks |
net LW to trunks (>0 towards trunks) More... | |
double | SWnet_Trunks |
net SW to trunks (>0 towards trunks) More... | |
double | QStrunks |
sensible heat flux from trunks (>0 if heat lost from trunk) More... | |
double | forestfloor_alb |
albedo of the forest floor More... | |
double | BasalArea |
basal area of trees on the stand More... | |
double | HMLeaves |
Leaves heat mass (J K-1 /m2 ground surface) More... | |
double | HMTrunks |
Trunks heat mass (J K-1 /m2 ground surface) More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const CanopyData &data) |
std::istream & | operator>> (std::istream &is, CanopyData &data) |
|
inline |
void CanopyData::initialize | ( | const SN_SNOWSOIL_DATA & | SSdata, |
const bool | useCanopyModel, | ||
const bool | isAlpine3D | ||
) |
Initialize all the CData elements value with values by default or with values read from the SNO file. This function is called in SnowStation::initialize, whch is called by XXX in the main().
SSdata | soil data SN_SNOWSOIL_DATA& SSdata created in the main. |
useCanopyModel | set to true if the canopy model is used |
isAlpine3D | set to true when calling from Alpine3D in order to prevent the generation of warnings |
Specific interception capacity for rain (I_LAI) (mm/LAI)
Coef in interception function, see (Pomeroy et al,1998) where a value of 0.7 was found to be appropriate for hourly time-step, but smaller time steps require smaller values, 0.5 was found reasoanble by using the SnowMIP2 data (2007-12-09)
RADIATION BALANCE
TURBULENT HEAT EXCHANGE Stab. corr. aerodyn. resist. above and below canopy: 0=off and 1=on (Monin-Obukhov formulation)
Ratio between canopy height and roughness length
As above for displacement height
Fractional increase of aerodynamic resistance for evaporation of intercepted snow.
Maximum allowed canopy temperature change (K hr-1)
(~=1, but Not allowed to be exactly 1)
minimum heat exchange (Wm-2K-1) at zero wind
1+CAN_RS_MULT = maximum factor to increase Cdata->rs below canopy
TRANSPIRATION Minimum canopy surface resistance, 500 (sm-1) is for needle leaf treas van den Hurk et al (2000) *75% Gustafsson et al (2003)
gd (Pa-1) parameter for canopy surface resistance response to vapour pressure:
Root depth, determining the soil layers influenced by root water uptake
Wilting point, defined as a fraction of water content at field capacity (-)
Wilting point pressure head, when using Richards equation for soil.
< longwave emissivity (1)
< radiation transmissivity (1)
< from canopy air to reference height
< from canopy to canopy air
< from subsurface to canpopy air
< canopy albedo [-]
< total albedo above canopy and snow/soil surface [-]
< fraction of canopy covered by interception [-]
< maximum interception storage [mm]
< upward shortwave above canopy
< downward shortwave radiation above canopy
< upward shortwave below canopy
< downward shortwave radiation below canopy
< downward longwave radiation ABOVE canopy
< upward longwave radiation ABOVE canopy
< downward longwave radiation BELOW canopy
< upward longwave radiation BELOW canopy
< net shortwave radiation
< net longwave radiation
< snowfall above canopy
< rainfall above canopy
< radiation interception cross section for trunk layer ()
< biomass heat storage flux towards Canopy (if 1L) towards Leaves (if 2L). (>0 towards canopy)
< biomass heat storage flux towards Trunks (if 2L)
< net LW to trunks (>0 towards trunks)
< net SW to trunks (>0 towards trunks)
< sensible heat flux from trunks (>0 if heat lost from trunk)
< albedo of the forest floor
< basal area of trees on the stand
< Leaves heat mass (J K-1 /m2 ground surface)
< Trunks heat mass (J K-1 /m2 ground surface)
void CanopyData::initializeSurfaceExchangeData | ( | ) |
Function called to initialize the canopy "Surface" exchange data (to enable accumulated mass and energy fluxes)
void CanopyData::multiplyFluxes | ( | const double & | factor | ) |
If multiple fluxes have been summed over multiple time steps, the fluxes then need to be averaged by the number of steps. The albedos are also averaged in this method.
factor | Averaging factor (for example, 1/Nsteps) |
void CanopyData::reset | ( | const bool & | cumsum_mass | ) |
const std::string CanopyData::toString | ( | ) | const |
|
friend |
|
friend |
double CanopyData::BasalArea |
basal area of trees on the stand
double CanopyData::biomass_density |
double CanopyData::biomass_heat_capacity |
ENERGY BALANCE parameters for HeatMass and 2layercanopy
double CanopyData::can_alb_dry |
RADIATION BALANCE.
double CanopyData::can_alb_snow |
double CanopyData::can_alb_wet |
double CanopyData::can_ch0 |
minimum heat exchange (Wm-2K-1) at zero wind
double CanopyData::can_diameter |
double CanopyData::can_rs_mult |
1+CAN_RS_MULT = maximum factor to increase Cdata->rs below canopy
bool CanopyData::canopy_stabilitycorrection |
TURBULENT HEAT EXCHANGE Stab. corr. aerodyn. resist. above and below canopy: 0=off and 1=on (Monin-Obukhov formulation)
double CanopyData::canopyalb |
canopy albedo [-]
double CanopyData::canopytemp_maxchange_perhour |
Maximum allowed canopy temperature change (K hr-1)
double CanopyData::CondFluxCanop |
biomass heat storage flux towards Canopy (if 1L) towards Leaves (if 2L). (>0 towards canopy)
double CanopyData::CondFluxTrunks |
biomass heat storage flux towards Trunks (if 2L)
double CanopyData::direct_throughfall |
double CanopyData::displ_to_canopyheight_ratio |
As above for displacement height.
double CanopyData::ec |
longwave emissivity (1)
double CanopyData::et |
double CanopyData::f3_gd |
gd (Pa-1) parameter for canopy surface resistance response to vapour pressure:
double CanopyData::forestfloor_alb |
albedo of the forest floor
double CanopyData::h_wilt |
Wilting point pressure head, when using Richards equation for soil.
double CanopyData::height |
double CanopyData::HMLeaves |
Leaves heat mass (J K-1 /m2 ground surface)
double CanopyData::HMTrunks |
Trunks heat mass (J K-1 /m2 ground surface)
double CanopyData::ilwrac |
downward longwave radiation ABOVE canopy
double CanopyData::ilwrbc |
downward longwave radiation BELOW canopy
double CanopyData::int_cap_rain |
Specific interception capacity for rain (I_LAI) (mm/LAI)
double CanopyData::int_cap_snow |
CANOPY PARAMETERS DEFAULT VALUES These values can be changed in the .sno file brief History of changed values:
double CanopyData::intcapacity |
maximum interception storage [mm]
double CanopyData::interception |
double CanopyData::interception_timecoef |
Coef in interception function, see (Pomeroy et al,1998) where a value of 0.7 was found to be appropriate for hourly time-step, but smaller time steps require smaller values, 0.5 was found reasoanble by using the SnowMIP2 data (2007-12-09)
double CanopyData::intevap |
double CanopyData::iswrac |
downward shortwave radiation above canopy
double CanopyData::iswrbc |
downward shortwave radiation below canopy
double CanopyData::krnt_lai |
double CanopyData::lai |
double CanopyData::lai_frac_top_default |
double CanopyData::latent |
double CanopyData::latentcorr |
double CanopyData::liquidfraction |
double CanopyData::LWnet_Trunks |
net LW to trunks (>0 towards trunks)
double CanopyData::QStrunks |
sensible heat flux from trunks (>0 if heat lost from trunk)
double CanopyData::ra |
from canopy air to reference height
double CanopyData::raincrease_snow |
Fractional increase of aerodynamic resistance for evaporation of intercepted snow.
double CanopyData::rainfac |
rainfall above canopy
double CanopyData::rc |
from canopy to canopy air
double CanopyData::rlnet |
net longwave radiation
double CanopyData::rlwrac |
upward longwave radiation ABOVE canopy
double CanopyData::rlwrbc |
upward longwave radiation BELOW canopy
double CanopyData::rootdepth |
Root depth, determining the soil layers influenced by root water uptake.
double CanopyData::roughheat_to_roughmom_ratio |
(~=1, but Not allowed to be exactly 1)
double CanopyData::roughmom_to_canopyheight_ratio |
Ratio between canopy height and roughness length.
double CanopyData::rs |
from subsurface to canpopy air
double CanopyData::rsmin |
TRANSPIRATION.
Minimum canopy surface resistance, 500 (sm-1) is for needle leaf treas van den Hurk et al (2000) *75% Gustafsson et al (2003)
double CanopyData::rsnet |
net shortwave radiation
double CanopyData::rstransp |
stomatal surface resistance for transpiration
double CanopyData::rswrac |
upward shortwave above canopy
double CanopyData::rswrbc |
upward shortwave below canopy
double CanopyData::sensible |
double CanopyData::sigf |
radiation transmissivity (1)
double CanopyData::sigftrunk |
radiation interception cross section for trunk layer ()
double CanopyData::snowfac |
snowfall above canopy
double CanopyData::snowunload |
double CanopyData::storage |
intercepted water (mm or kg m-2)
double CanopyData::SWnet_Trunks |
net SW to trunks (>0 towards trunks)
double CanopyData::temp |
temperature (K)
double CanopyData::throughfall |
double CanopyData::totalalb |
total albedo above canopy and snow/soil surface [-]
double CanopyData::transp |
double CanopyData::trunk_frac_height |
double CanopyData::trunkalb |
double CanopyData::Ttrunk |
trunk temperature (K)
double CanopyData::wetfraction |
fraction of canopy covered by interception [-]
double CanopyData::wp_fraction |
Wilting point, defined as a fraction of water content at field capacity (-)
double CanopyData::z0h |
double CanopyData::z0m |
double CanopyData::zdispl |