Skip to content

Commit 2d98623

Browse files
authored
Merge pull request #647 from rgknox/init-order-v2
Fixes to initialization order and circular dependencies
2 parents b78c500 + 5b7bd67 commit 2d98623

26 files changed

+1015
-1009
lines changed

biogeochem/EDCanopyStructureMod.F90

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ module EDCanopyStructureMod
2424
use EDTypesMod , only : nlevleaf
2525
use EDtypesMod , only : AREA
2626
use FatesGlobals , only : endrun => fates_endrun
27-
use FatesInterfaceMod , only : hlm_days_per_year
28-
use FatesInterfaceMod , only : hlm_use_planthydro
29-
use FatesInterfaceMod , only : hlm_use_cohort_age_tracking
30-
use FatesInterfaceMod , only : numpft
27+
use FatesInterfaceTypesMod , only : hlm_days_per_year
28+
use FatesInterfaceTypesMod , only : hlm_use_planthydro
29+
use FatesInterfaceTypesMod , only : hlm_use_cohort_age_tracking
30+
use FatesInterfaceTypesMod , only : numpft
3131
use FatesPlantHydraulicsMod, only : UpdateH2OVeg,InitHydrCohort, RecruitWaterStorage
3232
use EDTypesMod , only : maxCohortsPerPatch
3333

@@ -121,7 +121,7 @@ subroutine canopy_structure( currentSite , bc_in )
121121

122122
use EDParamsMod, only : ED_val_comp_excln
123123
use EDTypesMod , only : min_patch_area
124-
use FatesInterfaceMod, only : bc_in_type
124+
use FatesInterfaceTypesMod, only : bc_in_type
125125
!
126126
! !ARGUMENTS
127127
type(ed_site_type) , intent(inout), target :: currentSite
@@ -1256,8 +1256,8 @@ subroutine canopy_summarization( nsites, sites, bc_in )
12561256
! Much of this routine was once ed_clm_link minus all the IO and history stuff
12571257
! ---------------------------------------------------------------------------------
12581258

1259-
use FatesInterfaceMod , only : bc_in_type
1260-
use FatesInterfaceMod , only : hlm_use_cohort_age_tracking
1259+
use FatesInterfaceTypesMod , only : bc_in_type
1260+
use FatesInterfaceTypesMod , only : hlm_use_cohort_age_tracking
12611261
use EDPatchDynamicsMod , only : set_patchno
12621262
use FatesSizeAgeTypeIndicesMod, only : sizetype_class_index
12631263
use FatesSizeAgeTypeIndicesMod, only : coagetype_class_index
@@ -1874,7 +1874,7 @@ subroutine update_hlm_dynamics(nsites,sites,fcolumn,bc_out)
18741874

18751875
use EDTypesMod , only : ed_patch_type, ed_cohort_type, &
18761876
ed_site_type, AREA
1877-
use FatesInterfaceMod , only : bc_out_type
1877+
use FatesInterfaceTypesMod , only : bc_out_type
18781878
use EDPftvarcon , only : EDPftvarcon_inst
18791879

18801880

