Skip to content

MC_8km_jra_ryf-test2-expt-c349f800

8km jra_ryf-test2

🏃 Latest submission: Run 18 is in progress (work/log/med.log updated 2026-10-19 16:32 AEDT). Model date reached: 1904-05-01 (4.4 model years complete).

Notebooks: ocean_stats, Timeseries_daily_extreme_from_2D_fields, temp-salt-vs-depth-time, ❌ timeseries

⏱ The last notebook job (181564697.gadi-pbs) didn't finish (out of walltime or memory, or deleted); results below are from the previous complete run.

GitHub issue: ACCESS-NRI/access-om3-configs#1755

payu status (run in the control directory)
========================================
Run: 19
  ------------- Run Info -------------
  Job ID:            181561200.gadi-pbs
  Run ID:            6083b6ed4c205250a63d789d704c53b82aeeb4ec
  Stage:             model-run
  Current Expt Time: 1904-10-02T00:00:00
  Job File:          /scratch/tm70/cyb561/access-om3/archive/MC_8km_jra_ryf-test2-expt-c349f800/payu_jobs/19/run/181561200.gadi-pbs.json
========================================
📋 Summary for the GitHub issue
### OM3 Monitor summary: `MC_8km_jra_ryf-test2-expt-c349f800`
*8km jra_ryf-test2*

- **Latest submission:** 🏃 Run 18 is in progress (`work/log/med.log` updated 2026-10-19 16:32 AEDT).
- **Model date reached:** 1904-05-01 (4.4 model years complete)
- **Average throughput:** 1.73 SYPD
- **Truncations:** 139 in 2 of 18 output folders

