Skip to content

branch with 5.3.042: Make sure FORTRAN code properly aborts when fire-emission is asked for and it can't be provided #2844

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 51 commits into
base: cesm3_0_beta04_changes
Choose a base branch
from

Conversation

ekluzek
Copy link
Collaborator

@ekluzek ekluzek commented Oct 23, 2024

Description of changes

Changes in the FORTRAN code to properly abort when fire-emission is asked for it can't be provided.

To develop this a PF unit test for CNFireFactoryMod is added in.

Specific notes

Contributors other than yourself, if any:

CTSM Issues Fixed (include github issue #):
Fixes #2762
Fixes #3073
CTSM namelist checking for: NGEET/fates#1356
Some work on #2643

Are answers expected to change (and if so in what way)? No

Any User Interface Changes (namelist or namelist defaults changes)? No

Does this create a need to change or add documentation? Did you do so? No

Testing performed, if any: Currently just the PF unit tests will run regular testing when done.

@ekluzek ekluzek added enhancement new capability or improved behavior of existing capability code health improving internal code structure to make easier to maintain (sustainability) bfb bit-for-bit usability Improve or clarify user-facing options labels Oct 23, 2024
@ekluzek ekluzek added this to the cesm3_0_beta05 milestone Oct 23, 2024
@ekluzek ekluzek self-assigned this Oct 23, 2024
@ekluzek ekluzek marked this pull request as draft October 23, 2024 17:12
@wwieder wwieder moved this from Ready to start (or start again) to In progress - master/b4b-dev in CTSM: Upcoming tags Mar 27, 2025
@ekluzek ekluzek changed the title Make sure FORTRAN code properly aborts when fire-emission is asked for and it can't be provided branch: Make sure FORTRAN code properly aborts when fire-emission is asked for and it can't be provided Apr 14, 2025
ekluzek added 3 commits April 14, 2025 11:14
Get the FATESFireFactory tests working again now
that it aborts with fire-emission on.
Correct the build-namelist option for --no-fire_emis.
And also add more comments around this.
@wwieder wwieder dismissed slevis-lmwg’s stale review April 14, 2025 18:33

@erik seems to have addressed review comments, dissmising this as resolved

Fire initialization needed some tweaks due to the refactoring
worked out in the unit testing.
@ekluzek
Copy link
Collaborator Author

ekluzek commented Apr 16, 2025

These tests fail on setup because they are using fire-emis with SP cases. So I'll reconfigure these tests to make sure the testmods used include nofireemis.

ERP_D_Ld3_PS.f09_g17.I2000Clm50Sp.derecho_intel.clm-prescribed (SETUP)
ERP_D_Ld5.f10_f10_mg37.I2000Clm60Sp.derecho_intel.clm-decStart (SETUP)
ERP_D_Ld5.f10_f10_mg37.IHistClm45Sp.derecho_intel.clm-decStart (SETUP)
ERP_D_Ld5.f10_f10_mg37.IHistClm60Sp.derecho_intel.clm-default (SETUP)
ERP_D_Ld5.ne30pg3_t232.IHistClm60Sp.derecho_intel.clm-default (SETUP)
ERP_P64x2_D.f10_f10_mg37.I2000Clm50SpRtmFl.derecho_intel.clm-default (SETUP)
ERP_P64x2_D_Ld5.f10_f10_mg37.I2000Clm45Sp.derecho_intel.clm-default (SETUP)
ERP_P64x2_D_Ld5.f10_f10_mg37.I2000Clm50Sp.derecho_gnu.clm-default (SETUP)
ERP_P64x2_D_Ld5.f10_f10_mg37.I2000Ctsm50NwpSpGswp.derecho_intel.clm-default (SETUP)
ERS_D_Ld10.f10_f10_mg37.IHistClm50Sp.derecho_intel.clm-collapse_pfts_78_to_16_decStart_f10 (SETUP)
NCK_Ld1.f10_f10_mg37.I2000Clm50Sp.derecho_intel.clm-default (SETUP)
SMS_C2_D_Lh12.f10_f10_mg37.I2000Clm50Sp.derecho_intel.clm-pauseResume (SETUP)
SMS_D_Ld1_Mmpi-serial.ne3_ne3_mg37.I2000Clm50SpRs.derecho_gnu.clm-ptsRLA (SETUP)
SMS_D_Ld1_Mmpi-serial.ne3_ne3_mg37.I2000Clm50SpRs.derecho_gnu.clm-ptsROA (SETUP)
SMS_D_Ld1_Mmpi-serial.ne3_ne3_mg37.I2000Clm50SpRs.derecho_intel.clm-ptsRLA (SETUP)
SMS_D_Ld1_PS.f09_g17.I1850Clm50Sp.derecho_intel.clm-default (SETUP)
SMS_D_Ln9_P128x3.f19_g17.IHistClm50Sp.derecho_intel.clm-waccmx_offline (SETUP)
SMS_Ld10_D_Mmpi-serial.CLM_USRDAT.I1PtClm60SpRs.derecho_intel.clm-default--clm-NEON-TOOL (SETUP)
SMS_Ld1_PS.nldas2_rnldas2_mnldas2.I2000Ctsm50NwpSpNldas.derecho_gnu.clm-default (SETUP)
SMS_Ld1_PS.nldas2_rnldas2_mnldas2.I2000Ctsm50NwpSpNldasRs.derecho_gnu.clm-default (SETUP)
SMS_P384x2_D_Ld5.f19_g17.I2000Clm50Sp.derecho_intel.clm-default (SETUP)

@wwieder wwieder moved this from In progress - master/b4b-dev to In progress - b4b-dev in CTSM: Upcoming tags Apr 17, 2025
@samsrabin samsrabin moved this from In progress - b4b-dev to In progress - master in CTSM: Upcoming tags Apr 17, 2025
@wwieder wwieder moved this from In progress - master to In progress - b4b-dev in CTSM: Upcoming tags Apr 17, 2025
@wwieder wwieder moved this from In progress - b4b-dev to In progress - master in CTSM: Upcoming tags Apr 17, 2025
@wwieder wwieder changed the title branch: Make sure FORTRAN code properly aborts when fire-emission is asked for and it can't be provided branch with 5.3.0141: Make sure FORTRAN code properly aborts when fire-emission is asked for and it can't be provided Apr 17, 2025
@wwieder wwieder changed the title branch with 5.3.0141: Make sure FORTRAN code properly aborts when fire-emission is asked for and it can't be provided branch with 5.3.041: Make sure FORTRAN code properly aborts when fire-emission is asked for and it can't be provided Apr 17, 2025
@ekluzek ekluzek changed the title branch with 5.3.041: Make sure FORTRAN code properly aborts when fire-emission is asked for and it can't be provided branch with 5.3.042: Make sure FORTRAN code properly aborts when fire-emission is asked for and it can't be provided Apr 21, 2025
@ekluzek
Copy link
Collaborator Author

ekluzek commented Apr 21, 2025

Error caught on Izumi for initialization with:

SMS_Ld10_D_Mmpi-serial.CLM_USRDAT.I1PtClm60Fates.izumi_nag.clm-FatesPRISM--clm-NEON-FATES-YELL.GC.ctsm5341acl_nag

This is partially due to what I point out in #3078

 (t_initf)       profile_papi_enable=      F
Runtime Error: /fs/cgd/data0/erik/ctsm_worktree/quickfix/src/biogeochem/CNVegetationFacade.F90, line 1019: ALLOCATABLE variable is not currently allocated
Program terminated by fatal error
/fs/cgd/data0/erik/ctsm_worktree/quickfix/src/biogeochem/CNVegetationFacade.F90, line 1019: Error occurred in CNVEGETATIONFACADE:ECOSYSTEMDYNAMICSPREDRAINAGE
/fs/cgd/data0/erik/ctsm_worktree/quickfix/src/main/clm_driver.F90, line 1020: Called by CLM_DRIVER:CLM_DRV
/fs/cgd/data0/erik/ctsm_worktree/quickfix/src/cpl/nuopc/lnd_comp_nuopc.F90, line 899: Called by LND_COMP_NUOPC:MODELADVANCE
/fs/cgd/data0/erik/ctsm_worktree/quickfix/components/cmeps/cime_config/../cesm/driver/esmApp.F90, line 141: Called by ESMAPP

@ekluzek
Copy link
Collaborator Author

ekluzek commented Apr 21, 2025

The izumi tests that have the problem above are:

ERI_D_Ld20.f10_f10_mg37.I2000Clm50Fates.izumi_nag.clm-FatesCold (RUN)
ERI_D_Ld20.f45_f45_mg37.I2000Clm50FatesRs.izumi_nag.clm-FatesColdTwoStream (RUN)
ERS_D_Ld5.f10_f10_mg37.I2000Clm50Fates.izumi_nag.clm-FatesCold (RUN)
ERS_D_Mmpi-serial_Ld5.1x1_brazil.I2000Clm50FatesRs.izumi_nag.clm-FatesCold (RUN)
SMS_D_Ld5.f10_f10_mg37.I2000Clm50FatesRs.izumi_nag.clm-FatesCold (RUN)
SMS_D_Ld5.f45_f45_mg37.I2000Clm60Fates.izumi_nag.clm-FatesCold (RUN)
SMS_D_Mmpi-serial_Ld5.5x5_amazon.I2000Clm60FatesCrujraRs.izumi_nag.clm-FatesCold (RUN)
SMS_D_Mmpi-serial_Ld5.5x5_amazon.I2000Clm60FatesRs.izumi_nag.clm-FatesCold (RUN)

There were some build fails, that I've been successful with just resending the build with:

ERP_D_Ld5_P48x1.f10_f10_mg37.I1850Clm50Bgc.izumi_nag.clm-ciso (SHAREDLIB_BUILD)
ERP_D_Ld5_P48x1.f10_f10_mg37.I1850Clm60Bgc.izumi_nag.clm-ciso (SHAREDLIB_BUILD)
ERP_D_Ld5_P48x1.f10_f10_mg37.I1850Clm60Bgc.izumi_nag.clm-ciso--clm-matrixcnOn (SHAREDLIB_BUILD)
ERP_D_Ld5_P48x1.f10_f10_mg37.I2000Clm50BgcCru.izumi_nag.clm-flexCN_FUN (SHAREDLIB_BUILD)
ERP_D_Ld5_P48x1.f10_f10_mg37.I2000Clm50BgcCru.izumi_nag.clm-flexCN_FUN--clm-matrixcnOn (SHAREDLIB_BUILD)
ERP_D_Ld5_P48x1.f10_f10_mg37.I2000Clm50BgcCru.izumi_nag.clm-flexCN_FUN_BNF (SHAREDLIB_BUILD)
ERP_D_Ld5_P48x1.f10_f10_mg37.I2000Clm50BgcCru.izumi_nag.clm-luna (SHAREDLIB_BUILD)
ERP_D_Ld5_P48x1.f10_f10_mg37.I2000Clm50BgcCru.izumi_nag.clm-noFUN_flexCN (SHAREDLIB_BUILD)
ERP_D_Ld5_P48x1.f10_f10_mg37.I2000Clm50BgcCru.izumi_nag.clm-noFUN_flexCN--clm-matrixcnOn (SHAREDLIB_BUILD)
ERP_D_Ld5_P48x1.f10_f10_mg37.I2000Clm50BgcCru.izumi_nag.clm-reduceOutput (SHAREDLIB_BUILD)
ERP_D_Ld5_P48x1.f10_f10_mg37.I2000Clm50Sp.izumi_nag.clm-o3lombardozzi2015 (SHAREDLIB_BUILD NLCOMP)
ERP_D_Ld9.f10_f10_mg37.I1850Clm60BgcCrop.izumi_nag.clm-clm60cam7LndTuningModeLDust (SHAREDLIB_BUILD)
ERP_D_P48x1.f10_f10_mg37.IHistClm60Bgc.izumi_nag.clm-decStart (SHAREDLIB_BUILD)
ERP_D_P48x1.f10_f10_mg37.IHistClm60Bgc.izumi_nag.clm-decStart--clm-matrixcnOn_ignore_warnings (SHAREDLIB_BUILD)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bfb bit-for-bit code health improving internal code structure to make easier to maintain (sustainability) enhancement new capability or improved behavior of existing capability usability Improve or clarify user-facing options
Projects
Status: In progress - master
Status: In Progress
Development

Successfully merging this pull request may close these issues.

Don't allow SP, fates, or nofire tests to turn fire_emis on (and make sure our tests don't do this either)
4 participants