Skip to content

Commit

Permalink
Merge pull request ESCOMP#2782 from adrifoster/fates_fuel_refactor
Browse files Browse the repository at this point in the history
Fates fuel refactor
  • Loading branch information
adrifoster authored Nov 13, 2024
2 parents 931b425 + 836d470 commit ab466d6
Show file tree
Hide file tree
Showing 9 changed files with 105 additions and 24 deletions.
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
[submodule "fates"]
path = src/fates
url = https://github.com/NGEET/fates
fxtag = sci.1.78.3_api.36.1.0
fxtag = sci.1.79.3_api.37.0.0
fxrequired = AlwaysRequired
# Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed
fxDONOTUSEurl = https://github.com/NCAR/fates-release
Expand Down
45 changes: 33 additions & 12 deletions cime_config/testdefs/ExpectedTestFails.xml
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,10 @@
<status>FAIL</status>
<issue>#2454</issue>
</phase>
<phase name="COMPARE_base_rest">
<status>FAIL</status>
<issue>#2325</issue>
</phase>
</test>

<test name="SMS_Lm3_D_Mmpi-serial.1x1_brazil.I2000Clm50FatesCruRsGs.izumi_intel.clm-FatesColdHydro">
Expand All @@ -188,6 +192,13 @@
<issue>#2454</issue>
</phase>
</test>

<test name="ERS_Ld60.f45_f45_mg37.I2000Clm50FatesCruRsGs.derecho_intel.clm-FatesColdST3">
<phase name="RUN">
<status>FAIL</status>
<issue>#2867</issue>
</phase>
</test>

<test name="SMS_Ld10_D_Mmpi-serial.CLM_USRDAT.I1PtClm60Fates.izumi_nag.clm-FatesFireLightningPopDens--clm-NEON-FATES-NIWO">
<phase name="SHAREDLIB_BUILD">
Expand Down Expand Up @@ -270,21 +281,22 @@
</phase>
</test>

<test name="ERS_D_Ld15.f45_f45_mg37.I2000Clm50FatesRs.izumi_nag.clm-FatesColdTwoStream">
<test name="ERS_D_Ld15.f45_f45_mg37.I2000Clm50FatesRs.derecho_gnu.clm-FatesColdTwoStreamNoCompFixedBioGeo">
<phase name="COMPARE_base_rest">
<status>FAIL</status>
<issue>#2325</issue>
</phase>
</test>

<!-- izumi nag failures -->

<test name="ERS_D_Ld15.f45_f45_mg37.I2000Clm50FatesRs.derecho_gnu.clm-FatesColdTwoStreamNoCompFixedBioGeo">
<phase name="COMPARE_base_rest">
<test name="SMS_D.f10_f10_mg37.I1850Clm60BgcCrop.izumi_nag.clm-ciso_soil_matrixcn_only">
<phase name="RUN">
<status>FAIL</status>
<issue>#2325</issue>
<issue>#2861</issue>
</phase>
</test>

<!-- izumi nag failures -->
<test name="ERS_D_Ld5_Mmpi-serial.1x1_vancouverCAN.I1PtClm50SpRs.izumi_nag.clm-CLM1PTStartDate">
<phase name="RUN">
<status>FAIL</status>
Expand Down Expand Up @@ -334,13 +346,6 @@
</phase>
</test>

<test name="ERS_D_Mmpi-serial_Ld5.1x1_brazil.I2000Clm50FatesCruRsGs.izumi_nag.clm-FatesCold">
<phase name="RUN">
<status>FAIL</status>
<issue>#2861</issue>
</phase>
</test>

<test name="SMS_Lm3_D_Mmpi-serial.1x1_brazil.I2000Clm50FatesCruRsGs.izumi_nag.clm-FatesColdHydro">
<phase name="RUN">
<status>FAIL</status>
Expand All @@ -361,6 +366,22 @@
<issue>#2810</issue>
</phase>
</test>