| Where | Records | Output folders | Max speed (m/s) | Max CFL |
|---|---:|---|---:|---:|
| [68.4°E, 68.3°N](https://www.google.com/maps/place/68.28,68.41/@68.28,68.41,5z) | 1 | 011 | 2.0 | 0.51 |

**References**
1. Archive folder: `/g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800`
2. Run directory: `/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2` (current or crashed run in `work/`)
3. Status page: https://chrisb13.github.io/access-om3-live/live/MC_8km_jra_ryf-test2-expt-c349f800/

*Generated automatically by the [OM3 Monitor](https://chrisb13.github.io/access-om3-live/live/) on 2026-10-19 16:38 AEDT; it may contain errors, so check against the files above.*

Run directory: current or crashed run

Read from the payu control directory /g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2.

Latest model date in work/log/med.log: 1904-10-02T00:00:00 (rate 1.72 ypd)

Check this on Gadi: the latest model date
# WHAT THIS DOES: prints the last 'Model Date' line of the current run's log. The page takes the
# latest model date, and the speed of the run (the 'rate', in simulated years per day), from this
# line.
R=/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2

# grep keeps the lines that contain 'Model Date:'; tail -n 1 keeps only the last of them
grep 'Model Date:' "$R"/work/log/med.log | tail -n 1

Log files

/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/access-om3.err (last lines; modified 2026-10-19 15:35 AEDT)
 (t_initf) Read in prof_inparm namelist from: drv_in
 (t_initf) Using profile_disable=          F
 (t_initf)       profile_timer=                      4
 (t_initf)       profile_depth_limit=                4
 (t_initf)       profile_detail_limit=               2
 (t_initf)       profile_barrier=          F
 (t_initf)       profile_outpe_num=                  1
 (t_initf)       profile_outpe_stride=               0
 (t_initf)       profile_single_file=      F
 (t_initf)       profile_global_stats=     T
 (t_initf)       profile_ovhd_measurement= F
 (t_initf)       profile_add_detail=       F
 (t_initf)       profile_papi_enable=      F

WARNING from PE     0: set_diffusivity_init: SIMPLE_TKE_TO_KD can not be used reliably with USE_REGRIDDING.
/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/access-om3.out (last lines; modified 2026-10-19 16:32 AEDT)
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
  max rss=1865416704.0 MB
/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/work/log/med.log (last lines; modified 2026-10-19 16:32 AEDT)
Model Date: 1904-09-18T00:00:00 wall clock = 2026-10-19T16:06:59 avg dt =   104.20 s/day, dt =   104.01 s/day, rate =     2.28 ypd
 memory_write: model date = 1904-09-18T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-09-19T00:00:00 wall clock = 2026-10-19T16:08:42 avg dt =   104.16 s/day, dt =   103.33 s/day, rate =     2.29 ypd
 memory_write: model date = 1904-09-19T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-09-20T00:00:00 wall clock = 2026-10-19T16:10:27 avg dt =   104.19 s/day, dt =   104.74 s/day, rate =     2.26 ypd
 memory_write: model date = 1904-09-20T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-09-21T00:00:00 wall clock = 2026-10-19T16:12:10 avg dt =   104.14 s/day, dt =   103.31 s/day, rate =     2.29 ypd
 memory_write: model date = 1904-09-21T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-09-22T00:00:00 wall clock = 2026-10-19T16:13:55 avg dt =   104.16 s/day, dt =   104.46 s/day, rate =     2.27 ypd
 memory_write: model date = 1904-09-22T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-09-23T00:00:00 wall clock = 2026-10-19T16:15:39 avg dt =   104.15 s/day, dt =   104.02 s/day, rate =     2.28 ypd
 memory_write: model date = 1904-09-23T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-09-24T00:00:00 wall clock = 2026-10-19T16:17:24 avg dt =   104.18 s/day, dt =   104.73 s/day, rate =     2.26 ypd
 memory_write: model date = 1904-09-24T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-09-25T00:00:00 wall clock = 2026-10-19T16:19:08 avg dt =   104.18 s/day, dt =   104.29 s/day, rate =     2.27 ypd
 memory_write: model date = 1904-09-25T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-09-26T00:00:00 wall clock = 2026-10-19T16:20:51 avg dt =   104.15 s/day, dt =   103.28 s/day, rate =     2.29 ypd
 memory_write: model date = 1904-09-26T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-09-27T00:00:00 wall clock = 2026-10-19T16:22:36 avg dt =   104.16 s/day, dt =   104.62 s/day, rate =     2.26 ypd
 memory_write: model date = 1904-09-27T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-09-28T00:00:00 wall clock = 2026-10-19T16:24:20 avg dt =   104.16 s/day, dt =   104.02 s/day, rate =     2.28 ypd
 memory_write: model date = 1904-09-28T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-09-29T00:00:00 wall clock = 2026-10-19T16:26:06 avg dt =   104.22 s/day, dt =   105.92 s/day, rate =     2.23 ypd
 memory_write: model date = 1904-09-29T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-09-30T00:00:00 wall clock = 2026-10-19T16:27:50 avg dt =   104.21 s/day, dt =   103.88 s/day, rate =     2.28 ypd
 memory_write: model date = 1904-09-30T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-10-01T00:00:00 wall clock = 2026-10-19T16:29:51 avg dt =   104.80 s/day, dt =   121.80 s/day, rate =     1.94 ypd
 memory_write: model date = 1904-10-01T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
Model Date: 1904-10-02T00:00:00 wall clock = 2026-10-19T16:32:09 avg dt =   105.85 s/day, dt =   137.39 s/day, rate =     1.72 ypd
 memory_write: model date = 1904-10-02T00:00:00 memory =      -0.00 MB (highwater)       1779.00 MB (usage)
/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/8km_jra_ryf.o181541663 (last lines; modified 2026-10-19 15:32 AEDT)
payu: Found modules in /opt/Modules/v4.3.0
------ Job submitted ------
Submitted command: qsub -P tm70 -l walltime=10:00:00 -l ncpus=1 -l mem=2GB -l jobfs=10GB -N 8km_jra_ryf_s -l wd -j n -W depend=afterok:181561134.gadi-pbs -q copyq -l storage=gdata/ol01+gdata/tm70+scratch/tm70+gdata/vk83 -v PAYU_PATH=/containerised_envs/payu/1.3.6_1/bin,PAYU_CURRENT_RUN=18,PAYU_SYNC_RESTARTS=True,MODULESHOME=/opt/Modules/v4.3.0,MODULES_CMD=/opt/Modules/v4.3.0/libexec/modulecmd.tcl,MODULEPATH=/g/data/vk83/prerelease/modules:/g/data/vk83/modules:/etc/scl/modulefiles:/opt/Modules/modulefiles:/opt/Modules/v4.3.0/modulefiles:/apps/Modules/modulefiles -- /g/data/vk83/apps/containerised_envs/envs/payu/1.3.6_1/bin/launcher.sh /containerised_envs/payu/1.3.6_1/bin/python3.10 /containerised_envs/payu/1.3.6_1/bin/payu-sync
Job ID: 181561144.gadi-pbs
payu: Found modules in /opt/Modules/v4.3.0
laboratory path:  /scratch/tm70/cyb561/access-om3
binary path:  /scratch/tm70/cyb561/access-om3/bin
input path:  /scratch/tm70/cyb561/access-om3/input
work path:  /scratch/tm70/cyb561/access-om3/work
archive path:  /scratch/tm70/cyb561/access-om3/archive
Found experiment archive: /scratch/tm70/cyb561/access-om3/archive/MC_8km_jra_ryf-test2-expt-c349f800
Loading input manifest: manifests/input.yaml
Loading restart manifest: manifests/restart.yaml
Loading exe manifest: manifests/exe.yaml
payu: Found modules in /opt/Modules/v4.3.0
------ Job submitted ------
Submitted command: qsub -P tm70 -l walltime=05:00:00 -l ncpus=8424 -l mem=41472GB -l jobfs=10GB -N 8km_jra_ryf -l wd -j n -W umask=027 -q normalsr -l storage=gdata/ol01+gdata/tm70+gdata/vk83+scratch/tm70 -v PAYU_PATH=/containerised_envs/payu/1.3.6_1/bin,PAYU_CURRENT_RUN=19,PAYU_N_RUNS=1,MODULESHOME=/opt/Modules/v4.3.0,MODULES_CMD=/opt/Modules/v4.3.0/libexec/modulecmd.tcl,MODULEPATH=/g/data/vk83/prerelease/modules:/g/data/vk83/modules:/etc/scl/modulefiles:/opt/Modules/modulefiles:/opt/Modules/v4.3.0/modulefiles:/apps/Modules/modulefiles -- /g/data/vk83/apps/containerised_envs/envs/payu/1.3.6_1/bin/launcher.sh /containerised_envs/payu/1.3.6_1/bin/python3.10 /containerised_envs/payu/1.3.6_1/bin/payu-run
Job ID: 181561200.gadi-pbs

======================================================================================
                  Resource Usage on 2026-10-19 15:32:13:
   Job Id:             181541663.gadi-pbs
   Project:            tm70
   Exit Status:        0
   Service Units:      60357.96
   NCPUs Requested:    8424                CPU Time Used: 29804:01:23     
   Memory Requested:   40.5TB                Memory Used: 9.82TB          
   Walltime Requested: 05:00:00            Walltime Used: 03:34:57        
   JobFS Requested:    10.0GB                 JobFS Used: 52.92MB         
======================================================================================
/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/8km_jra_ryf_s.o181541662 (last lines; modified 2026-10-19 14:06 AEDT)
payu_jobs/17/run/181527244.gadi-pbs.json
payu_jobs/17/run/181527279.gadi-pbs.json
payu_jobs/17/sync/
payu_jobs/17/sync/181541662.gadi-pbs.json
payu_jobs/18/
payu_jobs/18/run/
payu_jobs/18/run/181541663.gadi-pbs.json

sent 1,062,999 bytes  received 281 bytes  708,853.33 bytes/sec
total size is 10,425,513  speedup is 9.81
Running command: rsync -vrltoD --safe-links  /scratch/tm70/cyb561/access-om3/archive/MC_8km_jra_ryf-test2-expt-c349f800/metadata.yaml /g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/
sending incremental file list
metadata.yaml

sent 2,038 bytes  received 35 bytes  4,146.00 bytes/sec
total size is 1,937  speedup is 0.93
Updating git-runlog at /g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/git-runlog
payu: Found modules in /opt/Modules/v4.3.0

======================================================================================
                  Resource Usage on 2026-10-19 14:06:08:
   Job Id:             181541662.gadi-pbs
   Project:            tm70
   Exit Status:        0
   Service Units:      1.33
   NCPUs Requested:    1                   CPU Time Used: 00:32:00        
   Memory Requested:   2.0GB                 Memory Used: 2.0GB           
   Walltime Requested: 10:00:00            Walltime Used: 00:40:02        
   JobFS Requested:    10.0GB                 JobFS Used: 0B              
======================================================================================
/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/8km_jra_ryf_s.e181541662 (last lines; modified 2026-10-19 14:05 AEDT)
To /g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/git-runlog
   c633b0a..08989de  expt -> expt
/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/payu_postscript.o181541661 (last lines; modified 2026-10-19 13:24 AEDT)
/g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/access_nri_intake/source/utils.py:142: UserWarning: Time coordinate does not include bounds information. Guessing start and end times.
  warnings.warn(
/g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/access_nri_intake/source/utils.py:142: UserWarning: Time coordinate does not include bounds information. Guessing start and end times.
  warnings.warn(
/g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/access_nri_intake/source/utils.py:142: UserWarning: Time coordinate does not include bounds information. Guessing start and end times.
  warnings.warn(
/g/data/xp65/public/apps/med_conda/envs/analysis3-25.05/lib/python3.11/site-packages/intake_esm/cat.py:187: PydanticDeprecatedSince20: The `dict` method is deprecated; use `model_dump` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.11/migration/
  data = self.dict().copy()
Sucessfully built esm-datastore!
Saving esm-datastore to /g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/archive
Successfully wrote ESM catalog json file to: file:///g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/archive/experiment_datastore.json
Hashing catalog to prevent unnecessary rebuilds.
This may take some time...
Catalog sucessfully hashed!
Datastore sucessfully written to /g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/archive/experiment_datastore.json!
Please note that this has not added the datastore to the access-nri-intake catalog.
To add to catalog, please run 'scaffold_catalog_entry' for help on how to do so.
sys:1: DeprecationWarning: Call to deprecated function (or staticmethod) _destroy.

======================================================================================
                  Resource Usage on 2026-10-19 13:24:37:
   Job Id:             181541661.gadi-pbs
   Project:            tm70
   Exit Status:        0
   Service Units:      129.77
   NCPUs Requested:    104                 CPU Time Used: 11:17:40        
   Memory Requested:   500.0GB               Memory Used: 337.77GB        
   Walltime Requested: 02:00:00            Walltime Used: 00:37:26        
   JobFS Requested:    100.0GB                JobFS Used: 13.46GB         
======================================================================================
Check this on Gadi: when these logs were written, and their last lines
# WHAT THIS DOES: for each log file listed above, prints when it was last changed and its last 30
# lines, which are the lines the page shows.

# 'for' repeats the three lines below once for each file; $f is the file it is on.
# 'ls -l' lists a file with details; --time-style=long-iso writes its time as 2026-07-01 00:02.
for f in /g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/access-om3.err /g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/access-om3.out /g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/work/log/med.log /g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/8km_jra_ryf.o181541663 /g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/8km_jra_ryf_s.o181541662 /g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/8km_jra_ryf_s.e181541662 /g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/payu_postscript.o181541661; do
    echo "== $f"                          # which file this is
    ls -l --time-style=long-iso "$f"      # when it was last changed (the date and time are in the middle)
    tail -n 30 "$f"                       # its last 30 lines
done

Truncation locations

✅ No velocity truncations so far in the run segment currently underway (work/ocean.stats).

Check this on Gadi: the truncation counts, locations and settings
# WHAT THIS DOES: re-checks the 'Truncation locations' section from the files MOM6 wrote. A
# truncation is when MOM6 had to cut a velocity that was too fast (its CFL number was above 0.5): a
# sign of numerical trouble. The steps below are separate, so you can paste just the one you need.
# Each prints something you can compare with the page.
R=/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2

# Step 1: for each work folder: how many truncations MOM6 reported, the largest CFL number, and how many location records were written
for o in "$R"/work; do
    # ocean.stats is a table with one line per time step. Its 3rd column ('Truncs') is the truncations at that
    # step. awk adds that column up. (-F, means the columns are separated by commas. The header line is skipped
    # because its first column is not a number.)
    total=$(awk -F, '$1+0 == $1 {sum += $3} END {print sum+0}' "$o/ocean.stats" 2>/dev/null)
    # The 5th column holds two numbers; the second one is the CFL number. awk keeps the largest.
    cfl=$(awk -F, '$1+0 == $1 {split($5, a, " "); if (a[2] > max) max = a[2]} END {if (max != "") printf "%.2f", max}' "$o/ocean.stats" 2>/dev/null)
    # Every truncation also gets a 'location record' in the U and V files. grep -c counts the matching lines.
    u=$(grep -c 'velocity violation' "$o/U_velocity_truncations" 2>/dev/null)
    v=$(grep -c 'velocity violation' "$o/V_velocity_truncations" 2>/dev/null)
    # ${x:--} means: use x, or a dash if x is empty (no such file)
    echo "$(basename "$o"): truncations ${total:--}, max CFL ${cfl:--}, location records U/V ${u:--}/${v:--}"
done

# Step 2: where it happens. Each record contains the place, like '( 73.27 E 67.89 N)'. This counts the records in
# boxes one degree wide (negative longitude means west), busiest first. The pipeline does this:
#   grep: keep the lines that start a record    sed: keep only the longitude and latitude
#   awk: round them to whole degrees            sort | uniq -c: count the records in each box
#   sort -rn | head: busiest boxes first
grep -h 'velocity violation' "$R"/work/[UV]_velocity_truncations 2>/dev/null \
  | sed -E 's/.*\( *(-?[0-9.]+) E +(-?[0-9.]+) N\).*/\1 \2/' \
  | awk '{printf "%4.0fE %4.0fN\n", $1, $2}' \
  | sort | uniq -c | sort -rn | head -n 15

# Step 3: MOM6 writes at most 50 records per PE (one of the parallel processes) in one run, then stops. A PE with
# 50 records may have truncated more often than the records show. This lists the PEs that reached 50.
for f in "$R"/work/[UV]_velocity_truncations; do
    [ -f "$f" ] || continue                 # skip if there is no such file
    # each record says which PE it came from ('violation at 6073:'); count the records per PE, keep PEs with 50
    busy=$(grep -h 'velocity violation' "$f" | sed -E 's/.*violation at ([0-9]+):.*/PE\1/' | sort | uniq -c | awk '$1 >= 50 {printf "%s (%d records) ", $2, $1}')
    echo "$(basename "$(dirname "$f")")/$(basename "$f"): $busy"
done

# Step 4: the settings that decide when MOM6 truncates (CFL_TRUNCATE) and when it stops the run (MAXTRUNC).
# Each is shown as it is set in MOM_input and in MOM6's own record of every setting, which also gives its default.
grep -hE '^(CFL_TRUNCATE|MAXTRUNC) ' "$R"/MOM_input "$R"/docs/MOM_parameter_doc.all

Configuration files

/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/config.yaml (modified 2026-10-17 20:19 AEDT)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Payu configuration

# If submitting to a different project to your default, uncomment line below 
# and change project code as appropriate; also set shortpath below
# project: x77
# Force payu to always find, and save, files in this scratch project directory
# shortpath: /scratch/tm70

# Using payu sync is recommend to copy data from ephemeral scratch space to 
# longer term storage
sync:
    enable: True   # set path below and change to true
    base_path: /g/data/ol01/outputs/access-om3-8km/ # Set to location on /g/data (e.g. /g/data/PROJECT/USER/)
    restarts: True
    exclude_uncollated: False

#Model software version
modules:
    use:
        - /g/data/vk83/modules
        - /g/data/vk83/prerelease/modules 
    load:
        - access-om3/pr264-25
        - model-tools/mppnccombine-fast/2026.10.000-1

queue: normalsr
ncpus: 8424
jobfs: 10GB
walltime: 05:00:00
jobname: 8km_jra_ryf

model: access-om3
exe: access-om3-MOM6-CICE6
input:
  - /g/data/vk83/prerelease/configurations/inputs/access-om3/cice/grids/global.8km/2026.10.08/kmt.nc
  - /g/data/vk83/prerelease/configurations/inputs/access-om3/share/grids/global.8km/2026.10.07/ocean_hgrid.nc
  - /g/data/vk83/prerelease/configurations/inputs/access-om3/mom/grids/vertical/share/2025.03.12/ocean_vgrid.nc
  - /g/data/vk83/prerelease/configurations/inputs/access-om3/share/grids/global.8km/2026.10.08/topog.nc
  - /g/data/vk83/prerelease/configurations/inputs/access-om3/share/meshes/global.8km/2026.10.08/access-om3-8km-ESMFmesh.nc
  - /g/data/vk83/prerelease/configurations/inputs/access-om3/share/meshes/global.8km/2026.10.08/access-om3-8km-nomask-ESMFmesh.nc
  - /g/data/vk83/prerelease/configurations/inputs/access-om3/cmeps/remap_weights/global.8km/2026.10.08/access-om3-8km-rof-remap-weights.nc
  - /g/data/vk83/configurations/inputs/access-om3/share/meshes/share/2026.01.21/JRA55do-datm-ESMFmesh.nc
  - /g/data/vk83/configurations/inputs/access-om3/share/meshes/share/2026.01.21/JRA55do-drof-ESMFmesh.nc
  - /g/data/vk83/prerelease/configurations/inputs/access-om3/mom/initial_conditions/global.8km/2026.10.07/woa23_ts_01_mom.nc
  - /g/data/vk83/prerelease/configurations/inputs/access-om3/mom/surface_salt_restoring/global.8km/2026.10.08/salt_sfc_restore.nc
  - /g/data/vk83/prerelease/configurations/inputs/access-om3/mom/tidal_external_files/global.8km/2026.10.08/bottom_roughness.nc
  - /g/data/vk83/prerelease/configurations/inputs/access-om3/mom/chlorophyll/global.8km/2026.10.08/chl_globcolour_monthly_clim.nc
  - /g/data/vk83/prerelease/configurations/inputs/access-om3/cmeps/rofi_pattern/global.8km/2026.10.08/access-om3-8km-rofi-climatology.nc
  - /g/data/vk83/prerelease/configurations/inputs/access-om3/mom/tidal_external_files/global.8km/2026.10.08/tideamp.nc
  - /g/data/vk83/configurations/inputs/JRA-55/RYF/v1-6/2026.04.15

runlog: true
metadata: 
    enable: true
manifest:
  reproduce:
    exe: False
    input: True

mpi:
  flags:
  - --mca mpi_yield_when_idle true

collate:
  restart: true
  mpi: true
  walltime: 4:00:00
  mem: 30GB
  ncpus: 4
  queue: normalsr
  exe: mppnccombine-fast

userscripts:
    archive: /usr/bin/bash /g/data/vk83/apps/om3-scripts/payu_config/archive.sh

postscript: -v PROJECT,SCRIPTS_DIR=/g/data/vk83/apps/om3-scripts -lstorage=${PBS_NCI_STORAGE}+gdata/xp65 -l walltime=02:00:00 /g/data/vk83/apps/om3-scripts/payu_config/postscript.sh

qsub_flags: -W umask=027

restart_freq: 1YS
payu_minimum_version: 1.3.6
/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/MOM_input (modified 2026-10-19 08:23 AEDT)
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
! This section contains non default debugging parameters which are set.
! ------------------------
! === module MOM_vert_friction ===
U_TRUNC_FILE = "U_velocity_truncations" ! default = ""
                                ! The absolute path to a file into which the accelerations leading to zonal
                                ! velocity truncations are written. Undefine this for efficiency if this
                                ! diagnostic is not needed.
V_TRUNC_FILE = "V_velocity_truncations" ! default = ""
                                ! The absolute path to a file into which the accelerations leading to meridional
                                ! velocity truncations are written. Undefine this for efficiency if this
                                ! diagnostic is not needed.

! === module MOM_file_parser ===
FATAL_UNUSED_PARAMS = True      !   [Boolean] default = False
                                ! If true, kill the run if there are any unused parameters.

! This section contains non default layout parameters which are set.
! ------------------------
! === module MOM_domains ===
NONBLOCKING_UPDATES = True      !   [Boolean] default = False
                                ! If true, non-blocking halo updates may be used.
MASKTABLE = "./auxiliary_input/mask_table.3693.108x96" ! default = "MOM_mask_table"
                                ! A text file to specify n_mask, layout and mask_list. This feature masks out
                                ! processors that contain only land points. The first line of mask_table is the
                                ! number of regions to be masked out. The second line is the layout of the model
                                ! and must be consistent with the actual model layout. The following (n_mask)
                                ! lines give the logical positions of the processors that are masked out. The
                                ! mask_table can be created by tools like check_mask. The following example of
                                ! mask_table masks out 2 processors, (1,2) and (3,6), out of the 24 in a 4x6
                                ! layout:
                                !  2
                                !  4,6
                                !  1,2
                                !  3,6
LAYOUT = 108, 96                !
                                ! The processor layout that was actually used.
IO_LAYOUT = 9, 8                ! default = 1, 1
                                ! The processor layout to be used, or 0,0 to automatically set the io_layout to
                                ! be the same as the layout.

! This section is formatted the same as the MOM_parameter_short.doc output file.
! ------------------------
! This file was written by the model and records the non-default parameters used at run-time.

! === module MOM ===
USE_CONTEMP_ABSSAL = True       !   [Boolean] default = False
                                ! If true, the prognostics T&S are the conservative temperature and absolute
                                ! salinity. Care should be taken to convert them to potential temperature and
                                ! practical salinity before exchanging them with the coupler and/or reporting
                                ! T&S diagnostics.
USE_REGRIDDING = True           !   [Boolean] default = False
                                ! If True, use the ALE algorithm (regridding/remapping). If False, use the
                                ! layered isopycnal algorithm.
DT = 720.0                      !   [s]
                                ! The (baroclinic) dynamics time step.  The time-step that is actually used will
                                ! be an integer fraction of the forcing time-step (DT_FORCING in ocean-only mode
                                ! or the coupling timestep in coupled mode.)
DT_THERM = 3600.0               !   [s] default = 240.0
                                ! The thermodynamic time step. Ideally DT_THERM should be an integer multiple of
                                ! DT and of DT_TRACER_ADVECT and less than the forcing or coupling time-step.
                                ! However, if THERMO_SPANS_COUPLING is true, DT_THERM can be an integer multiple
                                ! of the coupling timestep. By default DT_THERM is set to DT.
THERMO_SPANS_COUPLING = True    !   [Boolean] default = False
                                ! If true, the MOM will take thermodynamic timesteps that can be longer than the
                                ! coupling timestep. The actual thermodynamic timestep that is used in this case
                                ! is the largest integer multiple of the coupling timestep that is less than or
                                ! equal to DT_THERM.
HFREEZE = 10.0                  !   [m] default = -1.0
                                ! If HFREEZE > 0, melt potential will be computed. The actual depth over which
                                ! melt potential is computed will be min(HFREEZE, OBLD), where OBLD is the
                                ! boundary layer depth. If HFREEZE <= 0 (default), melt potential will not be
                                ! computed.
DTBT_RESET_PERIOD = 0.0         !   [s] default = 3600.0
                                ! The period between recalculations of DTBT (if DTBT <= 0). If DTBT_RESET_PERIOD
                                ! is negative, DTBT is set based only on information available at
                                ! initialization.  If 0, DTBT will be set every dynamics time step. The default
                                ! is set by DT_THERM.  This is only used if SPLIT is true.
FRAZIL = True                   !   [Boolean] default = False
                                ! If true, water freezes if it gets too cold, and the accumulated heat deficit
                                ! is returned in the surface state.  FRAZIL is only used if
                                ! ENABLE_THERMODYNAMICS is true.
BOUND_SALINITY = True           !   [Boolean] default = False
                                ! If true, limit salinity to being positive. (The sea-ice model may ask for more
                                ! salt than is available and drive the salinity negative otherwise.)
C_P = 3992.0                    !   [J kg-1 K-1] default = 3991.86795711963
                                ! The heat capacity of sea water, approximated as a constant. This is only used
                                ! if ENABLE_THERMODYNAMICS is true. The default value is from the TEOS-10
                                ! definition of conservative temperature.
CHECK_BAD_SURFACE_VALS = True   !   [Boolean] default = False
                                ! If true, check the surface state for ridiculous values.
BAD_VAL_SSH_MAX = 50.0          !   [m] default = 20.0
                                ! The value of SSH above which a bad value message is triggered, if
                                ! CHECK_BAD_SURFACE_VALS is true.
BAD_VAL_SSS_MAX = 75.0          !   [PPT] default = 45.0
                                ! The value of SSS above which a bad value message is triggered, if
                                ! CHECK_BAD_SURFACE_VALS is true.
BAD_VAL_SST_MAX = 55.0          !   [deg C] default = 45.0
                                ! The value of SST above which a bad value message is triggered, if
                                ! CHECK_BAD_SURFACE_VALS is true.
BAD_VAL_SST_MIN = -3.0          !   [deg C] default = -2.1
                                ! The value of SST below which a bad value message is triggered, if
                                ! CHECK_BAD_SURFACE_VALS is true.
WRITE_GEOM = 2                  ! default = 1
                                ! If =0, never write the geometry and vertical grid files. If =1, write the
                                ! geometry and vertical grid files only for a new simulation. If =2, always
                                ! write the geometry and vertical grid files. Other values are invalid.
GEOM_FILE = "access-om3.mom6.geometry.nc" ! default = "ocean_geometry"
                                ! The file into which to write the ocean geometry.

! === module MOM_domains ===
TRIPOLAR_N = True               !   [Boolean] default = False
                                ! Use tripolar connectivity at the northern edge of the domain.  With
                                ! TRIPOLAR_N, NIGLOBAL must be even.
NIGLOBAL = 4320                 !
                                ! The total number of thickness grid points in the x-direction in the physical
                                ! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time.
NJGLOBAL = 3360                 !
                                ! The total number of thickness grid points in the y-direction in the physical
                                ! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time.

! === module MOM_fixed_initialization ===

! === module MOM_grid_init ===
GRID_CONFIG = "mosaic"          !
                                ! A character string that determines the method for defining the horizontal
                                ! grid.  Current options are:
                                !     mosaic - read the grid from a mosaic (supergrid)
                                !              file set by GRID_FILE.
                                !     cartesian - use a (flat) Cartesian grid.
                                !     spherical - use a simple spherical grid.
                                !     mercator - use a Mercator spherical grid.
GRID_FILE = "./INPUT/ocean_hgrid.nc" !
                                ! Name of the file from which to read horizontal grid data.
RAD_EARTH = 6.371229E+06        !   [m] default = 6.378E+06
                                ! The radius of the Earth.
TOPO_CONFIG = "file"            !
                                ! This specifies how bathymetry is specified:
                                !     file - read bathymetric information from the file
                                !       specified by (TOPO_FILE).
                                !     flat - flat bottom set to MAXIMUM_DEPTH.
                                !     bowl - an analytically specified bowl-shaped basin
                                !       ranging between MAXIMUM_DEPTH and MINIMUM_DEPTH.
                                !     spoon - a similar shape to 'bowl', but with an vertical
                                !       wall at the southern face.
                                !     halfpipe - a zonally uniform channel with a half-sine
                                !       profile in the meridional direction.
                                !     bbuilder - build topography from list of functions.
                                !     benchmark - use the benchmark test case topography.
                                !     Neverworld - use the Neverworld test case topography.
                                !     DOME - use a slope and channel configuration for the
                                !       DOME sill-overflow test case.
                                !     ISOMIP - use a slope and channel configuration for the
                                !       ISOMIP test case.
                                !     DOME2D - use a shelf and slope configuration for the
                                !       DOME2D gravity current/overflow test case.
                                !     Kelvin - flat but with rotated land mask.
                                !     seamount - Gaussian bump for spontaneous motion test case.
                                !     dumbbell - Sloshing channel with reservoirs on both ends.
                                !     shelfwave - exponential slope for shelfwave test case.
                                !     Phillips - ACC-like idealized topography used in the Phillips config.
                                !     dense - Denmark Strait-like dense water formation and overflow.
                                !     USER - call a user modified routine.
TOPO_FILE = "./INPUT/topog.nc"  ! default = "topog.nc"
                                ! The file from which the bathymetry is read.
MAXIMUM_DEPTH = 6000.0          !   [m]
                                ! The maximum depth of the ocean.
CHANNEL_CONFIG = "list"         ! default = "none"
                                ! A parameter that determines which set of channels are
                                ! restricted to specific  widths.  Options are:
                                !     none - All channels have the grid width.
                                !     global_1deg - Sets 16 specific channels appropriate
                                !       for a 1-degree model, as used in CM2G.
                                !     list - Read the channel locations and widths from a
                                !       text file, like MOM_channel_list in the MOM_SIS
                                !       test case.
                                !     file - Read open face widths everywhere from a
                                !       NetCDF file on the model grid.
CHANNEL_LIST_FILE = "./auxiliary_input/MOM_channel_list" ! default = "MOM_channel_list"
                                ! The file from which the list of narrowed channels is read.
FATAL_UNUSED_CHANNEL_WIDTHS = True !   [Boolean] default = False
                                ! If true, trigger a fatal error if there are any channel widths in
                                ! CHANNEL_LIST_FILE that do not cause any open face widths to change.

! === module MOM_verticalGrid ===
! Parameters providing information about the vertical grid.
NK = 75                         !   [nondim]
                                ! The number of model layers.

! === module MOM_EOS ===
EQN_OF_STATE = "ROQUET_RHO"     ! default = "WRIGHT_FULL"
                                ! EQN_OF_STATE determines which ocean equation of state should be used.
                                ! Currently, the valid choices are "LINEAR", "UNESCO", "JACKETT_MCD", "WRIGHT",
                                ! "WRIGHT_REDUCED", "WRIGHT_FULL", "NEMO", "ROQUET_RHO", "ROQUET_SPV" and
                                ! "TEOS10".  This is only used if USE_EOS is true.
TFREEZE_FORM = "TEOS_POLY"      ! default = "TEOS10"
                                ! TFREEZE_FORM determines which expression should be used for the freezing
                                ! point.  Currently, the valid choices are "LINEAR", "MILLERO_78", "TEOS_POLY",
                                ! "TEOS10"

! === module MOM_restart ===
PARALLEL_RESTARTFILES = True    !   [Boolean] default = False
                                ! If true, the IO layout is used to group processors that write to the same
                                ! restart file or each processor writes its own (numbered) restart file. If
                                ! false, a single restart file is generated combining output from all PEs.

! === module MOM_tracer_flow_control ===
USE_IDEAL_AGE_TRACER = True     !   [Boolean] default = False
                                ! If true, use the ideal_age_example tracer package.

! === module ideal_age_example ===

! === module MOM_fixed_initialization ===

! === module MOM_grid_init ===

! === module MOM_coord_initialization ===
REGRIDDING_COORDINATE_MODE = "ZSTAR" ! default = "LAYER"
                                ! Coordinate mode for vertical regridding. Choose among the following
                                ! possibilities:  LAYER - Isopycnal or stacked shallow water layers
                                !  ZSTAR, Z* - stretched geopotential z*
                                !  SIGMA_SHELF_ZSTAR - stretched geopotential z* ignoring shelf
                                !  SIGMA - terrain following coordinates
                                !  RHO   - continuous isopycnal
                                !  HYCOM1 - HyCOM-like hybrid coordinate
                                !  HYBGEN - Hybrid coordinate from the Hycom hybgen code
                                !  ADAPTIVE - optimize for smooth neutral density surfaces
ALE_COORDINATE_CONFIG = "FILE:./INPUT/ocean_vgrid.nc,interfaces=zeta" ! default = "UNIFORM"
                                ! Determines how to specify the coordinate resolution. Valid options are:
                                !  PARAM       - use the vector-parameter ALE_RESOLUTION
                                !  UNIFORM[:N] - uniformly distributed
                                !  FILE:string - read from a file. The string specifies
                                !                the filename and variable name, separated
                                !                by a comma or space, e.g. FILE:lev.nc,dz
                                !                or FILE:lev.nc,interfaces=zw
                                !  WOA09[:N]   - the WOA09 vertical grid (approximately)
                                !  WOA09INT[:N] - layers spanned by the WOA09 depths
                                !  WOA23INT[:N] - layers spanned by the WOA23 depths
                                !  FNC1:string - FNC1:dz_min,H_total,power,precision
                                !  HYBRID:string - read from a file. The string specifies
                                !                the filename and two variable names, separated
                                !                by a comma or space, for sigma-2 and dz.
                                !                e.g. HYBRID:vgrid.nc,sigma2,dz
                                !  HYBRID_3D:string - read from a file. The string specifies
                                !                the filename and two 3D variable names, separated
                                !                by a comma or space, for sigma-2 and dz. The
                                !                latter can be FNC1:string which is used everywhere.
                                !                e.g. HYBRID_3D:vgrid.nc,sigma2,dz
                                !  HYBRID_MAP:string - read from a file. The string specifies
                                !                the filename and three variable names, separated
                                !                by a comma or space, for map, sigma-2 and dz.
                                !                Map is a spatial index array with, maxval(map)=N,
                                !                and the others are 2D arrays containing N profiles.
                                !                Map typically contains integer values, but it can
                                !                contain real values, I+w, which imply using
                                !                the weighted sum of profiles I and I+1.
                                !                Dz can be FNC1:string which is used everywhere.
                                !                e.g. HYBRID_MAP:vgrid.nc,map,sigma2,dz
!ALE_RESOLUTION = 1.0825614929199219, 1.1963462829589844, 1.322089672088623, 1.4610481262207031, 1.614609718322754, 1.784308910369873, 1.9718408584594727, 2.1790781021118164, 2.4080896377563477, 2.661160469055176, 2.940814971923828, 3.249845504760742, 3.591329574584961, 3.968667984008789, 4.385614395141602, 4.846321105957031, 5.355350494384766, 5.917766571044922, 6.539115905761719, 7.225547790527344, 7.983818054199219, 8.821372985839844, 9.746376037597656, 10.767845153808594, 11.895652770996094, 13.140586853027344, 14.514511108398438, 16.030319213867188, 17.7020263671875, 19.544876098632812, 21.575271606445312, 23.810821533203125, 26.270294189453125, 28.973419189453125, 31.94091796875, 35.194000244140625, 38.75390625, 42.641632080078125, 46.876739501953125, 51.476593017578125, 56.45489501953125, 61.82025146484375, 67.5743408203125, 73.70965576171875, 80.207763671875, 87.03759765625, 94.1534423828125, 101.4951171875, 108.9879150390625, 116.5452880859375, 124.0714111328125, 131.4671630859375, 138.6346435546875, 145.484130859375, 151.938232421875, 157.93701171875, 163.439697265625, 168.42431640625, 172.8876953125, 176.842041015625, 180.3125, 183.33154296875, 185.938720703125, 188.175048828125, 190.08251953125, 191.701171875
REMAPPING_SCHEME = "PPM_H4"     ! default = "PLM"
                                ! This sets the reconstruction scheme used for vertical remapping for all
                                ! variables. It can be one of the following schemes:
                                ! PCM         (1st-order accurate)
                                ! PLM         (2nd-order accurate)
                                ! PLM_HYBGEN  (2nd-order accurate)
                                ! PPM_H4      (3rd-order accurate)
                                ! PPM_IH4     (3rd-order accurate)
                                ! PPM_HYBGEN  (3rd-order accurate)
                                ! WENO_HYBGEN (3rd-order accurate)
                                ! PQM_IH4IH3  (4th-order accurate)
                                ! PQM_IH6IH5  (5th-order accurate)
REMAPPING_USE_OM4_SUBCELLS = False !   [Boolean] default = True
                                ! This selects the remapping algorithm used in OM4 that does not use the full
                                ! reconstruction for the top- and lower-most sub-layers, but instead assumes
                                ! they are always vanished (untrue) and so just uses their edge values. We
                                ! recommend setting this option to false.

! === module MOM_state_initialization ===
INIT_LAYERS_FROM_Z_FILE = True  !   [Boolean] default = False
                                ! If true, initialize the layer thicknesses, temperatures, and salinities from a
                                ! Z-space file on a latitude-longitude grid.

! === module MOM_initialize_layers_from_Z ===
TEMP_SALT_Z_INIT_FILE = "./INPUT/woa23_ts_01_mom.nc" ! default = "temp_salt_z.nc"
                                ! The name of the z-space input file used to initialize temperatures (T) and
                                ! salinities (S). If T and S are not in the same file, TEMP_Z_INIT_FILE and
                                ! SALT_Z_INIT_FILE must be set.
Z_INIT_ALE_REMAPPING = True     !   [Boolean] default = False
                                ! If True, then remap straight to model coordinate from file.
Z_INIT_REMAP_GENERAL = True     !   [Boolean] default = False
                                ! If false, only initializes to z* coordinates. If true, allows initialization
                                ! directly to general coordinates.
TEMP_SALT_INIT_VERTICAL_REMAP_ONLY = True !   [Boolean] default = False
                                ! If true, initial conditions are on the model horizontal grid. Extrapolation
                                ! over missing ocean values is done using an ICE-9 procedure with vertical ALE
                                ! remapping .

! === module MOM_diag_mediator ===
NUM_DIAG_COORDS = 2             ! default = 1
                                ! The number of diagnostic vertical coordinates to use. For each coordinate, an
                                ! entry in DIAG_COORDS must be provided.
DIAG_COORDS = "z Z ZSTAR", "rho2 RHO2 RHO" !
                                ! A list of string tuples associating diag_table modules to a coordinate
                                ! definition used for diagnostics. Each string is of the form
                                ! "MODULE_SUFFIX,PARAMETER_SUFFIX,COORDINATE_NAME".
DIAG_COORD_DEF_Z = "FILE:./INPUT/ocean_vgrid.nc,interfaces=zeta" ! default = "WOA09"
                                ! Determines how to specify the coordinate resolution. Valid options are:
                                !  PARAM       - use the vector-parameter DIAG_COORD_RES_Z
                                !  UNIFORM[:N] - uniformly distributed
                                !  FILE:string - read from a file. The string specifies
                                !                the filename and variable name, separated
                                !                by a comma or space, e.g. FILE:lev.nc,dz
                                !                or FILE:lev.nc,interfaces=zw
                                !  WOA09[:N]   - the WOA09 vertical grid (approximately)
                                !  WOA09INT[:N] - layers spanned by the WOA09 depths
                                !  WOA23INT[:N] - layers spanned by the WOA23 depths
                                !  FNC1:string - FNC1:dz_min,H_total,power,precision
                                !  HYBRID:string - read from a file. The string specifies
                                !                the filename and two variable names, separated
                                !                by a comma or space, for sigma-2 and dz.
                                !                e.g. HYBRID:vgrid.nc,sigma2,dz
                                !  HYBRID_3D:string - read from a file. The string specifies
                                !                the filename and two 3D variable names, separated
                                !                by a comma or space, for sigma-2 and dz. The
                                !                latter can be FNC1:string which is used everywhere.
                                !                e.g. HYBRID_3D:vgrid.nc,sigma2,dz
                                !  HYBRID_MAP:string - read from a file. The string specifies
                                !                the filename and three variable names, separated
                                !                by a comma or space, for map, sigma-2 and dz.
                                !                Map is a spatial index array with, maxval(map)=N,
                                !                and the others are 2D arrays containing N profiles.
                                !                Map typically contains integer values, but it can
                                !                contain real values, I+w, which imply using
                                !                the weighted sum of profiles I and I+1.
                                !                Dz can be FNC1:string which is used everywhere.
                                !                e.g. HYBRID_MAP:vgrid.nc,map,sigma2,dz
DIAG_COORD_DEF_RHO2 = "RFNC1:76,999.5,1020.,1034.1,3.1,1041.,0.002" ! default = "WOA09"
                                ! Determines how to specify the coordinate resolution. Valid options are:
                                !  PARAM       - use the vector-parameter DIAG_COORD_RES_RHO2
                                !  UNIFORM[:N] - uniformly distributed
                                !  FILE:string - read from a file. The string specifies
                                !                the filename and variable name, separated
                                !                by a comma or space, e.g. FILE:lev.nc,dz
                                !                or FILE:lev.nc,interfaces=zw
                                !  WOA09[:N]   - the WOA09 vertical grid (approximately)
                                !  WOA09INT[:N] - layers spanned by the WOA09 depths
                                !  WOA23INT[:N] - layers spanned by the WOA23 depths
                                !  FNC1:string - FNC1:dz_min,H_total,power,precision
                                !  HYBRID:string - read from a file. The string specifies
                                !                the filename and two variable names, separated
                                !                by a comma or space, for sigma-2 and dz.
                                !                e.g. HYBRID:vgrid.nc,sigma2,dz
                                !  HYBRID_3D:string - read from a file. The string specifies
                                !                the filename and two 3D variable names, separated
                                !                by a comma or space, for sigma-2 and dz. The
                                !                latter can be FNC1:string which is used everywhere.
                                !                e.g. HYBRID_3D:vgrid.nc,sigma2,dz
                                !  HYBRID_MAP:string - read from a file. The string specifies
                                !                the filename and three variable names, separated
                                !                by a comma or space, for map, sigma-2 and dz.
                                !                Map is a spatial index array with, maxval(map)=N,
                                !                and the others are 2D arrays containing N profiles.
                                !                Map typically contains integer values, but it can
                                !                contain real values, I+w, which imply using
                                !                the weighted sum of profiles I and I+1.
                                !                Dz can be FNC1:string which is used everywhere.
                                !                e.g. HYBRID_MAP:vgrid.nc,map,sigma2,dz

! === module MOM_lateral_mixing_coeffs ===
USE_VARIABLE_MIXING = True      !   [Boolean] default = False
                                ! If true, the variable mixing code will be called.  This allows diagnostics to
                                ! be created even if the scheme is not used.  If KHTR_SLOPE_CFF>0 or
                                ! KhTh_Slope_Cff>0, this is set to true regardless of what is in the parameter
                                ! file.
RESOLN_SCALED_KH = True         !   [Boolean] default = False
                                ! If true, the Laplacian lateral viscosity is scaled away when the first
                                ! baroclinic deformation radius is well resolved.
RESOLN_SCALED_KHTH = True       !   [Boolean] default = False
                                ! If true, the interface depth diffusivity is scaled away when the first
                                ! baroclinic deformation radius is well resolved.
KHTH_USE_EBT_STRUCT = True      !   [Boolean] default = False
                                ! If true, uses the equivalent barotropic structure as the vertical structure of
                                ! thickness diffusivity.
KHTR_SLOPE_CFF = 0.25           !   [nondim] default = 0.0
                                ! The nondimensional coefficient in the Visbeck formula for the epipycnal tracer
                                ! diffusivity
USE_STORED_SLOPES = True        !   [Boolean] default = False
                                ! If true, the isopycnal slopes are calculated once and stored for re-use. This
                                ! uses more memory but avoids calling the equation of state more times than
                                ! should be necessary.
KH_RES_FN_POWER = 3             ! default = 2
                                ! The power of dx/Ld in the Kh resolution function.  Any positive integer may be
                                ! used, although even integers are more efficient to calculate.  Setting this
                                ! greater than 100 results in a step-function being used.

! === module MOM_set_visc ===
CHANNEL_DRAG = True             !   [Boolean] default = False
                                ! If true, the bottom drag is exerted directly on each layer proportional to the
                                ! fraction of the bottom it overlies.
HBBL = 10.0                     !   [m]
                                ! The thickness of a bottom boundary layer with a viscosity increased by
                                ! KV_EXTRA_BBL if BOTTOMDRAGLAW is not defined, or the thickness over which
                                ! near-bottom velocities are averaged for the drag law if BOTTOMDRAGLAW is
                                ! defined but LINEAR_DRAG is not.
DRAG_BG_VEL = 0.1               !   [m s-1] default = 0.0
                                ! DRAG_BG_VEL is either the assumed bottom velocity (with LINEAR_DRAG) or an
                                ! unresolved  velocity that is combined with the resolved velocity to estimate
                                ! the velocity magnitude.  DRAG_BG_VEL is only used when BOTTOMDRAGLAW is
                                ! defined.
BBL_THICK_MIN = 0.1             !   [m] default = 0.0
                                ! The minimum bottom boundary layer thickness that can be used with
                                ! BOTTOMDRAGLAW. This might be Kv/(cdrag*drag_bg_vel) to give Kv as the minimum
                                ! near-bottom viscosity.
KV = 0.0                        !   [m2 s-1]
                                ! The background kinematic viscosity in the interior. The molecular value, ~1e-6
                                ! m2 s-1, may be used.

! === module MOM_thickness_diffuse ===
KHTH_MAX_CFL = 0.1              !   [nondimensional] default = 0.8
                                ! The maximum value of the local diffusive CFL ratio that is permitted for the
                                ! thickness diffusivity. 1.0 is the marginally unstable value in a pure layered
                                ! model, but much smaller numbers (e.g. 0.1) seem to work better for ALE-based
                                ! models.
KHTH_USE_FGNV_STREAMFUNCTION = True !   [Boolean] default = False
                                ! If true, use the streamfunction formulation of Ferrari et al., 2010, which
                                ! effectively emphasizes graver vertical modes by smoothing in the vertical.
FGNV_FILTER_SCALE = 0.1         !   [nondim] default = 1.0
                                ! A coefficient scaling the vertical smoothing term in the Ferrari et al., 2010,
                                ! streamfunction formulation.

! === module MOM_dynamics_split_RK2 ===

! === module MOM_continuity_PPM ===
ETA_TOLERANCE = 1.0E-06         !   [m] default = 3.75E-09
                                ! The tolerance for the differences between the barotropic and baroclinic
                                ! estimates of the sea surface height due to the fluxes through each face.  The
                                ! total tolerance for SSH is 4 times this value.  The default is
                                ! 0.5*NK*ANGSTROM, and this should not be set less than about
                                ! 10^-15*MAXIMUM_DEPTH.
VELOCITY_TOLERANCE = 1.0E-04    !   [m s-1] default = 3.0E+08
                                ! The tolerance for barotropic velocity discrepancies between the barotropic
                                ! solution and  the sum of the layer thicknesses.

! === module MOM_CoriolisAdv ===
CORIOLIS_SCHEME = "SADOURNY75_ENSTRO" ! default = "SADOURNY75_ENERGY"
                                ! CORIOLIS_SCHEME selects the discretization for the Coriolis terms. Valid
                                ! values are:
                                !    SADOURNY75_ENERGY - Sadourny, 1975; energy cons.
                                !    ARAKAWA_HSU90     - Arakawa & Hsu, 1990
                                !    SADOURNY75_ENSTRO - Sadourny, 1975; enstrophy cons.
                                !    ARAKAWA_LAMB81    - Arakawa & Lamb, 1981; En. + Enst.
                                !    ARAKAWA_LAMB_BLEND - A blend of Arakawa & Lamb with
                                !                         Arakawa & Hsu and Sadourny energy
                                !    WENOVI5TH_PV_ENSTRO   - 5th-order WENO PV enstrophy
                                !    WENOVI3RD_PV_ENSTRO   - 3rd-order WENO PV enstrophy
                                !    WENOVI7TH_PV_ENSTRO  - 7th-order WENO PV enstrophy
BOUND_CORIOLIS = True           !   [Boolean] default = False
                                ! If true, the Coriolis terms at u-points are bounded by the four estimates of
                                ! (f+rv)v from the four neighboring v-points, and similarly at v-points.  This
                                ! option would have no effect on the SADOURNY Coriolis scheme if it were
                                ! possible to use centered difference thickness fluxes.

! === module MOM_PressureForce ===

! === module MOM_PressureForce_FV ===
MASS_WEIGHT_IN_PRESSURE_GRADIENT = True !   [Boolean] default = False
                                ! If true, use mass weighting when interpolating T/S for integrals near the
                                ! bathymetry in FV pressure gradient calculations.

! === module MOM_Zanna_Bolton ===

! === module MOM_hor_visc ===
LAPLACIAN = True                !   [Boolean] default = False
                                ! If true, use a Laplacian horizontal viscosity.
KH_VEL_SCALE = 0.01             !   [m s-1] default = 0.0
                                ! The velocity scale which is multiplied by the grid spacing to calculate the
                                ! Laplacian viscosity. The final viscosity is the largest of this scaled
                                ! viscosity, the Smagorinsky and Leith viscosities, and KH.
KH_SIN_LAT = 2000.0             !   [m2 s-1] default = 0.0
                                ! The amplitude of a latitudinally-dependent background viscosity of the form
                                ! KH_SIN_LAT*(SIN(LAT)**KH_PWR_OF_SINE).
AH_VEL_SCALE = 0.01             !   [m s-1] default = 0.0
                                ! The velocity scale which is multiplied by the cube of the grid spacing to
                                ! calculate the biharmonic viscosity. The final viscosity is the largest of this
                                ! scaled viscosity, the Smagorinsky and Leith viscosities, and AH.
SMAGORINSKY_AH = True           !   [Boolean] default = False
                                ! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity.
SMAG_BI_CONST = 0.06            !   [nondim] default = 0.0
                                ! The nondimensional biharmonic Smagorinsky constant, typically 0.015 - 0.06.

! === module MOM_vert_friction ===
HMIX_FIXED = 0.5                !   [m]
                                ! The prescribed depth over which the near-surface viscosity and diffusivity are
                                ! elevated when the bulk mixed layer is not used.
CFL_TRUNCATE_RAMP_TIME = 7200.0 !   [s] default = 0.0
                                ! The time over which the CFL truncation value is ramped up at the beginning of
                                ! the run.

! === module MOM_barotropic ===
BOUND_BT_CORRECTION = True      !   [Boolean] default = False
                                ! If true, the corrective pseudo mass-fluxes into the barotropic solver are
                                ! limited to values that require less than maxCFL_BT_cont to be accommodated.
BT_PROJECT_VELOCITY = True      !   [Boolean] default = False
                                ! If true, step the barotropic velocity first and project out the velocity
                                ! tendency by 1+BEBT when calculating the transport.  The default (false) is to
                                ! use a predictor continuity step to find the pressure field, and then to do a
                                ! corrector continuity step using a weighted average of the old and new
                                ! velocities, with weights of (1-BEBT) and BEBT.
DYNAMIC_SURFACE_PRESSURE = True !   [Boolean] default = False
                                ! If true, add a dynamic pressure due to a viscous ice shelf, for instance.
BEBT = 0.2                      !   [nondim] default = 0.1
                                ! BEBT determines whether the barotropic time stepping uses the forward-backward
                                ! time-stepping scheme or a backward Euler scheme. BEBT is valid in the range
                                ! from 0 (for a forward-backward treatment of nonrotating gravity waves) to 1
                                ! (for a backward Euler treatment). In practice, BEBT must be greater than about
                                ! 0.05.
DTBT = -0.9                     !   [s or nondim] default = -0.98
                                ! The barotropic time step, in s. DTBT is only used with the split explicit time
                                ! stepping. To set the time step automatically based the maximum stable value
                                ! use 0, or a negative value gives the fraction of the stable value. Setting
                                ! DTBT to 0 is the same as setting it to -0.98. The value of DTBT that will
                                ! actually be used is an integer fraction of DT, rounding down.

! === module MOM_mixed_layer_restrat ===
MIXEDLAYER_RESTRAT = True       !   [Boolean] default = False
                                ! If true, a density-gradient dependent re-stratifying flow is imposed in the
                                ! mixed layer. Can be used in ALE mode without restriction but in layer mode can
                                ! only be used if BULKMIXEDLAYER is true.
MLE%
USE_BODNER23 = True             !   [Boolean] default = False
                                ! If true, use the Bodner et al., 2023, formulation of the re-stratifying
                                ! mixed-layer restratification parameterization. This only works in ALE mode.
CR = 0.0175                     !   [nondim] default = 0.0
                                ! The efficiency coefficient in eq 27 of Bodner et al., 2023.
BLD_DECAYING_TFILTER = 8.64E+04 !   [s] default = 0.0
                                ! The time-scale for a running-mean filter applied to the boundary layer depth
                                ! (BLD) when the BLD is shallower than the running mean. A value of 0
                                ! instantaneously sets the running mean to the current value of BLD.
MLD_DECAYING_TFILTER = 2.592E+06 !   [s] default = 0.0
                                ! The time-scale for a running-mean filter applied to the time-filtered BLD,
                                ! when the latter is shallower than the running mean. A value of 0
                                ! instantaneously sets the running mean to the current value filtered BLD.
MIN_WSTAR2 = 1.0E-09            !   [m2 s-2] default = 1.0E-24
                                ! The minimum lower bound to apply to the vertical momentum flux, w'u', in the
                                ! Bodner et al., restratification parameterization. This avoids a
                                ! division-by-zero in the limit when u* and the buoyancy flux are zero.  The
                                ! default is less than the molecular viscosity of water times the Coriolis
                                ! parameter a micron away from the equator.
%MLE
MLE_USE_PBL_MLD = True          !   [Boolean] default = False
                                ! If true, the MLE parameterization will use the mixed-layer depth provided by
                                ! the active PBL parameterization. If false, MLE will estimate a MLD based on a
                                ! density difference with the surface using the parameter MLE_DENSITY_DIFF,
                                ! unless BODNER_DETECT_MLD is true.

! === module MOM_diagnostics ===

! === module MOM_diabatic_driver ===
! The following parameters are used for diabatic processes.
USE_LEGACY_DIABATIC_DRIVER = False !   [Boolean] default = True
                                ! If true, use a legacy version of the diabatic subroutine. This is temporary
                                ! and is needed to avoid change in answers.
ENERGETICS_SFC_PBL = True       !   [Boolean] default = False
                                ! If true, use an implied energetics planetary boundary layer scheme to
                                ! determine the diffusivity and viscosity in the surface boundary layer.
EPBL_IS_ADDITIVE = False        !   [Boolean] default = True
                                ! If true, the diffusivity from ePBL is added to all other diffusivities.
                                ! Otherwise, the larger of kappa-shear and ePBL diffusivities are used.

! === module MOM_set_diffusivity ===

! === module MOM_tidal_mixing ===
! Vertical Tidal Mixing Parameterization
INT_TIDE_DISSIPATION = True     !   [Boolean] default = False
                                ! If true, use an internal tidal dissipation scheme to drive diapycnal mixing,
                                ! along the lines of St. Laurent et al. (2002) and Simmons et al. (2004).
INT_TIDE_PROFILE = "POLZIN_09"  ! default = "STLAURENT_02"
                                ! INT_TIDE_PROFILE selects the vertical profile of energy dissipation with
                                ! INT_TIDE_DISSIPATION. Valid values are:
                                !    STLAURENT_02 - Use the St. Laurent et al exponential
                                !                   decay profile.
                                !    POLZIN_09 - Use the Polzin WKB-stretched algebraic
                                !                   decay profile.
INT_TIDE_DECAY_SCALE = 300.3003003003003 !   [m] default = 500.0
                                ! The decay scale away from the bottom for tidal TKE with the new coding when
                                ! INT_TIDE_DISSIPATION is used.
KAPPA_ITIDES = 6.28319E-04      !   [m-1] default = 6.283185307179586E-04
                                ! A topographic wavenumber used with INT_TIDE_DISSIPATION. The default is 2pi/10
                                ! km, as in St.Laurent et al. 2002.
KAPPA_H2_FACTOR = 0.84          !   [nondim] default = 1.0
                                ! A scaling factor for the roughness amplitude with INT_TIDE_DISSIPATION.
TKE_ITIDE_MAX = 0.1             !   [W m-2] default = 1000.0
                                ! The maximum internal tide energy source available to mix above the bottom
                                ! boundary layer with INT_TIDE_DISSIPATION.
READ_TIDEAMP = True             !   [Boolean] default = False
                                ! If true, read a file (given by TIDEAMP_FILE) containing the tidal amplitude
                                ! with INT_TIDE_DISSIPATION.
TIDEAMP_FILE = "./INPUT/tideamp.nc" ! default = "tideamp.nc"
                                ! The path to the file containing the spatially varying tidal amplitudes with
                                ! INT_TIDE_DISSIPATION.
H2_FILE = "./INPUT/bottom_roughness.nc" !
                                ! The path to the file containing the sub-grid-scale topographic roughness
                                ! amplitude with INT_TIDE_DISSIPATION.
BBL_EFFIC = 0.01                !   [nondim] default = 0.2
                                ! The efficiency with which the energy extracted by bottom drag drives BBL
                                ! diffusion.  This is only used if BOTTOMDRAGLAW is true.
BBL_MIXING_AS_MAX = False       !   [Boolean] default = True
                                ! If true, take the maximum of the diffusivity from the BBL mixing and the other
                                ! diffusivities. Otherwise, diffusivity from the BBL_mixing is simply added.
USE_LOTW_BBL_DIFFUSIVITY = True !   [Boolean] default = False
                                ! If true, uses a simple, imprecise but non-coordinate dependent, model of BBL
                                ! mixing diffusivity based on Law of the Wall. Otherwise, uses the original BBL
                                ! scheme.
SIMPLE_TKE_TO_KD = True         !   [Boolean] default = False
                                ! If true, uses a simple estimate of Kd/TKE that will work for arbitrary
                                ! vertical coordinates. If false, calculates Kd/TKE and bounds based on exact
                                ! energetics for an isopycnal layer-formulation.

! === module MOM_bkgnd_mixing ===
! Adding static vertical background mixing coefficients
KD = 1.5E-05                    !   [m2 s-1] default = 0.0
                                ! The background diapycnal diffusivity of density in the interior. Zero or the
                                ! molecular value, ~1e-7 m2 s-1, may be used.
KD_MIN = 2.0E-06                !   [m2 s-1] default = 1.5E-07
                                ! The minimum diapycnal diffusivity.
HENYEY_IGW_BACKGROUND = True    !   [Boolean] default = False
                                ! If true, use a latitude-dependent scaling for the near surface background
                                ! diffusivity, as described in Harrison & Hallberg, JPO 2008.
HENYEY_MAX_LAT = 73.0           !   [degN] default = 95.0
                                ! A latitude poleward of which the Henyey profile is returned to the minimum
                                ! diffusivity
KD_MAX = 0.1                    !   [m2 s-1] default = -1.0
                                ! The maximum permitted increment for the diapycnal diffusivity from TKE-based
                                ! parameterizations, or a negative value for no limit.
DOUBLE_DIFFUSION = True         !   [Boolean] default = False
                                ! If true, increase diffusivites for temperature or salinity based on the
                                ! double-diffusive parameterization described in Large et al. (1994).
MAX_RRHO_SALT_FINGERS = 2.55    !   [nondim] default = 1.9
                                ! Maximum density ratio for salt fingering regime.

! === module MOM_kappa_shear ===
! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008
USE_JACKSON_PARAM = True        !   [Boolean] default = False
                                ! If true, use the Jackson-Hallberg-Legg (JPO 2008) shear mixing
                                ! parameterization.
VERTEX_SHEAR = True             !   [Boolean] default = False
                                ! If true, do the calculations of the shear-driven mixing at the cell vertices
                                ! (i.e., the vorticity points).
MAX_RINO_IT = 25                !   [nondim] default = 50
                                ! The maximum number of iterations that may be used to estimate the Richardson
                                ! number driven mixing.
USE_RESTRICTIVE_TOLERANCE_CHECK = True !   [Boolean] default = False
                                ! If true, uses the more restrictive tolerance check to determine if a timestep
                                ! is acceptable for the KS_it outer iteration loop.  False uses the original
                                ! less restrictive check.

! === module MOM_diabatic_aux ===
! The following parameters are used for auxiliary diabatic processes.
PRESSURE_DEPENDENT_FRAZIL = True !   [Boolean] default = False
                                ! If true, use a pressure dependent freezing temperature when making frazil. The
                                ! default is false, which will be faster but is inappropriate with ice-shelf
                                ! cavities.
DO_RIVERMIX = True              !   [Boolean] default = False
                                ! If true, apply additional mixing wherever there is runoff, so that it is mixed
                                ! down to RIVERMIX_DEPTH if the ocean is that deep.
RIVERMIX_DEPTH = 40.0           !   [m] default = 0.0
                                ! The depth to which rivers are mixed if DO_RIVERMIX is defined.
VAR_PEN_SW = True               !   [Boolean] default = False
                                ! If true, use one of the CHL_A schemes specified by OPACITY_SCHEME to determine
                                ! the e-folding depth of incoming short wave radiation.
CHL_FILE = "./INPUT/chl_globcolour_monthly_clim.nc" !
                                ! CHL_FILE is the file containing chl_a concentrations in the variable CHL_A. It
                                ! is used when VAR_PEN_SW and CHL_FROM_FILE are true.
CHL_VARNAME = "CHL"             ! default = "CHL_A"
                                ! Name of CHL_A variable in CHL_FILE.

! === module MOM_energetic_PBL ===
ML_OMEGA_FRAC = 0.001           !   [nondim] default = 0.0
                                ! When setting the decay scale for turbulence, use this fraction of the absolute
                                ! rotation rate blended with the local value of f, as sqrt((1-of)*f^2 +
                                ! of*4*omega^2).
TKE_DECAY = 0.01                !   [nondim] default = 2.5
                                ! TKE_DECAY relates the vertical rate of decay of the TKE available for
                                ! mechanical entrainment to the natural Ekman depth.
EPBL_MSTAR_SCHEME = "OM4"       ! default = "CONSTANT"
                                ! EPBL_MSTAR_SCHEME selects the method for setting mstar.  Valid values are:
                                !    CONSTANT   - Use a fixed mstar given by MSTAR
                                !    OM4        - Use L_Ekman/L_Obukhov in the stabilizing limit, as in OM4
                                !    REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018.
MSTAR_CAP = 1.25                !   [nondim] default = -1.0
                                ! If this value is positive, it sets the maximum value of mstar allowed in ePBL.
                                ! (This is not used if EPBL_mstar_scheme = CONSTANT).
MSTAR2_COEF1 = 0.29             !   [nondim] default = 0.3
                                ! Coefficient in computing mstar when rotation and stabilizing effects are both
                                ! important (used if EPBL_mstar_scheme = OM4).
MSTAR2_COEF2 = 0.152            !   [nondim] default = 0.085
                                ! Coefficient in computing mstar when only rotation limits the total mixing
                                ! (used if EPBL_MSTAR_SCHEME = OM4)
NSTAR = 0.06                    !   [nondim] default = 0.2
                                ! The portion of the buoyant potential energy imparted by surface fluxes that is
                                ! available to drive entrainment at the base of mixed layer when that energy is
                                ! positive.
MSTAR_CONV_ADJ = 0.667          !   [nondim] default = 0.0
                                ! Coefficient used for reducing mstar during convection due to reduction of
                                ! stable density gradient.
EPBL_TRANSITION_SCALE = 0.01    !   [nondim] default = 0.1
                                ! A scale for the mixing length in the transition layer at the edge of the
                                ! boundary layer as a fraction of the boundary layer thickness.
MIX_LEN_EXPONENT = 1.0          !   [nondim] default = 2.0
                                ! The exponent applied to the ratio of the distance to the MLD and the MLD depth
                                ! which determines the shape of the mixing length. This is only used if
                                ! USE_MLD_ITERATION is True.
USE_LA_LI2016 = True            !   [Boolean] default = False
                                ! A logical to use the Li et al. 2016 (submitted) formula to determine the
                                ! Langmuir number.
EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE"
                                ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence.
                                ! Valid values are:
                                !    NONE     - Do not do any extra mixing due to Langmuir turbulence
                                !    RESCALE  - Use a multiplicative rescaling of mstar to account for Langmuir
                                !      turbulence
                                !    ADDITIVE - Add a Langmuir turbulence contribution to mstar to other
                                !      contributions
LT_ENHANCE_COEF = 0.044         !   [nondim] default = 0.447
                                ! Coefficient for Langmuir enhancement of mstar
LT_ENHANCE_EXP = -1.5           !   [nondim] default = -1.33
                                ! Exponent for Langmuir enhancement of mstar
LT_MOD_LAC1 = 0.0               !   [nondim] default = -0.87
                                ! Coefficient for modification of Langmuir number due to MLD approaching Ekman
                                ! depth.
LT_MOD_LAC4 = 0.0               !   [nondim] default = 0.95
                                ! Coefficient for modification of Langmuir number due to ratio of Ekman to
                                ! stable Obukhov depth.
LT_MOD_LAC5 = 0.22              !   [nondim] default = 0.95
                                ! Coefficient for modification of Langmuir number due to ratio of Ekman to
                                ! unstable Obukhov depth.

! === module MOM_opacity ===
PEN_SW_NBANDS = 3               ! default = 1
                                ! The number of bands of penetrating shortwave radiation.

! === module MOM_tracer_advect ===
TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM"
                                ! The horizontal transport scheme for tracers:
                                !   PLM    - Piecewise Linear Method
                                !   PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order)
                                !   PPM    - Piecewise Parabolic Method (Colella-Woodward)

! === module MOM_tracer_hor_diff ===
CHECK_DIFFUSIVE_CFL = True      !   [Boolean] default = False
                                ! If true, use enough iterations the diffusion to ensure that the diffusive
                                ! equivalent of the CFL limit is not violated.  If false, always use the greater
                                ! of 1 or MAX_TR_DIFFUSION_CFL iteration.
MAX_TR_DIFFUSION_CFL = 2.0      !   [nondim] default = -1.0
                                ! If positive, locally limit the along-isopycnal tracer diffusivity to keep the
                                ! diffusive CFL locally at or below this value.  The number of diffusive
                                ! iterations is often this value or the next greater integer.

! === module MOM_neutral_diffusion ===
! This module implements neutral diffusion of tracers
USE_NEUTRAL_DIFFUSION = True    !   [Boolean] default = False
                                ! If true, enables the neutral diffusion module.

! === module MOM_sum_output ===
MAXTRUNC = 10000                !   [truncations save_interval-1] default = 0
                                ! The run will be stopped, and the day set to a very large value if the velocity
                                ! is truncated more than MAXTRUNC times between energy saves.  Set MAXTRUNC to 0
                                ! to stop if there is any truncation of velocities.
MAXVEL = 6.0                    !   [m s-1] default = 3.0E+08
                                ! The maximum velocity allowed before the velocity components are truncated.

! === module ocean_stochastics_init ===

! === module ocean_model_init ===
OCEAN_SURFACE_STAGGER = "A"     ! default = "C"
                                ! A case-insensitive character string to indicate the staggering of the surface
                                ! velocity field that is returned to the coupler.  Valid values include 'A',
                                ! 'B', or 'C'.
EPS_OMESH = 1.0E-13             !   [degrees] default = 1.0E-04
                                ! Maximum allowable difference between ESMF mesh and MOM6 domain coordinates in
                                ! nuopc cap.
RESTORE_SALINITY = True         !   [Boolean] default = False
                                ! If true, the coupled driver will add a globally-balanced fresh-water flux that
                                ! drives sea-surface salinity toward specified values.

! === module MOM_surface_forcing_nuopc ===
LATENT_HEAT_FUSION = 3.337E+05  !   [J/kg] default = 3.34E+05
                                ! The latent heat of fusion.
LATENT_HEAT_VAPORIZATION = 2.501E+06 !   [J/kg] default = 2.5E+06
                                ! The latent heat of fusion.
ADJUST_NET_SRESTORE_BY_SCALING = True !   [Boolean] default = False
                                ! If true, adjustments to salt restoring to achieve zero net are made by scaling
                                ! values without moving the zero contour.
WIND_STAGGER = "A"              ! default = "C"
                                ! A case-insensitive character string to indicate the staggering of the input
                                ! wind stress field.  Valid values are 'A', 'B', or 'C'.
ENTHALPY_FROM_COUPLER = True    !   [Boolean] default = False
                                ! If True, the heat (enthalpy) associated with mass entering/leaving the ocean
                                ! is provided via coupler.
FLUXCONST = 0.11                !   [m day-1] default = 0.0
                                ! The constant that relates the restoring surface fluxes to the relative surface
                                ! anomalies (akin to a piston velocity).  Note the non-MKS units.
SALT_RESTORE_FILE = "./INPUT/salt_sfc_restore.nc" ! default = "salt_restore.nc"
                                ! A file in which to find the surface salinity to use for restoring.
SALT_RESTORE_VARIABLE = "asalt" ! default = "salt"
                                ! The name of the surface salinity variable to read from SALT_RESTORE_FILE for
                                ! restoring salinity.
SRESTORE_AS_SFLUX = True        !   [Boolean] default = False
                                ! If true, the restoring of salinity is applied as a salt flux instead of as a
                                ! freshwater flux.
MAX_DELTA_SRESTORE = 0.5        !   [PSU or g kg-1] default = 999.0
                                ! The maximum salinity difference used in restoring terms.
USE_RIGID_SEA_ICE = True        !   [Boolean] default = False
                                ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that
                                ! resist vertical motion.
SEA_ICE_RIGID_MASS = 100.0      !   [kg m-2] default = 1000.0
                                ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit
                                ! rigidity

! === module MOM_restart ===
/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/ice_in (modified 2026-10-14 14:18 AEDT)
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
&setup_nml
  ndtd = 2
  bfbflag = "off" 
  conserv_check = .false.
  diagfreq = 960
  dumpfreq = "x"
  histfreq = "d", "m", "x", "x", "x"
  hist_suffix = ".1day.mean", ".1mon.mean", "x", "x", "x"
  hist_time_axis = "middle"
  history_deflate = 1
  history_chunksize = 720, 540
  history_precision = 4
  restart_deflate = 1
  ice_ic = 'none' 
  lcdf64 = .false.
  npt = 35040
  pointer_file = './rpointer.ice'
  print_global = .false.
/
&grid_nml
  grid_atm = "A"
  grid_file = "./INPUT/ocean_hgrid.nc"
  grid_format = "mom_nc"
  grid_ice = "C"
  grid_ocn = "A"
  grid_type = "tripole"
  grid_outfile = .true.
  kcatbound = 0
  kmt_file = "./INPUT/kmt.nc"
  nblyr = 1
  ncat = 5
  nfsd = 1
  nilyr = 4
  nslyr = 1
/
&tracer_nml
/
&thermo_nml
  dsdt_slow_mode = -5e-08
/
&dynamics_nml
  advection = "remap"
  ssh_stress = "coupled"
/
&shortwave_nml
  ahmax = 0.1
  albicei = 0.44
  albicev = 0.86
  albsnowi = 0.7
  albsnowv = 0.98
  kalg = 0.0
  r_snw = 0.0
  sw_redist = .true.
/
&ponds_nml
  dpscale = 1.0e-3
  frzpnd = "hlid"
  rfracmax = 1.0
/
&snow_nml
/
&forcing_nml
  emissivity = 0.95d0
  ice_ref_salinity = 5.0d0
  highfreq = .true.
  tfrz_option = "linear_salt"
  update_ocn_f = .true.
  ustar_min = 0.0005
/
&domain_nml
  block_size_x = 40
  block_size_y = 70
  distribution_type = "roundrobin"
  distribution_wght = "latitude"
  maskhalo_bound = .true.
  maskhalo_dyn = .true.
  maskhalo_remap = .true.
  max_blocks = -1
  ns_boundary_type = "tripole"
  nx_global = 4320
  ny_global = 3360
  processor_shape = "square-ice"
/
&ice_prescribed_nml
/
&zbgc_nml
/
&icefields_bgc_nml
/
&icefields_drag_nml
/
&icefields_fsd_nml
/
&icefields_mechred_nml
  !-----------------------------------
  ! These fields are on by default (in ice_history_mechred.F90) but lets turn them off
  !-----------------------------------
  f_dardg1dt  = 'x', f_dardg2dt   = 'x'
  f_dvirdgdt  = 'x'
/
&icefields_pond_nml
/
&icefields_snow_nml
  f_fsloss = "m"
  f_meltsliq = "m"
  f_rhos_cmp = "m"
  f_rhos_cnt = "m"
  f_rsnw = "m"
  f_smassice = "m"
  f_smassliq = "m"
/
&icefields_nml
  f_aice = "md"
  f_aicen = "m"
  f_bounds = .false.
  f_fcondtopn_ai = "m"
  f_congel = "md"
  f_dvidtd = "md"
  f_dvidtt = "md"
  f_fmelttn_ai = "m"
  f_frzmlt = "md"
  f_frazil = "md"
  f_flatn_ai   = "m"
  f_fsens_ai = "m"
  f_fsensn_ai = "m"
  f_fsurfn_ai = "m"
  f_hi = "md"
  f_hs = "md"
  f_sifb = "md"
  f_snoice = "md"
  f_uvel = "md" , f_vvel = "md"
  f_vicen = "m"
  !-----------------------------------
  ! These fields are on by default (in ice_history_shared.F90) but lets turn them off
  !-----------------------------------
  f_tlon         = .false. , f_tlat         = .false.
  f_ulon         = .false. , f_ulat         = .false.
  f_nlon         = .false. , f_nlat         = .false.
  f_elon         = .false. , f_elat         = .false.
  f_tmask        = .false. , f_umask        = .false.
  f_nmask        = .false. , f_emask        = .false.
  f_tarea        = .false. , f_uarea        = .false.
  f_narea        = .false. , f_earea        = .false.
  f_dxt          = .false. , f_dyt          = .false.
  f_dxu          = .false. , f_dyu          = .false.
  f_dxe          = .false. , f_dye          = .false.
  f_dxn          = .false. , f_dyn          = .false.
  f_HTN          = .false. , f_HTE          = .false.
  f_albpnd = 'x'
  f_atmdir = 'x' , f_atmspd = 'x'
  f_coszen = 'x'
  f_dsnow = 'x'
  f_evap = 'x'
  f_fbot = 'x'
  f_fhocn = 'x'
  f_flat = 'x'
  f_fresh = 'x'
  f_fswthru = 'x'
  f_fsurf_ai = 'x'
  f_hisnap = 'x', f_aisnap = 'x',
  f_icedir = 'x'
  f_icespd = 'x'
  f_mlt_onset = 'x', f_frz_onset  = 'x'
  f_ocndir = 'x' , f_ocnspd = 'x'
  f_rain = 'x'
  f_fsens = 'x'
  f_flwup = 'x'
  f_sig1 = 'x', f_sig2 = 'x'
  f_sigP = 'x'
  f_snow = 'x'
  f_sst = 'x'
  f_sss = 'x'
  f_fswabs = 'x'
  f_taubx = 'x' , f_tauby = 'x'
  f_Tref = 'x', f_Qref = 'x'
  f_uocn = 'x' , f_vocn = 'x'
/
/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/nuopc.runconfig (modified 2026-10-19 08:26 AEDT)
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
DRIVER_attributes::
     Verbosity = off
     cime_model = cesm
     drv_restart_pointer = rpointer.cpl
     logFilePostFix = .log
     outPathRoot = ./
     pio_blocksize = -1
     pio_buffer_size_limit = -1
     pio_debug_level = 0
     pio_rearr_comm_enable_hs_comp2io = .true.
     pio_rearr_comm_enable_hs_io2comp = .false.
     pio_rearr_comm_enable_isend_comp2io = .false.
     pio_rearr_comm_enable_isend_io2comp = .true.
     pio_rearr_comm_fcd = 2denable
     pio_rearr_comm_max_pend_req_comp2io = -2
     pio_rearr_comm_max_pend_req_io2comp = 64
     pio_rearr_comm_type = p2p
     reprosum_diffmax = -1.0e-8
     reprosum_recompute = .false.
     reprosum_use_ddpdd = .false.
     tchkpt_dir = ./timing/checkpoints
     timing_dir = ./timing
     wv_sat_scheme = GoffGratch
     wv_sat_table_spacing = 1.0D0
     wv_sat_transition_start = 20.0D0
     wv_sat_use_tables = .false.
::

PELAYOUT_attributes::
     atm_ntasks = 1749
     atm_nthreads = 1
     atm_pestride = 1
     atm_rootpe = 0
     cpl_ntasks = 1749
     cpl_nthreads = 1
     cpl_pestride = 1
     cpl_rootpe = 0
     esmf_logging = ESMF_LOGKIND_NONE
     ice_ntasks = 1749
     ice_nthreads = 1
     ice_pestride = 1
     ice_rootpe = 0
     ninst = 1
     ocn_ntasks = 6675
     ocn_nthreads = 1
     ocn_pestride = 1
     ocn_rootpe = 1749
     pio_asyncio_ntasks = 0
     pio_asyncio_rootpe = 1
     pio_asyncio_stride = 0
     rof_ntasks = 1749
     rof_nthreads = 1
     rof_pestride = 1
     rof_rootpe = 0
::

component_list: MED ATM ICE OCN ROF
ALLCOMP_attributes::
     ATM_model = datm
     GLC_model = sglc
     ICE_model = cice
     LND_model = slnd
     MED_model = cesm
     OCN_model = mom
     ROF_model = drof
     WAV_model = swav
     Profiling = 0
     ScalarFieldCount = 4
     ScalarFieldIdxGridNX = 1
     ScalarFieldIdxGridNY = 2
     ScalarFieldIdxNextSwCday = 3
     ScalarFieldIdxPrecipFactor = 0
     ScalarFieldName = cpl_scalars
     brnch_retain_casename = .false.
     case_desc = UNSET
     case_name = access-om3
     cism_evolve = .false.
     coldair_outbreak_mod = .false.
     data_assimilation_atm = .false.
     data_assimilation_cpl = .false.
     data_assimilation_ice = .false.
     data_assimilation_ocn = .false.
     data_assimilation_rof = .false.
     flds_bgc_oi = .false.
     flds_co2a = .false.
     flds_co2b = .false.
     flds_co2c = .false.
     flds_i2o_per_cat = .false.
     flds_r2l_stream_channel_depths = .false.
     flds_wiso = .false.
     add_gusts = .false.
     flux_convergence = 0.01
     flux_max_iteration = 5
     glc_nec = 10
     histaux_l2x1yrg = .false.
     history_n = -999
     history_option = never
     hostname = gadi
     ice_ncat = 5
     mediator_present = true
     mesh_atm = ./INPUT/access-om3-8km-ESMFmesh.nc
     mesh_ice = ./INPUT/access-om3-8km-ESMFmesh.nc
     mesh_lnd = UNSET
     mesh_mask = ./INPUT/access-om3-8km-ESMFmesh.nc
     mesh_ocn = ./INPUT/access-om3-8km-ESMFmesh.nc
     model_version = unknown
     ocn2glc_coupling = .false.
     ocn2glc_levels = 1:10:19:26:30:33:35
     orb_eccen = 1.e36
     orb_iyear = 2000
     orb_iyear_align = 2000
     orb_mode = fixed_year
     orb_mvelp = 1.e36
     orb_obliq = 1.e36
     scol_lat = -999.99
     scol_lon = -999.99
     single_column_lnd_domainfile = UNSET
     start_type = startup
     tfreeze_option = linear_salt
     wav_coupling_to_cice = .false.
     restart_pointer_append_date = .false.
::

MED_attributes::
     Verbosity = off
     aoflux_grid = ogrid
     atm2ice_map = unset
     atm2lnd_map = unset
     atm2ocn_map = unset
     atm2wav_map = unset
     atm_nx = 4320
     atm_ny = 3360
     budget_ann = 1
     budget_daily = 0
     budget_inst = 0
     budget_ltann = 1
     budget_ltend = 0
     budget_month = 1
     budget_table_version = v1
     check_for_nans = .true.
     coupling_mode = cesm
     do_budgets = .true.
     flux_albav = .true.
     glc2ice_rmapname = idmap
     glc2ocn_ice_rmapname = idmap
     glc2ocn_liq_rmapname = idmap
     glc_renormalize_smb = on_if_glc_coupled_fluxes
     gust_fac = 0.0D0
     histaux_atm2med_file1_auxname = atm.1h.inst
     histaux_atm2med_file1_doavg = .false.
     histaux_atm2med_file1_enabled = .false.
     histaux_atm2med_file1_flds = Faxa_swndr:Faxa_swvdr:Faxa_swndf:Faxa_swvdf
     histaux_atm2med_file1_history_n = 1
     histaux_atm2med_file1_history_option = nhours
     histaux_atm2med_file1_ntperfile = 24
     histaux_atm2med_file2_auxname = atm.1h.avrg
     histaux_atm2med_file2_doavg = .true.
     histaux_atm2med_file2_enabled = .false.
     histaux_atm2med_file2_flds = Sa_u:Sa_v
     histaux_atm2med_file2_history_n = 1
     histaux_atm2med_file2_history_option = nhours
     histaux_atm2med_file2_ntperfile = 24
     histaux_atm2med_file3_auxname = atm.3hprec.avrg
     histaux_atm2med_file3_doavg = .true.
     histaux_atm2med_file3_enabled = .false.
     histaux_atm2med_file3_flds = Faxa_rainc:Faxa_rainl:Faxa_snowc:Faxa_snowl
     histaux_atm2med_file3_history_n = 3
     histaux_atm2med_file3_history_option = nhours
     histaux_atm2med_file3_ntperfile = 8
     histaux_atm2med_file4_auxname = atm.3h.avrg
     histaux_atm2med_file4_doavg = .true.
     histaux_atm2med_file4_enabled = .false.
     histaux_atm2med_file4_flds = Sa_z:Sa_topo:Sa_u:Sa_v:Sa_tbot:Sa_ptem:Sa_shum:Sa_dens:Sa_pbot:Sa_pslv:Faxa_lwdn:Faxa_rainc:Faxa_rainl:Faxa_snowc:Faxa_snowl:Faxa_swndr:Faxa_swvdr:Faxa_swndf:Faxa_swvdf:Sa_co2diag:Sa_co2prog
     histaux_atm2med_file4_history_n = 3
     histaux_atm2med_file4_history_option = nhours
     histaux_atm2med_file4_ntperfile = 8
     histaux_atm2med_file5_auxname = atm.24h.avrg
     histaux_atm2med_file5_doavg = .true.
     histaux_atm2med_file5_enabled = .false.
     histaux_atm2med_file5_flds = Faxa_bcph:Faxa_ocph:Faxa_dstwet:Faxa_dstdry:Sa_co2prog:Sa_co2diag
     histaux_atm2med_file5_history_n = 3
     histaux_atm2med_file5_history_option = nhours
     histaux_atm2med_file5_ntperfile = 2
     histaux_lnd2med_file1_auxname = lnd.ncpl.inst
     histaux_lnd2med_file1_doavg = .false.
     histaux_lnd2med_file1_enabled = .false.
     histaux_lnd2med_file1_flds = all
     histaux_lnd2med_file1_history_n = 1
     histaux_lnd2med_file1_history_option = nsteps
     histaux_lnd2med_file1_ntperfile = 1
     histaux_ocn2med_file1_auxname = ocn.24h.avg
     histaux_ocn2med_file1_doavg = .true.
     histaux_ocn2med_file1_enabled = .false.
     histaux_ocn2med_file1_flds = So_bldepth:So_t:So_u:So_v
     histaux_ocn2med_file1_history_n = 1
     histaux_ocn2med_file1_history_option = ndays
     histaux_ocn2med_file1_ntperfile = 30
     histaux_rof2med_file1_auxname = rof.24h.avrg
     histaux_rof2med_file1_doavg = .true.
     histaux_rof2med_file1_enabled = .false.
     histaux_rof2med_file1_flds = all
     histaux_rof2med_file1_history_n = 3
     histaux_rof2med_file1_history_option = nhours
     histaux_rof2med_file1_ntperfile = 2
     history_n_atm_avg = -999
     history_n_atm_inst = -999
     history_n_glc_avg = -999
     history_n_glc_inst = -999
     history_n_ice_avg = -999
     history_n_ice_inst = -999
     history_n_lnd_avg = -999
     history_n_lnd_inst = -999
     history_n_med_inst = -999
     history_n_ocn_avg = -999
     history_n_ocn_inst = -999
     history_n_rof_avg = -999
     history_n_rof_inst = -999
     history_n_wav_avg = -999
     history_n_wav_inst = -999
     history_option_atm_avg = never
     history_option_atm_inst = never
     history_option_glc_avg = never
     history_option_glc_inst = never
     history_option_ice_avg = never
     history_option_ice_inst = never
     history_option_lnd_avg = never
     history_option_lnd_inst = never
     history_option_med_inst = never
     history_option_ocn_avg = never
     history_option_ocn_inst = never
     history_option_rof_avg = never
     history_option_rof_inst = never
     history_option_wav_avg = never
     history_option_wav_inst = never
     ice2atm_map = unset
     ice2wav_smapname = unset
     ice_nx = 4320
     ice_ny = 3360
     info_debug = 1
     lnd2atm_map = unset
     lnd2rof_map = unset
     lnd_nx = 0
     lnd_ny = 0
     mapuv_with_cart3d = .true.
     ocn2atm_map = unset
     ocn2wav_smapname = unset
     ocn_nx = 4320
     ocn_ny = 3360
     ocn_surface_flux_scheme = 0
     rof2lnd_map = unset
     rof2ocn_fmapname = unset
     rof2ocn_ice_rmapname = unset
     rof2ocn_liq_rmapname = ./INPUT/access-om3-8km-rof-remap-weights.nc
     rof2ocn_ice_spread = ./INPUT/access-om3-8km-rofi-climatology.nc
     rof_nx = 4320
     rof_ny = 3360
     wav2ocn_smapname = unset
     wav_nx = 0
     wav_ny = 0
::

CLOCK_attributes::
     atm_cpl_dt = 99999 #not used
     calendar = NO_LEAP
     end_restart = .false.
     glc_avg_period = yearly
     glc_cpl_dt = 99999 #not used
     history_ymd = -999
     ice_cpl_dt = 99999 #not used
     lnd_cpl_dt = 99999 #not used
     ocn_cpl_dt = 240 #ignored (coupling timestep set by nuopc.runseq) unless stop_option is nsteps
     restart_n = 4
     restart_option = nmonths
     restart_ymd = -999
     rof_cpl_dt = 99999 #not used
     start_tod = 0
     start_ymd = 19000101
     stop_n = 4
     stop_option = nmonths
     stop_tod = 0
     stop_ymd = -999
     tprof_n = -999
     tprof_option = never
     tprof_ymd = -999
     wav_cpl_dt = 99999 #not used
::

ATM_attributes::
     Verbosity = off
     aqua_planet = .false.
     perpetual = .false.
     perpetual_ymd = -999
::

ICE_attributes::
     eps_imesh = 1e-13 # allowed error between angles in mesh file and cice grid
     Verbosity = off
::

OCN_attributes::
     Verbosity = off
::

ROF_attributes::
     Verbosity = off
     mesh_rof = ./INPUT/access-om3-8km-nomask-ESMFmesh.nc
::

MED_modelio::
     diro = ./log
     logfile = med.log
     pio_async_interface = .false.
     pio_netcdf_format = 64bit_data
     pio_numiotasks = 14
     pio_rearranger = 2
     pio_root = 1
     pio_stride = 104
     pio_typename = pnetcdf
::

ATM_modelio::
     diro = ./log
     logfile = atm.log
     pio_async_interface = .false.
     pio_netcdf_format = nothing
     pio_numiotasks = 1
     pio_rearranger = 1
     pio_root = 1
     pio_stride = 1
     pio_typename = netcdf4p
::

ICE_modelio::
     diro = ./log
     logfile = ice.log
     pio_async_interface = .false.
     pio_netcdf_format = nothing
     pio_numiotasks = 28
     pio_rearranger = 1
     pio_root = 2 # I used 1 here but looking at the settings, root=2 might be better
     pio_stride = 52
     pio_typename = netcdf4p
::

OCN_modelio::
     diro = ./log
     logfile = ocn.log
     pio_async_interface = .false. #not used
     pio_netcdf_format = 64bit_offset #not used
     pio_numiotasks = -99 #not used
     pio_rearranger = 2 #not used
     pio_root = 1 #not used
     pio_stride = 48 #not used
     pio_typename = netcdf #not used, set in INPUT.nml
::

ROF_modelio::
     diro = ./log
     logfile = rof.log
     pio_async_interface = .false. 
     pio_netcdf_format = nothing 
     pio_numiotasks = 1 
     pio_rearranger = 2 
     pio_root = 1 
     pio_stride = 1
     pio_typename = netcdf4p 
::

DRV_modelio::
     diro = ./log
     logfile = drv.log
::
/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/nuopc.runseq (modified 2026-10-19 08:23 AEDT)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
runSeq:: 
@720
  MED med_phases_aofluxes_run
  MED med_phases_scalefreshwater_run
  MED med_phases_prep_ocn_accum
  MED med_phases_ocnalb_run
  MED med_phases_diag_ocn
  MED med_phases_prep_ocn_avg
  MED -> OCN :remapMethod=redist
  OCN
  MED med_phases_prep_ice
  MED -> ICE :remapMethod=redist
  ICE
  ROF
  MED med_phases_diag_rof
  MED med_phases_diag_ice_ice2med
  ICE -> MED :remapMethod=redist
  MED med_phases_post_ice
  ATM
  ATM -> MED :remapMethod=redist
  MED med_phases_post_atm
  MED med_phases_diag_atm
  MED med_phases_diag_ice_med2ice
  ROF -> MED :remapMethod=redist
  MED med_phases_post_rof
  OCN -> MED :remapMethod=redist
  MED med_phases_post_ocn
  MED med_phases_diag_accum
  MED med_phases_diag_print
  MED med_phases_history_write
  MED med_phases_restart_write
  MED med_phases_profile
@
::
Check this on Gadi: when these files were last modified
# WHAT THIS DOES: prints when each configuration file shown above was last changed (the 'modified'
# time in each title).
R=/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2

# 'cd' goes into the control directory, where these files are
cd "$R"
# 'ls -l' lists files with details; --time-style=long-iso writes the time as 2026-07-01 00:02
ls -l --time-style=long-iso config.yaml MOM_input ice_in nuopc.runconfig nuopc.runseq

Archive folder: completed runs

Read from the payu archive folder /g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800.

  • Output folders: 18 (latest output017)
  • Model date reached: 1904-05-01
  • Runs recorded by payu: 25, of which failed: 5
Check this on Gadi: these counts
# WHAT THIS DOES: re-counts the 'Archive folder' list: how many output folders there are, which is
# the latest, how many runs payu recorded, how many of those failed, and how far the model got. The
# four lines it prints should match the page.
A=/g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800

# Step 1: count the output folders (output000, output001, ...) and name the last one
ls -d "$A"/output[0-9]* | wc -l
basename "$(ls -d "$A"/output[0-9]* | tail -n 1)"

# Step 2: read payu's run records with a few lines of python, and count them
python3 - "$A" <<'EOF'
import glob, json, os, sys

# payu keeps one small file for every run: payu_jobs/<number>/run/<job>.json. Read them all.
archive = sys.argv[1]                  # the archive folder, handed over by the shell line above
runs = []
for path in glob.glob(archive + "/payu_jobs/*/run/*.json"):
    try:
        with open(path) as f:
            record = json.load(f)
        record["file"] = path          # remember which file it came from
        runs.append(record)
    except (OSError, ValueError):
        pass                           # skip a file we may not read, or that is not valid JSON

# Put the runs in order: by run number, and by start time if a run was tried more than once.
runs.sort(key=lambda r: (int(r.get("payu_current_run") or 0), r.get("timings", {}).get("payu_start_time") or ""))

# a run failed if payu's exit status for it is not 0 (a run with no status yet is still going)
failed = [r for r in runs if r.get("payu_run_status") not in (0, None)]
print(len(runs), "runs recorded by payu,", len(failed), "failed")
# the model date reached is the finish date of the last run that has one
finished = [r for r in runs if r.get("model_finish_time")]
print("model date reached:", finished[-1]["model_finish_time"][:10] if finished else "unknown")
EOF

Model throughput

Simulated years per day, made by plot_sypd.py from the outputNNN/log/med.log files of the completed submissions in /g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800.

Simulated years per day

Check this on Gadi: the rate in each output's med.log
# WHAT THIS DOES: for each output folder, finds the model's speed in its med.log (the mediator's
# log) and averages it. The speed, called the 'rate', is in simulated years per day (ypd). The
# figure plots these rates. You get one line per output folder: how many rate lines it had, and
# their average.
A=/g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800

for o in "$A"/output[0-9]*; do
    [ -f "$o/log/med.log" ] || continue            # skip folders that have no med.log
    # A line looks like: Model Date: 1958-09-04T00:00:00 ... rate = 7.09 ypd. awk reads the number just before
    # 'ypd' (the second-last word), adds them up and counts them, then prints the average at the end.
    awk -v name="$(basename "$o")" '/Model Date:/ && /ypd/ {count++; total += $(NF-1)} END {if (count) printf "%s: %d rate lines, mean %.2f ypd\n", name, count, total/count}' "$o/log/med.log"
done

Recent runs

From payu's job records in /g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/payu_jobs; times are Canberra time.

Run PBS job Result Model period Wall time (h) SYPD Record last modified
18 181541663.gadi-pbs model-run 1904-05-01 → ? 2026-10-19 11:58 AEDT
17 181527279.gadi-pbs ✅ 1904-01-01 → 1904-05-01 3.5 2.29 2026-10-19 11:55 AEDT
17 181527244.gadi-pbs queued 1904-01-01 → ? 2026-10-19 08:25 AEDT
16 181514993.gadi-pbs ✅ 1903-10-01 → 1904-01-01 3.0 2026-10-19 03:11 AEDT
15 181511460.gadi-pbs ✅ 1903-07-01 → 1903-10-01 2.9 2.05 2026-10-19 00:09 AEDT
14 181507829.gadi-pbs ✅ 1903-04-01 → 1903-07-01 2.8 2.13 2026-10-18 21:12 AEDT
14 181483127.gadi-pbs ❌ 1903-04-01 → ? 2.4 2026-10-18 07:56 AEDT
13 181480630.gadi-pbs ✅ 1903-01-01 → 1903-04-01 2.9 2.02 2026-10-18 05:29 AEDT
12 181477878.gadi-pbs ✅ 1902-10-01 → 1903-01-01 3.1 2026-10-18 02:32 AEDT
11 181473144.gadi-pbs ✅ 1902-07-01 → 1902-10-01 3.1 1.98 2026-10-17 23:25 AEDT
Check this on Gadi: this table
# WHAT THIS DOES: prints the 'Recent runs' table: the 10 newest runs, newest first. 'ok' means
# payu's exit status was 0. SYPD is simulated years per day: the model time the run covered, divided
# by the wall-clock time it took. (If payu did not record a run's start date this shows ?; the page
# may fill it in from the previous run.)
A=/g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800

python3 - "$A" <<'EOF'
import glob, json, os, sys

# payu keeps one small file for every run: payu_jobs/<number>/run/<job>.json. Read them all.
archive = sys.argv[1]                  # the archive folder, handed over by the shell line above
runs = []
for path in glob.glob(archive + "/payu_jobs/*/run/*.json"):
    try:
        with open(path) as f:
            record = json.load(f)
        record["file"] = path          # remember which file it came from
        runs.append(record)
    except (OSError, ValueError):
        pass                           # skip a file we may not read, or that is not valid JSON

# Put the runs in order: by run number, and by start time if a run was tried more than once.
runs.sort(key=lambda r: (int(r.get("payu_current_run") or 0), r.get("timings", {}).get("payu_start_time") or ""))

import time
from datetime import datetime

print("Run  PBS job             Result     Model period              Hours  SYPD   Record last modified")
for r in reversed(runs[-10:]):                     # the last 10 runs, newest first
    status = r.get("payu_run_status")
    result = "ok" if status == 0 else ("failed" if status is not None else str(r.get("stage")))
    start, finish = r.get("model_start_time"), r.get("model_finish_time")
    seconds = r.get("timings", {}).get("payu_total_duration_seconds")     # wall-clock seconds the run took
    hours = "%.1f" % (seconds / 3600) if seconds else ""
    sypd = ""
    if start and finish and seconds:
        # the model time the run covered, in whole days (dates look like 1958-01-01T00:00:00)
        days = (datetime.strptime(finish[:19], "%Y-%m-%dT%H:%M:%S") - datetime.strptime(start[:19], "%Y-%m-%dT%H:%M:%S")).days
        sypd = "%.2f" % (days / 365.25 / (seconds / 86400))     # model years divided by wall-clock days
    changed = time.strftime("%Y-%m-%d %H:%M %Z", time.localtime(os.path.getmtime(r["file"])))
    print("%-4s %-18s %-10s %-10s -> %-10s %6s %6s  %s" % (r.get("payu_current_run"), r.get("scheduler_job_id"), result,
          (start or "?")[:10], (finish or "?")[:10], hours, sypd, changed))
EOF

Latest logs in the archive folder

/g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/output017/access-om3.err (last lines; modified 2026-10-19 11:52 AEDT)
 (t_initf) Read in prof_inparm namelist from: drv_in
 (t_initf) Using profile_disable=          F
 (t_initf)       profile_timer=                      4
 (t_initf)       profile_depth_limit=                4
 (t_initf)       profile_detail_limit=               2
 (t_initf)       profile_barrier=          F
 (t_initf)       profile_outpe_num=                  1
 (t_initf)       profile_outpe_stride=               0
 (t_initf)       profile_single_file=      F
 (t_initf)       profile_global_stats=     T
 (t_initf)       profile_ovhd_measurement= F
 (t_initf)       profile_add_detail=       F
 (t_initf)       profile_papi_enable=      F

WARNING from PE     0: set_diffusivity_init: SIMPLE_TKE_TO_KD can not be used reliably with USE_REGRIDDING.


WARNING from PE     0: diag_manager_mod::closing_file: module/output_field ocean_model/total_hfevapds, skip one time level, maybe send_data never called


WARNING from PE     0: diag_manager_mod::closing_file: module/output_field ocean_model/total_heat_content_massin, skip one time level, maybe send_data never called

                               Memuse(MB) at Memory HiWaterMark=  1.334E+03  4.660E+03  3.139E+02  1.385E+03
/g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/error_logs/access-om3.181483127.gadi-pbs.err (last lines; modified 2026-10-18 07:55 AEDT)
 Unknown
access-om3-MOM6-C  0000000001BF5AFE  Unknown               Unknown  Unknown
 Unknown
access-om3-MOM6-C  0000000001BF5AFE  Unknown               Unknown  Unknown
 Unknown
access-om3-MOM6-C  0000000001BF5AFE  Unknown               Unknown  Unknown
 Unknown
access-om3-MOM6-C  0000000001BF5AFE  Unknown               Unknown  Unknown
 Unknown
access-om3-MOM6-C  0000000001BF5AFE  Unknown               Unknown  Unknown
 Unknown
 Unknown
access-om3-MOM6-C  0000000001BF5AFE  Unknown               Unknown  Unknown
 Unknown
access-om3-MOM6-C  0000000001BF5AFE  Unknown               Unknown  Unknown
 Unknown
access-om3-MOM6-C  0000000001BF5AFE  Unknown               Unknown  Unknown
 Unknown
access-om3-MOM6-C  0000000001BF5AFE  Unknown               Unknown  Unknown
 Unknown
access-om3-MOM6-C  0000000001BF5AFE  Unknown               Unknown  Unknown
 Unknown
access-om3-MOM6-C  0000000001BF5AFE  Unknown               Unknown  Unknown
 Unknown
access-om3-MOM6-C  0000000001BF5AFE  Unknown               Unknown  Unknown
 Unknown
--------------------------------------------------------------------------
prterun noticed that process rank 1 with PID 615001 on node gadi-cpu-spr-0001 exited on
signal 7 (Bus error).
--------------------------------------------------------------------------
/g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/output017/access-om3.out (last lines; modified 2026-10-19 11:55 AEDT)
(Ocean continuity equation)          43200    301.478070    695.050511    592.540788     66.795835  0.049    31     0  6674
(Ocean pressure force)               14400    753.450768    894.949901    826.316188     24.814393  0.068    31     0  6674
(Ocean vertical viscosity)           72000     99.608120   1138.546423    965.552861    250.622897  0.080    31     0  6674
(Ocean horizontal viscosity)         14400     71.363645    281.106269    243.738136     46.461503  0.020    31     0  6674
(Ocean momentum increments)          28800     20.309099     56.835196     51.288870      3.462046  0.004    31     0  6674
(Ocean message passing)             201600    107.873634   2291.046556    466.238325    375.837923  0.039    31     0  6674
(Ocean barotropic mode calc)         28800      1.905340      7.820768      4.380315      0.619230  0.000    31     0  6674
(Ocean barotropic mode stepping)     28800    701.131749   2030.651627   1149.228196    204.623987  0.095    31     0  6674
(Ocean barotropic forcing calc)      28800     20.364907     65.507270     43.223330     10.913099  0.004    31     0  6674
(Ocean kappa_shear)                   2880     26.476294   1664.805404    357.714634    164.600529  0.030    31     0  6674
(Ocean diabatic entrain)                 0      0.000000      0.000000      0.000000      0.000000  0.000    31     0  6674
(Ocean vert remap)                    2880     32.409969    346.969562    148.581622     46.261366  0.012    31     0  6674
(Ocean set_diffusivity)               5760     92.545511   1752.579680    443.026052    168.624068  0.037    31     0  6674
(Ocean KPP)                              0      0.000000      0.000000      0.000000      0.000000  0.000    31     0  6674
(Ocean tracer_columns)                2880      1.947007      6.364237      5.465993      0.933831  0.000    26     0  6674
(Ocean diabatic tridiag)              2880      3.298780      6.807847      4.185353      0.259639  0.000    41     0  6674
(Ocean diabatic message passing)      5760      6.714626   1110.292512    266.738234    143.231167  0.022    41     0  6674
(Ocean differential diffusion)           0      0.000000      0.000000      0.000000      0.000000  0.000    41     0  6674
(Ocean find_uv_at_h)                  5760      6.007817     11.332019      8.163147      0.780878  0.001    41     0  6674
(Ocean frazil)                        5760      1.706467     11.524541      4.027629      1.630615  0.000    41     0  6674
(Ocean advect tracer)                 2880    734.766847    999.551299    835.336720     61.125758  0.069    31     0  6674
(Ocean tracer halo updates)          17435     45.767119    806.974850    216.515165    136.866038  0.018    41     0  6674
(Ocean tracer global synch)          11674     19.580921    939.155717    599.549014    158.123866  0.050    41     0  6674
(Ocean diffuse tracer)                2880     50.059442    571.818353    407.144565    104.444649  0.034    31     0  6674
(Ocean epipycnal diffuse tracer)         0      0.000000      0.000000      0.000000      0.000000  0.000    31     0  6674
Ocean surface forcing                28801     33.355156    253.946813     65.511631     30.531741  0.005    11     0  6674
(Ocean forcing diagnostics)          17280     21.182342     25.216139     23.084268      0.676102  0.002    41     0  6674
 MPP_STACK high water mark=           0
  max rss=1907863552.0 MB
med_finalize max rss=1907863552.0 MB
/g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/output017/log/med.log (last lines; modified 2026-10-19 11:55 AEDT)
 memory_write: model date = 1904-04-19T00:00:00 memory =      -0.00 MB (highwater)       1819.48 MB (usage)
Model Date: 1904-04-20T00:00:00 wall clock = 2026-10-19T11:33:07 avg dt =    99.12 s/day, dt =    94.94 s/day, rate =     2.49 ypd
 memory_write: model date = 1904-04-20T00:00:00 memory =      -0.00 MB (highwater)       1819.48 MB (usage)
Model Date: 1904-04-21T00:00:00 wall clock = 2026-10-19T11:34:42 avg dt =    99.09 s/day, dt =    95.13 s/day, rate =     2.49 ypd
 memory_write: model date = 1904-04-21T00:00:00 memory =      -0.00 MB (highwater)       1819.48 MB (usage)
Model Date: 1904-04-22T00:00:00 wall clock = 2026-10-19T11:36:17 avg dt =    99.05 s/day, dt =    95.26 s/day, rate =     2.48 ypd
 memory_write: model date = 1904-04-22T00:00:00 memory =      -0.00 MB (highwater)       1819.48 MB (usage)
Model Date: 1904-04-23T00:00:00 wall clock = 2026-10-19T11:37:53 avg dt =    99.02 s/day, dt =    95.94 s/day, rate =     2.47 ypd
 memory_write: model date = 1904-04-23T00:00:00 memory =      -0.00 MB (highwater)       1819.48 MB (usage)
Model Date: 1904-04-24T00:00:00 wall clock = 2026-10-19T11:39:28 avg dt =    98.99 s/day, dt =    95.23 s/day, rate =     2.49 ypd
 memory_write: model date = 1904-04-24T00:00:00 memory =      -0.00 MB (highwater)       1819.48 MB (usage)
Model Date: 1904-04-25T00:00:00 wall clock = 2026-10-19T11:41:06 avg dt =    98.98 s/day, dt =    97.84 s/day, rate =     2.42 ypd
 memory_write: model date = 1904-04-25T00:00:00 memory =      -0.00 MB (highwater)       1819.48 MB (usage)
Model Date: 1904-04-26T00:00:00 wall clock = 2026-10-19T11:42:44 avg dt =    98.97 s/day, dt =    97.93 s/day, rate =     2.42 ypd
 memory_write: model date = 1904-04-26T00:00:00 memory =      -0.00 MB (highwater)       1819.48 MB (usage)
Model Date: 1904-04-27T00:00:00 wall clock = 2026-10-19T11:44:21 avg dt =    98.96 s/day, dt =    97.14 s/day, rate =     2.44 ypd
 memory_write: model date = 1904-04-27T00:00:00 memory =      -0.00 MB (highwater)       1819.48 MB (usage)
Model Date: 1904-04-28T00:00:00 wall clock = 2026-10-19T11:45:59 avg dt =    98.95 s/day, dt =    98.43 s/day, rate =     2.40 ypd
 memory_write: model date = 1904-04-28T00:00:00 memory =      -0.00 MB (highwater)       1819.48 MB (usage)
Model Date: 1904-04-29T00:00:00 wall clock = 2026-10-19T11:47:40 avg dt =    98.96 s/day, dt =   100.41 s/day, rate =     2.36 ypd
 memory_write: model date = 1904-04-29T00:00:00 memory =      -0.00 MB (highwater)       1819.48 MB (usage)
Model Date: 1904-04-30T00:00:00 wall clock = 2026-10-19T11:49:25 avg dt =    99.01 s/day, dt =   104.98 s/day, rate =     2.25 ypd
 memory_write: model date = 1904-04-30T00:00:00 memory =      -0.00 MB (highwater)       1819.48 MB (usage)
 -------->(med_phases_restart_write) mediating for: 1904  4 30 23 48  0   0
(med_io_wopen) creating file access-om3.cpl.r.1904-05-01-00000.nc
Model Date: 1904-05-01T00:00:00 wall clock = 2026-10-19T11:55:14 avg dt =   101.10 s/day, dt =   349.54 s/day, rate =     0.68 ypd
 memory_write: model date = 1904-05-01T00:00:00 memory =      -0.00 MB (highwater)       1819.48 MB (usage)
 (med_io_finalize) PIO decomposition cache hits = 9, builds = 3
  SUCCESSFUL TERMINATION OF CMEPS
: ===============  # simulated years / cmp-day =        2.341  ===============
/g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/pbs_logs/8km_jra_ryf.o181483127 (last lines; modified 2026-10-18 07:56 AEDT)
Setting up access-om3
Checking exe, input and restart manifests
Writing manifests/restart.yaml
mod access-om3/dependencies/pr264-25/access3-share/2026.03.002-4kuvsco
mod access-om3/dependencies/pr264-25/access-cice/CICE6.6.3-2-gxojo5h
mod access-om3/dependencies/pr264-25/access-mocsy/2025.07.002-pz75hi5
mod access-om3/dependencies/pr264-25/access-generic-tracers/115890145fc60799593aaae5a881f90cc9afa506-m5oqn7c
mod access-om3/dependencies/pr264-25/access-mom6/0b48afd2da5f10fdb34d079ce3c538cfc421b1de-qb7jrcs
mod access-om3/dependencies/pr264-25/access-ww3/2026.03.001-f3becjv
mod access-om3/dependencies/pr264-25/access3/2026.03.002-mfvxyjb
mod access-om3/pr264-25
mod model-tools/mppnccombine-fast/2026.10.000-1
2026-10-18 05:32:45: Run 14
mpirun --mca mpi_yield_when_idle true -wdir /scratch/tm70/cyb561/access-om3/work/MC_8km_jra_ryf-test2-expt-c349f800 -np 8424  /scratch/tm70/cyb561/access-om3/work/MC_8km_jra_ryf-test2-expt-c349f800/access-om3-MOM6-CICE6
/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/access-om3.err /scratch/tm70/cyb561/access-om3/archive/MC_8km_jra_ryf-test2-expt-c349f800/error_logs/access-om3.181483127.gadi-pbs.err
/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/access-om3.out /scratch/tm70/cyb561/access-om3/archive/MC_8km_jra_ryf-test2-expt-c349f800/error_logs/access-om3.181483127.gadi-pbs.out
/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2/env.yaml /scratch/tm70/cyb561/access-om3/archive/MC_8km_jra_ryf-test2-expt-c349f800/error_logs/env.181483127.gadi-pbs.yaml
payu: Found modules in /opt/Modules/v4.3.0

======================================================================================
                  Resource Usage on 2026-10-18 07:56:15:
   Job Id:             181483127.gadi-pbs
   Project:            tm70
   Exit Status:        1
   Service Units:      40978.08
   NCPUs Requested:    8424                CPU Time Used: 19443:53:10     
   Memory Requested:   40.5TB                Memory Used: 9.39TB          
   Walltime Requested: 05:00:00            Walltime Used: 02:25:56        
   JobFS Requested:    10.0GB                 JobFS Used: 52.92MB         
======================================================================================
/g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/pbs_logs/8km_jra_ryf.e181483127 (last lines; modified 2026-10-18 07:56 AEDT)
Loading access-om3/pr264-25
  Loading requirement:
    access-om3/dependencies/pr264-25/access3-share/2026.03.002-4kuvsco
    access-om3/dependencies/pr264-25/access-cice/CICE6.6.3-2-gxojo5h
    access-om3/dependencies/pr264-25/access-mocsy/2025.07.002-pz75hi5
    access-om3/dependencies/pr264-25/access-generic-tracers/115890145fc60799593aaae5a881f90cc9afa506-m5oqn7c access-om3/dependencies/pr264-25/access-mom6/0b48afd2da5f10fdb34d079ce3c538cfc421b1de-qb7jrcs access-om3/dependencies/pr264-25/access-ww3/2026.03.001-f3becjv access-om3/dependencies/pr264-25/access3/2026.03.002-mfvxyjb
Currently Loaded Modulefiles:
 1) access-om3/dependencies/pr264-25/access3-share/2026.03.002-4kuvsco                                        
 2) access-om3/dependencies/pr264-25/access-cice/CICE6.6.3-2-gxojo5h                                          
 3) access-om3/dependencies/pr264-25/access-mocsy/2025.07.002-pz75hi5                                         
 4) access-om3/dependencies/pr264-25/access-generic-tracers/115890145fc60799593aaae5a881f90cc9afa506-m5oqn7c  
 5) access-om3/dependencies/pr264-25/access-mom6/0b48afd2da5f10fdb34d079ce3c538cfc421b1de-qb7jrcs             
 6) access-om3/dependencies/pr264-25/access-ww3/2026.03.001-f3becjv                                           
 7) access-om3/dependencies/pr264-25/access3/2026.03.002-mfvxyjb                                              
 8) access-om3/pr264-25                                                                                       
 9) model-tools/mppnccombine-fast/2026.10.000-1                                                               
