85 double height_of_wind_val,
const bool& adjust_VW_height=
true);
90 double get_f1(
const double& ris);
91 double RootFraction(
const double& zupper,
const double& zlower);
92 void SoilWaterUptake(
const size_t& SoilNode,
const double& transpiration,
ElementData* EMS);
93 double get_f4(
const double& tempC);
94 double get_f2f4(
const size_t& SoilNode,
ElementData* EMS);
95 double get_f3(
const double& vpd);
97 double IntUnload(
const double& capacity,
const double& storage);
98 double IntRate(
const double& capacity,
const double& storage,
const double& prec,
99 const double& direct);
101 double CanopyAlbedo(
const double& tair,
const double& wetfrac);
102 double TotalAlbedo(
double CanAlb,
double sigf,
double SurfAlb,
double DirectThroughfall,
103 double CanopyClosureDirect,
double RadFracDirect,
double sigfdirect);
105 double CanopyShadeSoilCover(
const double& HEIGHT,
const double& COVER,
const double& ELEV);
106 double CanopyWetFraction(
const double& capacity,
const double& storage);
107 double CanopyTransmissivity(
const double& lai,
const double& elev);
110 double& iswrac,
double& rsnet,
double& ilwrac,
double& r0,
double& r1,
111 const double& canopyalb,
double& CanopyClosureDirect,
double& RadFracDirect,
112 const double& sigfdirect,
double& r1p);
114 double& iswrac,
double& rsnet,
double& ilwrac,
double& r0,
double& r1,
double& r2,
115 double& rt0,
double& rt1,
double& rt2,
const double& canopyalb,
double& CanopyClosureDirect,
double& RadFracDirect,
116 const double& sigfdirect,
const double& sigftrunkdirect,
double& r1p,
double& r2p);
117 void LineariseSensibleHeatFlux(
const double& ch_canopy,
const double& tair,
double& h0,
double& h1,
double scalingfactor);
119 double DSaturationPressureDT(
const double& L,
const double& T);
120 void LineariseLatentHeatFlux(
const double& ce_canopy,
const double& tc_old,
const double& vpair,
121 double& le0,
double& le1,
double scalingfactor);
122 void CalculateHeatMass(
const double& height,
const double& BasalArea,
double& lai ,
double& HMLeaves,
double& HMTrunks);
124 void LineariseConductiveHeatFlux(
const double& tc_old,
const double& HM,
double& HM0,
double& HM1,
const double& DT,
const double& scalingfactor);
126 void CanopyEnergyBalance(
const double& h0,
const double& h1,
const double& le0,
127 const double& le1,
const double& HM0,
const double& HM1,
128 const double& ce_canopy,
129 const double& ce_condensation,
130 double& r0,
double& r1,
double& TCANOPY,
double& RNCANOPY,
131 double& HCANOPY,
double& LECANOPY);
133 void CanopyEnergyBalance2L(
double& h0,
double& h1,
double& le0,
134 double& le1,
double& HM0,
double& HM1,
double& TT0,
double& TT1,
135 const double& ce_canopy,
136 const double& ce_condensation,
137 double& r0,
double& r1,
double& r2,
double& TCANOPY,
double& Ttrunk,
double& RNCANOPY,
138 double& HCANOPY,
double& LECANOPY);
140 void CanopyEvaporationComponents(
double& ce_canopy,
141 double& ce_transpiration,
double& LECANOPY,
142 double& ta,
double& I,
double DT,
143 double& CanopyEvaporation,
144 double& INTEVAP,
double& TRANSPIRATION,
145 double& RNCANOPY,
double& HCANOPY,
double& TCANOPY,
146 double& r0,
double& r1,
double& h0,
double& h1,
147 double& LECANOPYCORR,
148 double& wetfraction,
double& HM0,
double& HM1);
150 void CanopyEvaporationComponents2L(
double& ce_canopy,
151 double& ce_transpiration,
double& LECANOPY,
152 double& ta,
double& I,
double DT,
153 double& CanopyEvaporation,
154 double& INTEVAP,
double& TRANSPIRATION,
155 double& RNCANOPY,
double& HCANOPY,
double& TCANOPY,
double& Ttrunk,
156 double& TT0,
double& TT1,
157 double& r0,
double& r1,
double& r2,
double& h0,
double& h1,
158 double& LECANOPYCORR,
160 double& HM0,
double& HM1);
161 double get_psim(
const double& xi);
162 double get_psih(
const double& xi);
163 double RichardsonToAeta(
double za,
double TempAir,
double DiffTemp,
double Windspeed,
double zom,
double zoh,
int maxitt);
165 void CanopyTurbulentExchange(
const CurrentMeteo& Mdata,
const double& refheight,
const double& zomg,
166 const double& wetfraction,
SnowStation& Xdata,
double& ch_canopy,
167 double& ce_canopy,
double& ce_transpiration,
168 double& ce_interception,
double& ce_condensation);
171 double &iswrac,
double &rswrac,
172 double &iswrbc,
double &rswrbc,
double &ilwrac,
173 double &rlwrac,
double &ilwrbc,
double &rlwrbc,
174 double CanopyClosureDirect,
double RadFracDirect,
double sigfdirect,
double sigftrunkdirect);
176 static const double int_cap_snow, int_cap_rain, interception_timecoef;
177 static const bool canopy_stabilitycorrection;
178 static const double can_diameter, roughmom_to_canopyheight_ratio, displ_to_canopyheight_ratio, raincrease_snow;
179 static const double canopytemp_maxchange_perhour, roughheat_to_roughmom_ratio, can_ch0, can_rs_mult, rsmin;
180 static const double f3_gd, rootdepth, wp_fraction;
182 std::string hn_density, hn_density_parameterization, variant, watertransportmodel_soil;
183 double hn_density_fixedValue, calculation_step_length;
188 bool canopytransmission;
189 bool forestfloor_alb;
190 static const double biomass_heat_capacity, biomass_density, lai_frac_top_default, trunk_frac_height, trunkalb, et;
193 #endif //END of Canopy.h
Canopy data used as a pointer in the SnowStation structureINSTANTANEOUS VARIABLESCanopy "state" varia...
Definition: DataClasses.h:375
Definition: SnowpackConfig.h:28
ELEMENT DATA used as a pointer in the SnowStation structure NOTE on M below: this is the mass of an e...
Definition: DataClasses.h:251
Computes interception of precipitation and radiation, and reduction of windspeed in a canopy layer ab...
Definition: Canopy.h:78
static const double can_alb_wet
Definition: Canopy.h:87
Definition: DataClasses.h:580
static const double can_alb_dry
RADIATION BALANCE.
Definition: Canopy.h:87
CurrentMeteo is the class of interpolated meteo data for the current calculation time step It contai...
Definition: DataClasses.h:81
static const double krnt_lai
Definition: Canopy.h:87
static void DumpCanopyData(std::ofstream &fout, const CanopyData *Cdata, const SurfaceFluxes *Sdata, const double cos_sl)
Dump 28 canopy parameters to Outfile, columns 65-92.
Definition: Canopy.cc:123
static void writeTimeSeriesAdd2LCanopy(std::ofstream &fout, const CanopyData *Cdata)
Definition: Canopy.cc:165
Canopy(const SnowpackConfig &i_cfg)
Definition: Canopy.cc:177
void runCanopyModel(CurrentMeteo &Mdata, SnowStation &Xdata, double roughness_length, double height_of_wind_val, const bool &adjust_VW_height=true)
MAIN CANOPY FUNCTION CALLED BY Meteo.c This routine computes interception of precipitation and radiat...
Definition: Canopy.cc:1557
Station data including all information on snowpack layers (elements and nodes) and on canopy This is...
Definition: DataClasses.h:463
static const double can_alb_snow
Definition: Canopy.h:87