Contributing

Running the Tests

pytest

Most of the test suite runs anywhere. A handful of tests in tests/test_git_efficiency.py are marked benchmark and require a GLADE-mounted global grid (tx2_3v3) that is only available on NCAR HPC systems (e.g. Casper, Derecho). Those tests skip themselves automatically when that data isn’t present, so a plain pytest run is safe anywhere — no special flags are needed unless you want to specifically run and time them on an NCAR system:

pytest tests/test_git_efficiency.py -m benchmark -v -s

Building the Documentation

Regenerate the API Reference

Run from the repo root whenever modules are added or removed:

sphinx-apidoc -o docs/source/api mom6_forge --force

Note that sphinx-apidoc always emits .rst, even though the rest of the documentation is written in MyST Markdown — this is expected. Sphinx builds .rst and .md sources side by side.

Build HTML

sphinx-build -b html docs/source docs/_build

Output is written to docs/_build/. Open docs/_build/index.html to preview locally.