10) pbs                                                                                                       
11) openmpi/5.0.8                                                                                             
[ERROR] Model exited with error code 135
/g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/error_logs/env.181483127.gadi-pbs.yaml (last lines; modified 2026-10-18 07:55 AEDT)
MANPATH: /apps/openmpi/5.0.8/share/man:/opt/pbs/default/share/man
MANPATH_modshare: /apps/openmpi/5.0.8/share/man:1:/opt/pbs/default/share/man:1
OMPI_ROOT: /apps/openmpi/5.0.8
LD_RUN_PATH: /apps/openmpi/5.0.8/lib
CPLUS_INCLUDE_PATH_modshare: /apps/openmpi/5.0.8/include:1
CPATH: /apps/openmpi/5.0.8/include
LIBRARY_PATH: /apps/openmpi/5.0.8/lib
OMPI_VERSION: 5.0.8
MODULES_LMCONFLICT: 
  openmpi/5.0.8&intel-mpi&o/ld_library_path&o/yes-ld_library_path&o/use-ld_library_path&o/enable-ld_library_path&o/with-ld_library_path&o/no-ld_library_path&o/not-ld_library_path&o/disable-ld_library_path&o/without-ld_library_path&o/ld_run_path&o/yes-ld_run_path&o/use-ld_run_path&o/enable-ld_run_path&o/with-ld_run_path&o/no-ld_run_path&o/not-ld_run_path&o/disable-ld_run_path&o/without-ld_run_path&o/show-debug&o/yes-show-debug&o/use-show-debug&o/enable-show-debug&o/with-show-debug&o/no-show-debug&o/not-show-debug&o/disable-show-debug&o/without-show-debug&o/append-paths&o/yes-append-paths&o/use-append-paths&o/enable-append-paths&o/with-append-paths&o/no-append-paths&o/not-append-paths&o/disable-append-paths&o/without-append-paths&o/library_path&o/yes-library_path&o/use-library_path&o/enable-library_path&o/with-library_path&o/no-library_path&o/not-library_path&o/disable-library_path&o/without-library_path&o/packaged-envvars&o/yes-packaged-envvars&o/use-packaged-envvars&o/enable-packaged-envvars&o/with-packaged-envvars&o/no-packaged-envvars&o/not-packaged-envvars&o/disable-packaged-envvars&o/without-packaged-envvars
