Skip to content

More MARBL updates for CESM3#339

Open
mnlevy1981 wants to merge 9 commits into
ESCOMP:mainfrom
mnlevy1981:CESM3_MARBL_updates
Open

More MARBL updates for CESM3#339
mnlevy1981 wants to merge 9 commits into
ESCOMP:mainfrom
mnlevy1981:CESM3_MARBL_updates

Conversation

@mnlevy1981

Copy link
Copy Markdown
Collaborator

Need to set some grid-specific BGC parameters for the tx2_3v3 grid, and also NCAR/MOM6#434 changes how MOM6 expects to some BGC forcing data to be provided (so this PR updates MOM_input). There might be some other parameter changes coming from @kristenkrumhardt, she is tuning MARBL and I don't know if the MOM6 parameters should be set ParamGen or if we'll just update the default values in the Fortran code. I'll take this out of draft mode when all of that has been finalized.

Also add flags to support initializing MARBL tracers from file using native
vertical grid (e.g. restart file). Note that currently the MARBL tracers are
split across multiple restarts, so users will need to combine them into a
single file before using this feature.
MOM6 now reads a single file containing two iron sediment fluxes and a vent
flux, rather than one file per field.
Was not nesting conditionals correctly
I updated names of variables relating to the iron sediment and vent fluxes,
which changes some defaults in MOM_input (and the input data file checker)
Hybrid cases default to MARBL_TRACERS_IC_FILE_IS_Z=False, and MARBL_IC_MIN_VAL
is only used when initializing from Z
Also moved all aux_mom_MARBL tests to TL319_t233, made sure MARBL_IC_MIN_VAL is
only set in tests that use MARBL, and created a new iron forcing file for
tx2_3v2 with the old data presented in the new format (single file, different
field names)
I had modified MOM_input.yaml but not input_data_list.yaml
@mnlevy1981

Copy link
Copy Markdown
Collaborator Author

I'm running aux_mom on 1fa7196 right now, but splicing together the in-progress testing with results from before I added the MARBL conditional to setting MARBL_IC_MIN_VAL (which had a bunch of NLCOMP failures because I added MARBL_IC_MIN_VAL to every test instead of just the ones with MARBL) the failures are

4	FAIL
	2	NLCOMP (FAIL)
      1 SMS_Ld1_D.TL319_t232.C1850MARBL_JRA.derecho_intel
      1 SMS.TL319_t232.G1850MARBL_JRA.derecho_intel
	2	BASELINE (FAIL)
      1 SMS_Ld1_D.TL319_t232.C1850MARBL_JRA.derecho_intel
      1 SMS.TL319_t232.G1850MARBL_JRA.derecho_intel

These are expected; the NLCOMP failures come from the new MARBL_IC_MIN_VAL and the baseline failures are a combination of setting MARBL_IC_MIN_VAL (so the initial conditions in the tests are slightly different) and also the new tunings that are part of the updated MARBL tag.

I did also see

3	FAIL
	1	COMPARE (FAIL)
      1 PET.TL319_t232.C_JRA.derecho_intel
	1	TPUTCOMP (FAIL)
      1 ERI.TL319_t233.G_JRA.derecho_intel.mom-debug
	1	BASELINE (FAIL)
      1 PET.TL319_t232.C_JRA.derecho_intel

I'm not sure what happened with the PET test, so I'll see if it's reproducible before digging in... and my experience is that TPUTCOMP failures are intermittent / can be affected by machine and network use

@mnlevy1981 mnlevy1981 marked this pull request as ready for review July 13, 2026 15:56
@mnlevy1981 mnlevy1981 requested a review from alperaltuntas July 13, 2026 15:56
@mnlevy1981

Copy link
Copy Markdown
Collaborator Author

The PET test passes now:

