Initial commit

This commit is contained in:
2016-02-03 18:52:05 +00:00
commit d40505e161
507 changed files with 91383 additions and 0 deletions
+87
View File
@@ -0,0 +1,87 @@
subroutine UnivParamsAlloc(iswitch)
implicit none
include '../testarea/LeafGasParams.h'
include '../testarea/LeafGasHybridFit.h'
integer iswitch,i
!ilimittype=1: Rubisco,RuBp and TPU limitations
!ilimittype=2: Rubisco and RuBp limitations only
!ilimittype=3: Rubisco and TPU limitations only
!ilimittype=4: RuBp and TPU limitations only
!ilimittype=5: Rubisco limitation only
!ilimittype=6: RuBp limitation only
!ilimittype=7: TPU limitation only
!iswitch=1: initilize the array of univparams
!iswitch=2: allcoate the array of univparams to corresponding parameters
if(iswitch.eq.2)then
resistwp25=univparams(1)
resistch25=univparams(2)
rdlight25=univparams(3)
stargamma25=univparams(4)
vcmax25=univparams(5)
fkc25=univparams(6)
fko25=univparams(7)
fjmax25=univparams(8)
tpu25=univparams(9)
alpha25=univparams(10)
phifactor=univparams(11)
thetafactor=univparams(12)
betaPSII=univparams(13)
ha_darkresp=univparams(14)
ha_stargamma=univparams(15)
ha_vcmax=univparams(16)
ha_jmax=univparams(17)
ha_tpu=univparams(18)
ha_gmeso=univparams(19)
return
else
do i=1,ntotunivparams
!Initialize ifixunivparams to keep all parameters unchanged
ifixunivparams(i)=0
enddo
!
if(Currentiknowlimit.eq.-1)then
!Fluorescence only fit
if(idorwp.eq.1)ifixunivparams(1)=1
if(idorch.eq.1)ifixunivparams(2)=1
if(idord.eq.1)ifixunivparams(3)=1
if(idostargamma.eq.1)ifixunivparams(4)=1
if(idobetaPSII.eq.1)ifixunivparams(13)=1
if(idoha_darkresp.eq.1)ifixunivparams(14)=1
if(idoha_stargamma.eq.1)ifixunivparams(15)=1
if(idoha_gmeso.eq.1)ifixunivparams(19)=1
return
endif
!
if(idorwp.eq.1)ifixunivparams(1)=1
if(idorch.eq.1)ifixunivparams(2)=1
if(idord.eq.1)ifixunivparams(3)=1
if(idostargamma.eq.1)ifixunivparams(4)=1
if(Currentilimittype.le.3.or.Currentilimittype.eq.5)then
!Rubisco limit involved
ifixunivparams(5)=1
if(idokc.eq.1)ifixunivparams(6)=1
if(idoko.eq.1)ifixunivparams(7)=1
if(idoha_vcmax)ifixunivparams(16)=1
endif
if(Currentilimittype.le.2.or.Currentilimittype.eq.4.or.
&Currentilimittype.eq.6)then
!RuBp limit involved
ifixunivparams(8)=1
if(idoha_jmax.eq.1)ifixunivparams(17)=1
if(idophifactor.eq.1)ifixunivparams(11)=1
if(idothetafactor.eq.1)ifixunivparams(12)=1
if(idobetaPSII.eq.1)ifixunivparams(13)=1
endif
if(Currentilimittype.eq.1.or.Currentilimittype.eq.3.or.
&Currentilimittype.eq.4.or.Currentilimittype.eq.7)then
!tpu limit involved
ifixunivparams(9)=1
if(idoalpha.eq.1)ifixunivparams(10)=1
if(idoha_tpu.eq.1)ifixunivparams(18)=1
endif
if(idoha_darkresp.eq.1)ifixunivparams(14)=1
if(idoha_stargamma.eq.1)ifixunivparams(15)=1
if(idoha_gmeso.eq.1)ifixunivparams(19)=1
return
endif
end subroutine UnivParamsAlloc