OPENMPI_ROOT: /apps/openmpi/5.0.8
UCC_LOG_LEVEL: error
FPATH: /apps/openmpi/5.0.8/include
LIBRARY_PATH_modshare: /apps/openmpi/5.0.8/lib:1
OMPI_PRTERUN: /apps/prrte/4.0.0/bin/prterun
C_INCLUDE_PATH_modshare: /apps/openmpi/5.0.8/include:1
MODULES_LMCONFLICT_modshare: 
  openmpi/5.0.8&intel-mpi&o/ld_library_path&o/yes-ld_library_path&o/use-ld_library_path&o/enable-ld_library_path&o/with-ld_library_path&o/no-ld_library_path&o/not-ld_library_path&o/disable-ld_library_path&o/without-ld_library_path&o/ld_run_path&o/yes-ld_run_path&o/use-ld_run_path&o/enable-ld_run_path&o/with-ld_run_path&o/no-ld_run_path&o/not-ld_run_path&o/disable-ld_run_path&o/without-ld_run_path&o/show-debug&o/yes-show-debug&o/use-show-debug&o/enable-show-debug&o/with-show-debug&o/no-show-debug&o/not-show-debug&o/disable-show-debug&o/without-show-debug&o/append-paths&o/yes-append-paths&o/use-append-paths&o/enable-append-paths&o/with-append-paths&o/no-append-paths&o/not-append-paths&o/disable-append-paths&o/without-append-paths&o/library_path&o/yes-library_path&o/use-library_path&o/enable-library_path&o/with-library_path&o/no-library_path&o/not-library_path&o/disable-library_path&o/without-library_path&o/packaged-envvars&o/yes-packaged-envvars&o/use-packaged-envvars&o/enable-packaged-envvars&o/with-packaged-envvars&o/no-packaged-envvars&o/not-packaged-envvars&o/disable-packaged-envvars&o/without-packaged-envvars:1
FPATH_modshare: /apps/openmpi/5.0.8/include:1
CPLUS_INCLUDE_PATH: /apps/openmpi/5.0.8/include
OMPI_BASE: /apps/openmpi/5.0.8
OPENMPI_BASE: /apps/openmpi/5.0.8
LD_RUN_PATH_modshare: /apps/openmpi/5.0.8/lib:1
LD_LIBRARY_PATH_modshare: /apps/openmpi/5.0.8/lib:1
C_INCLUDE_PATH: /apps/openmpi/5.0.8/include
CPATH_modshare: /apps/openmpi/5.0.8/include:1
OPENMPI_VERSION: 5.0.8
UCC_TLS: ^sharp
PRTE_MCA_prte_tmpdir_base: /jobfs/181483127.gadi-pbs
PAYU_RUN_ID: 15601b53eaaf56958de5d08478f66e6aa1024073
Check this on Gadi: when these logs were written, and their last lines
# WHAT THIS DOES: for each log file listed above, prints when it was last changed and its last 30
# lines, which are the lines the page shows.

