Skip to content

Idealized Test Cases

David Fillmore edited this page Oct 8, 2026 · 2 revisions

Idealized Test Cases

NSF NCAR publishes the MPAS meshes, decompositions, and starting namelists for the official idealized cases. CheMPAS-A's copies keep the archive dynamics settings and add small chemistry configurations. The ABBA examples also set config_scalar_advection = true (the archives ship false) so that the chemistry tracers are transported.

Download the corresponding archives:

The standard initialization workflow is described in the MPAS running guide.

Mountain-wave and JW ABBA

The ABBA mechanism creates runtime qA, qB, and qAB tracers and applies a reversible AB <-> A + B toy reaction. It is useful for testing registration, transport, I/O, and restart without photolysis or emissions.

Configuration directories:

  • examples/idealized/mountain-wave/
  • examples/idealized/jw-baroclinic-wave/

Each directory contains namelist.init_atmosphere, streams.init_atmosphere, namelist.atmosphere, streams.atmosphere, stream_list.atmosphere.output, and abba.yaml.

For either case:

  1. Extract the official archive into an empty working directory.
  2. Copy the matching example files over the archive's configuration files.
  3. Stage init_atmosphere_model, atmosphere_model, build_tables, and the required physics tables.
  4. Run init_atmosphere_model with the MPI count matching the selected partition.
  5. Confirm the generated initial-condition filename matches the input stream in streams.atmosphere.
  6. Run atmosphere_model with the same matching decomposition.

The mountain-wave files use mtn_wave_grid.nc, mtn_wave_init.nc, and mtn_wave.graph.info.part.N. The JW files use x1.40962.grid.nc, x1.40962.init.nc, and x1.40962.graph.info.part.N.

Expected initialization messages include runtime registration of A, B, and AB. The history scalars array carries their authoritative dry-air mass mixing ratios.

Supercell ABBA

The Docker workflow's supercell-abba case runs the ABBA mechanism on the supercell mesh. It uses the release test_cases/supercell/ files with config_micm_file = 'abba.yaml', sets qA = qB = 0, and gives qAB a two-wave horizontal pattern between 0.2 and 1.0:

python scripts/init_tracer_sine.py -i supercell_init.nc -t qAB --create \
  --waves-x 2 --amplitude 0.4 --offset 0.6

Supercell lightning NOx

The supercell configuration combines Kessler microphysics with a three-species NO-NO2-O3 mechanism, TUV-x jNO2, and parameterized lightning NOx.

Use examples/idealized/supercell-lnox/. It includes:

  • initialization and atmosphere namelists/streams;
  • the 60-level supercell_zeta_levels.txt;
  • lnox_o3.yaml;
  • tuvx_no2.json;
  • tuvx_upper_atm.csv; and
  • an output list containing j_jNO2.

Manual setup:

  1. Extract the official supercell archive.
  2. Replace its configuration files with this directory.
  3. Stage the mechanism and TUV-x configuration beside the namelist.
  4. Link data to the pinned MUSICA configs/tuvx/data directory.
  5. Run init_atmosphere_model to create supercell_init.nc.
  6. Initialize the chemistry tracers with the release script scripts/init_lnox_o3.py -i supercell_init.nc (NO = 0, NO2 = 0, O3 = 50 ppbv). Without this step all three tracers start at zero.
  7. Launch atmosphere_model using a supplied supercell.graph.info.part.N.

The example uses fixed solar coordinates at 35.86 degrees N, 97.93 degrees W, a static 50-100 km upper column, a 600 s TUV-x update interval, and altitude gating between 5 and 12 km MSL. It starts at 18:00 UTC, when the fixed column is in daylight; the release test_cases/supercell/ template starts at 00:00 UTC, after local sunset at these coordinates, so its photolysis rates stay near zero. The one-minute duration and 30 s output interval make this a short coupling check, not a lightning-emissions climatology.

File integrity

Do not combine a namelist from one case with another case's streams or decomposition prefix. MPAS input filenames are part of the configuration, and chemistry adds no automatic filename discovery.

Clone this wiki locally