Skip to content

Commit

Permalink
Merge branch 'lnd/fates-api35' into next (PR #6419)
Browse files Browse the repository at this point in the history
The FATE API has been updated which includes
1) control over the dimensionality of FATES history output and
2) an update to the parameter file format. This set of changes makes
   E3SM compatible with FATES tag sci.1.76.3_api.35.1.0.

[BFB] except for FATES
  • Loading branch information
bishtgautam committed Jun 14, 2024
2 parents 3f361f0 + cdadd6f commit af3f0ae
Show file tree
Hide file tree
Showing 9 changed files with 218 additions and 102 deletions.
9 changes: 7 additions & 2 deletions components/elm/bld/ELMBuildNamelist.pm
Original file line number Diff line number Diff line change
Expand Up @@ -813,7 +813,7 @@ sub setup_cmdl_fates_mode {
"use_fates_inventory_init", "use_fates_fixed_biogeog", "use_fates_nocomp","use_fates_sp",
"fates_inventory_ctrl_filename","use_fates_logging", "use_fates_tree_damage",
"use_fates_parteh_mode","use_fates_cohort_age_tracking","use_snicar_ad", "use_fates_luh",
"fluh_timeseries");
"fluh_timeseries","fates_history_dimlevel");
foreach my $var ( @list ) {
if ( defined($nl->get_value($var)) ) {
$nl_flags->{$var} = $nl->get_value($var);
Expand Down Expand Up @@ -3397,7 +3397,8 @@ sub setup_logic_fates {
add_default($test_files, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'use_fates_luh', 'use_fates'=>$nl_flags->{'use_fates'});
add_default($test_files, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fates_paramfile', 'phys'=>$nl_flags->{'phys'});
add_default($test_files, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fluh_timeseries', 'phys'=>$nl_flags->{'phys'});

add_default($test_files, $nl_flags->{'inputdata_rootdir'}, $definition, $defaults, $nl, 'fates_history_dimlevel','use_fates'=>$nl_flags->{'use_fates'});

# For FATES SP mode make sure no-competion, and fixed-biogeography are also set
# And also check for other settings that can't be trigged on as well
my $var = "use_fates_sp";
Expand All @@ -3413,6 +3414,10 @@ sub setup_logic_fates {
if ( $nl->get_value('fates_spitfire_mode') > 0 ) {
fatal_error('fates_spitfire_mode can NOT be set to greater than 0 when use_fates_sp is true');
}
# hydro isn't currently supported to work when FATES SP mode is active
if (&value_is_true( $nl->get_value('use_fates_planthydro') )) {
fatal_error('fates sp mode is currently not supported to work with fates hydro');
}
}
}
# check that fates landuse change mode has the necessary luh2 landuse timeseries data
Expand Down
4 changes: 2 additions & 2 deletions components/elm/bld/namelist_files/namelist_defaults.xml
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case).
<!-- ================================================================== -->
<!-- FATES default parameter file -->
<!-- ================================================================== -->
<fates_paramfile >lnd/clm2/paramdata/fates_params_api.32.0.0_12pft_c231215.nc</fates_paramfile>
<fates_paramfile >lnd/clm2/paramdata/fates_params_api.35.0.0_12pft_c240326.nc</fates_paramfile>

<!-- soil order related parameters (relative to {csmdata}) -->
<fsoilordercon >lnd/clm2/paramdata/CNP_parameters_c131108.nc</fsoilordercon>
Expand Down Expand Up @@ -2195,7 +2195,7 @@ this mask will have smb calculated over the entire global land surface
<use_fates_nocomp use_fates=".true." >.false.</use_fates_nocomp>
<use_fates_fixed_biogeog use_fates=".true." use_fates_sp=".true.">.true.</use_fates_fixed_biogeog>
<use_fates_fixed_biogeog use_fates=".true." >.false.</use_fates_fixed_biogeog>

<fates_history_dimlevel use_fates=".true.">2,2</fates_history_dimlevel>
<use_vertsoilc bgc_mode="fates" >.true.</use_vertsoilc>
<use_century_decomp bgc_mode="fates" >.true.</use_century_decomp>
<use_lch4 bgc_mode="fates" >.false.</use_lch4>
Expand Down
13 changes: 13 additions & 0 deletions components/elm/bld/namelist_files/namelist_definition.xml
Original file line number Diff line number Diff line change
Expand Up @@ -395,6 +395,19 @@ Full pathname of unified land use harmonization data file. This causes the land-
types to vary over time.
</entry>

<entry id="fates_history_dimlevel" type="integer(2)" category="physics"
group="elm_inparm" valid_values="0,1,2" >
Setting for what types of FATES history to be allocate and
calculated at the dynamics timestep (1st integer) and the
model timestep (2nd integer). This must be consistent with
hist_fincl*, ie output variables must not be listed if the
output level is not enabled.
0 = no fates history variables are calculated or allocated
1 = only time x space (3d) fates history variables allowed
2 = multiplexed dimensioned fates history is also allowed
(Only relevant if FATES is on)
</entry>

<entry id="use_hydrstress" type="logical" category="physics"
group="elm_inparm" valid_values="" value=".false.">
Toggle to turn on if Kennedy et al plant hydraulics model is used.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,73 +2,57 @@ hist_mfilt = 365
hist_nhtfrq = -24
hist_empty_htapes = .false.
fates_spitfire_mode = 1
hist_fincl1 = 'FATES_CROWNAREA_PF', 'FATES_CANOPYCROWNAREA_PF',
'FATES_NCL_AP', 'FATES_NPATCH_AP', 'FATES_VEGC_AP',
'FATES_SECONDARY_FOREST_FRACTION', 'FATES_WOOD_PRODUCT',
'FATES_SECONDARY_FOREST_VEGC', 'FATES_SECONDAREA_ANTHRODIST_AP',
'FATES_SECONDAREA_DIST_AP', 'FATES_STOMATAL_COND_AP', 'FATES_LBLAYER_COND_AP',
'FATES_NPP_AP', 'FATES_GPP_AP', 'FATES_PARSUN_Z_CLLL', 'FATES_PARSHA_Z_CLLL',
'FATES_PARSUN_Z_CLLLPF', 'FATES_PARSHA_Z_CLLLPF', 'FATES_PARSUN_Z_CL',
'FATES_PARSHA_Z_CL', 'FATES_LAISUN_Z_CLLL', 'FATES_LAISHA_Z_CLLL',
'FATES_LAISUN_Z_CLLLPF', 'FATES_LAISHA_Z_CLLLPF', 'FATES_LAISUN_TOP_CL',
'FATES_LAISHA_TOP_CL', 'FATES_FABD_SUN_CLLLPF', 'FATES_FABD_SHA_CLLLPF',
'FATES_FABI_SUN_CLLLPF', 'FATES_FABI_SHA_CLLLPF', 'FATES_FABD_SUN_CLLL',
'FATES_FABD_SHA_CLLL', 'FATES_FABI_SUN_CLLL', 'FATES_FABI_SHA_CLLL',
'FATES_PARPROF_DIR_CLLLPF', 'FATES_PARPROF_DIF_CLLLPF','FATES_FABD_SUN_TOPLF_CL',
'FATES_FABD_SHA_TOPLF_CL', 'FATES_FABI_SUN_TOPLF_CL', 'FATES_FABI_SHA_TOPLF_CL',
'FATES_NET_C_UPTAKE_CLLL', 'FATES_CROWNAREA_CLLL', 'FATES_NPLANT_CANOPY_SZAP',
'FATES_NPLANT_USTORY_SZAP', 'FATES_DDBH_CANOPY_SZAP', 'FATES_DDBH_USTORY_SZAP',
'FATES_MORTALITY_CANOPY_SZAP', 'FATES_MORTALITY_USTORY_SZAP',
'FATES_NPLANT_SZAPPF', 'FATES_NPP_APPF', 'FATES_VEGC_APPF', 'FATES_GPP_SZPF',
'FATES_GPP_CANOPY_SZPF', 'FATES_AUTORESP_CANOPY_SZPF', 'FATES_GPP_USTORY_SZPF',
'FATES_AUTORESP_USTORY_SZPF', 'FATES_NPP_SZPF', 'FATES_LEAF_ALLOC_SZPF',
'FATES_SEED_ALLOC_SZPF', 'FATES_FROOT_ALLOC_SZPF', 'FATES_BGSAPWOOD_ALLOC_SZPF',
'FATES_BGSTRUCT_ALLOC_SZPF', 'FATES_AGSAPWOOD_ALLOC_SZPF',
'FATES_AGSTRUCT_ALLOC_SZPF', 'FATES_STORE_ALLOC_SZPF', 'FATES_DDBH_SZPF',
'FATES_GROWTHFLUX_SZPF', 'FATES_GROWTHFLUX_FUSION_SZPF',
'FATES_DDBH_CANOPY_SZPF', 'FATES_DDBH_USTORY_SZPF', 'FATES_BASALAREA_SZPF',
'FATES_VEGC_ABOVEGROUND_SZPF', 'FATES_NPLANT_SZPF', 'FATES_NPLANT_ACPF',
'FATES_MORTALITY_BACKGROUND_SZPF', 'FATES_MORTALITY_HYDRAULIC_SZPF',
'FATES_MORTALITY_CSTARV_SZPF', 'FATES_MORTALITY_IMPACT_SZPF',
'FATES_MORTALITY_FIRE_SZPF', 'FATES_MORTALITY_CROWNSCORCH_SZPF',
'FATES_MORTALITY_CAMBIALBURN_SZPF', 'FATES_MORTALITY_TERMINATION_SZPF',
'FATES_MORTALITY_LOGGING_SZPF', 'FATES_MORTALITY_FREEZING_SZPF',
'FATES_MORTALITY_SENESCENCE_SZPF', 'FATES_MORTALITY_AGESCEN_SZPF',
'FATES_MORTALITY_AGESCEN_ACPF', 'FATES_MORTALITY_CANOPY_SZPF',
'FATES_STOREC_CANOPY_SZPF', 'FATES_LEAFC_CANOPY_SZPF',
'FATES_NPLANT_CANOPY_SZPF', 'FATES_MORTALITY_USTORY_SZPF',
'FATES_STOREC_USTORY_SZPF', 'FATES_LEAFC_USTORY_SZPF',
'FATES_NPLANT_USTORY_SZPF', 'FATES_CWD_ABOVEGROUND_DC',
'FATES_CWD_BELOWGROUND_DC', 'FATES_CWD_ABOVEGROUND_IN_DC',
'FATES_CWD_BELOWGROUND_IN_DC', 'FATES_CWD_ABOVEGROUND_OUT_DC',
'FATES_CWD_BELOWGROUND_OUT_DC', 'FATES_AUTORESP_SZPF', 'FATES_GROWAR_SZPF',
'FATES_MAINTAR_SZPF', 'FATES_RDARK_SZPF', 'FATES_AGSAPMAINTAR_SZPF',
'FATES_BGSAPMAINTAR_SZPF', 'FATES_FROOTMAINTAR_SZPF',
'FATES_YESTCANLEV_CANOPY_SZ', 'FATES_YESTCANLEV_USTORY_SZ',
'FATES_VEGC_SZ', 'FATES_DEMOTION_RATE_SZ', 'FATES_PROMOTION_RATE_SZ',
'FATES_SAI_CANOPY_SZ', 'FATES_SAI_USTORY_SZ', 'FATES_NPP_CANOPY_SZ',
'FATES_NPP_USTORY_SZ', 'FATES_TRIMMING_CANOPY_SZ', 'FATES_TRIMMING_USTORY_SZ',
'FATES_CROWNAREA_CANOPY_SZ', 'FATES_CROWNAREA_USTORY_SZ',
'FATES_LEAFCTURN_CANOPY_SZ', 'FATES_FROOTCTURN_CANOPY_SZ',
'FATES_STORECTURN_CANOPY_SZ', 'FATES_STRUCTCTURN_CANOPY_SZ',
'FATES_SAPWOODCTURN_CANOPY_SZ', 'FATES_SEED_PROD_CANOPY_SZ',
'FATES_LEAF_ALLOC_CANOPY_SZ', 'FATES_FROOT_ALLOC_CANOPY_SZ',
'FATES_SAPWOOD_ALLOC_CANOPY_SZ', 'FATES_STRUCT_ALLOC_CANOPY_SZ',
'FATES_SEED_ALLOC_CANOPY_SZ', 'FATES_STORE_ALLOC_CANOPY_SZ',
'FATES_RDARK_CANOPY_SZ', 'FATES_LSTEMMAINTAR_CANOPY_SZ',
'FATES_CROOTMAINTAR_CANOPY_SZ', 'FATES_FROOTMAINTAR_CANOPY_SZ',
'FATES_GROWAR_CANOPY_SZ', 'FATES_MAINTAR_CANOPY_SZ',
'FATES_LEAFCTURN_USTORY_SZ', 'FATES_FROOTCTURN_USTORY_SZ',
'FATES_STORECTURN_USTORY_SZ', 'FATES_STRUCTCTURN_USTORY_SZ',
'FATES_SAPWOODCTURN_USTORY_SZ', 'FATES_SEED_PROD_USTORY_SZ',
'FATES_LEAF_ALLOC_USTORY_SZ', 'FATES_FROOT_ALLOC_USTORY_SZ',
'FATES_SAPWOOD_ALLOC_USTORY_SZ', 'FATES_STRUCT_ALLOC_USTORY_SZ',
'FATES_SEED_ALLOC_USTORY_SZ', 'FATES_STORE_ALLOC_USTORY_SZ',
'FATES_RDARK_USTORY_SZ', 'FATES_LSTEMMAINTAR_USTORY_SZ',
'FATES_CROOTMAINTAR_USTORY_SZ', 'FATES_FROOTMAINTAR_USTORY_SZ',
'FATES_GROWAR_USTORY_SZ', 'FATES_MAINTAR_USTORY_SZ', 'FATES_VEGC_SZPF',
'FATES_LEAFC_SZPF', 'FATES_FROOTC_SZPF', 'FATES_SAPWOODC_SZPF',
'FATES_STOREC_SZPF', 'FATES_REPROC_SZPF', 'FATES_DROUGHT_STATUS_PF',
'FATES_DAYSINCE_DROUGHTLEAFOFF_PF', 'FATES_DAYSINCE_DROUGHTLEAFON_PF',
'FATES_MEANLIQVOL_DROUGHTPHEN_PF', 'FATES_MEANSMP_DROUGHTPHEN_PF',
'FATES_ELONG_FACTOR_PF'
fates_history_dimlevel(1) = 2
fates_history_dimlevel(2) = 2
use_fates_tree_damage = .true.
hist_fincl1 = 'FATES_TLONGTERM',
'FATES_TGROWTH','FATES_SEEDS_IN_GRIDCELL_PF','FATES_SEEDS_OUT_GRIDCELL_PF','FATES_NCL_AP',
'FATES_NPATCH_AP','FATES_VEGC_AP','FATES_SECONDAREA_ANTHRODIST_AP','FATES_SECONDAREA_DIST_AP',
'FATES_FUEL_AMOUNT_APFC','FATES_STOREC_TF_USTORY_SZPF','FATES_STOREC_TF_CANOPY_SZPF',
'FATES_CROWNAREA_CLLL','FATES_ABOVEGROUND_MORT_SZPF',
'FATES_ABOVEGROUND_PROD_SZPF','FATES_NPLANT_SZAP','FATES_NPLANT_CANOPY_SZAP',
'FATES_NPLANT_USTORY_SZAP','FATES_DDBH_CANOPY_SZAP','FATES_DDBH_USTORY_SZAP',
'FATES_MORTALITY_CANOPY_SZAP','FATES_MORTALITY_USTORY_SZAP','FATES_NPLANT_SZAPPF',
'FATES_NPP_APPF','FATES_VEGC_APPF','FATES_SCORCH_HEIGHT_APPF','FATES_GPP_SZPF',
'FATES_GPP_CANOPY_SZPF','FATES_AUTORESP_CANOPY_SZPF','FATES_GPP_USTORY_SZPF',
'FATES_AUTORESP_USTORY_SZPF','FATES_NPP_SZPF','FATES_LEAF_ALLOC_SZPF',
'FATES_SEED_ALLOC_SZPF','FATES_FROOT_ALLOC_SZPF','FATES_BGSAPWOOD_ALLOC_SZPF',
'FATES_BGSTRUCT_ALLOC_SZPF','FATES_AGSAPWOOD_ALLOC_SZPF','FATES_AGSTRUCT_ALLOC_SZPF',
'FATES_STORE_ALLOC_SZPF','FATES_DDBH_SZPF','FATES_GROWTHFLUX_SZPF','FATES_GROWTHFLUX_FUSION_SZPF',
'FATES_DDBH_CANOPY_SZPF','FATES_DDBH_USTORY_SZPF','FATES_BASALAREA_SZPF','FATES_VEGC_ABOVEGROUND_SZPF',
'FATES_NPLANT_SZPF','FATES_NPLANT_ACPF','FATES_MORTALITY_BACKGROUND_SZPF','FATES_MORTALITY_HYDRAULIC_SZPF',
'FATES_MORTALITY_CSTARV_SZPF','FATES_MORTALITY_IMPACT_SZPF','FATES_MORTALITY_FIRE_SZPF',
'FATES_MORTALITY_CROWNSCORCH_SZPF','FATES_MORTALITY_CAMBIALBURN_SZPF','FATES_MORTALITY_TERMINATION_SZPF',
'FATES_MORTALITY_LOGGING_SZPF','FATES_MORTALITY_FREEZING_SZPF','FATES_MORTALITY_SENESCENCE_SZPF',
'FATES_MORTALITY_AGESCEN_SZPF','FATES_MORTALITY_AGESCEN_ACPF','FATES_MORTALITY_CANOPY_SZPF',
'FATES_M3_MORTALITY_CANOPY_SZPF','FATES_M3_MORTALITY_USTORY_SZPF','FATES_C13DISC_SZPF',
'FATES_STOREC_CANOPY_SZPF','FATES_LEAFC_CANOPY_SZPF','FATES_LAI_CANOPY_SZPF','FATES_CROWNAREA_CANOPY_SZPF',
'FATES_CROWNAREA_USTORY_SZPF','FATES_NPLANT_CANOPY_SZPF','FATES_MORTALITY_USTORY_SZPF','FATES_STOREC_USTORY_SZPF',
'FATES_LEAFC_USTORY_SZPF','FATES_LAI_USTORY_SZPF','FATES_NPLANT_USTORY_SZPF','FATES_CWD_ABOVEGROUND_DC',
'FATES_CWD_BELOWGROUND_DC','FATES_CWD_ABOVEGROUND_IN_DC','FATES_CWD_BELOWGROUND_IN_DC',
'FATES_CWD_ABOVEGROUND_OUT_DC','FATES_CWD_BELOWGROUND_OUT_DC','FATES_YESTCANLEV_CANOPY_SZ',
'FATES_YESTCANLEV_USTORY_SZ','FATES_VEGC_SZ','FATES_DEMOTION_RATE_SZ','FATES_PROMOTION_RATE_SZ',
'FATES_SAI_CANOPY_SZ','FATES_M3_MORTALITY_CANOPY_SZ','FATES_M3_MORTALITY_USTORY_SZ','FATES_SAI_USTORY_SZ',
'FATES_NPP_CANOPY_SZ','FATES_NPP_USTORY_SZ','FATES_TRIMMING_CANOPY_SZ','FATES_TRIMMING_USTORY_SZ',
'FATES_CROWNAREA_CANOPY_SZ','FATES_CROWNAREA_USTORY_SZ','FATES_LEAFCTURN_CANOPY_SZ','FATES_FROOTCTURN_CANOPY_SZ',
'FATES_STORECTURN_CANOPY_SZ','FATES_STRUCTCTURN_CANOPY_SZ','FATES_SAPWOODCTURN_CANOPY_SZ','FATES_SEED_PROD_CANOPY_SZ',
'FATES_LEAF_ALLOC_CANOPY_SZ','FATES_FROOT_ALLOC_CANOPY_SZ','FATES_SAPWOOD_ALLOC_CANOPY_SZ','FATES_STRUCT_ALLOC_CANOPY_SZ',
'FATES_SEED_ALLOC_CANOPY_SZ','FATES_STORE_ALLOC_CANOPY_SZ','FATES_LEAFCTURN_USTORY_SZ','FATES_FROOTCTURN_USTORY_SZ',
'FATES_STORECTURN_USTORY_SZ','FATES_STRUCTCTURN_USTORY_SZ','FATES_SAPWOODCTURN_USTORY_SZ',
'FATES_SEED_PROD_USTORY_SZ','FATES_LEAF_ALLOC_USTORY_SZ','FATES_FROOT_ALLOC_USTORY_SZ','FATES_SAPWOOD_ALLOC_USTORY_SZ',
'FATES_STRUCT_ALLOC_USTORY_SZ','FATES_SEED_ALLOC_USTORY_SZ','FATES_STORE_ALLOC_USTORY_SZ','FATES_CROWNAREA_CANOPY_CD',
'FATES_CROWNAREA_USTORY_CD','FATES_NPLANT_CDPF','FATES_NPLANT_CANOPY_CDPF','FATES_NPLANT_USTORY_CDPF',
'FATES_M3_CDPF','FATES_M11_SZPF','FATES_M11_CDPF','FATES_MORTALITY_CDPF','FATES_M3_MORTALITY_CANOPY_CDPF',
'FATES_M3_MORTALITY_USTORY_CDPF','FATES_M11_MORTALITY_CANOPY_CDPF','FATES_M11_MORTALITY_USTORY_CDPF',
'FATES_MORTALITY_CANOPY_CDPF','FATES_MORTALITY_USTORY_CDPF','FATES_DDBH_CDPF','FATES_DDBH_CANOPY_CDPF',
'FATES_DDBH_USTORY_CDPF','FATES_VEGC_SZPF','FATES_LEAFC_SZPF','FATES_FROOTC_SZPF','FATES_SAPWOODC_SZPF',
'FATES_STOREC_SZPF','FATES_REPROC_SZPF','FATES_NPP_AP','FATES_GPP_AP','FATES_RDARK_USTORY_SZ',
'FATES_LSTEMMAINTAR_USTORY_SZ','FATES_CROOTMAINTAR_USTORY_SZ','FATES_FROOTMAINTAR_USTORY_SZ','FATES_GROWAR_USTORY_SZ',
'FATES_MAINTAR_USTORY_SZ','FATES_RDARK_CANOPY_SZ','FATES_CROOTMAINTAR_CANOPY_SZ','FATES_FROOTMAINTAR_CANOPY_SZ',
'FATES_GROWAR_CANOPY_SZ','FATES_MAINTAR_CANOPY_SZ','FATES_LSTEMMAINTAR_CANOPY_SZ','FATES_AUTORESP_SZPF',
'FATES_GROWAR_SZPF','FATES_MAINTAR_SZPF','FATES_RDARK_SZPF','FATES_AGSAPMAINTAR_SZPF','FATES_BGSAPMAINTAR_SZPF',
'FATES_FROOTMAINTAR_SZPF','FATES_PARSUN_CLLL','FATES_PARSHA_CLLL','FATES_PARSUN_CLLLPF','FATES_PARSHA_CLLLPF',
'FATES_PARSUN_CL','FATES_PARSHA_CL','FATES_LAISUN_CLLL','FATES_LAISHA_CLLL','FATES_LAISUN_CLLLPF',
'FATES_LAISHA_CLLLPF','FATES_PARPROF_DIR_CLLLPF','FATES_PARPROF_DIF_CLLLPF','FATES_LAISUN_CL','FATES_LAISHA_CL',
'FATES_PARPROF_DIR_CLLL','FATES_PARPROF_DIF_CLLL','FATES_NET_C_UPTAKE_CLLL','FATES_CROWNFRAC_CLLLPF',
'FATES_LBLAYER_COND_AP','FATES_STOMATAL_COND_AP'
2 changes: 1 addition & 1 deletion components/elm/src/external_models/fates
Submodule fates updated 67 files
+4 −0 .gitignore
+90 −0 CMakeLists.txt
+9 −0 biogeochem/CMakeLists.txt
+12 −6 biogeochem/EDCanopyStructureMod.F90
+5 −2 biogeochem/EDPhysiologyMod.F90
+660 −56 biogeochem/FatesAllometryMod.F90
+4 −0 biogeophys/CMakeLists.txt
+290 −96 biogeophys/FatesHydroWTFMod.F90
+150 −76 biogeophys/FatesPlantHydraulicsMod.F90
+111 −174 biogeophys/FatesPlantRespPhotosynthMod.F90
+8 −0 fire/CMakeLists.txt
+32 −0 fire/SFFireWeatherMod.F90
+80 −85 fire/SFMainMod.F90
+104 −0 fire/SFNesterovMod.F90
+0 −20 fire/SFParamsMod.F90
+0 −140 functional_unit_testing/allometry/AutoGenVarCon.py
+0 −730 functional_unit_testing/allometry/drive_allomtests.py
+0 −218 functional_unit_testing/allometry/f90src/AllomUnitWrap.F90_in
+0 −1 functional_unit_testing/allometry/include/README
+0 −1 functional_unit_testing/allometry/plots/README
+0 −58 functional_unit_testing/allometry/simple_build.sh
+194 −29 functional_unit_testing/hydro/HydroUTestDriver.py
+14 −1 functional_unit_testing/hydro/f90_src/HydroUnitWrapMod.F90
+25 −0 main/CMakeLists.txt
+4 −4 main/EDInitMod.F90
+0 −6 main/EDMainMod.F90
+19 −11 main/EDParamsMod.F90
+56 −3 main/EDPftvarcon.F90
+21 −3 main/EDTypesMod.F90
+4 −0 main/FatesConstantsMod.F90
+7,151 −6,554 main/FatesHistoryInterfaceMod.F90
+13 −6 main/FatesHistoryVariableType.F90
+20 −15 main/FatesHydraulicsMemMod.F90
+31 −0 main/FatesIOVariableKindMod.F90
+33 −1 main/FatesInterfaceMod.F90
+12 −0 main/FatesInterfaceTypesMod.F90
+13 −6 main/FatesInventoryInitMod.F90
+1 −1 main/FatesParametersInterface.F90
+6 −6 main/FatesRestartInterfaceMod.F90
+103 −3 main/FatesUtilsMod.F90
+1,735 −0 parameter_files/archive/api28.0.0_103023_fates_params_default.cdl
+113 −0 parameter_files/archive/api28.0.0_103023_pr1093.xml
+1,743 −0 parameter_files/archive/api34.0.0_032624_params_default.cdl
+134 −0 parameter_files/archive/api34.0.0_032624_patch_params.xml
+83 −48 parameter_files/fates_params_default.cdl
+8 −0 parteh/CMakeLists.txt
+19 −8 parteh/PRTParametersMod.F90
+281 −80 parteh/PRTParamsFATESMod.F90
+7 −0 radiation/CMakeLists.txt
+8 −0 testing/CMakeLists.txt
+249 −0 testing/build_fortran_tests.py
+24 −0 testing/functional_testing/allometry/CMakeLists.txt
+313 −0 testing/functional_testing/allometry/FatesTestAllometry.F90
+187 −0 testing/functional_testing/allometry/allometry_plotting.py
+10 −0 testing/functional_testing/math_utils/CMakeLists.txt
+138 −0 testing/functional_testing/math_utils/FatesTestMathUtils.F90
+52 −0 testing/functional_testing/math_utils/math_plotting.py
+51 −0 testing/path_utils.py
+457 −0 testing/run_fates_tests.py
+6 −0 testing/testing_shr/CMakeLists.txt
+574 −0 testing/testing_shr/FatesUnitTestIOMod.F90
+200 −0 testing/testing_shr/FatesUnitTestParamReaderMod.F90
+5 −0 testing/unit_testing/fire_weather_test/CMakeLists.txt
+67 −0 testing/unit_testing/fire_weather_test/test_FireWeather.pf
+94 −0 testing/utils.py
+317 −0 tools/make_unstruct_grid/MakeUnstructGrid.py
+43 −0 tools/make_unstruct_grid/andes7x7.xml
6 changes: 4 additions & 2 deletions components/elm/src/main/controlMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,8 @@ subroutine control_init( )
fluh_timeseries, &
fates_parteh_mode, &
fates_seeddisp_cadence, &
use_fates_tree_damage
use_fates_tree_damage, &
fates_history_dimlevel

namelist /elm_inparm / use_betr

Expand Down Expand Up @@ -818,7 +819,8 @@ subroutine control_spmd()
call mpi_bcast (fates_parteh_mode, 1, MPI_INTEGER, 0, mpicom, ier)
call mpi_bcast (fates_seeddisp_cadence, 1, MPI_INTEGER, 0, mpicom, ier)
call mpi_bcast (use_fates_tree_damage, 1, MPI_LOGICAL, 0, mpicom, ier)

call mpi_bcast (fates_history_dimlevel, 2, MPI_INTEGER, 0, mpicom, ier)

call mpi_bcast (use_betr, 1, MPI_LOGICAL, 0, mpicom, ier)

call mpi_bcast (use_lai_streams, 1, MPI_LOGICAL, 0, mpicom, ier)
Expand Down
15 changes: 14 additions & 1 deletion components/elm/src/main/elm_varctl.F90
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,20 @@ module elm_varctl
integer, public :: fates_seeddisp_cadence = iundef ! 0 => no seed dispersal across gridcells
! 1, 2, 3 => daily, monthly, or yearly seed dispersal


! FATES history dimension level
! fates can produce history at either the daily timescale (dynamics)
! and the model step timescale. It can also generate output on the extra dimension
! Performing this output can be expensive, so we allow different history dimension
! levels.
! The first index is output at the model timescale
! The second index is output at the dynamics (daily) timescale
! 0 - no output
! 1 - include only column level means (3D)
! 2 - include output that includes the 4th dimension

integer, dimension(2), public :: fates_history_dimlevel = (/2,2/)


!----------------------------------------------------------
! BeTR switches
!----------------------------------------------------------
Expand Down
Loading

0 comments on commit af3f0ae

Please sign in to comment.