biogeochem/EDCohortDynamicsMod.F90

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ module EDCohortDynamicsMod
66
! !USES:
77
use FatesGlobals , only : endrun => fates_endrun
88
use FatesGlobals , only : fates_log
9-
use FatesInterfaceMod , only : hlm_freq_day
10-
use FatesInterfaceMod , only : bc_in_type
11-
use FatesInterfaceMod , only : hlm_use_planthydro
12-
use FatesInterfaceMod , only : hlm_use_cohort_age_tracking
9+
use FatesInterfaceTypesMod , only : hlm_freq_day
10+
use FatesInterfaceTypesMod , only : bc_in_type
11+
use FatesInterfaceTypesMod , only : hlm_use_planthydro
12+
use FatesInterfaceTypesMod , only : hlm_use_cohort_age_tracking
1313
use FatesConstantsMod , only : r8 => fates_r8
1414
use FatesConstantsMod , only : fates_unset_int
1515
use FatesConstantsMod , only : itrue,ifalse
1616
use FatesConstantsMod , only : fates_unset_r8
1717
use FatesConstantsMod , only : nearzero
1818
use FatesConstantsMod , only : calloc_abs_error
19-
use FatesInterfaceMod , only : hlm_days_per_year
20-
use FatesInterfaceMod , only : nleafage
19+
use FatesInterfaceTypesMod , only : hlm_days_per_year
20+
use FatesInterfaceTypesMod , only : nleafage
2121
use SFParamsMod , only : SF_val_CWD_frac
2222
use EDPftvarcon , only : EDPftvarcon_inst
2323
use EDPftvarcon , only : GetDecompyFrac
@@ -38,8 +38,8 @@ module EDCohortDynamicsMod
3838
use EDTypesMod , only : site_fluxdiags_type
3939
use EDTypesMod , only : num_elements
4040
use EDParamsMod , only : ED_val_cohort_age_fusion_tol
41-
use FatesInterfaceMod , only : hlm_use_planthydro
42-
use FatesInterfaceMod , only : hlm_parteh_mode
41+
use FatesInterfaceTypesMod , only : hlm_use_planthydro
42+
use FatesInterfaceTypesMod , only : hlm_parteh_mode
4343
use FatesPlantHydraulicsMod, only : FuseCohortHydraulics
4444
use FatesPlantHydraulicsMod, only : CopyCohortHydraulics
4545
use FatesPlantHydraulicsMod, only : UpdateSizeDepPlantHydProps
@@ -953,7 +953,7 @@ subroutine fuse_cohorts(currentSite, currentPatch, bc_in)
953953
! !USES:
954954
use EDParamsMod , only : ED_val_cohort_size_fusion_tol
955955
use EDParamsMod , only : ED_val_cohort_age_fusion_tol
956-
use FatesInterfaceMod , only : hlm_use_cohort_age_tracking
956+
use FatesInterfaceTypesMod , only : hlm_use_cohort_age_tracking
957957
use FatesConstantsMod , only : itrue
958958
use FatesConstantsMod, only : days_per_year
959959
use EDTypesMod , only : maxCohortsPerPatch
@@ -985,7 +985,6 @@ subroutine fuse_cohorts(currentSite, currentPatch, bc_in)
985985
real(r8) :: leaf_c_target
986986
real(r8) :: dynamic_size_fusion_tolerance
987987
real(r8) :: dynamic_age_fusion_tolerance
988-
integer :: maxCohortsPerPatch_age_tracking
989988
real(r8) :: dbh
990989
real(r8) :: leaf_c ! leaf carbon [kg]
991990

@@ -1004,11 +1003,6 @@ subroutine fuse_cohorts(currentSite, currentPatch, bc_in)
10041003
! set the cohort age fusion tolerance (in fraction of years)
10051004
dynamic_age_fusion_tolerance = ED_val_cohort_age_fusion_tol
10061005

1007-
if ( hlm_use_cohort_age_tracking .eq. itrue) then
1008-
maxCohortsPerPatch_age_tracking = 300
1009-
end if
1010-
1011-
10121006

10131007
!This needs to be a function of the canopy layer, because otherwise, at canopy closure
10141008
!the number of cohorts doubles and very dissimilar cohorts are fused together
@@ -1434,7 +1428,7 @@ subroutine fuse_cohorts(currentSite, currentPatch, bc_in)
14341428

14351429

14361430
if ( hlm_use_cohort_age_tracking .eq.itrue) then
1437-
if ( nocohorts > maxCohortsPerPatch_age_tracking ) then
1431+
if ( nocohorts > maxCohortsPerPatch ) then
14381432
iterate = 1
14391433
!---------------------------------------------------------------------!
14401434
! Making profile tolerance larger means that more fusion will happen !