<test name="ERS_D_Mmpi-serial_Ld5.1x1_brazil.I2000Clm50FatesCruRsGs.izumi_nag.clm-FatesCold">
<phase name="RUN">
<status>FAIL</status>
<issue>#2861</issue>
</phase>
</test>


<test name="SMS_Ld10_D_Mmpi-serial.CLM_USRDAT.I1PtClm60Fates.izumi_nag.clm-FatesPRISM--clm-NEON-FATES-YELLO">
<phase name="RUN">
<status>FAIL</status>
<issue>#2861</issue>
</phase>
</test>


<test name="ERS_D_Ld30.f45_f45_mg37.I2000Clm50FatesCruRsGs.izumi_nag.clm-FatesColdLandUse">
<phase name="SHAREDLIB_BUILD">
Expand Down
4 changes: 2 additions & 2 deletions cime_config/testdefs/testlist_clm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2679,7 +2679,7 @@
<option name="comment" >5x5_amazon grid with FATES and latest CLM</option>
</options>
</test>
<test name="ERS_D_Ld15" grid="f10_f10_mg37" compset="I2000Clm50FatesRs" testmods="clm/FatesColdSeedDisp">
<test name="ERS_D_Ld15" grid="5x5_amazon" compset="I2000Clm50FatesRs" testmods="clm/FatesColdSeedDisp">
<machines>
<machine name="derecho" compiler="gnu" category="fates"/>
</machines>
Expand All @@ -2688,7 +2688,7 @@
<option name="comment" >This test should be converted to an ERP test once the PEM version of this test is passing COMPARE_base_modpes. Also change to 5x5_amazon once ccs_config updated to allow it</option>
</options>
</test>
<test name="PEM_D_Ld15" grid="f10_f10_mg37" compset="I2000Clm50FatesRs" testmods="clm/FatesColdSeedDisp">
<test name="PEM_D_Ld15" grid="5x5_amazon" compset="I2000Clm50FatesRs" testmods="clm/FatesColdSeedDisp">
<machines>
<machine name="derecho" compiler="gnu" category="fates"/>
</machines>
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
use_fates_ed_st3= .true.
hist_fexcl1 = 'FATES_ERROR_EL'
58 changes: 58 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,62 @@
===============================================================
Tag name: ctsm5.3.012
Originator(s): afoster (Adrianna Foster,UCAR/TSS,303-497-1728)
Date: Wed 13 Nov 2024 09:53:51 AM MST
One-line Summary: update fates tag

Purpose and description of changes
----------------------------------

Updates FATES tag to latest fates main (sci.1.79.3_api.37.0.0), and updates API to go
along with latest FATES update to refactor it's fire equations


Significant changes to scientifically-supported configurations
--------------------------------------------------------------


[ ] clm6_0

[ ] clm5_1

[ ] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5






Testing summary:
----------------

regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):

derecho ----- OK
izumi ------- OK

fates tests:
derecho ----- OK
izumi ------- OK


Answer changes
--------------

Changes answers relative to baseline:

Round-off differences for FATES compsets where fire is active.
NLCOMP differences for some FATES compsets


Pull Requests that document the changes (include PR ids):
- ESCOMP/CTSM#2782: Fates fuel refactor (https://github.com/ESCOMP/CTSM/pull/2782)