# 'for' repeats the three lines below once for each file; $f is the file it is on.
# 'ls -l' lists a file with details; --time-style=long-iso writes its time as 2026-07-01 00:02.
for f in /g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/output017/access-om3.err /g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/error_logs/access-om3.181483127.gadi-pbs.err /g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/output017/access-om3.out /g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/output017/log/med.log /g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/pbs_logs/8km_jra_ryf.o181483127 /g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/pbs_logs/8km_jra_ryf.e181483127 /g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/error_logs/env.181483127.gadi-pbs.yaml; do
    echo "== $f"                          # which file this is
    ls -l --time-style=long-iso "$f"      # when it was last changed (the date and time are in the middle)
    tail -n 30 "$f"                       # its last 30 lines
done
/g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800/metadata.yaml
# ---- Automatically generated by Payu. Do not edit. ----
experiment_uuid: c349f800-353a-41ef-a985-8c241116390c

# ---- Automatically generated by Payu. User may edit if necessary. ----
name: MC_8km_jra_ryf-test2-expt-c349f800
contact: Christopher Bull
email: 5499680+chrisb13@users.noreply.github.com
created: '2026-10-12'
url: https://github.com/ACCESS-NRI/access-om3-configs
model: ACCESS-OM3
schema_version: 1-0-4

# ---- User feel free to update. ----
description: |-
  8km ACCESS-OM3 global configuration under the RYF9091 Repeat
  Year Forcing strategy outlined by Stewart et al (2020), 
  https://doi.org/10.1016/j.ocemod.2019.101557.
  Initial conditions of temperature and salinity are from WOA23.
  Run with JRA55-do v1.6.0 RYF9091 (1 May 1990 - 30 April 1991) repeated forcing.
  Spin up starts from a nominal year of 1 Jan 1900.
notes: |-
  ACCESS-NRI and COSIMA request that users of this model acknowledge those organisations 
  following the examples at https://www.access-nri.org.au/resources/acknowledging-us/ 
  and https://cosima.org.au/index.php/get-involved/
keywords:
- JRA55
- access-om3
- repeat-year
- global
realm:
- ocean
- seaIce
nominal_resolution: 8 km
license: CC-BY-4.0
version: 0.0
long_description: __REPLACE_ME__  # Long description of the experiment (string)
# frequency: The frequency(/ies) included in the experiment (array of strings)
# variable: The variable(s) included in the experiment (array of strings)
# reference: Citation or reference information (string)
# parent_experiment: experiment_uuid for parent experiment if appropriate (string)
# related_experiments: experiment_uuids for any related experiment(s) (array of strings)
# parent_experiment_branch_time: The model time corresponding to the restart path used to create this branch, e.g., 1951-02-01T00:00:00 (string)
# parent_experiment_branch_commit: Git commit hash of the source branch when this new branch was created (string)

Truncation locations for all completed run segments