biogeochem/EDLoggingMortalityMod.F90

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,14 @@ module EDLoggingMortalityMod
3838
use EDParamsMod , only : logging_mechanical_frac
3939
use EDParamsMod , only : logging_coll_under_frac
4040
use EDParamsMod , only : logging_dbhmax_infra
41-
use FatesInterfaceMod , only : hlm_current_year
42-
use FatesInterfaceMod , only : hlm_current_month
43-
use FatesInterfaceMod , only : hlm_current_day
44-
use FatesInterfaceMod , only : hlm_model_day
45-
use FatesInterfaceMod , only : hlm_day_of_year
46-
use FatesInterfaceMod , only : hlm_days_per_year
47-
use FatesInterfaceMod , only : hlm_use_logging
48-
use FatesInterfaceMod , only : hlm_use_planthydro
41+
use FatesInterfaceTypesMod , only : hlm_current_year
42+
use FatesInterfaceTypesMod , only : hlm_current_month
43+
use FatesInterfaceTypesMod , only : hlm_current_day
44+
use FatesInterfaceTypesMod , only : hlm_model_day
45+
use FatesInterfaceTypesMod , only : hlm_day_of_year
46+
use FatesInterfaceTypesMod , only : hlm_days_per_year
47+
use FatesInterfaceTypesMod , only : hlm_use_logging
48+
use FatesInterfaceTypesMod , only : hlm_use_planthydro
4949
use FatesConstantsMod , only : itrue,ifalse
5050
use FatesGlobals , only : endrun => fates_endrun
5151
use FatesGlobals , only : fates_log

biogeochem/EDMortalityFunctionsMod.F90

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ module EDMortalityFunctionsMod
1313
use FatesConstantsMod , only : itrue,ifalse
1414
use FatesAllometryMod , only : bleaf
1515
use FatesAllometryMod , only : storage_fraction_of_target
16-
use FatesInterfaceMod , only : bc_in_type
17-
use FatesInterfaceMod , only : hlm_use_ed_prescribed_phys
18-
use FatesInterfaceMod , only : hlm_freq_day
19-
use FatesInterfaceMod , only : hlm_use_planthydro
16+
use FatesInterfaceTypesMod , only : bc_in_type
17+
use FatesInterfaceTypesMod , only : hlm_use_ed_prescribed_phys
18+
use FatesInterfaceTypesMod , only : hlm_freq_day
19+
use FatesInterfaceTypesMod , only : hlm_use_planthydro
2020
use EDLoggingMortalityMod , only : LoggingMortality_frac
2121
use EDParamsMod , only : fates_mortality_disturbance_fraction
22-
use FatesInterfaceMod , only : bc_in_type
22+
use FatesInterfaceTypesMod , only : bc_in_type
2323