$ cat TestStatus
PASS PET.TL319_t232.C_JRA.derecho_intel CREATE_NEWCASE
PASS PET.TL319_t232.C_JRA.derecho_intel XML
PASS PET.TL319_t232.C_JRA.derecho_intel SETUP
PASS PET.TL319_t232.C_JRA.derecho_intel SHAREDLIB_BUILD time=336
PASS PET.TL319_t232.C_JRA.derecho_intel NLCOMP
PASS PET.TL319_t232.C_JRA.derecho_intel MODEL_BUILD time=180
PASS PET.TL319_t232.C_JRA.derecho_intel SUBMIT
PASS PET.TL319_t232.C_JRA.derecho_intel RUN time=408
PASS PET.TL319_t232.C_JRA.derecho_intel COMPARE_base_single_thread
PASS PET.TL319_t232.C_JRA.derecho_intel BASELINE cime6.2.2-cesm3_cice6_6_3_16-dev_ncar_260625:
PASS PET.TL319_t232.C_JRA.derecho_intel MEMCOMP
PASS PET.TL319_t232.C_JRA.derecho_intel TPUTCOMP
PASS PET.TL319_t232.C_JRA.derecho_intel MEMLEAK
PASS PET.TL319_t232.C_JRA.derecho_intel SHORT_TERM_ARCHIVER

@mnlevy1981

Copy link
Copy Markdown
Collaborator Author

I can confirm that only the expected tests are failing:

4	FAIL
	2	NLCOMP (FAIL)
      1 SMS_Ld1_D.TL319_t232.C1850MARBL_JRA.derecho_intel
      1 SMS.TL319_t232.G1850MARBL_JRA.derecho_intel
	2	BASELINE (FAIL)
      1 SMS_Ld1_D.TL319_t232.C1850MARBL_JRA.derecho_intel
      1 SMS.TL319_t232.G1850MARBL_JRA.derecho_intel

@alperaltuntas this is ready for review. Summary of changes (this is the intent of the changes, if anything goes against this list it's likely a mistake that I'm happy to fix):

  1. testlist_mom.xml: move all aux_mom_MARBL tests from tx2_3v2 to tx2_3v3 (does not change pr_mom, aux_mom, prealpha, or prebeta test lists)
  2. .gitmodules, MOM6/, and externals/MARBL update MOM6 to dev/ncar_260710 and MARBL to marbl0.50.0
  3. MOM_input.yaml: updates to support MARBL compsets with tx2_3v3
    • IC file was moved to grid_indpt since it's 1°x1° and MOM6 handles horizontal interpolation
    • data from MARBL_FESEDFLUX_FILE, MARBL_FESEDFLUXRED_FILE, and MARBL_FEVENTFLUX_FILE were combined into single MARBL_FE_INTERIOR_SOURCE_FILE. There is a brand new file for tx2_3v3 and also I combined the data from the three existing tx2_3v2 files into a single file for that resolution (there are still a few tests with MARBL on the v2 grid in the test suite)
    • Introduced MARBL_IC_MIN_VAL, which is necessary (but not sufficient) to pass DIMCSL test with MARBL compset
    • Created river nutrient forcing files on v3 grid
  4. input_data_list.yaml: mirrors changes to variables in MOM_input.yaml that deal with new forcing files (IC files in grid_indpt/, new iron forcing setup, new river nutrient files)

<test name="ERS" grid="TL319_t232" compset="G1850MARBL_JRA">
<machines>
<machine name="derecho" compiler="intel" category="aux_mom_MARBL"/>
<machine name="derecho" compiler="intel" category="prebeta"/>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we also move this prebeta test to the newly added <test name="ERS" grid="TL319_t233" compset="G1850MARBL_JRA">, and remove this <test name="ERS" grid="TL319_t232" compset="G1850MARBL_JRA"> altogether?

Comment thread .gitmodules
url = https://github.com/NCAR/MOM6.git
fxDONOTUSEurl = https://github.com/NCAR/MOM6.git
fxtag = dev/ncar_260624
fxtag = dev/ncar_260710

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we update the tag to dev/ncar_260713 which include the latest changes from mom-ocean/main?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants