Skip to content

Completing the FATES-CLM nitrogen coupling #3378

@slevis-lmwg

Description

@slevis-lmwg

I think of this as the parent issue: NGEET/fates#1270

Currently we can only send synthetic uptake boundary conditions to FATES, and send nothing back to CLM.

This issue will address coupling to CLM's:

  • Uptake competition code
  • Nitrogen fixation code

In meeting with @rgknox and @adrifoster we discussed that I should focus on the
else !----------NITRIF_DENITRIF-------------!
section of SoilBiogeochemCompetitionMod.F90 (<-- for guidance see Allocation in E3SM-Project/E3SM#4325)
and on new bc_in lines in utils/clmfates_interfaceMod.F90.
@rgknox suggested that for now FATES need not worry about .not. use_nitrif_denitrif.

Testing starting from ctsm5.3.065 (fates: sci.1.84.0_api.40.0.0):
A motivation behind this update is to perform single-point FATES-MIMICS simulations, so I modified this existing test as below
ERS_D_Ld30.f45_f45_mg37.I2000Clm50FatesCruRsGs.izumi_nag.clm-FatesColdPRT2
Side notes about PRT2 tests:

Single-point tests
PASS ERS_D_Ld30.1x1_brazil.I2000Clm60FatesCrujraRs.derecho_intel.clm-FatesColdPRT2
Turning on mimics shows that we will need to troubleshoot the FATES-MIMICS coupling:
FAIL ERS_D_Ld30.1x1_brazil.I2000Clm60FatesCrujraRs.derecho_intel.clm-FatesColdPRT2--clm-mimicsFatesCold
Fates and fireemis cannot both be true, so...
FAIL ERS_D_Ld30.1x1_brazil.I2000Clm60FatesCrujraRs.derecho_intel.clm-FatesColdPRT2--clm-mimicsFatesCold--clm-nofireemis DUMPS CORE and states "floating overflow" in line 1180 SoilBiogeochemDecompCascadeMIMICSMod.F90

So I tried our preexisting FATES-MIMICS test with nofireemis appended
FAIL ERP_P256x2_Ld30.f45_f45_mg37.I2000Clm60FatesRs.derecho_intel.clm-mimicsFatesCold--clm-nofireemis
CH4 Conservation Error in CH4Mod during diffusion, nstep, c, errch4 (mol /m^2.timestep) 1 2 NaN
Same test in debug mode
ERP_D_P256x2_Ld30.f45_f45_mg37.I2000Clm60FatesRs.derecho_intel.clm-mimicsFatesCold--clm-nofireemis
traceback

floating overflow
...
floating invalid
...
process killed (SIGTERM)
197  BandDiagonalMod.F90
415  SoilTemperatureMod.F90
883  clm_driver.F90

@rgknox suggests switching from intel to gnu for better uninitialized variable catching.

Metadata

Metadata

Assignees

Labels

FATES API updateChanges to the FATES version that also REQUIRE an API change in CTSMenhancementnew capability or improved behavior of existing capabilitynon-bfbChanges answers (incl. adding tests)scienceEnhancement to or bug impacting sciencetest: aux_clmPass aux_clm suite before mergingtest: ctsm_sciRun and check ctsm_sci suite before mergingtest: fatesPass fates test suite before merging

Projects

Status

In Progress

Status

In Progress

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions