void Vegetation::output (Log& log) const { output_value (N (), "N", log); output_value (N_fixated (), "N_fixated", log); output_value (LAI (), "LAI", log); output_value (height (), "height", log); output_value (cover (), "cover", log); output_value (LAIvsH (), "LAIvsH", log); output_value (HvsLAI (), "HvsLAI", log); output_value (ACExt_PAR (), "ACExt_PAR", log); output_value (ACRef_PAR (), "ACRef_PAR", log); output_value (ACExt_NIR (), "ACExt_NIR", log); output_value (ACRef_NIR (), "ACRef_NIR", log); output_value (ARExt (), "ARExt", log); output_value (EpFactorDry (), "EpFactorDry", log); output_value (EpFactorWet (), "EpFactorWet", log); output_value (albedo (), "albedo", log); output_value (interception_capacity (), "interception_capacity", log); output_value (shadow_stomata_conductance (), "shadow_stomata_conductance", log); output_value (sunlit_stomata_conductance (), "sunlit_stomata_conductance", log); }
void compute(const vle::devs::Time& /* t */) { PAR = 0.5 * 0.01 * RG(); Tmean = std::max(0.0, (Tmin() + Tmax()) / 2); if (SemRec() == 2) { SemRecVar = 0; } else if (SemRec() == 1) { SemRecVar = 1; } if (SemRecVar() == 0) { ST = 0; LAI = 0; } else if (SemRecVar() == 1) { ST = ST() + Tmean(); LAI = std::max(0.0, Lmax() * ((1 / (1 + std::exp(-A() * (ST() - TI())))) - std::exp(B() * (ST() - Tr())))); } U = U(-1) + Eb() * Eimax() * (1 - std::exp(-K() * LAI())) * PAR(); }
double Crop::sunlit_stomata_conductance () const { return LAI () / rs_max(); }
double Crop::SimLAI () const { return LAI (); }
double interception_capacity () const { return canopy->IntcpCap * LAI (); }