@@ -13,9 +13,7 @@ module EDPhysiologyMod
1313 use FatesInterfaceMod, only : hlm_day_of_year
1414 use FatesInterfaceMod, only : numpft
1515 use FatesConstantsMod, only : r8 = > fates_r8
16- use EDEcophysContype , only : EDecophyscon
1716 use EDPftvarcon , only : EDPftvarcon_inst
18- use EDEcophysContype , only : EDecophyscon
1917 use FatesInterfaceMod, only : bc_in_type
2018 use EDCohortDynamicsMod , only : allocate_live_biomass, zero_cohort
2119 use EDCohortDynamicsMod , only : create_cohort, sort_cohorts
@@ -194,14 +192,14 @@ subroutine trim_canopy( currentSite )
194192 currentCohort% leaf_cost = 1._r8 / (EDPftvarcon_inst% slatop(currentCohort% pft)* 1000.0_r8 )
195193 currentCohort% leaf_cost = currentCohort% leaf_cost + &
196194 1.0_r8 / (EDPftvarcon_inst% slatop(currentCohort% pft)* 1000.0_r8 ) * &
197- EDPftvarcon_inst% allom_l2fr(currentCohort% pft) / EDecophyscon % root_long(currentCohort% pft)
195+ EDPftvarcon_inst% allom_l2fr(currentCohort% pft) / EDPftvarcon_inst % root_long(currentCohort% pft)
198196 currentCohort% leaf_cost = currentCohort% leaf_cost * (EDPftvarcon_inst% grperc(currentCohort% pft) + 1._r8 )
199197 else ! evergreen costs
200198 currentCohort% leaf_cost = 1.0_r8 / (EDPftvarcon_inst% slatop(currentCohort% pft)* &
201199 EDPftvarcon_inst% leaf_long(currentCohort% pft)* 1000.0_r8 ) ! convert from sla in m2g-1 to m2kg-1
202200 currentCohort% leaf_cost = currentCohort% leaf_cost + &
203201 1.0_r8 / (EDPftvarcon_inst% slatop(currentCohort% pft)* 1000.0_r8 ) * &
204- EDPftvarcon_inst% allom_l2fr(currentCohort% pft) / EDecophyscon % root_long(currentCohort% pft)
202+ EDPftvarcon_inst% allom_l2fr(currentCohort% pft) / EDPftvarcon_inst % root_long(currentCohort% pft)
205203 currentCohort% leaf_cost = currentCohort% leaf_cost * (EDPftvarcon_inst% grperc(currentCohort% pft) + 1._r8 )
206204 endif
207205 if (currentCohort% year_net_uptake(z) < currentCohort% leaf_cost)then
@@ -212,7 +210,7 @@ subroutine trim_canopy( currentSite )
212210 endif
213211
214212 ! keep trimming until none of the canopy is in negative carbon balance.
215- if (currentCohort% hite > EDecophyscon % hgt_min(currentCohort% pft))then
213+ if (currentCohort% hite > EDPftvarcon_inst % hgt_min(currentCohort% pft))then
216214 currentCohort% canopy_trim = currentCohort% canopy_trim - EDPftvarcon_inst% trim_inc(currentCohort% pft)
217215 if (EDPftvarcon_inst% evergreen(currentCohort% pft) /= 1 )then
218216 currentCohort% laimemory = currentCohort% laimemory* (1.0_r8 - EDPftvarcon_inst% trim_inc(currentCohort% pft))
@@ -689,9 +687,9 @@ subroutine seeds_in( currentSite, cp_pnt )
689687 if (external_recruitment == 1 ) then ! external seed rain - needed to prevent extinction
690688 do p = 1 ,numpft
691689 currentPatch% seeds_in(p) = currentPatch% seeds_in(p) + &
692- EDecophyscon % seed_rain(p) ! KgC/m2/year
690+ EDPftvarcon_inst % seed_rain(p) ! KgC/m2/year
693691 currentSite% seed_rain_flux(p) = currentSite% seed_rain_flux(p) + &
694- EDecophyscon % seed_rain(p) * currentPatch% area/ AREA ! KgC/m2/year
692+ EDPftvarcon_inst % seed_rain(p) * currentPatch% area/ AREA ! KgC/m2/year
695693 enddo
696694 endif
697695 currentPatch = > currentPatch% younger
@@ -827,7 +825,7 @@ subroutine Growth_Derivatives( currentSite, currentCohort, bc_in)
827825 ! Maintenance demands
828826 if (EDPftvarcon_inst% evergreen(currentCohort% pft) == 1 )then ! grass and EBT
829827 currentCohort% leaf_md = currentCohort% bl / EDPftvarcon_inst% leaf_long(currentCohort% pft)
830- currentCohort% root_md = currentCohort% br / EDecophyscon % root_long(currentCohort% pft)
828+ currentCohort% root_md = currentCohort% br / EDPftvarcon_inst % root_long(currentCohort% pft)
831829 currentCohort% md = currentCohort% root_md + currentCohort% leaf_md
832830 endif
833831
@@ -837,13 +835,13 @@ subroutine Growth_Derivatives( currentSite, currentCohort, bc_in)
837835 ! are still in an expansion phase.
838836
839837 if (EDPftvarcon_inst% season_decid(currentCohort% pft) == 1 )then
840- currentCohort% root_md = currentCohort% br / EDecophyscon % root_long(currentCohort% pft)
838+ currentCohort% root_md = currentCohort% br / EDPftvarcon_inst % root_long(currentCohort% pft)
841839 currentCohort% leaf_md = 0._r8
842840 currentCohort% md = currentCohort% root_md + currentCohort% leaf_md
843841 endif
844842
845843 if (EDPftvarcon_inst% stress_decid(currentCohort% pft) == 1 )then
846- currentCohort% root_md = currentCohort% br / EDecophyscon % root_long(currentCohort% pft)
844+ currentCohort% root_md = currentCohort% br / EDPftvarcon_inst % root_long(currentCohort% pft)
847845 currentCohort% leaf_md = 0._r8
848846 currentCohort% md = currentCohort% root_md + currentCohort% leaf_md
849847 endif
@@ -865,17 +863,17 @@ subroutine Growth_Derivatives( currentSite, currentCohort, bc_in)
865863 ! this is the fraction of maintenance demand we -have- to do...
866864
867865 if ( DEBUG ) write (fates_log(),* ) ' EDphys 760 ' ,currentCohort% npp_acc_hold, currentCohort% md, &
868- EDecophyscon % leaf_stor_priority(currentCohort% pft)
866+ EDPftvarcon_inst % leaf_stor_priority(currentCohort% pft)
869867
870868 currentCohort% carbon_balance = currentCohort% npp_acc_hold - &
871- currentCohort% md * EDecophyscon % leaf_stor_priority(currentCohort% pft)
869+ currentCohort% md * EDPftvarcon_inst % leaf_stor_priority(currentCohort% pft)
872870
873871 ! Allowing only carbon from NPP pool to account for npp flux into the maintenance turnover pools
874872 ! ie this does not include any use of storage carbon or balive to make up for missing carbon balance in the transfer
875873 currentCohort% npp_leaf = max (0.0_r8 ,min (currentCohort% npp_acc_hold* currentCohort% leaf_md/ currentCohort% md, &
876- currentCohort% leaf_md* EDecophyscon % leaf_stor_priority(currentCohort% pft)))
874+ currentCohort% leaf_md* EDPftvarcon_inst % leaf_stor_priority(currentCohort% pft)))
877875 currentCohort% npp_froot = max (0.0_r8 ,min (currentCohort% npp_acc_hold* currentCohort% root_md/ currentCohort% md, &
878- currentCohort% root_md* EDecophyscon % leaf_stor_priority(currentCohort% pft)))
876+ currentCohort% root_md* EDPftvarcon_inst % leaf_stor_priority(currentCohort% pft)))
879877
880878 if (Bleaf(currentCohort) > 0._r8 )then
881879
@@ -884,7 +882,7 @@ subroutine Growth_Derivatives( currentSite, currentCohort, bc_in)
884882 if (currentCohort% carbon_balance > 0._r8 )then ! spend C on growing and storing
885883
886884 ! what fraction of the target storage do we have?
887- frac = max (0.0_r8 ,currentCohort% bstore/ (Bleaf(currentCohort) * EDecophyscon % cushion(currentCohort% pft)))
885+ frac = max (0.0_r8 ,currentCohort% bstore/ (Bleaf(currentCohort) * EDPftvarcon_inst % cushion(currentCohort% pft)))
888886 ! FIX(SPM,080514,fstore never used )
889887 f_store = max (exp (- 1 .* frac** 4._r8 ) - exp ( - 1.0_r8 ),0.0_r8 )
890888 ! what fraction of allocation do we divert to storage?
@@ -916,14 +914,14 @@ subroutine Growth_Derivatives( currentSite, currentCohort, bc_in)
916914
917915 ! Do we have enough carbon left over to make up the rest of the turnover demand?
918916 balive_loss = 0._r8
919- if (currentCohort% carbon_balance > currentCohort% md* (1.0_r8 - EDecophyscon % leaf_stor_priority(currentCohort% pft)))then ! Yes...
917+ if (currentCohort% carbon_balance > currentCohort% md* (1.0_r8 - EDPftvarcon_inst % leaf_stor_priority(currentCohort% pft)))then ! Yes...
920918 currentCohort% carbon_balance = currentCohort% carbon_balance - currentCohort% md * (1.0_r8 - &
921- EDecophyscon % leaf_stor_priority(currentCohort% pft))
919+ EDPftvarcon_inst % leaf_stor_priority(currentCohort% pft))
922920
923921 currentCohort% npp_leaf = currentCohort% npp_leaf + &
924- currentCohort% leaf_md * (1.0_r8 - EDecophyscon % leaf_stor_priority(currentCohort% pft))
922+ currentCohort% leaf_md * (1.0_r8 - EDPftvarcon_inst % leaf_stor_priority(currentCohort% pft))
925923 currentCohort% npp_froot = currentCohort% npp_froot + &
926- currentCohort% root_md * (1.0_r8 - EDecophyscon % leaf_stor_priority(currentCohort% pft))
924+ currentCohort% root_md * (1.0_r8 - EDPftvarcon_inst % leaf_stor_priority(currentCohort% pft))
927925
928926 else ! we can't maintain constant leaf area and root area. Balive is reduced
929927
@@ -932,7 +930,7 @@ subroutine Growth_Derivatives( currentSite, currentCohort, bc_in)
932930 currentCohort% npp_froot = currentCohort% npp_froot + &
933931 max (0.0_r8 ,currentCohort% carbon_balance* (currentCohort% root_md/ currentCohort% md))
934932
935- balive_loss = currentCohort% md * (1.0_r8 - EDecophyscon % leaf_stor_priority(currentCohort% pft))- currentCohort% carbon_balance
933+ balive_loss = currentCohort% md * (1.0_r8 - EDPftvarcon_inst % leaf_stor_priority(currentCohort% pft))- currentCohort% carbon_balance
936934 currentCohort% carbon_balance = 0._r8
937935 endif
938936
@@ -944,20 +942,20 @@ subroutine Growth_Derivatives( currentSite, currentCohort, bc_in)
944942 ! only if carbon balance is +ve
945943 if ((currentCohort% balive >= target_balive).AND. (currentCohort% carbon_balance > 0._r8 ))then
946944 ! fraction of carbon going into active vs structural carbon
947- if (currentCohort% dbh <= EDecophyscon % max_dbh(currentCohort% pft))then ! cap on leaf biomass
945+ if (currentCohort% dbh <= EDPftvarcon_inst % max_dbh(currentCohort% pft))then ! cap on leaf biomass
948946 dbldbd = dDbhdBd(currentCohort)/ dDbhdBl(currentCohort)
949947 dbrdbd = EDPftvarcon_inst% allom_l2fr(currentCohort% pft) * dbldbd
950948 dhdbd_fn = dhdbd(currentCohort)
951949 dbswdbd = EDpftvarcon_inst% allom_latosa_int(currentCohort% pft) * (h* dbldbd + currentCohort% bl* dhdbd_fn)
952950 u = 1.0_r8 / (dbldbd + dbrdbd + dbswdbd)
953951 va = 1.0_r8 / (1.0_r8 + u)
954952 vs = u / (1.0_r8 + u)
955- gr_fract = 1.0_r8 - EDecophyscon % seed_alloc(currentCohort% pft)
953+ gr_fract = 1.0_r8 - EDPftvarcon_inst % seed_alloc(currentCohort% pft)
956954 else
957955 dbldbd = 0._r8 ; dbrdbd = 0._r8 ;dbswdbd = 0._r8
958956 va = 0.0_r8
959957 vs = 1.0_r8
960- gr_fract = 1.0_r8 - (EDecophyscon % seed_alloc(currentCohort% pft) + EDecophyscon % clone_alloc(currentCohort% pft))
958+ gr_fract = 1.0_r8 - (EDPftvarcon_inst % seed_alloc(currentCohort% pft) + EDPftvarcon_inst % clone_alloc(currentCohort% pft))
961959 endif
962960
963961 ! FIX(RF,032414) - to fix high bl's. needed to prevent numerical errors without the ODEINT.
@@ -987,7 +985,7 @@ subroutine Growth_Derivatives( currentSite, currentCohort, bc_in)
987985 write (fates_log(),* ) ' cohort fluxes' ,currentCohort% pft,currentCohort% canopy_layer,currentCohort% n, &
988986 currentCohort% npp_acc_hold,currentCohort% dbalivedt,balive_loss, &
989987 currentCohort% dbdeaddt,currentCohort% dbstoredt,currentCohort% seed_prod,currentCohort% md * &
990- EDecophyscon % leaf_stor_priority(currentCohort% pft)
988+ EDPftvarcon_inst % leaf_stor_priority(currentCohort% pft)
991989 write (fates_log(),* ) ' proxies' ,target_balive,currentCohort% balive,currentCohort% dbh,va,vs,gr_fract
992990 endif
993991
@@ -1042,12 +1040,12 @@ subroutine recruitment( t, currentSite, currentPatch, bc_in )
10421040
10431041 temp_cohort% canopy_trim = 0.8_r8 ! starting with the canopy not fully expanded
10441042 temp_cohort% pft = ft
1045- temp_cohort% hite = EDecophyscon % hgt_min(ft)
1043+ temp_cohort% hite = EDPftvarcon_inst % hgt_min(ft)
10461044 temp_cohort% dbh = Dbh(temp_cohort)
10471045 temp_cohort% bdead = Bdead(temp_cohort)
10481046 temp_cohort% balive = Bleaf(temp_cohort)* (1.0_r8 + EDPftvarcon_inst% allom_l2fr(ft) &
10491047 + EDpftvarcon_inst% allom_latosa_int(ft)* temp_cohort% hite)
1050- temp_cohort% bstore = EDecophyscon % cushion(ft)* (temp_cohort% balive/ (1.0_r8 + EDPftvarcon_inst% allom_l2fr(ft) &
1048+ temp_cohort% bstore = EDPftvarcon_inst % cushion(ft)* (temp_cohort% balive/ (1.0_r8 + EDPftvarcon_inst% allom_l2fr(ft) &
10511049 + EDpftvarcon_inst% allom_latosa_int(ft)* temp_cohort% hite))
10521050 temp_cohort% n = currentPatch% area * currentPatch% seed_germination(ft)* hlm_freq_day &
10531051 / (temp_cohort% bdead+ temp_cohort% balive+ temp_cohort% bstore)
0 commit comments