Regional Compsets & Input Parameters#

Case State File#

At the end of Case.__init__, CrocoDash writes a _crocodash_state.json file into the caseroot. It records the construction parameters needed to reconstruct or inspect the case later:

{
  "inputdir": "/path/to/croc_input/mycase",
  "cesmroot": "/path/to/CROCESM",
  "supergrid_path": "/path/to/.../ocean_hgrid_mygrid_abc123.nc",
  "topo_path":      "/path/to/.../ocean_topog_mygrid_abc123.nc",
  "vgrid_path":     "/path/to/.../ocean_vgrid_mygrid_abc123.nc",
  "grid_name": "mygrid",
  "session_id": "abc123",
  "compset_lname": "1850_DATM%JRA_SLND_SICE_MOM6%REGIONAL_SROF_SGLC_SWAV",
  "machine": "derecho",
  "project": "NCGD0011",
  "atm_grid_name": "TL319"
}

This file is read by crocodash dump to reconstruct a YAML config, and by bundle/fork/duplicate to avoid re-parsing CIME. It is the paired counterpart to inputdir/extract_forcings/config.json, which records forcing configuration written by configure_forcings.

Both files carry a schema_version, each versioned on its own. Reading a file whose MAJOR.MINOR doesn’t match what the installed CrocoDash supports raises an error; recreate the case with the current CrocoDash. A config.json written before versioning has no schema_version and is read as 1.0.0; a _crocodash_state.json without one is accepted with a warning.

Available Compset Aliases#

Regional compsets are available by checking out the crocodash branch of the CROCODILE-CESM/CESM fork. You can always use the long names of the compsets instead.

The only job of the %REGIONAL flag on MOM6 in the compset longnames below is to set an xml variable MOM6_DOMAIN_TYPE=REGIONAL, which shifts input parameters to regional defaults.

Alias

Long name

Description

CR_JRA

1850_DATM%JRA-1p5-2023_SLND_DICE%SSMI_MOM6%REGIONAL_SROF_SGLC_SWAV

Standalone ocean with data sea ice from SSMI and data atmosphere from JRA

CR_JRA_RYF

2000_DATM%JRA-RYF9091_SLND_DICE%SSMI_MOM6%REGIONAL_SROF_SGLC_SWAV

Standalone ocean with data sea ice from SSMI and repeat-year (1990-91) data atmosphere from JRA

CR1850MARBL_JRA

1850_DATM%JRA-1p5-2023_SLND_DICE%SSMI_MOM6%REGIONAL%MARBL-BIO_SROF_SGLC_SWAV

Ocean coupled with MARBL BGC model with data sea ice from SSMI and data atmosphere from JRA

CR_JRA_GLOFAS

1850_DATM%JRA-1p5-2023_SLND_DICE%SSMI_MOM6%REGIONAL_DROF%GLOFAS_SGLC_SWAV

Standalone ocean with data sea ice from SSMI, data atmosphere from JRA, and data runoff from GLOFAS

CR1850MARBL_JRA_GLOFAS

1850_DATM%JRA-1p5-2023_SLND_DICE%SSMI_MOM6%REGIONAL%MARBL-BIO_DROF%GLOFAS_SGLC_SWAV

Ocean coupled with MARBL BGC model with data sea ice from SSMI, data atmosphere from JRA, and data runoff from GLOFAS

CWR_JRA

1850_DATM%JRA-1p5-2023_SLND_DICE%SSMI_MOM6%REGIONAL_SROF_SGLC_WW3

Ocean coupled with WW3 wave model with data sea ice from SSMI and data atmosphere from JRA

CWR_JRA_RYF

2000_DATM%JRA-RYF9091_SLND_DICE%SSMI_MOM6%REGIONAL_SROF_SGLC_WW3

Ocean coupled with WW3 wave model with data sea ice from SSMI and repeat-year (1990-91) data atmosphere from JRA

CWR1850MARBL_JRA

1850_DATM%JRA-1p5-2023_SLND_DICE%SSMI_MOM6%REGIONAL%MARBL-BIO_SROF_SGLC_WW3

Ocean coupled with MARBL BGC model and WW3 wave model with data sea ice from SSMI and data atmosphere from JRA

CWR_JRA_GLOFAS

1850_DATM%JRA-1p5-2023_SLND_DICE%SSMI_MOM6%REGIONAL_DROF%GLOFAS_SGLC_WW3

Ocean coupled with WW3 wave model with data sea ice from SSMI, data atmosphere from JRA, and data runoff from GLOFAS

CWR1850MARBL_JRA_GLOFAS

1850_DATM%JRA-1p5-2023_SLND_DICE%SSMI_MOM6%REGIONAL%MARBL-BIO_DROF%GLOFAS_SGLC_WW3

Ocean coupled with MARBL BGC model and WW3 wave model with data sea ice from SSMI, data atmosphere from JRA, and data runoff from GLOFAS

GR_JRA

1850_DATM%JRA-1p5-2023_SLND_CICE_MOM6%REGIONAL_SROF_SGLC_SWAV

Ocean coupled with CICE sea ice model with data atmosphere from JRA

GR1850MARBL_JRA