2424
use PRTGenericMod, only : all_carbon_elements
2525
use PRTGenericMod, only : store_organ
@@ -50,7 +50,7 @@ subroutine mortality_rates( cohort_in,bc_in,cmort,hmort,bmort,frmort,smort,asmor
5050
! ============================================================================
5151

5252
use FatesConstantsMod, only : tfrz => t_water_freeze_k_1atm
53-
use FatesInterfaceMod , only : hlm_hio_ignore_val
53+
use FatesInterfaceTypesMod , only : hlm_hio_ignore_val
5454
use FatesConstantsMod, only : fates_check_param_set
5555

5656
type (ed_cohort_type), intent(in) :: cohort_in
@@ -218,7 +218,7 @@ subroutine Mortality_Derivative( currentSite, currentCohort, bc_in)
218218
!
219219
! !USES:
220220

221-
use FatesInterfaceMod, only : hlm_freq_day
221+
use FatesInterfaceTypesMod, only : hlm_freq_day
222222
!
223223
! !ARGUMENTS
224224
type(ed_site_type), intent(inout), target :: currentSite

biogeochem/EDPatchDynamicsMod.F90

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ module EDPatchDynamicsMod
44
! Controls formation, creation, fusing and termination of patch level processes.
55
! ============================================================================
66
use FatesGlobals , only : fates_log
7-
use FatesInterfaceMod , only : hlm_freq_day
7+
use FatesInterfaceTypesMod , only : hlm_freq_day
88
use EDPftvarcon , only : EDPftvarcon_inst
99
use EDPftvarcon , only : GetDecompyFrac
1010
use EDCohortDynamicsMod , only : fuse_cohorts, sort_cohorts, insert_cohort
@@ -37,11 +37,11 @@ module EDPatchDynamicsMod
3737
use EDTypesMod , only : dl_sf
3838
use EDTypesMod , only : dump_patch
3939
use FatesConstantsMod , only : rsnbl_math_prec
40-
use FatesInterfaceMod , only : hlm_use_planthydro
41-
use FatesInterfaceMod , only : hlm_numSWb
42-
use FatesInterfaceMod , only : bc_in_type
43-
use FatesInterfaceMod , only : hlm_days_per_year
44-
use FatesInterfaceMod , only : numpft
40+
use FatesInterfaceTypesMod , only : hlm_use_planthydro
41+
use FatesInterfaceTypesMod , only : hlm_numSWb
42+
use FatesInterfaceTypesMod , only : bc_in_type
43+
use FatesInterfaceTypesMod , only : hlm_days_per_year
44+
use FatesInterfaceTypesMod , only : numpft
4545
use FatesGlobals , only : endrun => fates_endrun
4646
use FatesConstantsMod , only : r8 => fates_r8
4747
use FatesConstantsMod , only : itrue, ifalse
@@ -75,7 +75,7 @@ module EDPatchDynamicsMod
7575
use PRTGenericMod, only : repro_organ
7676
use PRTGenericMod, only : struct_organ
7777
use PRTLossFluxesMod, only : PRTBurnLosses
78-
use FatesInterfaceMod, only : hlm_parteh_mode
78+
use FatesInterfaceTypesMod, only : hlm_parteh_mode
7979
use PRTGenericMod, only : prt_carbon_allom_hyp
8080
use PRTGenericMod, only : prt_cnp_flex_allom_hyp
8181

biogeochem/EDPhysiologyMod.F90

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@ module EDPhysiologyMod
77
! ============================================================================
88

99
use FatesGlobals, only : fates_log
10-
use FatesInterfaceMod, only : hlm_days_per_year
11-
use FatesInterfaceMod, only : hlm_model_day
12-
use FatesInterfaceMod, only : hlm_freq_day
13-
use FatesInterfaceMod, only : hlm_day_of_year
14-
use FatesInterfaceMod, only : numpft
15-
use FatesInterfaceMod, only : nleafage
16-
use FatesInterfaceMod, only : hlm_use_planthydro
17-
use FatesInterfaceMod, only : hlm_parteh_mode
10+
use FatesInterfaceTypesMod, only : hlm_days_per_year
11+
use FatesInterfaceTypesMod, only : hlm_model_day
12+
use FatesInterfaceTypesMod, only : hlm_freq_day
13+
use FatesInterfaceTypesMod, only : hlm_day_of_year
14+
use FatesInterfaceTypesMod, only : numpft
15+
use FatesInterfaceTypesMod, only : nleafage
16+
use FatesInterfaceTypesMod, only : hlm_use_planthydro
17+
use FatesInterfaceTypesMod, only : hlm_parteh_mode
1818
use FatesConstantsMod, only : r8 => fates_r8
1919
use FatesConstantsMod, only : nearzero
2020
use FatesConstantsMod, only : g_per_kg
2121
use FatesConstantsMod, only : days_per_sec
2222
use EDPftvarcon , only : EDPftvarcon_inst
2323
use EDPftvarcon , only : GetDecompyFrac
24-
use FatesInterfaceMod, only : bc_in_type
24+
use FatesInterfaceTypesMod, only : bc_in_type
2525
use EDCohortDynamicsMod , only : zero_cohort
2626
use EDCohortDynamicsMod , only : create_cohort, sort_cohorts
2727
use EDCohortDynamicsMod , only : InitPRTObject
@@ -1430,7 +1430,7 @@ subroutine recruitment( currentSite, currentPatch, bc_in )
14301430
! spawn new cohorts of juveniles of each PFT
14311431
!
14321432
! !USES:
1433-
use FatesInterfaceMod, only : hlm_use_ed_prescribed_phys
1433+
use FatesInterfaceTypesMod, only : hlm_use_ed_prescribed_phys
14341434
!
14351435
! !ARGUMENTS
14361436
type(ed_site_type), intent(inout), target :: currentSite
@@ -2234,9 +2234,9 @@ subroutine FluxIntoLitterPools(nsites, sites, bc_in, bc_out)
22342234

22352235
use EDTypesMod, only : AREA
22362236
use FatesConstantsMod, only : sec_per_day
2237-
use FatesInterfaceMod, only : bc_in_type, bc_out_type
2238-
use FatesInterfaceMod, only : hlm_use_vertsoilc
2239-
use FatesInterfaceMod, only : hlm_numlevgrnd
2237+
use FatesInterfaceTypesMod, only : bc_in_type, bc_out_type
2238+
use FatesInterfaceTypesMod, only : hlm_use_vertsoilc
2239+
use FatesInterfaceTypesMod, only : hlm_numlevgrnd
22402240
use FatesConstantsMod, only : itrue
22412241
use FatesGlobals, only : endrun => fates_endrun
22422242
use EDParamsMod , only : ED_val_cwd_flig, ED_val_cwd_fcel

biogeophys/EDAccumulateFluxesMod.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ subroutine AccumulateFluxes_ED(nsites, sites, bc_in, bc_out, dt_time)
3939

4040
use EDTypesMod , only : ed_patch_type, ed_cohort_type, &
4141
ed_site_type, AREA
42-
use FatesInterfaceMod , only : bc_in_type,bc_out_type
42+
use FatesInterfaceTypesMod , only : bc_in_type,bc_out_type
4343

4444
!
4545
! !ARGUMENTS

biogeophys/EDBtranMod.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ module EDBtranMod
1313
ed_cohort_type, &
1414
maxpft
1515
use shr_kind_mod , only : r8 => shr_kind_r8
16-
use FatesInterfaceMod , only : bc_in_type, &
16+
use FatesInterfaceTypesMod , only : bc_in_type, &
1717
bc_out_type, &
1818
numpft
19-
use FatesInterfaceMod , only : hlm_use_planthydro
19+
use FatesInterfaceTypesMod , only : hlm_use_planthydro
2020
use FatesGlobals , only : fates_log
2121
use FatesAllometryMod , only : set_root_fraction
2222
use FatesAllometryMod , only : i_hydro_rootprof_context

biogeophys/EDSurfaceAlbedoMod.F90

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ module EDSurfaceRadiationMod
1616
use FatesConstantsMod , only : r8 => fates_r8
1717
use FatesConstantsMod , only : itrue
1818
use FatesConstantsMod , only : pi_const
19-
use FatesInterfaceMod , only : bc_in_type
20-
use FatesInterfaceMod , only : bc_out_type
21-
use FatesInterfaceMod , only : hlm_numSWb
22-
use FatesInterfaceMod , only : numpft
19+
use FatesInterfaceTypesMod , only : bc_in_type
20+
use FatesInterfaceTypesMod , only : bc_out_type
21+
use FatesInterfaceTypesMod , only : hlm_numSWb
22+
use FatesInterfaceTypesMod , only : numpft
2323
use EDTypesMod , only : maxSWb
2424
use EDTypesMod , only : nclmax
2525
use EDTypesMod , only : nlevleaf

biogeophys/FatesBstressMod.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ module FatesBstressMod
1212
ed_cohort_type, &
1313
maxpft
1414
use shr_kind_mod , only : r8 => shr_kind_r8
15-
use FatesInterfaceMod , only : bc_in_type, &
15+
use FatesInterfaceTypesMod , only : bc_in_type, &
1616
bc_out_type, &
1717
numpft
18-
use FatesInterfaceMod , only : hlm_use_planthydro
18+
use FatesInterfaceTypesMod , only : hlm_use_planthydro
1919
use FatesGlobals , only : fates_log
2020
use EDBtranMod , only : check_layer_water
2121
use FatesAllometryMod , only : set_root_fraction

0 commit comments

Comments
 (0)