⚠️ MOM6 truncated velocities 139 times in 2 of 18 output folders (the Truncs column of each outputNNN/ocean.stats). MOM6 truncates a velocity when its CFL number exceeds CFL_TRUNCATE (0.5 by default), and stops the run if more than MAXTRUNC truncations happen between energy saves (MOM6's default is 0, so any truncation stops it; the ACCESS-OM3 configurations set 10,000). See MOM6 velocity truncations for how to read the records, and Examine_truncation_data.ipynb for mapping them.

Location records are the detailed records MOM6 also writes, one per truncation, to U_velocity_truncations (zonal velocity) and V_velocity_truncations (meridional velocity); the location table below is built from them. MOM6 writes at most 50 per PE per run, so there are usually fewer of them than truncations; – means no file of that kind.

Output folder Model period Truncations Max CFL Location records (U / V) PEs at the record cap
output000 ? → 1900-03 138 0.14 ⚠️ no files –
output011 1902-07 → 1902-10 1 0.26 – / 1 –

The other 16 output folders had no truncations.

⚠️ ocean.stats reports truncations in 1 of the 2 output folders with truncations (000), but there are no readable U_velocity_truncations / V_velocity_truncations files there, so where those truncations happened can't be shown. MOM6 only writes these files when U_TRUNC_FILE and V_TRUNC_FILE are set in MOM_input (both default to empty); otherwise they may not have been copied to the archive, or they belong to someone else and can't be read.

Where MOM6 truncates (1° boxes, most records first; from the U_velocity_truncations and V_velocity_truncations files):

Location Records Grid cells Seen in output Velocity Layers Max speed (m/s) Max CFL Surface height (m) Depth (m)
68.4°E, 68.3°N 1 1 011 V 1–1 2.0 0.51 1.11 10

* MOM6 writes at most 50 records per PE per run (MAX_TRUNC_FILE_SIZE_PER_PE), and this box's PE hit that cap in at least one run, so it truncated more often than the record count shows. Surface height is the top-interface height e, shown only for records that include layer 1; depth is the shallower of the two cells (D).

Check this on Gadi: the truncation counts, locations and settings
# WHAT THIS DOES: re-checks the 'Truncation locations' section from the files MOM6 wrote. A
# truncation is when MOM6 had to cut a velocity that was too fast (its CFL number was above 0.5): a
# sign of numerical trouble. The steps below are separate, so you can paste just the one you need.
# Each prints something you can compare with the page.
A=/g/data/ol01/outputs/access-om3-8km/MC_8km_jra_ryf-test2-expt-c349f800
R=/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2

# Step 1: for each output folder: how many truncations MOM6 reported, the largest CFL number, and how many location records were written
for o in "$A"/output[0-9]*; do
    # ocean.stats is a table with one line per time step. Its 3rd column ('Truncs') is the truncations at that
    # step. awk adds that column up. (-F, means the columns are separated by commas. The header line is skipped
    # because its first column is not a number.)
    total=$(awk -F, '$1+0 == $1 {sum += $3} END {print sum+0}' "$o/ocean.stats" 2>/dev/null)
    # The 5th column holds two numbers; the second one is the CFL number. awk keeps the largest.
    cfl=$(awk -F, '$1+0 == $1 {split($5, a, " "); if (a[2] > max) max = a[2]} END {if (max != "") printf "%.2f", max}' "$o/ocean.stats" 2>/dev/null)
    # Every truncation also gets a 'location record' in the U and V files. grep -c counts the matching lines.
    u=$(grep -c 'velocity violation' "$o/U_velocity_truncations" 2>/dev/null)
    v=$(grep -c 'velocity violation' "$o/V_velocity_truncations" 2>/dev/null)
    # ${x:--} means: use x, or a dash if x is empty (no such file)
    echo "$(basename "$o"): truncations ${total:--}, max CFL ${cfl:--}, location records U/V ${u:--}/${v:--}"
done

# Step 2: where it happens. Each record contains the place, like '( 73.27 E 67.89 N)'. This counts the records in
# boxes one degree wide (negative longitude means west), busiest first. The pipeline does this:
#   grep: keep the lines that start a record    sed: keep only the longitude and latitude
#   awk: round them to whole degrees            sort | uniq -c: count the records in each box
#   sort -rn | head: busiest boxes first
grep -h 'velocity violation' "$A"/output[0-9]*/[UV]_velocity_truncations 2>/dev/null \
  | sed -E 's/.*\( *(-?[0-9.]+) E +(-?[0-9.]+) N\).*/\1 \2/' \
  | awk '{printf "%4.0fE %4.0fN\n", $1, $2}' \
  | sort | uniq -c | sort -rn | head -n 15

# Step 3: MOM6 writes at most 50 records per PE (one of the parallel processes) in one run, then stops. A PE with
# 50 records may have truncated more often than the records show. This lists the PEs that reached 50.
for f in "$A"/output[0-9]*/[UV]_velocity_truncations; do
    [ -f "$f" ] || continue                 # skip if there is no such file
    # each record says which PE it came from ('violation at 6073:'); count the records per PE, keep PEs with 50
    busy=$(grep -h 'velocity violation' "$f" | sed -E 's/.*violation at ([0-9]+):.*/PE\1/' | sort | uniq -c | awk '$1 >= 50 {printf "%s (%d records) ", $2, $1}')
    echo "$(basename "$(dirname "$f")")/$(basename "$f"): $busy"
done

# Step 4: one record in full. The page reads the speed (u, v), the CFL number, the surface height (e) and the
# depth (D) from lines like these.
head -n 30 "$A"/output011/V_velocity_truncations

# Step 5: the model period of each output folder, from payu's run records (output NNN is run NNN)
python3 - "$A" <<'EOF'
import glob, json, os, sys

# payu keeps one small file for every run: payu_jobs/<number>/run/<job>.json. Read them all.
archive = sys.argv[1]                  # the archive folder, handed over by the shell line above
runs = []
for path in glob.glob(archive + "/payu_jobs/*/run/*.json"):
    try:
        with open(path) as f:
            record = json.load(f)
        record["file"] = path          # remember which file it came from
        runs.append(record)
    except (OSError, ValueError):
        pass                           # skip a file we may not read, or that is not valid JSON

# Put the runs in order: by run number, and by start time if a run was tried more than once.
runs.sort(key=lambda r: (int(r.get("payu_current_run") or 0), r.get("timings", {}).get("payu_start_time") or ""))

for r in runs:
    run, finish = r.get("payu_current_run"), r.get("model_finish_time")
    if str(run).isdigit() and finish:      # only runs that finished have a model period
        start = r.get("model_start_time") or "?"      # payu did not record the start of the first run
        print("output%03d  %s -> %s" % (int(run), start[:7], finish[:7]))
EOF

# Step 6: the settings that decide when MOM6 truncates (CFL_TRUNCATE) and when it stops the run (MAXTRUNC).
# Each is shown as it is set in MOM_input and in MOM6's own record of every setting, which also gives its default.
grep -hE '^(CFL_TRUNCATE|MAXTRUNC) ' "$R"/MOM_input "$R"/docs/MOM_parameter_doc.all

Settings changed during this run

Every edit to the model's settings and build during this experiment, from the git history of the payu control directory (/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2), starting at its first run commit (12 Oct 2026; 20 completed runs, 3 redone so far). It covers the completed runs (the archive folder above) and the current or crashed run (the run directory above): the dashed vertical line marks where the completed runs end. It reads MOM_input, MOM_override, nuopc.runconfig, ice_in and, from config.yaml, the model build (model, exe, modules) and the input files (input), plus the run length (stop_n and restart_n in nuopc.runconfig: the model time each run covers and how often it writes restarts). Each numbered dot is one edit: hover it to see the change, or use the table below, which gives the old and new value and the commit message. The column on the right of the chart gives each setting's value at the first run and now, and a setting's name links to where it is documented or set in access-om3-configs.

Current build

Entry in config.yaml Now Changes
Model access-om3 unchanged since the first run
Executable access-om3-MOM6-CICE6 unchanged since the first run
Modules loaded access-om3/pr264-25
model-tools/mppnccombine-fast/2026.10.000-1
unchanged since the first run
13 Oct 14 Oct 15 Oct 16 Oct 17 Oct 18 Oct 19 Oct 20 Oct Run commits (23) Model year 1899 1901 1904 ◂ archive: completed runs current or crashed run ▸ first run → now Build (model version) config.yaml no changes Run length nuopc.runconfig: stop_n, restart_n restart_nrestart_n 3 11 2 → 42 → 4 stop_nstop_n 4 12 2 → 42 → 4 Input files config.yaml: input no changes Ocean (MOM6) MOM_input, MOM_override DTDT 1 2 6 8 9 10 400.0 → 720.0400.0 → 720.0 RESTART_CHECKSUMS_REQUIREDRESTART_CHECKSUMS_REQUIRED 5 7 (not set) (back to the start)(not set) (back to the start) Coupler (CMEPS) nuopc.runconfig no changes Sea ice (CICE) ice_in no changes 1an edit; the number is its row in the table below the setting differs from its value at the first run one run commit (payu makes one when a run starts, so a redone run has two); the gaps are pauses between runs end of the completed runs (the archive folder); to the right is the current or crashed run the run counter restarted (a run was redone) #3 restart_n (Run length)2 → 314 Oct 2026 17:38 · after run 2model date 1900-07-012026-10-14 17:38:34: Run 3 #11 restart_n (Run length)3 → 419 Oct 2026 08:30 · after run 16model date 1904-01-012026-10-19 08:30:05: Run 17 #4 stop_n (Run length)2 → 314 Oct 2026 17:38 · after run 2model date 1900-07-012026-10-14 17:38:34: Run 3 #12 stop_n (Run length)3 → 419 Oct 2026 08:30 · after run 16model date 1904-01-012026-10-19 08:30:05: Run 17 #1 DT (Ocean)400.0 → 240.012 Oct 2026 14:30 · before the first run finishedmodel date ?2026-10-12 14:30:39: Run 0 #2 DT (Ocean)240.0 → 400.012 Oct 2026 20:21 · after run 0model date 1900-03-012026-10-12 20:21:50: Run 1 #6 DT (Ocean)400.0 → 480.015 Oct 2026 14:00 · after run 3model date 1900-10-012026-10-15 14:00:10: Run 4 #8 DT (Ocean)480.0 → 400.015 Oct 2026 18:27 · after run 3model date 1900-10-012026-10-15 18:27:54: Run 4 #9 DT (Ocean)400.0 → 600.017 Oct 2026 20:26 · after run 10model date 1902-07-012026-10-17 20:26:43: Run 11 #10 DT (Ocean)600.0 → 720.019 Oct 2026 08:30 · after run 16model date 1904-01-012026-10-19 08:30:05: Run 17 #5 RESTART_CHECKSUMS_REQUIRED (Ocean)(not set) → False15 Oct 2026 08:28 · after run 2model date 1900-07-012026-10-15 08:28:44: Run 3 #7 RESTART_CHECKSUMS_REQUIRED (Ocean)False → (not set)15 Oct 2026 14:00 · after run 3model date 1900-10-012026-10-15 14:00:10: Run 4
13 Oct 14 Oct 15 Oct 16 Oct 17 Oct 18 Oct 19 Oct 20 Oct Run commits (23) Model year 1899 1901 1904 ◂ archive: completed runs current or crashed run ▸ first run → now Build (model version) config.yaml no changes Run length nuopc.runconfig: stop_n, restart_n restart_nrestart_n 3 11 2 → 42 → 4 stop_nstop_n 4 12 2 → 42 → 4 Input files config.yaml: input no changes Ocean (MOM6) MOM_input, MOM_override DTDT 1 2 6 8 9 10 400.0 → 720.0400.0 → 720.0 RESTART_CHECKSUMS_REQUIREDRESTART_CHECKSUMS_REQUIRED 5 7 (not set) (back to the start)(not set) (back to the start) Coupler (CMEPS) nuopc.runconfig no changes Sea ice (CICE) ice_in no changes 1an edit; the number is its row in the table below the setting differs from its value at the first run one run commit (payu makes one when a run starts, so a redone run has two); the gaps are pauses between runs end of the completed runs (the archive folder); to the right is the current or crashed run the run counter restarted (a run was redone) #3 restart_n (Run length)2 → 314 Oct 2026 17:38 · after run 2model date 1900-07-012026-10-14 17:38:34: Run 3 #11 restart_n (Run length)3 → 419 Oct 2026 08:30 · after run 16model date 1904-01-012026-10-19 08:30:05: Run 17 #4 stop_n (Run length)2 → 314 Oct 2026 17:38 · after run 2model date 1900-07-012026-10-14 17:38:34: Run 3 #12 stop_n (Run length)3 → 419 Oct 2026 08:30 · after run 16model date 1904-01-012026-10-19 08:30:05: Run 17 #1 DT (Ocean)400.0 → 240.012 Oct 2026 14:30 · before the first run finishedmodel date ?2026-10-12 14:30:39: Run 0 #2 DT (Ocean)240.0 → 400.012 Oct 2026 20:21 · after run 0model date 1900-03-012026-10-12 20:21:50: Run 1 #6 DT (Ocean)400.0 → 480.015 Oct 2026 14:00 · after run 3model date 1900-10-012026-10-15 14:00:10: Run 4 #8 DT (Ocean)480.0 → 400.015 Oct 2026 18:27 · after run 3model date 1900-10-012026-10-15 18:27:54: Run 4 #9 DT (Ocean)400.0 → 600.017 Oct 2026 20:26 · after run 10model date 1902-07-012026-10-17 20:26:43: Run 11 #10 DT (Ocean)600.0 → 720.019 Oct 2026 08:30 · after run 16model date 1904-01-012026-10-19 08:30:05: Run 17 #5 RESTART_CHECKSUMS_REQUIRED (Ocean)(not set) → False15 Oct 2026 08:28 · after run 2model date 1900-07-012026-10-15 08:28:44: Run 3 #7 RESTART_CHECKSUMS_REQUIRED (Ocean)False → (not set)15 Oct 2026 14:00 · after run 3model date 1900-10-012026-10-15 14:00:10: Run 4
13 Oct 15 Oct 17 Oct 19 Oct Run commits (23), model year below 1899 1901 1904 ◂ archive current run ▸ Build (model version) no changes Run length restart_n 2 → 4 3 11 stop_n 2 → 4 4 12 Input files no changes Ocean (MOM6) DT 400.0 → 720.0 1 2 6 8 9 10 RESTART_CHECKSUMS_REQUIRED (not set) (back to the start) 5 7 Coupler (CMEPS) no changes Sea ice (CICE) no changes 1an edit: tap its number to jump to its row below differs from the first run end of the completed runs; right of it is the current run
#WhenAfter run (model date)SettingChangeCommit
112 Oct 14:30None
?
Ocean
DT
400.0 → 240.02026-10-12 14:30:39: Run 0 fe2e71cb
212 Oct 20:210
1900-03-01
Ocean
DT
240.0 → 400.02026-10-12 20:21:50: Run 1 277ce551
314 Oct 17:382
1900-07-01
Run length · CLOCK_attributes
restart_n
2 → 32026-10-14 17:38:34: Run 3 a637cb0e
414 Oct 17:382
1900-07-01
Run length · CLOCK_attributes
stop_n
2 → 32026-10-14 17:38:34: Run 3 a637cb0e
515 Oct 08:282
1900-07-01
Ocean
RESTART_CHECKSUMS_REQUIRED
(not set) → False2026-10-15 08:28:44: Run 3 24a9de8d
615 Oct 14:003
1900-10-01
Ocean
DT
400.0 → 480.02026-10-15 14:00:10: Run 4 94d17e35
715 Oct 14:003
1900-10-01
Ocean
RESTART_CHECKSUMS_REQUIRED
False → (not set)2026-10-15 14:00:10: Run 4 94d17e35
815 Oct 18:273
1900-10-01
Ocean
DT
480.0 → 400.02026-10-15 18:27:54: Run 4 6338ace2
917 Oct 20:2610
1902-07-01
Ocean
DT
400.0 → 600.02026-10-17 20:26:43: Run 11 1b50c38c
1019 Oct 08:3016
1904-01-01
Ocean
DT
600.0 → 720.02026-10-19 08:30:05: Run 17 578d9948
1119 Oct 08:3016
1904-01-01
Run length · CLOCK_attributes
restart_n
3 → 42026-10-19 08:30:05: Run 17 578d9948
1219 Oct 08:3016
1904-01-01
Run length · CLOCK_attributes
stop_n
3 → 42026-10-19 08:30:05: Run 17 578d9948
Housekeeping: 10 changes to 10 settings in 2 commits (job setup, paths, diagnostic output)
When After run Component Setting Change Commit
14 Oct 17:38 2 Job setup mem 39500GB → (not set) 2026-10-14 17:38:34: Run 3 a637cb0e
14 Oct 17:38 2 Job setup ncpus 8216 → 8424 2026-10-14 17:38:34: Run 3 a637cb0e
14 Oct 17:38 2 Sea ice (CICE) domain_nml.block_size_x 60 → 40 2026-10-14 17:38:34: Run 3 a637cb0e
14 Oct 17:38 2 Sea ice (CICE) domain_nml.block_size_y 56 → 70 2026-10-14 17:38:34: Run 3 a637cb0e
14 Oct 17:38 2 Coupler (CMEPS) PELAYOUT_attributes.atm_ntasks 1541 → 1749 2026-10-14 17:38:34: Run 3 a637cb0e
14 Oct 17:38 2 Coupler (CMEPS) PELAYOUT_attributes.cpl_ntasks 1541 → 1749 2026-10-14 17:38:34: Run 3 a637cb0e
14 Oct 17:38 2 Coupler (CMEPS) PELAYOUT_attributes.ice_ntasks 1541 → 1749 2026-10-14 17:38:34: Run 3 a637cb0e
14 Oct 17:38 2 Coupler (CMEPS) PELAYOUT_attributes.ocn_rootpe 1541 → 1749 2026-10-14 17:38:34: Run 3 a637cb0e
14 Oct 17:38 2 Coupler (CMEPS) PELAYOUT_attributes.rof_ntasks 1541 → 1749 2026-10-14 17:38:34: Run 3 a637cb0e
17 Oct 20:26 10 Job setup postscript -v PROJECT,SCRIPTS_DIR=/g/data/vk83/apps/om3-scripts -lstorage=${PBS_NCI_STORAGE}+gdata/xp65 /g/data/vk83/apps/om3-scripts/payu_config/postscript.sh → -v PROJECT,SCRIPTS_DIR=/g/data/vk83/apps/om3-scripts -lstorage=${PBS_NCI_STORAGE}+gdata/xp65 -l walltime=02:00:00 /g/data/vk83/apps/om3-scripts/payu_config/postscript.sh 2026-10-17 20:26:43: Run 11 1b50c38c
Check this on Gadi: the build and every edit listed here
# WHAT THIS DOES: checks the 'Settings changed during this run' section. It prints the current build
# from config.yaml, counts payu's run commits, and lists every edit made to the settings files since
# the first run, using git (the history of changes kept in the control directory). The page shows
# these as setting values, so edits to comments or formatting do not appear there, and paths,
# layout, output and job settings are under its Housekeeping note. In the list of edits, a line
# starting with '-' was removed and a line starting with '+' was added.
R=/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2

# Step 1: the current build: the 'model' and 'exe' lines of config.yaml, and its 'modules:' block
# (sed prints the lines from 'modules:' down to the next empty line)
grep -E '^(model|exe):' "$R/config.yaml"
sed -n '/^modules:/,/^$/p' "$R/config.yaml"

# Step 2: payu makes a git commit each time it starts a run, with a message ending in 'Run <number>'.
# This counts them. A run that crashed and was redone has two, and the page counts it once.
git -C "$R" log --first-parent --format=%s | grep -c ': Run [0-9]*$'
# These are the redone runs: how many run commits each has, then the run (prints nothing if none).
git -C "$R" log --first-parent --format=%s | grep -o 'Run [0-9]*$' | sort | uniq -c -d

# Step 3: find the first run commit (the history starts there)
FIRST=$(git -C "$R" log --first-parent --reverse --format='%H %s' | grep -m1 ': Run [0-9]*$' | cut -d' ' -f1)

# Step 4: every edit to the settings files after that, oldest first. Each edit starts with a line like
# '=== <commit> <date> <message>', followed by what changed.
git -C "$R" log -p --first-parent --reverse --format='=== %h %cI %s' "$FIRST"..HEAD -- config.yaml MOM_input MOM_override nuopc.runconfig ice_in

# If git says 'dubious ownership', the folder belongs to someone else: add  -c safe.directory="$R"  after the word git.

Where are my friends?

How this run's configuration relates to access-om3-configs: the newest commit that the control directory's history (latest commit 6083b6ed) shares with the configurations repository.

  • Closest shared commit: 8165f53 on branch MC_8km_jra_ryf-test2 · 2026-10-12 · “Update history_precision from 8 to 4 - single precision”
  • Changes in this run since then: 8 files changed, 60 insertions(+), 131 deletions(-)
  • Closest tag: release-MC_25km_jra_ryf-1.0-beta-1, 159 commits before the shared commit
  • Changes in this run since that tag: 27 files changed, 6783 insertions(+), 1796 deletions(-)
Diff: this run vs MC_8km_jra_ryf-test2 @ 8165f53
diff --git a/MOM_input b/MOM_input
index ce8ab1e..18bd908 100644
--- a/MOM_input
+++ b/MOM_input
@@ -51,7 +51,7 @@ USE_CONTEMP_ABSSAL = True       !   [Boolean] default = False
 USE_REGRIDDING = True           !   [Boolean] default = False
                                 ! If True, use the ALE algorithm (regridding/remapping). If False, use the
                                 ! layered isopycnal algorithm.
-DT = 240.0                      !   [s]
+DT = 720.0                      !   [s]
                                 ! The (baroclinic) dynamics time step.  The time-step that is actually used will
                                 ! be an integer fraction of the forcing time-step (DT_FORCING in ocean-only mode
                                 ! or the coupling timestep in coupled mode.)
diff --git a/config.yaml b/config.yaml
index 1cca1ae..f5f3136 100644
--- a/config.yaml
+++ b/config.yaml
@@ -9,8 +9,8 @@
 # Using payu sync is recommend to copy data from ephemeral scratch space to 
 # longer term storage
 sync:
-    enable: False   # set path below and change to true
-    base_path: null # Set to location on /g/data (e.g. /g/data/PROJECT/USER/)
+    enable: True   # set path below and change to true
+    base_path: /g/data/ol01/outputs/access-om3-8km/ # Set to location on /g/data (e.g. /g/data/PROJECT/USER/)
     restarts: True
     exclude_uncollated: False

@@ -24,9 +24,8 @@ modules:
         - model-tools/mppnccombine-fast/2026.10.000-1

 queue: normalsr
-ncpus: 8216
+ncpus: 8424
 jobfs: 10GB
-mem: 39500GB
 walltime: 05:00:00
 jobname: 8km_jra_ryf

@@ -55,7 +54,7 @@ metadata:
     enable: true
 manifest:
   reproduce:
-    exe: True
+    exe: False
     input: True

 mpi:
@@ -74,7 +73,7 @@ collate:
 userscripts:
     archive: /usr/bin/bash /g/data/vk83/apps/om3-scripts/payu_config/archive.sh

-postscript: -v PROJECT,SCRIPTS_DIR=/g/data/vk83/apps/om3-scripts -lstorage=${PBS_NCI_STORAGE}+gdata/xp65 /g/data/vk83/apps/om3-scripts/payu_config/postscript.sh
+postscript: -v PROJECT,SCRIPTS_DIR=/g/data/vk83/apps/om3-scripts -lstorage=${PBS_NCI_STORAGE}+gdata/xp65 -l walltime=02:00:00 /g/data/vk83/apps/om3-scripts/payu_config/postscript.sh

 qsub_flags: -W umask=027

diff --git a/docs/MOM_parameter_doc.all b/docs/MOM_parameter_doc.all
index 2b37dd8..9b0659d 100644
--- a/docs/MOM_parameter_doc.all
+++ b/docs/MOM_parameter_doc.all
@@ -68,11 +68,11 @@ ENABLE_BUGS_BY_DEFAULT = True   !   [Boolean] default = True
                                 ! will no longer be used to set their default.  Setting this to false means that
                                 ! bugs are only used if they are actively selected, but it also means that
                                 ! answers may change when code is updated due to newly found bugs.
-DT = 240.0                      !   [s]
+DT = 720.0                      !   [s]
                                 ! The (baroclinic) dynamics time step.  The time-step that is actually used will
                                 ! be an integer fraction of the forcing time-step (DT_FORCING in ocean-only mode
                                 ! or the coupling timestep in coupled mode.)
-DT_THERM = 3600.0               !   [s] default = 240.0
+DT_THERM = 3600.0               !   [s] default = 720.0
                                 ! The thermodynamic time step. Ideally DT_THERM should be an integer multiple of
                                 ! DT and of DT_TRACER_ADVECT and less than the forcing or coupling time-step.
                                 ! However, if THERMO_SPANS_COUPLING is true, DT_THERM can be an integer multiple
@@ -146,6 +146,12 @@ P_REF = 2.0E+07                 !   [Pa] default = 2.0E+07
                                 ! The pressure that is used for calculating the coordinate density.  (1 Pa = 1e4
                                 ! dbar, so 2e7 is commonly used.) This is only used if USE_EOS and
                                 ! ENABLE_THERMODYNAMICS are true.
+NONBLOCKING_P_SURF_BUG = True   !   [Boolean] default = True
+                                ! If true, recover a bug in which the non-blocking halo update of the surface
+                                ! pressure is not completed before the halo points of forces%p_surf are copied
+                                ! into tv%p_surf, so that those halo points hold the surface pressure from the
+                                ! previous coupling step, or zeros on the first step after a restart.  This is
+                                ! only used if NONBLOCKING_UPDATES and USE_PSURF_IN_EOS are true
 FIRST_DIRECTION = 0             ! default = 0
                                 ! An integer that indicates which direction goes first in parts of the code that
                                 ! use directionally split updates, with even numbers (or 0) used for x- first
@@ -634,85 +640,10 @@ FATAL_INCONSISTENT_RESTART_TIME = False !   [Boolean] default = False
                                 ! If true and a time_in value is provided to MOM_initialize_state, verify that
                                 ! the time read from a restart file is the same as time_in, and issue a fatal
                                 ! error if it is not.  Otherwise, simply set the time to time_in if present.
-INIT_LAYERS_FROM_Z_FILE = True  !   [Boolean] default = False
-                                ! If true, initialize the layer thicknesses, temperatures, and salinities from a
-                                ! Z-space file on a latitude-longitude grid.
-
-! === module MOM_initialize_layers_from_Z ===
-TEMP_SALT_Z_INIT_FILE = "./INPUT/woa23_ts_01_mom.nc" ! default = "temp_salt_z.nc"
-                                ! The name of the z-space input file used to initialize temperatures (T) and
-                                ! salinities (S). If T and S are not in the same file, TEMP_Z_INIT_FILE and
-                                ! SALT_Z_INIT_FILE must be set.
-TEMP_Z_INIT_FILE = "./INPUT/woa23_ts_01_mom.nc" ! default = "./INPUT/woa23_ts_01_mom.nc"
-                                ! The name of the z-space input file used to initialize temperatures, only.
-SALT_Z_INIT_FILE = "./INPUT/woa23_ts_01_mom.nc" ! default = "./INPUT/woa23_ts_01_mom.nc"
-                                ! The name of the z-space input file used to initialize temperatures, only.
-Z_INIT_FILE_PTEMP_VAR = "ptemp" ! default = "ptemp"
-                                ! The name of the potential temperature variable in TEMP_Z_INIT_FILE.
-Z_INIT_FILE_SALT_VAR = "salt"   ! default = "salt"
-                                ! The name of the salinity variable in SALT_Z_INIT_FILE.
-Z_INIT_HOMOGENIZE = False       !   [Boolean] default = False
-                                ! If True, then horizontally homogenize the interpolated initial conditions.
-Z_INIT_ALE_REMAPPING = True     !   [Boolean] default = False
-                                ! If True, then remap straight to model coordinate from file.
-Z_INIT_REMAPPING_SCHEME = "PPM_IH4" ! default = "PPM_IH4"
-                                ! The remapping scheme to use if using Z_INIT_ALE_REMAPPING is True.
-Z_INIT_REMAP_GENERAL = True     !   [Boolean] default = False
-                                ! If false, only initializes to z* coordinates. If true, allows initialization
-                                ! directly to general coordinates.
-Z_INIT_REMAP_FULL_COLUMN = True !   [Boolean] default = True
-                                ! If false, only reconstructs profiles for valid data points. If true, inserts
-                                ! vanished layers below the valid data.
-Z_INIT_REMAP_OLD_ALG = False    !   [Boolean] default = False
-                                ! If false, uses the preferred remapping algorithm for initialization. If true,
-                                ! use an older, less robust algorithm for remapping.
-TEMP_SALT_INIT_VERTICAL_REMAP_ONLY = True !   [Boolean] default = False
-                                ! If true, initial conditions are on the model horizontal grid. Extrapolation
-                                ! over missing ocean values is done using an ICE-9 procedure with vertical ALE
-                                ! remapping .
 Z_INIT_REMAPPING_USE_OM4_SUBCELLS = False !   [Boolean] default = False
                                 ! If true, use the OM4 remapping-via-subcells algorithm for initialization. See
                                 ! REMAPPING_USE_OM4_SUBCELLS for more details. We recommend setting this option
                                 ! to false.
-HOR_REGRID_ANSWER_DATE = 99991231 ! default = 99991231
-                                ! The vintage of the order of arithmetic for horizontal regridding.  Dates
-                                ! before 20190101 give the same answers as the code did in late 2018, while
-                                ! later versions add parentheses for rotational symmetry.  Dates after 20230101
-                                ! use reproducing sums for global averages.
-LAND_FILL_TEMP = 0.0            !   [degC] default = 0.0
-                                ! A value to use to fill in ocean temperatures on land points.
-LAND_FILL_SALIN = 35.0          !   [ppt] default = 35.0
-                                ! A value to use to fill in ocean salinities on land points.
-HORIZ_INTERP_TOL_TEMP = 0.001   !   [degC] default = 0.001
-                                ! The tolerance in temperature changes between iterations when interpolating
-                                ! from an input dataset using horiz_interp_and_extrap_tracer.  This routine
-                                ! converges slowly, so an overly small tolerance can get expensive.
-HORIZ_INTERP_TOL_SALIN = 0.001  !   [ppt] default = 0.001
-                                ! The tolerance in salinity changes between iterations when interpolating from
-                                ! an input dataset using horiz_interp_and_extrap_tracer.  This routine converges
-                                ! slowly, so an overly small tolerance can get expensive.
-DEPRESS_INITIAL_SURFACE = False !   [Boolean] default = False
-                                ! If true,  depress the initial surface to avoid huge tsunamis when a large
-                                ! surface pressure is applied.
-TRIM_IC_FOR_P_SURF = False      !   [Boolean] default = False
-                                ! If true, cuts way the top of the column for initial conditions at the depth
-                                ! where the hydrostatic pressure matches the imposed surface pressure which is
-                                ! read from file.
-REGRID_ACCELERATE_INIT = False  !   [Boolean] default = False
-                                ! If true, runs REGRID_ACCELERATE_ITERATIONS iterations of the regridding
-                                ! algorithm to push the initial grid to be consistent with the initial
-                                ! condition. Useful only for state-based and iterative coordinates.
-VELOCITY_CONFIG = "zero"        ! default = "zero"
-                                ! A string that determines how the initial velocities are specified for a new
-                                ! run:
-                                !     file - read velocities from the file specified
-                                !       by (VELOCITY_FILE).
-                                !     zero - the fluid is initially at rest.
-                                !     uniform - the flow is uniform (determined by
-                                !       parameters INITIAL_U_CONST and INITIAL_V_CONST).
-                                !     rossby_front - a mixed layer front in thermal wind balance.
-                                !     soliton - Equatorial Rossby soliton.
-                                !     USER - call a user modified routine.
 ODA_INCUPD = False              !   [Boolean] default = False
                                 ! If true, oda incremental updates will be applied everywhere in the domain.
 SPONGE = False                  !   [Boolean] default = False
diff --git a/docs/MOM_parameter_doc.short b/docs/MOM_parameter_doc.short
index c71700d..2f0dea3 100644
--- a/docs/MOM_parameter_doc.short
+++ b/docs/MOM_parameter_doc.short
@@ -9,11 +9,11 @@ USE_CONTEMP_ABSSAL = True       !   [Boolean] default = False
 USE_REGRIDDING = True           !   [Boolean] default = False
                                 ! If True, use the ALE algorithm (regridding/remapping). If False, use the
                                 ! layered isopycnal algorithm.
-DT = 240.0                      !   [s]
+DT = 720.0                      !   [s]
                                 ! The (baroclinic) dynamics time step.  The time-step that is actually used will
                                 ! be an integer fraction of the forcing time-step (DT_FORCING in ocean-only mode
                                 ! or the coupling timestep in coupled mode.)
-DT_THERM = 3600.0               !   [s] default = 240.0
+DT_THERM = 3600.0               !   [s] default = 720.0
                                 ! The thermodynamic time step. Ideally DT_THERM should be an integer multiple of
                                 ! DT and of DT_TRACER_ADVECT and less than the forcing or coupling time-step.
                                 ! However, if THERMO_SPANS_COUPLING is true, DT_THERM can be an integer multiple
@@ -233,24 +233,6 @@ REMAPPING_USE_OM4_SUBCELLS = False !   [Boolean] default = True
                                 ! recommend setting this option to false.

 ! === module MOM_state_initialization ===
-INIT_LAYERS_FROM_Z_FILE = True  !   [Boolean] default = False
-                                ! If true, initialize the layer thicknesses, temperatures, and salinities from a
-                                ! Z-space file on a latitude-longitude grid.
-
-! === module MOM_initialize_layers_from_Z ===
-TEMP_SALT_Z_INIT_FILE = "./INPUT/woa23_ts_01_mom.nc" ! default = "temp_salt_z.nc"
-                                ! The name of the z-space input file used to initialize temperatures (T) and
-                                ! salinities (S). If T and S are not in the same file, TEMP_Z_INIT_FILE and
-                                ! SALT_Z_INIT_FILE must be set.
-Z_INIT_ALE_REMAPPING = True     !   [Boolean] default = False
-                                ! If True, then remap straight to model coordinate from file.
-Z_INIT_REMAP_GENERAL = True     !   [Boolean] default = False
-                                ! If false, only initializes to z* coordinates. If true, allows initialization
-                                ! directly to general coordinates.
-TEMP_SALT_INIT_VERTICAL_REMAP_ONLY = True !   [Boolean] default = False
-                                ! If true, initial conditions are on the model horizontal grid. Extrapolation
-                                ! over missing ocean values is done using an ICE-9 procedure with vertical ALE
-                                ! remapping .

 ! === module MOM_diag_mediator ===
 NUM_DIAG_COORDS = 2             ! default = 1
diff --git a/ice_in b/ice_in
index 54a06a5..023d6a3 100644
--- a/ice_in
+++ b/ice_in
@@ -68,8 +68,8 @@
   ustar_min = 0.0005
 /
 &domain_nml
-  block_size_x = 60
-  block_size_y = 56
+  block_size_x = 40
+  block_size_y = 70
   distribution_type = "roundrobin"
   distribution_wght = "latitude"
   maskhalo_bound = .true.
diff --git a/metadata.yaml b/metadata.yaml
index da76e99..1dc6280 100644
--- a/metadata.yaml
+++ b/metadata.yaml
@@ -1,27 +1,44 @@
-contact: Add your name here
-email: Add your email address here
-created: Add the date you started the experiment here (YYYY-MM-DD)
+
+# ---- Automatically generated by Payu. Do not edit. ----
+experiment_uuid: c349f800-353a-41ef-a985-8c241116390c
+
+# ---- Automatically generated by Payu. User may edit if necessary. ----
+name: MC_8km_jra_ryf-test2-expt-c349f800
+contact: Christopher Bull
+email: 5499680+chrisb13@users.noreply.github.com
+created: '2026-10-12'
+url: https://github.com/ACCESS-NRI/access-om3-configs
+model: ACCESS-OM3
+schema_version: 1-0-4
+
+# ---- User feel free to update. ----
 description: |-
-    8km ACCESS-OM3 global configuration under the RYF9091 Repeat
-    Year Forcing strategy outlined by Stewart et al (2020), 
-    https://doi.org/10.1016/j.ocemod.2019.101557.
-    Initial conditions of temperature and salinity are from WOA23.
-    Run with JRA55-do v1.6.0 RYF9091 (1 May 1990 - 30 April 1991) repeated forcing.
-    Spin up starts from a nominal year of 1 Jan 1900.
+  8km ACCESS-OM3 global configuration under the RYF9091 Repeat
+  Year Forcing strategy outlined by Stewart et al (2020), 
+  https://doi.org/10.1016/j.ocemod.2019.101557.
+  Initial conditions of temperature and salinity are from WOA23.
+  Run with JRA55-do v1.6.0 RYF9091 (1 May 1990 - 30 April 1991) repeated forcing.
+  Spin up starts from a nominal year of 1 Jan 1900.
 notes: |-
   ACCESS-NRI and COSIMA request that users of this model acknowledge those organisations 
   following the examples at https://www.access-nri.org.au/resources/acknowledging-us/ 
   and https://cosima.org.au/index.php/get-involved/
 keywords:
-  - JRA55
-  - access-om3
-  - repeat-year
-  - global
+- JRA55
+- access-om3
+- repeat-year
+- global
 realm:
-  - ocean
-  - seaIce
+- ocean
+- seaIce
 nominal_resolution: 8 km
 license: CC-BY-4.0
-model: ACCESS-OM3
-url: https://github.com/ACCESS-NRI/access-om3-configs/tree/dev-MC_8km_jra_ryf
 version: 0.0
+long_description: __REPLACE_ME__  # Long description of the experiment (string)
+# frequency: The frequency(/ies) included in the experiment (array of strings)
+# variable: The variable(s) included in the experiment (array of strings)
+# reference: Citation or reference information (string)
+# parent_experiment: experiment_uuid for parent experiment if appropriate (string)
+# related_experiments: experiment_uuids for any related experiment(s) (array of strings)
+# parent_experiment_branch_time: The model time corresponding to the restart path used to create this branch, e.g., 1951-02-01T00:00:00 (string)
+# parent_experiment_branch_commit: Git commit hash of the source branch when this new branch was created (string)
diff --git a/nuopc.runconfig b/nuopc.runconfig
index dae3a26..842582a 100644
--- a/nuopc.runconfig
+++ b/nuopc.runconfig
@@ -27,16 +27,16 @@ DRIVER_attributes::
 ::

 PELAYOUT_attributes::
-     atm_ntasks = 1541
+     atm_ntasks = 1749
      atm_nthreads = 1
      atm_pestride = 1
      atm_rootpe = 0
-     cpl_ntasks = 1541
+     cpl_ntasks = 1749
      cpl_nthreads = 1
      cpl_pestride = 1
      cpl_rootpe = 0
      esmf_logging = ESMF_LOGKIND_NONE
-     ice_ntasks = 1541
+     ice_ntasks = 1749
      ice_nthreads = 1
      ice_pestride = 1
      ice_rootpe = 0
@@ -44,11 +44,11 @@ PELAYOUT_attributes::
      ocn_ntasks = 6675
      ocn_nthreads = 1
      ocn_pestride = 1
-     ocn_rootpe = 1541
+     ocn_rootpe = 1749
      pio_asyncio_ntasks = 0
      pio_asyncio_rootpe = 1
      pio_asyncio_stride = 0
-     rof_ntasks = 1541
+     rof_ntasks = 1749
      rof_nthreads = 1
      rof_pestride = 1
      rof_rootpe = 0
@@ -269,13 +269,13 @@ CLOCK_attributes::
      ice_cpl_dt = 99999 #not used
      lnd_cpl_dt = 99999 #not used
      ocn_cpl_dt = 240 #ignored (coupling timestep set by nuopc.runseq) unless stop_option is nsteps
-     restart_n = 1
+     restart_n = 4
      restart_option = nmonths
      restart_ymd = -999
      rof_cpl_dt = 99999 #not used
      start_tod = 0
      start_ymd = 19000101
-     stop_n = 1
+     stop_n = 4
      stop_option = nmonths
      stop_tod = 0
      stop_ymd = -999
diff --git a/nuopc.runseq b/nuopc.runseq
index d7939c5..60bc897 100644
--- a/nuopc.runseq
+++ b/nuopc.runseq
@@ -1,5 +1,5 @@
 runSeq:: 
-@240
+@720
   MED med_phases_aofluxes_run
   MED med_phases_scalefreshwater_run
   MED med_phases_prep_ocn_accum
Diff: this run vs tag release-MC_25km_jra_ryf-1.0-beta-1
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
new file mode 100644
index 0000000..14199f2
--- /dev/null
+++ b/.readthedocs.yaml
@@ -0,0 +1,18 @@
+# Read the Docs configuration file
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+# Required
+version: 2
+# Set the OS, Python version, and other tools you might need
+build:
+  os: ubuntu-24.04
+  tools:
+    python: "3.13"
+
+  jobs:
+    post_checkout:
+      # Cancel building pull requests which dont have docs
+      - |
+        exit 183;
+
+mkdocs:
+   configuration: documentation/mkdocs.yml
\ No newline at end of file
diff --git a/CITATION.cff b/CITATION.cff
deleted file mode 100644
index 812137b..0000000
--- a/CITATION.cff
+++ /dev/null
@@ -1,144 +0,0 @@
-cff-version: 1.2.0
-title: 'ACCESS-OM3 Configurations'
-message: >-
-  If you use this software, please cite it using the
-  metadata from this file.
-type: software
-authors:
-  - given-names: Jo
-    family-names: Basevi
-    email: Johanna.Basevi@anu.edu.au
-    affiliation: ACCESS-NRI
-  - given-names: Christopher Yit Sen 
-    family-names: Bull
-    email: chris.bull@anu.edu.au
-    affiliation: ACCESS-NRI
-    orcid: 'https://orcid.org/0000-0001-8362-3446'
-  - given-names: Martin
-    family-names: Dix
-    email: Martin.Dix@anu.edu.au
-    affiliation: ACCESS-NRI
-    orcid: 'https://orcid.org/0000-0002-7534-0654'
-  - given-names: Tommy
-    family-names: Gatti
-    email: Tommy.Gatti@anu.edu.au
-    affiliation: ACCESS-NRI
-  - given-names: Angus
-    family-names: Gibson
-    email: Angus.Gibson@anu.edu.au
-    affiliation: Research School of Earth Sciences, Australian National University
-  - given-names: Aidan
-    family-names: Heerdegen
-    email: Aidan.Heerdegen@anu.edu.au
-    affiliation: ACCESS-NRI
-    orcid: 'https://orcid.org/0000-0002-4481-4896'
-  - given-names: Andrew McC 
-    family-names: Hogg
-    email: Andy.Hogg@anu.edu.au
-    affiliation: ACCESS-NRI
-    orcid: 'https://orcid.org/0000-0001-5898-7635'
-  - given-names: Harshula
-    family-names: Jayasuriya
-    email: Harshula.Jayasuriya@anu.edu.au
-    affiliation: ACCESS-NRI
-    orcid: 'https://orcid.org/0009-0009-2679-050X'
-  - given-names: Ezhilsabareesh
-    family-names: Kannadasan
-    affiliation: ACCESS-NRI
-    orcid: 'https://orcid.org/0000-0003-1441-4311'
-  - given-names: Andrew E.
-    family-names: Kiss
-    email: andrew.kiss@anu.edu.au
-    affiliation: Research School of Earth Sciences, Australian National University
-    orcid: 'https://orcid.org/0000-0001-8960-9557'
-  - given-names: Minghang
-    family-names: Li
-    email: Minghang.Li1@anu.edu.au
-    affiliation: ACCESS-NRI
-  - given-names: Davide
-    family-names: Marchegiani
-    email: Davide.Marchegiani@anu.edu.au
-    affiliation: ACCESS-NRI
-    orcid: 'https://orcid.org/0000-0002-7619-7976'
-  - given-names: Adele
-    family-names: Morrison
-    email: Adele.Morrison@anu.edu.au
-    affiliation: Research School of Earth Sciences, Australian National University
-    orcid: 'https://orcid.org/0000-0002-9904-4980'
-  - given-names: Siobhan
-    family-names: O'Farrell
-    email: Siobhan.O'Farrell@csiro.au
-    affiliation: Commonwealth Scientific and Industrial Research
-    orcid: 'https://orcid.org/0000-0002-9019-6136'
-  - given-names: Micael
-    family-names: Oliveira
-    email: Micael.Oliveira@anu.edu.au
-    affiliation: ACCESS-NRI
-    orcid: 'https://orcid.org/0000-0003-1364-0907'
-  - given-names: Kieran
-    family-names: Ricardo
-    email: Kieran.Ricardo@anu.edu.au
-    affiliation: ACCESS-NRI
-  - given-names: Manodeep
-    family-names: Sinha
-    email: Manodeep.Sinha@anu.edu.au
-    affiliation: ACCESS-NRI
-    orcid: 'https://orcid.org/0000-0002-4845-1228'
-  - given-names: Dougal
-    family-names: Squire
-    email: Dougie.Squire@anu.edu.au
-    affiliation: ACCESS-NRI
-    orcid: 'https://orcid.org/0000-0003-3271-6874'
-  - given-names: Anton
-    family-names: Steketee
-    email: anton.steketee@anu.edu.au
-    affiliation: ACCESS-NRI
-    orcid: 'https://orcid.org/0009-0002-9081-4106'
-  - given-names: Spencer
-    family-names: Wong
-    email: spencer.wong@anu.edu.au
-    affiliation: ACCESS-NRI
-  - given-names: Luwei
-    family-names: Yang
-    email: Luwei.Yang@anu.edu.au
-    affiliation: Research School of Earth Sciences, Australian National University
-identifiers:
-  - description: "The concept DOI of all ACCESS-OM3 configurations."
-    type: doi
-    value: 10.5281/zenodo.16294824
-  - description: "The versioned DOI"
-    type: doi
-    value: 10.5281/zenodo.16294825
-repository-code: 'https://github.com/accESS-NRI/access-om3-configs'
-url: 'https://access-om3-configs.access-hive.org.au/'
-repository-artifact: >-
-  https://github.com/ACCESS-NRI/access-om3-configs/archive/refs/tags/release-MC_25km_jra55_ryf_1.0-beta.tar.gz
-abstract: >-
-  This is an initial beta prerelease of a model
-  configuration of ACCESS-OM3. This uses a release of the
-  ACCESS-OM3 software (version 2025.05.001), a global grid
-  with 25km nominal resolution, bathymetry generated from
-  GEBCO 2024 and initial conditions generated from WOA2023.
-  A 1990-91 Repeat Year Forcing (RYF) extracted from the 
-  JRA55-do v1.6 reanalysis is used as input data.
-
-
-  ACCESS-OM3 is the third generation of the ACCESS global
-  ocean-seaice model. It uses up to date releases of the
-  MOM6 ocean mode and CICE6 sea-ice model. It is the first
-  ACCESS model release using CMEPS (Community Mediator for
-  Earth Prediction Systems), built on top of NUOPC (
-  National Unified Operational Prediction Capability),
-  infrastructure to connect these model components.
-license: CC-BY-4.0
-version: release-MC_25km_jra_ryf-1.0-beta
-date-released: "2025-07-24"
-keywords:
-  - access-om3
-  - climate
-  - model
-  - "ocean - sea ice"
-  - CICE
-  - MOM6
-  - NUOPC
-  - ESMF
diff --git a/MOM_input b/MOM_input
index 67943ed..18bd908 100644
--- a/MOM_input
+++ b/MOM_input
@@ -17,12 +17,26 @@ FATAL_UNUSED_PARAMS = True      !   [Boolean] default = False
 ! This section contains non default layout parameters which are set.
 ! ------------------------
 ! === module MOM_domains ===
-AUTO_MASKTABLE = True           !   [Boolean] default = False
-                                ! Turn on automatic mask table generation to eliminate land blocks.
-AUTO_IO_LAYOUT_FAC = 6          ! default = 0
-                                ! When AUTO_MASKTABLE is enabled, io layout is calculated by performing integer
-                                ! division of the runtime-determined domain layout with this factor. If the
-                                ! factor is set to 0 (default), the io layout is set to 1,1.
+NONBLOCKING_UPDATES = True      !   [Boolean] default = False
+                                ! If true, non-blocking halo updates may be used.
+MASKTABLE = "./auxiliary_input/mask_table.3693.108x96" ! default = "MOM_mask_table"
+                                ! A text file to specify n_mask, layout and mask_list. This feature masks out
+                                ! processors that contain only land points. The first line of mask_table is the
+                                ! number of regions to be masked out. The second line is the layout of the model
+                                ! and must be consistent with the actual model layout. The following (n_mask)
+                                ! lines give the logical positions of the processors that are masked out. The
+                                ! mask_table can be created by tools like check_mask. The following example of
+                                ! mask_table masks out 2 processors, (1,2) and (3,6), out of the 24 in a 4x6
+                                ! layout:
+                                !  2
+                                !  4,6
+                                !  1,2
+                                !  3,6
+LAYOUT = 108, 96                !
+                                ! The processor layout that was actually used.
+IO_LAYOUT = 9, 8                ! default = 1, 1
+                                ! The processor layout to be used, or 0,0 to automatically set the io_layout to
+                                ! be the same as the layout.

 ! This section is formatted the same as the MOM_parameter_short.doc output file.
 ! ------------------------
@@ -37,31 +51,26 @@ USE_CONTEMP_ABSSAL = True       !   [Boolean] default = False
 USE_REGRIDDING = True           !   [Boolean] default = False
                                 ! If True, use the ALE algorithm (regridding/remapping). If False, use the
                                 ! layered isopycnal algorithm.
-THICKNESSDIFFUSE = True         !   [Boolean] default = False
-                                ! If true, isopycnal surfaces are diffused with a Laplacian coefficient of KHTH.
-THICKNESSDIFFUSE_FIRST = True   !   [Boolean] default = False
-                                ! If true, do thickness diffusion or interface height smoothing before dynamics.
-                                ! This is only used if THICKNESSDIFFUSE or APPLY_INTERFACE_FILTER is true.
-DT = 900.0                      !   [s]
+DT = 720.0                      !   [s]
                                 ! The (baroclinic) dynamics time step.  The time-step that is actually used will
                                 ! be an integer fraction of the forcing time-step (DT_FORCING in ocean-only mode
                                 ! or the coupling timestep in coupled mode.)
-DT_THERM = 7200.0               !   [s] default = 900.0
-                                ! The thermodynamic and tracer advection time step. Ideally DT_THERM should be
-                                ! an integer multiple of DT and less than the forcing or coupling time-step,
-                                ! unless THERMO_SPANS_COUPLING is true, in which case DT_THERM can be an integer
-                                ! multiple of the coupling timestep.  By default DT_THERM is set to DT.
+DT_THERM = 3600.0               !   [s] default = 240.0
+                                ! The thermodynamic time step. Ideally DT_THERM should be an integer multiple of
+                                ! DT and of DT_TRACER_ADVECT and less than the forcing or coupling time-step.
+                                ! However, if THERMO_SPANS_COUPLING is true, DT_THERM can be an integer multiple
+                                ! of the coupling timestep. By default DT_THERM is set to DT.
 THERMO_SPANS_COUPLING = True    !   [Boolean] default = False
-                                ! If true, the MOM will take thermodynamic and tracer timesteps that can be
-                                ! longer than the coupling timestep. The actual thermodynamic timestep that is
-                                ! used in this case is the largest integer multiple of the coupling timestep
-                                ! that is less than or equal to DT_THERM.
+                                ! If true, the MOM will take thermodynamic timesteps that can be longer than the
+                                ! coupling timestep. The actual thermodynamic timestep that is used in this case
+                                ! is the largest integer multiple of the coupling timestep that is less than or
+                                ! equal to DT_THERM.
 HFREEZE = 10.0                  !   [m] default = -1.0
                                 ! If HFREEZE > 0, melt potential will be computed. The actual depth over which
                                 ! melt potential is computed will be min(HFREEZE, OBLD), where OBLD is the
                                 ! boundary layer depth. If HFREEZE <= 0 (default), melt potential will not be
                                 ! computed.
-DTBT_RESET_PERIOD = 0.0         !   [s] default = 7200.0
+DTBT_RESET_PERIOD = 0.0         !   [s] default = 3600.0
                                 ! The period between recalculations of DTBT (if DTBT <= 0). If DTBT_RESET_PERIOD
                                 ! is negative, DTBT is set based only on information available at
                                 ! initialization.  If 0, DTBT will be set every dynamics time step. The default
@@ -91,23 +100,25 @@ BAD_VAL_SST_MAX = 55.0          !   [deg C] default = 45.0
 BAD_VAL_SST_MIN = -3.0          !   [deg C] default = -2.1
                                 ! The value of SST below which a bad value message is triggered, if
                                 ! CHECK_BAD_SURFACE_VALS is true.
-SAVE_INITIAL_CONDS = True       !   [Boolean] default = False
-                                ! If true, write the initial conditions to a file given by IC_OUTPUT_FILE.
+WRITE_GEOM = 2                  ! default = 1
+                                ! If =0, never write the geometry and vertical grid files. If =1, write the
+                                ! geometry and vertical grid files only for a new simulation. If =2, always
+                                ! write the geometry and vertical grid files. Other values are invalid.
+GEOM_FILE = "access-om3.mom6.geometry.nc" ! default = "ocean_geometry"
+                                ! The file into which to write the ocean geometry.

 ! === module MOM_domains ===
 TRIPOLAR_N = True               !   [Boolean] default = False
                                 ! Use tripolar connectivity at the northern edge of the domain.  With
                                 ! TRIPOLAR_N, NIGLOBAL must be even.
-NIGLOBAL = 1440                 !
+NIGLOBAL = 4320                 !
                                 ! The total number of thickness grid points in the x-direction in the physical
                                 ! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time.
-NJGLOBAL = 1142                 !
+NJGLOBAL = 3360                 !
                                 ! The total number of thickness grid points in the y-direction in the physical
                                 ! domain. With STATIC_MEMORY_ this is set in MOM_memory.h at compile time.

 ! === module MOM_fixed_initialization ===
-INPUTDIR = "./INPUT/"           ! default = "."
-                                ! The directory in which input files are found.

 ! === module MOM_grid_init ===
 GRID_CONFIG = "mosaic"          !
@@ -118,7 +129,7 @@ GRID_CONFIG = "mosaic"          !
                                 !     cartesian - use a (flat) Cartesian grid.
                                 !     spherical - use a simple spherical grid.
                                 !     mercator - use a Mercator spherical grid.
-GRID_FILE = "ocean_hgrid.nc"    !
+GRID_FILE = "./INPUT/ocean_hgrid.nc" !
                                 ! Name of the file from which to read horizontal grid data.
 RAD_EARTH = 6.371229E+06        !   [m] default = 6.378E+06
                                 ! The radius of the Earth.
@@ -149,8 +160,26 @@ TOPO_CONFIG = "file"            !
                                 !     Phillips - ACC-like idealized topography used in the Phillips config.
                                 !     dense - Denmark Strait-like dense water formation and overflow.
                                 !     USER - call a user modified routine.
+TOPO_FILE = "./INPUT/topog.nc"  ! default = "topog.nc"
+                                ! The file from which the bathymetry is read.
 MAXIMUM_DEPTH = 6000.0          !   [m]
                                 ! The maximum depth of the ocean.
+CHANNEL_CONFIG = "list"         ! default = "none"
+                                ! A parameter that determines which set of channels are
+                                ! restricted to specific  widths.  Options are:
+                                !     none - All channels have the grid width.
+                                !     global_1deg - Sets 16 specific channels appropriate
+                                !       for a 1-degree model, as used in CM2G.
+                                !     list - Read the channel locations and widths from a
+                                !       text file, like MOM_channel_list in the MOM_SIS
+                                !       test case.
+                                !     file - Read open face widths everywhere from a
+                                !       NetCDF file on the model grid.
+CHANNEL_LIST_FILE = "./auxiliary_input/MOM_channel_list" ! default = "MOM_channel_list"
+                                ! The file from which the list of narrowed channels is read.
+FATAL_UNUSED_CHANNEL_WIDTHS = True !   [Boolean] default = False
+                                ! If true, trigger a fatal error if there are any channel widths in
+                                ! CHANNEL_LIST_FILE that do not cause any open face widths to change.

 ! === module MOM_verticalGrid ===
 ! Parameters providing information about the vertical grid.
@@ -158,7 +187,7 @@ NK = 75                         !   [nondim]
                                 ! The number of model layers.

 ! === module MOM_EOS ===
-EQN_OF_STATE = "ROQUET_RHO"     ! default = "WRIGHT"
+EQN_OF_STATE = "ROQUET_RHO"     ! default = "WRIGHT_FULL"
                                 ! EQN_OF_STATE determines which ocean equation of state should be used.
                                 ! Currently, the valid choices are "LINEAR", "UNESCO", "JACKETT_MCD", "WRIGHT",
                                 ! "WRIGHT_REDUCED", "WRIGHT_FULL", "NEMO", "ROQUET_RHO", "ROQUET_SPV" and
@@ -168,12 +197,22 @@ TFREEZE_FORM = "TEOS_POLY"      ! default = "TEOS10"
                                 ! point.  Currently, the valid choices are "LINEAR", "MILLERO_78", "TEOS_POLY",
                                 ! "TEOS10"

+! === module MOM_restart ===
+PARALLEL_RESTARTFILES = True    !   [Boolean] default = False
+                                ! If true, the IO layout is used to group processors that write to the same
+                                ! restart file or each processor writes its own (numbered) restart file. If
+                                ! false, a single restart file is generated combining output from all PEs.
+
 ! === module MOM_tracer_flow_control ===
 USE_IDEAL_AGE_TRACER = True     !   [Boolean] default = False
                                 ! If true, use the ideal_age_example tracer package.

 ! === module ideal_age_example ===

+! === module MOM_fixed_initialization ===
+
+! === module MOM_grid_init ===
+
 ! === module MOM_coord_initialization ===
 REGRIDDING_COORDINATE_MODE = "ZSTAR" ! default = "LAYER"
                                 ! Coordinate mode for vertical regridding. Choose among the following
@@ -185,7 +224,7 @@ REGRIDDING_COORDINATE_MODE = "ZSTAR" ! default = "LAYER"
                                 !  HYCOM1 - HyCOM-like hybrid coordinate
                                 !  HYBGEN - Hybrid coordinate from the Hycom hybgen code
                                 !  ADAPTIVE - optimize for smooth neutral density surfaces
-ALE_COORDINATE_CONFIG = "FILE:ocean_vgrid.nc,interfaces=zeta" ! default = "UNIFORM"
+ALE_COORDINATE_CONFIG = "FILE:./INPUT/ocean_vgrid.nc,interfaces=zeta" ! default = "UNIFORM"
                                 ! Determines how to specify the coordinate resolution. Valid options are:
                                 !  PARAM       - use the vector-parameter ALE_RESOLUTION
                                 !  UNIFORM[:N] - uniformly distributed
@@ -199,8 +238,23 @@ ALE_COORDINATE_CONFIG = "FILE:ocean_vgrid.nc,interfaces=zeta" ! default = "UNIFO
                                 !  FNC1:string - FNC1:dz_min,H_total,power,precision
                                 !  HYBRID:string - read from a file. The string specifies
                                 !                the filename and two variable names, separated
-                                !                by a comma or space, for sigma-2 and dz. e.g.
-                                !                HYBRID:vgrid.nc,sigma2,dz
+                                !                by a comma or space, for sigma-2 and dz.
+                                !                e.g. HYBRID:vgrid.nc,sigma2,dz
+                                !  HYBRID_3D:string - read from a file. The string specifies
+                                !                the filename and two 3D variable names, separated
+                                !                by a comma or space, for sigma-2 and dz. The
+                                !                latter can be FNC1:string which is used everywhere.
+                                !                e.g. HYBRID_3D:vgrid.nc,sigma2,dz
+                                !  HYBRID_MAP:string - read from a file. The string specifies
+                                !                the filename and three variable names, separated
+                                !                by a comma or space, for map, sigma-2 and dz.
+                                !                Map is a spatial index array with, maxval(map)=N,
+                                !                and the others are 2D arrays containing N profiles.
+                                !                Map typically contains integer values, but it can
+                                !                contain real values, I+w, which imply using
+                                !                the weighted sum of profiles I and I+1.
+                                !                Dz can be FNC1:string which is used everywhere.
+                                !                e.g. HYBRID_MAP:vgrid.nc,map,sigma2,dz
 !ALE_RESOLUTION = 1.0825614929199219, 1.1963462829589844, 1.322089672088623, 1.4610481262207031, 1.614609718322754, 1.784308910369873, 1.9718408584594727, 2.1790781021118164, 2.4080896377563477, 2.661160469055176, 2.940814971923828, 3.249845504760742, 3.591329574584961, 3.968667984008789, 4.385614395141602, 4.846321105957031, 5.355350494384766, 5.917766571044922, 6.539115905761719, 7.225547790527344, 7.983818054199219, 8.821372985839844, 9.746376037597656, 10.767845153808594, 11.895652770996094, 13.140586853027344, 14.514511108398438, 16.030319213867188, 17.7020263671875, 19.544876098632812, 21.575271606445312, 23.810821533203125, 26.270294189453125, 28.973419189453125, 31.94091796875, 35.194000244140625, 38.75390625, 42.641632080078125, 46.876739501953125, 51.476593017578125, 56.45489501953125, 61.82025146484375, 67.5743408203125, 73.70965576171875, 80.207763671875, 87.03759765625, 94.1534423828125, 101.4951171875, 108.9879150390625, 116.5452880859375, 124.0714111328125, 131.4671630859375, 138.6346435546875, 145.484130859375, 151.938232421875, 157.93701171875, 163.439697265625, 168.42431640625, 172.8876953125, 176.842041015625, 180.3125, 183.33154296875, 185.938720703125, 188.175048828125, 190.08251953125, 191.701171875
 REMAPPING_SCHEME = "PPM_H4"     ! default = "PLM"
                                 ! This sets the reconstruction scheme used for vertical remapping for all
@@ -226,12 +280,10 @@ INIT_LAYERS_FROM_Z_FILE = True  !   [Boolean] default = False
                                 ! Z-space file on a latitude-longitude grid.

 ! === module MOM_initialize_layers_from_Z ===
-TEMP_SALT_Z_INIT_FILE = "ocean_temp_salt.res.nc" ! default = "temp_salt_z.nc"
+TEMP_SALT_Z_INIT_FILE = "./INPUT/woa23_ts_01_mom.nc" ! default = "temp_salt_z.nc"
                                 ! The name of the z-space input file used to initialize temperatures (T) and
                                 ! salinities (S). If T and S are not in the same file, TEMP_Z_INIT_FILE and
                                 ! SALT_Z_INIT_FILE must be set.
-Z_INIT_FILE_PTEMP_VAR = "temp"  ! default = "ptemp"
-                                ! The name of the potential temperature variable in TEMP_Z_INIT_FILE.
 Z_INIT_ALE_REMAPPING = True     !   [Boolean] default = False
                                 ! If True, then remap straight to model coordinate from file.
 Z_INIT_REMAP_GENERAL = True     !   [Boolean] default = False
@@ -241,24 +293,16 @@ TEMP_SALT_INIT_VERTICAL_REMAP_ONLY = True !   [Boolean] default = False
                                 ! If true, initial conditions are on the model horizontal grid. Extrapolation
                                 ! over missing ocean values is done using an ICE-9 procedure with vertical ALE
                                 ! remapping .
-Z_INIT_REMAPPING_USE_OM4_SUBCELLS = False !   [Boolean] default = True
-                                ! If true, use the OM4 remapping-via-subcells algorithm for initialization. See
-                                ! REMAPPING_USE_OM4_SUBCELLS for more details. We recommend setting this option
-                                ! to false.

 ! === module MOM_diag_mediator ===
 NUM_DIAG_COORDS = 2             ! default = 1
                                 ! The number of diagnostic vertical coordinates to use. For each coordinate, an
                                 ! entry in DIAG_COORDS must be provided.
-DIAG_REMAPPING_USE_OM4_SUBCELLS = False !   [Boolean] default = True
-                                ! If true, use the OM4 remapping-via-subcells algorithm for diagnostics. See
-                                ! REMAPPING_USE_OM4_SUBCELLS for details. We recommend setting this option to
-                                ! false.
 DIAG_COORDS = "z Z ZSTAR", "rho2 RHO2 RHO" !
                                 ! A list of string tuples associating diag_table modules to a coordinate
                                 ! definition used for diagnostics. Each string is of the form
                                 ! "MODULE_SUFFIX,PARAMETER_SUFFIX,COORDINATE_NAME".
-DIAG_COORD_DEF_Z = "FILE:ocean_vgrid.nc,interfaces=zeta" ! default = "WOA09"
+DIAG_COORD_DEF_Z = "FILE:./INPUT/ocean_vgrid.nc,interfaces=zeta" ! default = "WOA09"
                                 ! Determines how to specify the coordinate resolution. Valid options are:
                                 !  PARAM       - use the vector-parameter DIAG_COORD_RES_Z
                                 !  UNIFORM[:N] - uniformly distributed
@@ -272,13 +316,23 @@ DIAG_COORD_DEF_Z = "FILE:ocean_vgrid.nc,interfaces=zeta" ! default = "WOA09"
                                 !  FNC1:string - FNC1:dz_min,H_total,power,precision
                                 !  HYBRID:string - read from a file. The string specifies
                                 !                the filename and two variable names, separated
-                                !                by a comma or space, for sigma-2 and dz. e.g.
-                                !                HYBRID:vgrid.nc,sigma2,dz
-REGRIDDING_ANSWER_DATE = 99991231 ! default = 20181231
-                                ! The vintage of the expressions and order of arithmetic to use for regridding.
-                                ! Values below 20190101 result in the use of older, less accurate expressions
-                                ! that were in use at the end of 2018.  Higher values result in the use of more
-                                ! robust and accurate forms of mathematically equivalent expressions.
+                                !                by a comma or space, for sigma-2 and dz.
+                                !                e.g. HYBRID:vgrid.nc,sigma2,dz
+                                !  HYBRID_3D:string - read from a file. The string specifies
+                                !                the filename and two 3D variable names, separated
+                                !                by a comma or space, for sigma-2 and dz. The
+                                !                latter can be FNC1:string which is used everywhere.
+                                !                e.g. HYBRID_3D:vgrid.nc,sigma2,dz
+                                !  HYBRID_MAP:string - read from a file. The string specifies
+                                !                the filename and three variable names, separated
+                                !                by a comma or space, for map, sigma-2 and dz.
+                                !                Map is a spatial index array with, maxval(map)=N,
+                                !                and the others are 2D arrays containing N profiles.
+                                !                Map typically contains integer values, but it can
+                                !                contain real values, I+w, which imply using
+                                !                the weighted sum of profiles I and I+1.
+                                !                Dz can be FNC1:string which is used everywhere.
+                                !                e.g. HYBRID_MAP:vgrid.nc,map,sigma2,dz
 DIAG_COORD_DEF_RHO2 = "RFNC1:76,999.5,1020.,1034.1,3.1,1041.,0.002" ! default = "WOA09"
                                 ! Determines how to specify the coordinate resolution. Valid options are:
                                 !  PARAM       - use the vector-parameter DIAG_COORD_RES_RHO2
@@ -293,35 +347,23 @@ DIAG_COORD_DEF_RHO2 = "RFNC1:76,999.5,1020.,1034.1,3.1,1041.,0.002" ! default =
                                 !  FNC1:string - FNC1:dz_min,H_total,power,precision
                                 !  HYBRID:string - read from a file. The string specifies
                                 !                the filename and two variable names, separated
-                                !                by a comma or space, for sigma-2 and dz. e.g.
-                                !                HYBRID:vgrid.nc,sigma2,dz
-
-! === module MOM_MEKE ===
-USE_MEKE = True                 !   [Boolean] default = False
-                                ! If true, turns on the MEKE scheme which calculates a sub-grid mesoscale eddy
-                                ! kinetic energy budget.
-MEKE_GMCOEFF = 1.0              !   [nondim] default = -1.0
-                                ! The efficiency of the conversion of potential energy into MEKE by the
-                                ! thickness mixing parameterization. If MEKE_GMCOEFF is negative, this
-                                ! conversion is not used or calculated.
-MEKE_BGSRC = 1.0E-13            !   [W kg-1] default = 0.0
-                                ! A background energy source for MEKE.
-MEKE_KHTH_FAC = 0.5             !   [nondim] default = 0.0
-                                ! A factor that maps MEKE%Kh to KhTh.
-MEKE_KHTR_FAC = 0.5             !   [nondim] default = 0.0
-                                ! A factor that maps MEKE%Kh to KhTr.
-MEKE_KHMEKE_FAC = 1.0           !   [nondim] default = 0.0
-                                ! A factor that maps MEKE%Kh to Kh for MEKE itself.
-MEKE_VISCOSITY_COEFF_KU = 1.0   !   [nondim] default = 0.0
-                                ! If non-zero, is the scaling coefficient in the expression forviscosity used to
-                                ! parameterize harmonic lateral momentum mixing byunresolved eddies represented
-                                ! by MEKE. Can be negative torepresent backscatter from the unresolved eddies.
-MEKE_ALPHA_RHINES = 0.15        !   [nondim] default = 0.0
-                                ! If positive, is a coefficient weighting the Rhines scale in the expression for
-                                ! mixing length used in MEKE-derived diffusivity.
-MEKE_ALPHA_EADY = 0.15          !   [nondim] default = 0.0
-                                ! If positive, is a coefficient weighting the Eady length scale in the
-                                ! expression for mixing length used in MEKE-derived diffusivity.
+                                !                by a comma or space, for sigma-2 and dz.
+                                !                e.g. HYBRID:vgrid.nc,sigma2,dz
+                                !  HYBRID_3D:string - read from a file. The string specifies
+                                !                the filename and two 3D variable names, separated
+                                !                by a comma or space, for sigma-2 and dz. The
+                                !                latter can be FNC1:string which is used everywhere.
+                                !                e.g. HYBRID_3D:vgrid.nc,sigma2,dz
+                                !  HYBRID_MAP:string - read from a file. The string specifies
+                                !                the filename and three variable names, separated
+                                !                by a comma or space, for map, sigma-2 and dz.
+                                !                Map is a spatial index array with, maxval(map)=N,
+                                !                and the others are 2D arrays containing N profiles.
+                                !                Map typically contains integer values, but it can
+                                !                contain real values, I+w, which imply using
+                                !                the weighted sum of profiles I and I+1.
+                                !                Dz can be FNC1:string which is used everywhere.
+                                !                e.g. HYBRID_MAP:vgrid.nc,map,sigma2,dz

 ! === module MOM_lateral_mixing_coeffs ===
 USE_VARIABLE_MIXING = True      !   [Boolean] default = False
@@ -345,14 +387,10 @@ USE_STORED_SLOPES = True        !   [Boolean] default = False
                                 ! If true, the isopycnal slopes are calculated once and stored for re-use. This
                                 ! uses more memory but avoids calling the equation of state more times than
                                 ! should be necessary.
-KH_RES_FN_POWER = 100           ! default = 2
+KH_RES_FN_POWER = 3             ! default = 2
                                 ! The power of dx/Ld in the Kh resolution function.  Any positive integer may be
                                 ! used, although even integers are more efficient to calculate.  Setting this
                                 ! greater than 100 results in a step-function being used.
-EBT_REMAPPING_USE_OM4_SUBCELLS = False !   [Boolean] default = True
-                                ! If true, use the OM4 remapping-via-subcells algorithm for calculating EBT
-                                ! structure. See REMAPPING_USE_OM4_SUBCELLS for details. We recommend setting
-                                ! this option to false.

 ! === module MOM_set_visc ===
 CHANNEL_DRAG = True             !   [Boolean] default = False
@@ -390,11 +428,6 @@ FGNV_FILTER_SCALE = 0.1         !   [nondim] default = 1.0
                                 ! streamfunction formulation.

 ! === module MOM_dynamics_split_RK2 ===
-VISC_REM_BUG = False            !   [Boolean] default = True
-                                ! If true, visc_rem_[uv] in split mode is incorrectly calculated or accounted
-                                ! for in two places. This parameter controls the defaults of two individual
-                                ! flags, VISC_REM_TIMESTEP_BUG in MOM_dynamics_split_RK2(b) and
-                                ! VISC_REM_BT_WEIGHT_BUG in MOM_barotropic.

 ! === module MOM_continuity_PPM ===
 ETA_TOLERANCE = 1.0E-06         !   [m] default = 3.75E-09
@@ -403,8 +436,23 @@ ETA_TOLERANCE = 1.0E-06         !   [m] default = 3.75E-09
                                 ! total tolerance for SSH is 4 times this value.  The default is
                                 ! 0.5*NK*ANGSTROM, and this should not be set less than about
                                 ! 10^-15*MAXIMUM_DEPTH.
+VELOCITY_TOLERANCE = 1.0E-04    !   [m s-1] default = 3.0E+08
+                                ! The tolerance for barotropic velocity discrepancies between the barotropic
+                                ! solution and  the sum of the layer thicknesses.

 ! === module MOM_CoriolisAdv ===
+CORIOLIS_SCHEME = "SADOURNY75_ENSTRO" ! default = "SADOURNY75_ENERGY"
+                                ! CORIOLIS_SCHEME selects the discretization for the Coriolis terms. Valid
+                                ! values are:
+                                !    SADOURNY75_ENERGY - Sadourny, 1975; energy cons.
+                                !    ARAKAWA_HSU90     - Arakawa & Hsu, 1990
+                                !    SADOURNY75_ENSTRO - Sadourny, 1975; enstrophy cons.
+                                !    ARAKAWA_LAMB81    - Arakawa & Lamb, 1981; En. + Enst.
+                                !    ARAKAWA_LAMB_BLEND - A blend of Arakawa & Lamb with
+                                !                         Arakawa & Hsu and Sadourny energy
+                                !    WENOVI5TH_PV_ENSTRO   - 5th-order WENO PV enstrophy
+                                !    WENOVI3RD_PV_ENSTRO   - 3rd-order WENO PV enstrophy
+                                !    WENOVI7TH_PV_ENSTRO  - 7th-order WENO PV enstrophy
 BOUND_CORIOLIS = True           !   [Boolean] default = False
                                 ! If true, the Coriolis terms at u-points are bounded by the four estimates of
                                 ! (f+rv)v from the four neighboring v-points, and similarly at v-points.  This
@@ -436,26 +484,13 @@ AH_VEL_SCALE = 0.01             !   [m s-1] default = 0.0
                                 ! scaled viscosity, the Smagorinsky and Leith viscosities, and AH.
 SMAGORINSKY_AH = True           !   [Boolean] default = False
                                 ! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity.
-BACKSCATTER_UNDERBOUND = False  !   [Boolean] default = True
-                                ! If true, the bounds on the biharmonic viscosity are allowed to increase where
-                                ! the Laplacian viscosity is negative (due to backscatter parameterizations)
-                                ! beyond the largest timestep-dependent stable values of biharmonic viscosity
-                                ! when no Laplacian viscosity is applied.  The default is true for historical
-                                ! reasons, but this option probably should not be used because it can contribute
-                                ! to numerical instabilities.
 SMAG_BI_CONST = 0.06            !   [nondim] default = 0.0
                                 ! The nondimensional biharmonic Smagorinsky constant, typically 0.015 - 0.06.
-FRICTWORK_BUG = False           !   [Boolean] default = True
-                                ! If true, retain an answer-changing bug in calculating the FrictWork, which
-                                ! cancels the h in thickness flux and the h at velocity point. This isnot
-                                ! recommended.

 ! === module MOM_vert_friction ===
 HMIX_FIXED = 0.5                !   [m]
                                 ! The prescribed depth over which the near-surface viscosity and diffusivity are
                                 ! elevated when the bulk mixed layer is not used.
-MAXVEL = 6.0                    !   [m s-1] default = 3.0E+08
-                                ! The maximum velocity allowed before the velocity components are truncated.
 CFL_TRUNCATE_RAMP_TIME = 7200.0 !   [s] default = 0.0
                                 ! The time over which the CFL truncation value is ramped up at the beginning of
                                 ! the run.
@@ -514,13 +549,10 @@ MIN_WSTAR2 = 1.0E-09            !   [m2 s-2] default = 1.0E-24
 MLE_USE_PBL_MLD = True          !   [Boolean] default = False
                                 ! If true, the MLE parameterization will use the mixed-layer depth provided by
                                 ! the active PBL parameterization. If false, MLE will estimate a MLD based on a
-                                ! density difference with the surface using the parameter MLE_DENSITY_DIFF.
+                                ! density difference with the surface using the parameter MLE_DENSITY_DIFF,
+                                ! unless BODNER_DETECT_MLD is true.

 ! === module MOM_diagnostics ===
-INTWAVE_REMAPPING_USE_OM4_SUBCELLS = False !   [Boolean] default = True
-                                ! If true, use the OM4 remapping-via-subcells algorithm for calculating EBT
-                                ! structure. See REMAPPING_USE_OM4_SUBCELLS for details. We recommend setting
-                                ! this option to false.

 ! === module MOM_diabatic_driver ===
 ! The following parameters are used for diabatic processes.
@@ -562,7 +594,10 @@ TKE_ITIDE_MAX = 0.1             !   [W m-2] default = 1000.0
 READ_TIDEAMP = True             !   [Boolean] default = False
                                 ! If true, read a file (given by TIDEAMP_FILE) containing the tidal amplitude
                                 ! with INT_TIDE_DISSIPATION.
-H2_FILE = "bottom_roughness.nc" !
+TIDEAMP_FILE = "./INPUT/tideamp.nc" ! default = "tideamp.nc"
+                                ! The path to the file containing the spatially varying tidal amplitudes with
+                                ! INT_TIDE_DISSIPATION.
+H2_FILE = "./INPUT/bottom_roughness.nc" !
                                 ! The path to the file containing the sub-grid-scale topographic roughness
                                 ! amplitude with INT_TIDE_DISSIPATION.
 BBL_EFFIC = 0.01                !   [nondim] default = 0.2
@@ -624,6 +659,19 @@ PRESSURE_DEPENDENT_FRAZIL = True !   [Boolean] default = False
                                 ! If true, use a pressure dependent freezing temperature when making frazil. The
                                 ! default is false, which will be faster but is inappropriate with ice-shelf
                                 ! cavities.
+DO_RIVERMIX = True              !   [Boolean] default = False
+                                ! If true, apply additional mixing wherever there is runoff, so that it is mixed
+                                ! down to RIVERMIX_DEPTH if the ocean is that deep.
+RIVERMIX_DEPTH = 40.0           !   [m] default = 0.0
+                                ! The depth to which rivers are mixed if DO_RIVERMIX is defined.
+VAR_PEN_SW = True               !   [Boolean] default = False
+                                ! If true, use one of the CHL_A schemes specified by OPACITY_SCHEME to determine
+                                ! the e-folding depth of incoming short wave radiation.
+CHL_FILE = "./INPUT/chl_globcolour_monthly_clim.nc" !
+                                ! CHL_FILE is the file containing chl_a concentrations in the variable CHL_A. It
+                                ! is used when VAR_PEN_SW and CHL_FROM_FILE are true.
+CHL_VARNAME = "CHL"             ! default = "CHL_A"
+                                ! Name of CHL_A variable in CHL_FILE.

 ! === module MOM_energetic_PBL ===
 ML_OMEGA_FRAC = 0.001           !   [nondim] default = 0.0
@@ -640,10 +688,10 @@ EPBL_MSTAR_SCHEME = "OM4"       ! default = "CONSTANT"
                                 !    REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018.
 MSTAR_CAP = 1.25                !   [nondim] default = -1.0
                                 ! If this value is positive, it sets the maximum value of mstar allowed in ePBL.
-                                ! (This is not used if EPBL_MSTAR_SCHEME = CONSTANT).
+                                ! (This is not used if EPBL_mstar_scheme = CONSTANT).
 MSTAR2_COEF1 = 0.29             !   [nondim] default = 0.3
                                 ! Coefficient in computing mstar when rotation and stabilizing effects are both
-                                ! important (used if EPBL_MSTAR_SCHEME = OM4).
+                                ! important (used if EPBL_mstar_scheme = OM4).
 MSTAR2_COEF2 = 0.152            !   [nondim] default = 0.085
                                 ! Coefficient in computing mstar when only rotation limits the total mixing
                                 ! (used if EPBL_MSTAR_SCHEME = OM4)
@@ -670,12 +718,12 @@ EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE"
                                 !    NONE     - Do not do any extra mixing due to Langmuir turbulence
                                 !    RESCALE  - Use a multiplicative rescaling of mstar to account for Langmuir
                                 !      turbulence
-                                !    ADDITIVE - Add a Langmuir turblence contribution to mstar to other
+                                !    ADDITIVE - Add a Langmuir turbulence contribution to mstar to other
                                 !      contributions
 LT_ENHANCE_COEF = 0.044         !   [nondim] default = 0.447
                                 ! Coefficient for Langmuir enhancement of mstar
 LT_ENHANCE_EXP = -1.5           !   [nondim] default = -1.33
-                                ! Exponent for Langmuir enhancementt of mstar
+                                ! Exponent for Langmuir enhancement of mstar
 LT_MOD_LAC1 = 0.0               !   [nondim] default = -0.87
                                 ! Coefficient for modification of Langmuir number due to MLD approaching Ekman
                                 ! depth.
@@ -687,11 +735,8 @@ LT_MOD_LAC5 = 0.22              !   [nondim] default = 0.95
                                 ! unstable Obukhov depth.

 ! === module MOM_opacity ===
-PEN_SW_SCALE = 15.0             !   [m] default = 0.0
-                                ! The vertical absorption e-folding depth of the penetrating shortwave
-                                ! radiation.
-PEN_SW_FRAC = 0.42              !   [nondim] default = 0.0
-                                ! The fraction of the shortwave radiation that penetrates below the surface.
+PEN_SW_NBANDS = 3               ! default = 1
+                                ! The number of bands of penetrating shortwave radiation.

 ! === module MOM_tracer_advect ===
 TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM"
@@ -701,12 +746,14 @@ TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM"
                                 !   PPM    - Piecewise Parabolic Method (Colella-Woodward)

 ! === module MOM_tracer_hor_diff ===
-KHTR = 50.0                     !   [m2 s-1] default = 0.0
-                                ! The background along-isopycnal tracer diffusivity.
 CHECK_DIFFUSIVE_CFL = True      !   [Boolean] default = False
                                 ! If true, use enough iterations the diffusion to ensure that the diffusive
                                 ! equivalent of the CFL limit is not violated.  If false, always use the greater
                                 ! of 1 or MAX_TR_DIFFUSION_CFL iteration.
+MAX_TR_DIFFUSION_CFL = 2.0      !   [nondim] default = -1.0
+                                ! If positive, locally limit the along-isopycnal tracer diffusivity to keep the
+                                ! diffusive CFL locally at or below this value.  The number of diffusive
+                                ! iterations is often this value or the next greater integer.

 ! === module MOM_neutral_diffusion ===
 ! This module implements neutral diffusion of tracers
@@ -718,6 +765,8 @@ MAXTRUNC = 10000                !   [truncations save_interval-1] default = 0
                                 ! The run will be stopped, and the day set to a very large value if the velocity
                                 ! is truncated more than MAXTRUNC times between energy saves.  Set MAXTRUNC to 0
                                 ! to stop if there is any truncation of velocities.
+MAXVEL = 6.0                    !   [m s-1] default = 3.0E+08
+                                ! The maximum velocity allowed before the velocity components are truncated.

 ! === module ocean_stochastics_init ===

@@ -738,23 +787,33 @@ LATENT_HEAT_FUSION = 3.337E+05  !   [J/kg] default = 3.34E+05
                                 ! The latent heat of fusion.
 LATENT_HEAT_VAPORIZATION = 2.501E+06 !   [J/kg] default = 2.5E+06
                                 ! The latent heat of fusion.
-ADJUST_NET_FRESH_WATER_TO_ZERO = True !   [Boolean] default = False
-                                ! If true, adjusts the net fresh-water forcing seen by the ocean (including
-                                ! restoring) to zero.
+ADJUST_NET_SRESTORE_BY_SCALING = True !   [Boolean] default = False
+                                ! If true, adjustments to salt restoring to achieve zero net are made by scaling
+                                ! values without moving the zero contour.
 WIND_STAGGER = "A"              ! default = "C"
                                 ! A case-insensitive character string to indicate the staggering of the input
                                 ! wind stress field.  Valid values are 'A', 'B', or 'C'.
+ENTHALPY_FROM_COUPLER = True    !   [Boolean] default = False
+                                ! If True, the heat (enthalpy) associated with mass entering/leaving the ocean
+                                ! is provided via coupler.
 FLUXCONST = 0.11                !   [m day-1] default = 0.0
                                 ! The constant that relates the restoring surface fluxes to the relative surface
                                 ! anomalies (akin to a piston velocity).  Note the non-MKS units.
-SALT_RESTORE_FILE = "salt_sfc_restore.nc" ! default = "salt_restore.nc"
+SALT_RESTORE_FILE = "./INPUT/salt_sfc_restore.nc" ! default = "salt_restore.nc"
                                 ! A file in which to find the surface salinity to use for restoring.
+SALT_RESTORE_VARIABLE = "asalt" ! default = "salt"
+                                ! The name of the surface salinity variable to read from SALT_RESTORE_FILE for
+                                ! restoring salinity.
 SRESTORE_AS_SFLUX = True        !   [Boolean] default = False
                                 ! If true, the restoring of salinity is applied as a salt flux instead of as a
                                 ! freshwater flux.
+MAX_DELTA_SRESTORE = 0.5        !   [PSU or g kg-1] default = 999.0
+                                ! The maximum salinity difference used in restoring terms.
 USE_RIGID_SEA_ICE = True        !   [Boolean] default = False
                                 ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that
                                 ! resist vertical motion.
 SEA_ICE_RIGID_MASS = 100.0      !   [kg m-2] default = 1000.0
                                 ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit
                                 ! rigidity
+
+! === module MOM_restart ===
diff --git a/auxiliary_input/MOM_channel_list b/auxiliary_input/MOM_channel_list
new file mode 100644
index 0000000..1f7a015
--- /dev/null
+++ b/auxiliary_input/MOM_channel_list
@@ -0,0 +1,11 @@
+! This file specifies restricted channel widths in MOM.  The order is:
+!  [U|V]_width, min_longitude, max_longitude, min_latitude, max_latitude, width
+! This is a modified version of
+! https://raw.githubusercontent.com/NOAA-GFDL/MOM6-examples/4e9bf1c22f4d6f267389711715b68b3f3f53eea9/ocean_only/tides_025/INPUT/MOM_channels_global_025
+
+! U_width,  -5.9,  -5.4, 35.8, 36.2,  12000.0  ! Gibraltar
+U_width,  26.3,  26.8, 40.2, 40.3,   5000.0  ! Dardanelles
+
+V_width,  28.8,  29.2, 41.0, 41.18,   1000.0  ! Bosporus - should be 1km wide.
+! V_width,  43.25, 43.5, 12.6, 12.8,  10000.0  ! Red Sea, Bab-el-Mendeb
+! V_width, 141.5, 141.7, 52.0,  52.15, 2500.0  ! Between Sakhalin & Russia
diff --git a/auxiliary_input/mask_table.3693.108x96 b/auxiliary_input/mask_table.3693.108x96
new file mode 100644
index 0000000..115819a
--- /dev/null
+++ b/auxiliary_input/mask_table.3693.108x96
@@ -0,0 +1,3703 @@
+3693
+108, 96
+# Created by ek4684 (ezhilsabareesh8) on 2026-10-08, using https://github.com/COSIMA/om3-scripts/blob/2fdd386544a34b3c7f6db2cb6d9deb13885bcc84//masktable_generation/gen_masktable.py: /g/data/xp65/public/apps/med_conda_scripts/analysis3-25.11.d/bin/python3 /g/data/tm70/ek4684/8km_grid_nj794_cutoff_2000/make_om3_topo/om3-scripts/masktable_generation/gen_masktable.py -g /g/data/vk83/prerelease/configurations/inputs/access-om3/share/grids/global.8km/2026.10.07/ocean_hgrid.nc -t /g/data/vk83/prerelease/configurations/inputs/access-om3/share/grids/global.8km/2026.10.08/topog.nc -l 108 96 -m mom6 -a
+# /g/data/vk83/prerelease/configurations/inputs/access-om3/share/grids/global.8km/2026.10.07/ocean_hgrid.nc (md5 hash: feb949b7042d7990633b92dc5f3b7e2b), /g/data/vk83/prerelease/configurations/inputs/access-om3/share/grids/global.8km/2026.10.08/topog.nc (md5 hash: a039b1fd9ac7ef4c41f48a0255630d01)
+#
+# Grid size: 4320 x 3360
+# periodx: 360.0
+# periody: unset (aperiodic)
+# Target model: mom6
+# mom6 compatibility check: OK
+1,1
+2,1
+3,1
+4,1
+5,1
+6,1
+7,1
+8,1
+9,1
+10,1
+11,1
+12,1
+13,1
+14,1
+15,1
+16,1
+17,1
+18,1
+19,1
+20,1
+21,1
+22,1
+23,1
+24,1
+25,1
+26,1
+27,1
+28,1
+29,1
+30,1
+31,1
+32,1
+33,1
+34,1
+35,1
+36,1
+37,1
+38,1
+39,1
+40,1
+41,1
+42,1
+43,1
+44,1
+45,1
+46,1
+47,1
+48,1
+49,1
+50,1
+51,1
+52,1
+53,1
+54,1
+55,1
+56,1
+57,1
+58,1
+59,1
+60,1
+61,1
+62,1
+63,1
+64,1
+65,1
+66,1
+67,1
+68,1
+69,1
+70,1
+71,1
+72,1
+73,1
+74,1
+75,1
+76,1
+77,1
+78,1
+79,1
+80,1
+81,1
+82,1
+83,1
+84,1
+85,1
+86,1
+87,1
+88,1
+89,1
+90,1
+91,1
+92,1
+93,1
+94,1
+95,1
+96,1
+97,1
+98,1
+99,1
+100,1
+101,1
+102,1
+103,1
+104,1
+105,1
+106,1
+107,1
+108,1
+1,2
+2,2
+3,2
+4,2
+5,2
+6,2
+7,2
+8,2
+9,2
+10,2
+11,2
+12,2
+13,2
+14,2
+15,2
+16,2
+17,2
+18,2
+19,2
+20,2
+21,2
+22,2
+23,2
+24,2
+25,2
+26,2
+27,2
+28,2
+29,2
+30,2
+31,2
+32,2
+33,2
+34,2
+35,2
+36,2
+37,2
+38,2
+39,2
+40,2
+41,2
+42,2
+43,2
+44,2
+45,2
+46,2
+47,2
+48,2
+49,2
+50,2
+51,2
+52,2
+53,2
+54,2
+55,2
+56,2
+57,2
+58,2
+59,2
+60,2
+61,2
+62,2
+63,2
+64,2
+65,2
+66,2
+67,2
+68,2
+69,2
+70,2
+71,2
+72,2
+73,2
+74,2
+75,2
+76,2
+77,2
+78,2
+79,2
+80,2
+81,2
+82,2
+83,2
+84,2
+85,2
+86,2
+87,2
+88,2
+89,2
+90,2
+91,2
+92,2
+93,2
+94,2
+95,2
+96,2
+97,2
+98,2
+99,2
+100,2
+101,2
+102,2
+103,2
+104,2
+105,2
+106,2
+107,2
+108,2
+1,3
+2,3
+3,3
+4,3
+5,3
+6,3
+7,3
+8,3
+9,3
+10,3
+11,3
+12,3
+13,3
+14,3
+15,3
+16,3
+17,3
+18,3
+19,3
+20,3
+21,3
+22,3
+23,3
+24,3
+25,3
+26,3
+27,3
+28,3
+29,3
+30,3
+31,3
+32,3
+33,3
+34,3
+35,3
+36,3
+37,3
+38,3
+39,3
+40,3
+41,3
+42,3
+43,3
+44,3
+45,3
+46,3
+47,3
+48,3
+49,3
+50,3
+51,3
+52,3
+53,3
+54,3
+55,3
+56,3
+57,3
+58,3
+59,3
+60,3
+61,3
+62,3
+63,3
+64,3
+65,3
+66,3
+67,3
+68,3
+69,3
+70,3
+71,3
+72,3
+73,3
+74,3
+75,3
+76,3
+77,3
+78,3
+79,3
+80,3
+81,3
+82,3
+83,3
+84,3
+85,3
+86,3
+87,3
+88,3
+89,3
+90,3
+91,3
+92,3
+93,3
+94,3
+95,3
+96,3
+97,3
+98,3
+99,3
+100,3
+101,3
+102,3
+103,3
+104,3
+105,3
+106,3
+107,3
+108,3
+1,4
+2,4
+3,4
+4,4
+5,4
+6,4
+7,4
+8,4
+9,4
+10,4
+11,4
+12,4
+13,4
+14,4
+15,4
+16,4
+17,4
+18,4
+19,4
+20,4
+21,4
+22,4
+23,4
+24,4
+25,4
+26,4
+27,4
+28,4
+29,4
+30,4
+31,4
+32,4
+33,4
+34,4
+35,4
+36,4
+37,4
+38,4
+39,4
+40,4
+41,4
+42,4
+43,4
+44,4
+45,4
+46,4
+47,4
+48,4
+49,4
+50,4
+51,4
+52,4
+53,4
+54,4
+55,4
+56,4
+57,4
+58,4
+59,4
+60,4
+61,4
+62,4
+63,4
+64,4
+65,4
+66,4
+67,4
+68,4
+69,4
+70,4
+71,4
+72,4
+73,4
+74,4
+75,4
+76,4
+77,4
+78,4
+79,4
+80,4
+81,4
+82,4
+83,4
+84,4
+85,4
+86,4
+87,4
+88,4
+89,4
+90,4
+91,4
+92,4
+93,4
+94,4
+95,4
+96,4
+97,4
+98,4
+99,4
+100,4
+101,4
+102,4
+103,4
+104,4
+105,4
+106,4
+107,4
+108,4
+1,5
+2,5
+3,5
+4,5
+5,5
+6,5
+7,5
+8,5
+9,5
+10,5
+11,5
+12,5
+13,5
+14,5
+15,5
+16,5
+17,5
+18,5
+19,5
+20,5
+21,5
+22,5
+23,5
+24,5
+25,5
+26,5
+27,5
+28,5
+29,5
+30,5
+31,5
+32,5
+33,5
+34,5
+35,5
+36,5
+37,5
+38,5
+39,5
+40,5
+41,5
+42,5
+43,5
+44,5
+45,5
+46,5
+47,5
+48,5
+49,5
+50,5
+51,5
+52,5
+53,5
+54,5
+55,5
+56,5
+57,5
+58,5
+59,5
+60,5
+61,5
+62,5
+63,5
+64,5
+65,5
+66,5
+67,5
+68,5
+69,5
+70,5
+71,5
+72,5
+73,5
+74,5
+75,5
+76,5
+77,5
+78,5
+79,5
+80,5
+81,5
+82,5
+83,5
+84,5
+85,5
+86,5
+87,5
+88,5
+89,5
+90,5
+91,5
+92,5
+93,5
+94,5
+95,5
+96,5
+97,5
+98,5
+99,5
+100,5
+101,5
+102,5
+103,5
+104,5
+105,5
+106,5
+107,5
+108,5
+1,6
+2,6
+3,6
+4,6
+5,6
+6,6
+7,6
+8,6
+9,6
+10,6
+11,6
+12,6
+13,6
+14,6
+15,6
+16,6
+17,6
+18,6
+19,6
+20,6
+21,6
+22,6
+23,6
+24,6
+25,6
+26,6
+27,6
+28,6
+29,6
+30,6
+31,6
+32,6
+33,6
+34,6
+35,6
+36,6
+37,6
+38,6
+39,6
+40,6
+41,6
+42,6
+43,6
+44,6
+45,6
+46,6
+47,6
+48,6
+49,6
+50,6
+51,6
+52,6
+53,6
+54,6
+55,6
+56,6
+57,6
+58,6
+59,6
+60,6
+61,6
+62,6
+63,6
+64,6
+65,6
+66,6
+67,6
+68,6
+69,6
+70,6
+71,6
+72,6
+73,6
+74,6
+75,6
+76,6
+77,6
+78,6
+79,6
+80,6
+81,6
+82,6
+83,6
+84,6
+85,6
+86,6
+87,6
+88,6
+89,6
+90,6
+91,6
+92,6
+93,6
+94,6
+95,6
+96,6
+97,6
+98,6
+99,6
+100,6
+101,6
+102,6
+103,6
+104,6
+105,6
+106,6
+107,6
+108,6
+1,7
+2,7
+3,7
+4,7
+5,7
+6,7
+7,7
+8,7
+9,7
+10,7
+11,7
+12,7
+13,7
+14,7
+15,7
+16,7
+17,7
+18,7
+19,7
+20,7
+21,7
+22,7
+23,7
+24,7
+25,7
+26,7
+27,7
+28,7
+29,7
+30,7
+31,7
+32,7
+33,7
+34,7
+35,7
+36,7
+37,7
+38,7
+39,7
+40,7
+41,7
+42,7
+43,7
+44,7
+45,7
+46,7
+47,7
+48,7
+49,7
+50,7
+51,7
+52,7
+53,7
+54,7
+55,7
+56,7
+57,7
+58,7
+59,7
+60,7
+61,7
+62,7
+63,7
+64,7
+65,7
+66,7
+67,7
+68,7
+69,7
+70,7
+71,7
+72,7
+73,7
+74,7
+75,7
+76,7
+77,7
+78,7
+79,7
+80,7
+81,7
+82,7
+83,7
+84,7
+85,7
+86,7
+87,7
+88,7
+89,7
+90,7
+91,7
+92,7
+93,7
+94,7
+95,7
+96,7
+97,7
+98,7
+99,7
+100,7
+101,7
+102,7
+103,7
+104,7
+105,7
+106,7
+107,7
+108,7
+1,8
+2,8
+3,8
+4,8
+5,8
+6,8
+7,8
+8,8
+9,8
+10,8
+11,8
+12,8
+13,8
+14,8
+15,8
+16,8
+17,8
+18,8
+19,8
+20,8
+21,8
+22,8
+23,8
+24,8
+25,8
+26,8
+27,8
+28,8
+29,8
+30,8
+31,8
+32,8
+33,8
+34,8
+35,8
+36,8
+37,8
+38,8
+39,8
+40,8
+41,8
+42,8
+43,8
+44,8
+45,8
+46,8
+47,8
+48,8
+49,8
+50,8
+51,8
+52,8
+53,8
+54,8
+55,8
+56,8
+57,8
+58,8
+59,8
+60,8
+61,8
+62,8
+63,8
+64,8
+65,8
+66,8
+67,8
+68,8
+69,8
+70,8
+71,8
+72,8
+73,8
+74,8
+75,8
+76,8
+77,8
+78,8
+79,8
+80,8
+81,8
+82,8
+83,8
+84,8
+85,8
+86,8
+87,8
+88,8
+89,8
+90,8
+91,8
+92,8
+93,8
+94,8
+95,8
+96,8
+97,8
+98,8
+99,8
+100,8
+101,8
+102,8
+103,8
+104,8
+105,8
+106,8
+107,8
+108,8
+1,9
+2,9
+3,9
+4,9
+5,9
+6,9
+7,9
+8,9
+9,9
+10,9
+11,9
+12,9
+13,9
+14,9
+15,9
+16,9
+17,9
+18,9
+19,9
+20,9
+21,9
+22,9
+23,9
+24,9
+25,9
+26,9
+27,9
+28,9
+29,9
+30,9
+31,9
+32,9
+33,9
+34,9
+35,9
+36,9
+37,9
+38,9
+39,9
+40,9
+41,9
+42,9
+43,9
+44,9
+45,9
+46,9
+47,9
+48,9
+49,9
+50,9
+51,9
+52,9
+53,9
+54,9
+55,9
+56,9
+57,9
+58,9
+59,9
+60,9
+61,9
+62,9
+63,9
+64,9
+65,9
+66,9
+67,9
+68,9
+69,9
+70,9
+71,9
+72,9
+73,9
+74,9
+75,9
+76,9
+77,9
+78,9
+79,9
+80,9
+81,9
+82,9
+83,9
+84,9
+85,9
+86,9
+87,9
+88,9
+89,9
+90,9
+91,9
+92,9
+93,9
+94,9
+95,9
+96,9
+97,9
+98,9
+99,9
+100,9
+101,9
+102,9
+103,9
+104,9
+105,9
+106,9
+107,9
+108,9
+1,10
+2,10
+3,10
+4,10
+5,10
+6,10
+7,10
+8,10
+9,10
+10,10
+11,10
+12,10
+13,10
+14,10
+15,10
+16,10
+17,10
+18,10
+19,10
+20,10
+21,10
+22,10
+23,10
+24,10
+25,10
+26,10
+27,10
+28,10
+29,10
+30,10
+31,10
+32,10
+33,10
+34,10
+35,10
+36,10
+37,10
+38,10
+39,10
+40,10
+41,10
+42,10
+43,10
+44,10
+45,10
+46,10
+47,10
+48,10
+49,10
+50,10
+51,10
+52,10
+53,10
+54,10
+55,10
+56,10
+57,10
+58,10
+59,10
+60,10
+61,10
+62,10
+63,10
+64,10
+65,10
+66,10
+67,10
+68,10
+69,10
+70,10
+71,10
+72,10
+73,10
+74,10
+75,10
+76,10
+77,10
+78,10
+79,10
+80,10
+81,10
+82,10
+83,10
+84,10
+85,10
+86,10
+87,10
+88,10
+89,10
+90,10
+91,10
+92,10
+93,10
+94,10
+95,10
+96,10
+97,10
+98,10
+99,10
+100,10
+101,10
+102,10
+103,10
+104,10
+105,10
+106,10
+107,10
+108,10
+1,11
+2,11
+3,11
+4,11
+5,11
+6,11
+7,11
+8,11
+9,11
+10,11
+11,11
+12,11
+13,11
+14,11
+15,11
+16,11
+17,11
+18,11
+19,11
+20,11
+21,11
+22,11
+23,11
+24,11
+25,11
+28,11
+29,11
+30,11
+37,11
+38,11
+39,11
+40,11
+41,11
+42,11
+43,11
+44,11
+45,11
+46,11
+47,11
+48,11
+49,11
+50,11
+51,11
+52,11
+53,11
+54,11
+55,11
+56,11
+57,11
+58,11
+59,11
+60,11
+61,11
+62,11
+63,11
+64,11
+65,11
+66,11
+67,11
+68,11
+69,11
+70,11
+72,11
+75,11
+76,11
+77,11
+78,11
+79,11
+80,11
+81,11
+82,11
+83,11
+84,11
+85,11
+86,11
+87,11
+88,11
+89,11
+90,11
+91,11
+92,11
+93,11
+94,11
+95,11
+96,11
+97,11
+98,11
+99,11
+100,11
+101,11
+102,11
+103,11
+104,11
+105,11
+106,11
+107,11
+108,11
+1,12
+2,12
+3,12
+4,12
+5,12
+6,12
+7,12
+8,12
+9,12
+10,12
+11,12
+12,12
+13,12
+14,12
+15,12
+16,12
+17,12
+18,12
+19,12
+20,12
+21,12
+22,12
+23,12
+24,12
+38,12
+39,12
+40,12
+41,12
+42,12
+43,12
+44,12
+45,12
+46,12
+47,12
+48,12
+49,12
+50,12
+51,12
+52,12
+53,12
+54,12
+55,12
+56,12
+57,12
+58,12
+59,12
+60,12
+61,12
+62,12
+63,12
+64,12
+65,12
+66,12
+67,12
+68,12
+75,12
+76,12
+77,12
+78,12
+79,12
+80,12
+81,12
+82,12
+83,12
+84,12
+85,12
+86,12
+87,12
+88,12
+89,12
+90,12
+91,12
+92,12
+93,12
+94,12
+95,12
+96,12
+97,12
+98,12
+99,12
+100,12
+101,12
+102,12
+103,12
+104,12
+105,12
+106,12
+107,12
+108,12
+1,13
+2,13
+3,13
+4,13
+5,13
+6,13
+7,13
+8,13
+9,13
+10,13
+11,13
+12,13
+13,13
+14,13
+15,13
+16,13
+17,13
+18,13
+19,13
+20,13
+21,13
+22,13
+23,13
+24,13
+41,13
+42,13
+43,13
+44,13
+45,13
+46,13
+47,13
+48,13
+49,13
+50,13
+51,13
+52,13
+53,13
+54,13
+55,13
+56,13
+57,13
+58,13
+59,13
+60,13
+61,13
+62,13
+63,13
+64,13
+65,13
+66,13
+67,13
+68,13
+76,13
+77,13
+78,13
+79,13
+80,13
+81,13
+82,13
+83,13
+84,13
+85,13
+86,13
+87,13
+88,13
+89,13
+90,13
+91,13
+92,13
+93,13
+94,13
+95,13
+96,13
+97,13
+98,13
+99,13
+100,13
+101,13
+102,13
+103,13
+104,13
+105,13
+106,13
+107,13
+108,13
+1,14
+2,14
+3,14
+4,14
+5,14
+6,14
+7,14
+8,14
+9,14
+10,14
+11,14
+12,14
+13,14
+14,14
+15,14
+16,14
+17,14
+18,14
+19,14
+20,14
+21,14
+22,14
+23,14
+24,14
+41,14
+42,14
+43,14
+44,14
+45,14
+46,14
+47,14
+48,14
+49,14
+50,14
+51,14
+52,14
+53,14
+54,14
+55,14
+56,14
+57,14
+58,14
+59,14
+60,14
+61,14
+62,14
+63,14
+64,14
+65,14
+66,14
+67,14
+78,14
+79,14
+80,14
+81,14
+82,14
+83,14
+84,14
+85,14
+86,14
+87,14
+88,14
+89,14
+90,14
+91,14
+92,14
+93,14
+94,14
+95,14
+96,14
+97,14
+98,14
+99,14
+100,14
+101,14
+102,14
+103,14
+104,14
+105,14
+106,14
+107,14
+108,14
+1,15
+2,15
+3,15
+4,15
+5,15
+6,15
+7,15
+8,15
+9,15
+10,15
+11,15
+12,15
+13,15
+14,15
+15,15
+16,15
+17,15
+18,15
+19,15
+20,15
+21,15
+22,15
+23,15
+24,15
+44,15
+45,15
+46,15
+47,15
+48,15
+49,15
+50,15
+51,15
+53,15
+54,15
+55,15
+56,15
+57,15
+58,15
+59,15
+60,15
+61,15
+62,15
+63,15
+64,15
+65,15
+78,15
+79,15
+80,15
+81,15
+82,15
+83,15
+84,15
+85,15
+86,15
+87,15
+88,15
+89,15
+90,15
+91,15
+92,15
+93,15
+94,15
+95,15
+96,15
+97,15
+98,15
+99,15
+100,15
+101,15
+102,15
+103,15
+104,15
+105,15
+106,15
+107,15
+108,15
+1,16
+2,16
+3,16
+4,16
+5,16
+6,16
+7,16
+8,16
+9,16
+10,16
+11,16
+12,16
+13,16
+14,16
+15,16
+16,16
+17,16
+18,16
+19,16
+20,16
+21,16
+22,16
+23,16
+24,16
+47,16
+48,16
+49,16
+50,16
+55,16
+56,16
+57,16
+58,16
+59,16
+60,16
+61,16
+62,16
+63,16
+64,16
+65,16
+79,16
+80,16
+81,16
+82,16
+83,16
+84,16
+85,16
+86,16
+87,16
+88,16
+89,16
+90,16
+91,16
+92,16
+93,16
+94,16
+95,16
+96,16
+97,16
+98,16
+99,16
+100,16
+101,16
+102,16
+103,16
+104,16
+105,16
+106,16
+107,16
+108,16
+1,17
+2,17
+3,17
+4,17
+5,17
+6,17
+7,17
+8,17
+9,17
+10,17
+11,17
+12,17
+13,17
+14,17
+15,17
+16,17
+17,17
+18,17
+19,17
+20,17
+21,17
+22,17
+23,17
+24,17
+25,17
+55,17
+56,17
+57,17
+58,17
+61,17
+62,17
+63,17
+64,17
+65,17
+79,17
+80,17
+81,17
+82,17
+83,17
+84,17
+85,17
+86,17
+87,17
+88,17
+89,17
+90,17
+91,17
+92,17
+93,17
+94,17
+95,17
+96,17
+97,17
+98,17
+99,17
+100,17
+101,17
+102,17
+103,17
+104,17
+105,17
+106,17
+107,17
+108,17
+1,18
+2,18
+3,18
+4,18
+5,18
+6,18
+7,18
+8,18
+9,18
+10,18
+11,18
+12,18
+13,18
+14,18
+15,18
+16,18
+17,18
+18,18
+19,18
+20,18
+21,18
+22,18
+23,18
+24,18
+25,18
+55,18
+56,18
+57,18
+64,18
+65,18
+80,18
+81,18
+82,18
+83,18
+84,18
+85,18
+86,18
+87,18
+88,18
+89,18
+90,18
+91,18
+92,18
+93,18
+94,18
+95,18
+96,18
+97,18
+98,18
+99,18
+100,18
+101,18
+102,18
+103,18
+104,18
+105,18
+106,18
+107,18
+108,18
+1,19
+2,19
+3,19
+4,19
+5,19
+6,19
+7,19
+8,19
+9,19
+10,19
+11,19
+12,19
+13,19
+14,19
+15,19
+16,19
+17,19
+18,19
+19,19
+20,19
+21,19
+22,19
+23,19
+24,19
+25,19
+26,19
+64,19
+65,19
+82,19
+83,19
+84,19
+85,19
+86,19
+87,19
+88,19
+89,19
+90,19
+91,19
+92,19
+93,19
+94,19
+95,19
+96,19
+97,19
+98,19
+99,19
+100,19
+101,19
+102,19
+103,19
+104,19
+105,19
+106,19
+107,19
+108,19
+1,20
+2,20
+3,20
+4,20
+5,20
+6,20
+7,20
+8,20
+9,20
+10,20
+11,20
+12,20
+13,20
+14,20
+15,20
+16,20
+17,20
+18,20
+19,20
+20,20
+21,20
+22,20
+23,20
+24,20
+25,20
+26,20
+64,20
+65,20
+82,20
+83,20
+84,20
+85,20
+86,20
+87,20
+88,20
+89,20
+90,20
+91,20
+92,20
+93,20
+94,20
+95,20
+96,20
+97,20
+98,20
+99,20
+100,20
+101,20
+102,20
+103,20
+104,20
+105,20
+106,20
+107,20
+108,20
+1,21
+2,21
+3,21
+4,21
+5,21
+6,21
+7,21
+8,21
+9,21
+10,21
+11,21
+12,21
+13,21
+14,21
+15,21
+16,21
+17,21
+18,21
+19,21
+20,21
+21,21
+22,21
+23,21
+24,21
+65,21
+89,21
+94,21
+95,21
+97,21
+98,21
+99,21
+100,21
+101,21
+102,21
+103,21
+104,21
+105,21
+106,21
+107,21
+108,21
+1,22
+2,22
+3,22
+4,22
+5,22
+6,22
+7,22
+8,22
+9,22
+10,22
+11,22
+12,22
+13,22
+14,22
+15,22
+16,22
+17,22
+18,22
+19,22
+20,22
+21,22
+22,22
+65,22
+97,22
+98,22
+99,22
+100,22
+101,22
+102,22
+103,22
+104,22
+105,22
+106,22
+2,23
+3,23
+4,23
+5,23
+6,23
+7,23
+8,23
+9,23
+10,23
+11,23
+12,23
+13,23
+14,23
+15,23
+16,23
+17,23
+18,23
+19,23
+99,23
+100,23
+101,23
+102,23
+103,23
+104,23
+5,24
+6,24
+7,24
+8,24
+10,24
+16,24
+17,24
+18,24
+63,35
+63,36
+63,37
+64,39
+64,40
+64,41
+65,41
+64,42
+65,42
+66,42
+19,43
+20,43
+21,43
+64,43
+65,43
+66,43
+12,44
+13,44
+19,44
+20,44
+21,44
+64,44
+65,44
+66,44
+67,44
+68,44
+91,44
+92,44
+12,45
+13,45
+14,45
+15,45
+16,45
+17,45
+18,45
+19,45
+20,45
+21,45
+64,45
+65,45
+66,45
+67,45
+68,45
+91,45
+92,45
+93,45
+12,46
+13,46
+14,46
+15,46
+16,46
+17,46
+18,46
+19,46
+20,46
+21,46
+64,46
+65,46
+66,46
+67,46
+68,46
+69,46
+90,46
+91,46
+92,46
+93,46
+12,47
+13,47
+14,47
+15,47
+16,47
+17,47
+18,47
+19,47
+20,47
+21,47
+64,47
+65,47
+66,47
+67,47
+68,47
+69,47
+90,47
+91,47
+92,47
+93,47
+13,48
+14,48
+15,48
+16,48
+17,48
+18,48
+19,48
+20,48
+64,48
+65,48
+66,48
+67,48
+68,48
+69,48
+70,48
+90,48
+91,48
+92,48
+93,48
+94,48
+15,49
+16,49
+17,49
+64,49
+65,49
+66,49
+67,49
+68,49
+69,49
+70,49
+71,49
+89,49
+90,49
+91,49
+92,49
+93,49
+94,49
+16,50
+64,50
+65,50
+66,50
+67,50
+68,50
+69,50
+70,50
+71,50
+72,50
+89,50
+90,50
+91,50
+92,50
+93,50
+94,50
+95,50
+63,51
+64,51
+65,51
+66,51
+67,51
+68,51
+69,51
+70,51
+71,51
+72,51
+90,51
+91,51
+92,51
+93,51
+94,51
+95,51
+96,51
+62,52
+63,52
+64,52
+65,52
+66,52
+67,52
+68,52
+69,52
+70,52
+71,52
+72,52
+90,52
+91,52
+92,52
+93,52
+94,52
+95,52
+62,53
+63,53
+64,53
+65,53
+66,53
+67,53
+68,53
+69,53
+70,53
+71,53
+72,53
+73,53
+90,53
+91,53
+92,53
+93,53
+94,53
+95,53
+62,54
+63,54
+64,54
+65,54
+66,54
+67,54
+68,54
+69,54
+70,54
+71,54
+72,54
+89,54
+90,54
+91,54
+92,54
+93,54
+94,54
+95,54
+62,55
+63,55
+64,55
+65,55
+66,55
+67,55
+68,55
+89,55
+90,55
+91,55
+92,55
+93,55
+94,55
+95,55
+96,55
+11,56
+62,56
+63,56
+64,56
+65,56
+66,56
+67,56
+68,56
+88,56
+89,56
+90,56
+91,56
+92,56
+93,56
+94,56
+95,56
+96,56
+62,57
+63,57
+64,57
+65,57
+66,57
+67,57
+89,57
+90,57
+91,57
+92,57
+93,57
+94,57
+95,57
+96,57
+97,57
+62,58
+63,58
+64,58
+65,58
+83,58
+87,58
+88,58
+89,58
+90,58
+91,58
+92,58
+93,58
+94,58
+95,58
+96,58
+97,58
+98,58
+82,59
+83,59
+84,59
+85,59
+86,59
+87,59
+88,59
+89,59
+90,59
+91,59
+92,59
+93,59
+94,59
+95,59
+96,59
+8,60
+81,60
+82,60
+83,60
+84,60
+85,60
+86,60
+87,60
+88,60
+89,60
+90,60
+91,60
+92,60
+93,60
+94,60
... (10967 more lines)
Check this on Gadi: the closest shared commit and tag
# WHAT THIS DOES: checks the 'Where are my friends?' section. It makes a temporary copy of access-
# om3-configs (the repository of released configurations), adds this run's history to it, and asks
# git which commits the two share. The newest shared commit is the run's closest 'friend'; git
# describe then names the nearest tag before it.
R=/g/data/tm70/cyb561/access-om3-runs/8k/MC_8km_jra_ryf-test2

# Step 1: a temporary copy of access-om3-configs (about 30 MB; deleted at the end)
T=$(mktemp -d)
git clone -q --bare https://github.com/ACCESS-NRI/access-om3-configs.git "$T/configs.git"

# Step 2: add this run's history to the copy (nothing is changed in the run's own folder)
git -c safe.directory='*' --git-dir="$T/configs.git" fetch -q "$R" +HEAD:refs/runs/this

# Step 3: the commits this run shares with any branch or tag (the lines starting with '-'), newest first
git --git-dir="$T/configs.git" rev-list --boundary refs/runs/this --not --branches --tags | grep '^-' \
  | cut -c2- | xargs -r git --git-dir="$T/configs.git" log --no-walk --format='%h %cI %s'

# Step 4: which branches contain the newest shared commit, and the nearest tag before it
S=8165f53
git --git-dir="$T/configs.git" branch --contains "$S"
git --git-dir="$T/configs.git" describe --tags --abbrev=0 "$S"

rm -rf "$T"   # remove the temporary copy