===============================================================
===============================================================
Tag name: ctsm5.3.011
Originator(s): samrabin (Sam Rabin, UCAR/TSS, [email protected])
Date: Mon Nov 11 17:55:57 MST 2024
Expand Down
1 change: 1 addition & 0 deletions doc/ChangeSum
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Tag Who Date Summary
============================================================================================================================
ctsm5.3.012 afoster 11/13/2024 update fates tag
ctsm5.3.011 samrabin 11/11/2024 Improve handling of cold-start finidat
ctsm5.3.010 afoster 11/09/2024 Merge b4b-dev
ctsm5.3.009 samrabin 10/15/2024 Reduce outputs from matrixcnOn tests
Expand Down
2 changes: 1 addition & 1 deletion src/fates
Submodule fates updated 57 files
+13 −0 .gitmodules
+9 −8 biogeochem/EDCohortDynamicsMod.F90
+23 −20 biogeochem/EDLoggingMortalityMod.F90
+138 −183 biogeochem/EDPatchDynamicsMod.F90
+70 −62 biogeochem/EDPhysiologyMod.F90
+0 −12 biogeochem/FatesLitterMod.F90
+58 −41 biogeochem/FatesPatchMod.F90
+2 −1 biogeochem/FatesSoilBGCFluxMod.F90
+2 −0 fire/CMakeLists.txt
+63 −0 fire/FatesFuelClassesMod.F90
+379 −0 fire/FatesFuelMod.F90
+2 −1 fire/SFFireWeatherMod.F90
+161 −295 fire/SFMainMod.F90
+3 −2 fire/SFNesterovMod.F90
+20 −25 fire/SFParamsMod.F90
+135 −2 main/ChecksBalancesMod.F90
+31 −15 main/EDInitMod.F90
+18 −2 main/EDMainMod.F90
+132 −19 main/EDTypesMod.F90
+86 −55 main/FatesHistoryInterfaceMod.F90
+6 −6 main/FatesInterfaceMod.F90
+4 −4 main/FatesInventoryInitMod.F90
+54 −13 main/FatesRestartInterfaceMod.F90
+1 −1 parameter_files/patch_default_bciopt224.xml
+3 −1 testing/CMakeLists.txt
+97 −0 testing/README.testing.md
+115 −108 testing/build_fortran_tests.py
+122 −0 testing/cime_setup.md
+20 −0 testing/functional_class.py
+4 −13 testing/functional_testing/allometry/FatesTestAllometry.F90
+0 −187 testing/functional_testing/allometry/allometry_plotting.py
+195 −0 testing/functional_testing/allometry/allometry_test.py
+28 −0 testing/functional_testing/fire/CMakeLists.txt
+274 −0 testing/functional_testing/fire/FatesTestFireMod.F90
+123 −0 testing/functional_testing/fire/FatesTestFuel.F90
+413 −0 testing/functional_testing/fire/SyntheticFuelModels.F90
+187 −0 testing/functional_testing/fire/fuel_test.py
+0 −52 testing/functional_testing/math_utils/math_plotting.py
+75 −0 testing/functional_testing/math_utils/math_utils_test.py
+20 −0 testing/functional_tests.cfg
+38 −25 testing/path_utils.py
+269 −288 testing/run_functional_tests.py
+143 −0 testing/run_unit_tests.py
+14 −0 testing/testing.yml
+1 −0 testing/testing_shr/CMakeLists.txt
+36 −0 testing/testing_shr/FatesArgumentUtils.F90
+40 −1 testing/testing_shr/FatesUnitTestIOMod.F90
+6 −0 testing/unit_testing/fire_fuel_test/CMakeLists.txt
+100 −0 testing/unit_testing/fire_fuel_test/test_FireFuel.pf
+5 −0 testing/unit_tests.cfg
+197 −32 testing/utils.py
+1 −0 tools/landusedata
+0 −55 tools/luh2/README.md
+0 −11 tools/luh2/conda-luh2.yml
+0 −146 tools/luh2/luh2.py
+0 −57 tools/luh2/luh2.sh
+0 −254 tools/luh2/luh2mod.py
10 changes: 5 additions & 5 deletions src/main/histFileMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ module histFileMod
use FatesInterfaceTypesMod , only : nlevheight
use FatesInterfaceTypesMod , only : nlevdamage
use FatesConstantsMod , only : n_landuse_cats
use FatesLitterMod , only : nfsc
use FatesFuelClassesMod , only : num_fuel_classes
use FatesLitterMod , only : ncwd
use PRTGenericMod , only : num_elements_fates => num_elements
use FatesInterfaceTypesMod , only : numpft_fates => numpft
Expand Down Expand Up @@ -2506,7 +2506,7 @@ subroutine htape_create (t, histrest)
call ncd_defdim(lnfid, 'fates_levpft', numpft_fates, dimid)
call ncd_defdim(lnfid, 'fates_levage', nlevage, dimid)
call ncd_defdim(lnfid, 'fates_levheight', nlevheight, dimid)
call ncd_defdim(lnfid, 'fates_levfuel', nfsc, dimid)
call ncd_defdim(lnfid, 'fates_levfuel', num_fuel_classes, dimid)
call ncd_defdim(lnfid, 'fates_levcwdsc', ncwd, dimid)
call ncd_defdim(lnfid, 'fates_levscpf', nlevsclass*numpft_fates, dimid)
call ncd_defdim(lnfid, 'fates_levcapf', nlevcoage*numpft_fates, dimid)
Expand All @@ -2521,7 +2521,7 @@ subroutine htape_create (t, histrest)
call ncd_defdim(lnfid, 'fates_levelpft', num_elements_fates * numpft_fates, dimid)
call ncd_defdim(lnfid, 'fates_levelcwd', num_elements_fates * ncwd, dimid)
call ncd_defdim(lnfid, 'fates_levelage', num_elements_fates * nlevage, dimid)
call ncd_defdim(lnfid, 'fates_levagefuel', nlevage * nfsc, dimid)
call ncd_defdim(lnfid, 'fates_levagefuel', nlevage * num_fuel_classes, dimid)
call ncd_defdim(lnfid, 'fates_levclscpf', nclmax*nlevsclass*numpft_fates, dimid)
call ncd_defdim(lnfid, 'fates_levlanduse', n_landuse_cats, dimid)
call ncd_defdim(lnfid, 'fates_levlulu', n_landuse_cats * n_landuse_cats, dimid)
Expand Down Expand Up @@ -5597,7 +5597,7 @@ subroutine hist_addfld2d (fname, type2d, units, avgflag, long_name, type1d_out,
case ('fates_levheight')
num2d = nlevheight
case ('fates_levfuel')
num2d = nfsc
num2d = num_fuel_classes
case ('fates_levcwdsc')
num2d = ncwd
case ('fates_levscpf')
Expand Down Expand Up @@ -5637,7 +5637,7 @@ subroutine hist_addfld2d (fname, type2d, units, avgflag, long_name, type1d_out,
case ('fates_levelage')
num2d = num_elements_fates*nlevage
case ('fates_levagefuel')
num2d = nlevage*nfsc
num2d = nlevage*num_fuel_classes
case('fates_levclscpf')
num2d = nclmax * nclmax * numpft_fates
case ('fates_levlanduse')
Expand Down
6 changes: 3 additions & 3 deletions src/utils/clmfates_interfaceMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -3622,7 +3622,7 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates)
use FatesInterfaceTypesMod, only : nlevsclass, nlevage, nlevcoage
use FatesInterfaceTypesMod, only : nlevheight
use FatesInterfaceTypesMod, only : nlevdamage
use FatesLitterMod, only : nfsc
use FatesFuelClassesMod, only : num_fuel_classes
use FatesLitterMod, only : ncwd
use EDParamsMod, only : nlevleaf, nclmax
use FatesInterfaceTypesMod, only : numpft_fates => numpft
Expand Down Expand Up @@ -3674,7 +3674,7 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates)
fates%sizeagepft_class_end = nlevsclass * nlevage * numpft_fates

fates%fuel_begin = 1
fates%fuel_end = nfsc
fates%fuel_end = num_fuel_classes

fates%cwdsc_begin = 1
fates%cwdsc_end = ncwd
Expand All @@ -3701,7 +3701,7 @@ subroutine hlm_bounds_to_fates_bounds(hlm, fates)
fates%elage_end = num_elements * nlevage

fates%agefuel_begin = 1
fates%agefuel_end = nlevage * nfsc
fates%agefuel_end = nlevage * num_fuel_classes

fates%cdpf_begin = 1
fates%cdpf_end = nlevdamage * numpft_fates * nlevsclass
Expand Down

0 comments on commit ab466d6

Please sign in to comment.