547 struct ET_Str tmp5_ET, tmp6_ET;
553 double Idir, Idiff, cosTh;
555 double IDir, IDiff, Itot, rh, WS;
556 double pLeafsun, pLeafshade;
557 double Leafsun, Leafshade;
560 double vmax1, leafN_lay;
561 double TempIdir,TempIdiff,AssIdir,AssIdiff,GAssIdir,GAssIdiff;
563 double CanopyA, CanopyT,GCanopyA;
565 const double cf = 3600 * 1e-6 * 30 * 1e-6 * 10000;
566 const double cf2 = 3600 * 1e-3 * 18 * 1e-6 * 10000;
584 Idir =
tmp1[0] * solarR;
585 Idiff =
tmp1[1] * solarR;
588 sunML(Idir,Idiff,LAI,nlayers,cosTh, kd, chil, heightf);
591 LAIc = LAI / nlayers;
596 LNprof(leafN, LAI, nlayers, kpLN);
603 for(i=0;i<nlayers;i++)
610 if(vmax1<0) vmax1=0.0;
612 Rd=nitroP.
Rdb1*leafN_lay+nitroP.
Rdb0;
623 Leafsun = LAIc * pLeafsun;
624 tmp5_ET =
EvapoTrans(IDir,Itot,Temp,rh,WS,LAIc,CanHeight,StomataWS,ws,vmax1,Alpha,Kparm,theta,beta,Rd,b0,b1,upperT,lowerT,Catm);
625 TempIdir = Temp + tmp5_ET.Deltat;
626 tmpc4 =
c4photoC(IDir,TempIdir,rh,vmax1,Alpha,Kparm,theta,beta,Rd,b0,b1,StomataWS, Catm, ws,upperT,lowerT);
627 AssIdir = tmpc4.Assim;
628 GAssIdir =tmpc4.GrossAssim;
632 Leafshade = LAIc * pLeafshade;
633 tmp6_ET =
EvapoTrans(IDiff,Itot,Temp,rh,WS,LAIc,CanHeight,StomataWS,ws,vmax1,Alpha,Kparm,theta,beta,Rd,b0,b1,upperT,lowerT,Catm);
634 TempIdiff = Temp + tmp6_ET.Deltat;
635 tmpc42 =
c4photoC(IDiff,TempIdiff,rh,vmax1,Alpha,Kparm,theta,beta,Rd,b0,b1,StomataWS, Catm, ws,upperT,lowerT);
636 AssIdiff = tmpc42.Assim;
637 GAssIdiff = tmpc42.GrossAssim;
638 CanopyA += Leafsun * AssIdir + Leafshade * AssIdiff;
639 GCanopyA += Leafsun * GAssIdir + Leafshade * GAssIdiff;
643 CanopyT += Leafsun * tmp5_ET.EPenman + Leafshade * tmp6_ET.EPenman;
656 ans.Assim = cf * CanopyA ;
657 ans.Trans = cf2 * CanopyT;
658 ans.GrossAssim=cf*GCanopyA;
void sunML(double Idir, double Idiff, double LAI, int nlayers, double cosTheta, double kd, double chil, double heightf)
Definition: AuxBioCro.c:74
double layFshade[MAXLAY]
Definition: AuxBioCro.h:26
double Vmaxb0
Definition: AuxBioCro.h:132
int sp3
Definition: AuxBioCro.h:18
struct c4_str c4photoC(double Qp, double Tl, double RH, double vmax, double alpha, double kparm, double theta, double beta, double Rd, double bb0, double bb1, double StomaWS, double Ca, int ws, double upperT, double lowerT)
Definition: c4photo.c:195
int sp5
Definition: AuxBioCro.h:18
double LAIc[8760]
Definition: BioCro.h:16
struct ET_Str EvapoTrans(double Rad, double Itot, double Airtemperature, double RH, double WindSpeed, double LeafAreaIndex, double CanopyHeight, double StomataWS, int ws, double vmax2, double alpha2, double kparm, double theta, double beta, double Rd2, double b02, double b12, double upperT, double lowerT, double Catm)
Definition: AuxBioCro.c:208
double tmp4[MAXLAY]
Definition: AuxBioCro.h:29
double tmp1[3]
Definition: AuxBioCro.h:21
int sp6
Definition: AuxBioCro.h:18
double layHeight[MAXLAY]
Definition: AuxBioCro.h:27
double Rdb0
Definition: AuxBioCro.h:136
double tmp5[MAXLAY]
Definition: AuxBioCro.h:30
int sp2
Definition: AuxBioCro.h:18
int tp5
Definition: AuxBioCro.h:19
double layIdiff[MAXLAY]
Definition: AuxBioCro.h:23
void LNprof(double LeafN, double LAI, int nlayers, double kpLN)
Definition: AuxBioCro.c:163
double Rdb1
Definition: AuxBioCro.h:135
int sp4
Definition: AuxBioCro.h:18
double Vmaxb1
Definition: AuxBioCro.h:131
int tp3
Definition: AuxBioCro.h:19
double alphab0
Definition: AuxBioCro.h:134
double tmp3[MAXLAY]
Definition: AuxBioCro.h:28
void RHprof(double RH, int nlayers)
Definition: AuxBioCro.c:144
Definition: AuxBioCro.h:41
double alphab1
Definition: AuxBioCro.h:133
void WINDprof(double WindSpeed, double LAI, int nlayers)
Definition: AuxBioCro.c:128
double layItotal[MAXLAY]
Definition: AuxBioCro.h:24
int tp4
Definition: AuxBioCro.h:19
Definition: AuxBioCro.h:32
double layFsun[MAXLAY]
Definition: AuxBioCro.h:25
int sp1
Definition: AuxBioCro.h:18
void lightME(double lat, int DOY, int td)
Definition: AuxBioCro.c:26
double layIdir[MAXLAY]
Definition: AuxBioCro.h:22