示例#1
0
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);
}
示例#2
0
    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();

}
示例#3
0
double 
Crop::sunlit_stomata_conductance () const
{ return LAI () / rs_max(); }
示例#4
0
double 
Crop::SimLAI () const
{ return LAI (); }
 double interception_capacity () const
 { return canopy->IntcpCap * LAI (); }