1850_DATM%JRA-1p5-2023_SLND_CICE_MOM6%REGIONAL%MARBL-BIO_SROF_SGLC_SWAV

Ocean coupled with MARBL BGC model and CICE sea ice model with data atmosphere from JRA

GR_JRA_GLOFAS

1850_DATM%JRA-1p5-2023_SLND_CICE_MOM6%REGIONAL_DROF%GLOFAS_SGLC_SWAV

Ocean coupled with CICE sea ice model with data atmosphere from JRA and data runoff from GLOFAS

GR1850MARBL_JRA_GLOFAS

1850_DATM%JRA-1p5-2023_SLND_CICE_MOM6%REGIONAL%MARBL-BIO_DROF%GLOFAS_SGLC_SWAV

Ocean coupled with MARBL BGC model and CICE sea ice model with data atmosphere from JRA and data runoff from GLOFAS

GWR_JRA

1850_DATM%JRA-1p5-2023_SLND_CICE_MOM6%REGIONAL_SROF_SGLC_WW3

Ocean coupled with CICE sea ice model and WW3 wave model with data atmosphere from JRA

GWR1850MARBL_JRA

1850_DATM%JRA-1p5-2023_SLND_CICE_MOM6%REGIONAL%MARBL-BIO_SROF_SGLC_WW3

Ocean coupled with MARBL BGC model, CICE sea ice model, and WW3 wave model with data atmosphere from JRA

GWR_JRA_GLOFAS

1850_DATM%JRA-1p5-2023_SLND_CICE_MOM6%REGIONAL_DROF%GLOFAS_SGLC_WW3

Ocean coupled with CICE sea ice model and WW3 wave model with data atmosphere from JRA and data runoff from GLOFAS

GWR1850MARBL_JRA_GLOFAS

1850_DATM%JRA-1p5-2023_SLND_CICE_MOM6%REGIONAL%MARBL-BIO_DROF%GLOFAS_SGLC_WW3

Ocean coupled with MARBL BGC model, CICE sea ice model, and WW3 wave model with data atmosphere from JRA and data runoff from GLOFAS

The W in CWR_*/GWR_* denotes an active wave model (WW3) in place of the stub SWAV. For these compsets CrocoDash reuses the regional ocean grid as the wave grid and runs the WW3 grid preprocessor, so no separate wave grid needs to be supplied.

Input Parameters#

MOM6 behavior is controlled through parameter files (namelists) and the diagnostic table. CrocoDash uses CESM’s MOM_interface to generate these files with sensible defaults.

Generated Files#

When you run case preview (or setup), CESM generates several MOM6 configuration files:

  • MOM_input - Main namelist controlling MOM6 parameters

  • diag_table - Diagnostic output configuration

These files are initially placed in the case’s CaseDocs directory for reference.

How Defaults Are Generated#

  1. MOM_interface - CESM’s bridge component for MOM6

    • Located in: components/mom in CESM sandboxes

    • Generates default files based on grid and component settings

    • Files generated via preview_namelists() which calls MOM_interface to validate and generate files

  2. Default Recommendations - CrocoDash (and the %REGIONAL compset) provides tested defaults

    • Grid-aware settings (domain size, resolution)

    • Physics settings appropriate for regional domains

    • Diagnostic settings for common use cases

Customizing Parameters#

There are two approaches to customizing MOM6 parameters:

1. User Namelist Modifications (What you should use!)#

Override specific parameters using user_nl_mom:

# In your case directory user_nl_mom 
DT_BAROCLINIC = 1800  ! Change timestep
TIDES = TRUE  ! Enable tides (internal)

Then regenerate namelists:

./preview_namelists

Advantages:

  • Clean, trackable changes

  • Easy to see what you modified

  • Plays well with CESM workflows

  • Can be included in case scripts

Viewing/Verifying Generated Files#

After running preview_namelists, check:

# View generated defaults
cat CaseDocs/MOM_input
cat CaseDocs/diag_table

# View your modifications
cat user_nl_mom
cat SourceMods/src.mom/MOM_input  # if using SourceMods

Common Customizations#

Change Model Timestep#

echo "DT_BAROCLINIC = 1800" >> user_nl_mom

Adjust Diagnostic Output Frequency#

Edit diag_table to change output intervals or variables.

For detailed information about MOM6 parameters:

  • MOM6 Manual: https://mom6.readthedocs.io/

  • MOM6 Parameters: MOM_input file comments and MOM6 documentation

  • CESM MOM_interface: See CESM documentation for default coupling parameters

Integration with CrocoDash#

When using CrocoDash, parameter customization happens after case creation:

  1. CrocoDash creates the case and adjusts parameters with grid and forcing configurations

  2. You customize parameters beyond CrocoDash via user_nl_mom or SourceMods

  3. You build and run the case with modified parameters

For configuration of forcing-specific parameters (tides, BGC, rivers, etc.), see Configure Forcings instead.

Tips and Best Practices#

  • Start with defaults - CrocoDash provides tested defaults; modify only what you need

  • Document your changes - Add comments to user_nl_mom explaining why you changed things

  • Check compatibility - Some parameters interact; changing one may require changing others

You do not need to rebuild your case with parameter changes!!!