Development¶
Contributing Guide¶
Workflow¶
Work on feature branches from
develOpen PRs into
devel(notmain)Ensure all checks pass before merge
Pre-commit¶
Install hooks once:
pre-commit install
Run manually if needed:
pre-commit run --all-files
Releases¶
Releases are made from
develTag the release:
git tag vX.Y.Z
git push origin vX.Y.Z
Then open a PR from
devel→main
Notes¶
mainis release-onlyCI enforces formatting, typing, and versioning
Task List¶
Documentation – complete coverage
Unit testing – increase coverage
Add notebook examples
IO
PTerodaCTILES ??
UM PP files??
MUSIC dumps
Geometry
Integrate staggered and non-staggered grid interfaces
Implement derivatives as ?methods? on grids
Physics
Integrate with MONC_utils
Integrate SGS Fluxes analysis from P. Burns
Analysis tools
Add Histograms/PDFs and violin calculators
Enhance tensor invariant calculators
Add quadrant analysis support
SGS
Add a nonlinear model extensions
Generalise dynamic coefficient calculations
Optimize simultaneous calculation at multiple scales or contraction dims
Scripts
Add a primer for CLI usage
Changelog¶
All notable changes to this project are documented in this file.
[WIP]¶
Break backward compatibility¶
CLI
in sim_comparison/ref_comparison: rename
--plot_style_file->--plot_styles, as it can take a json string or a path to a json file. (#48)Read all fields when
requested_fieldsis empty (#40)
Added¶
update CLI:
Dynamic version arg and tags in the netCDF output
better non-interactive backend support (#48)
New
--skip_cloudsand--only_diffarguments
I/O:
Central read dispatcher (#33)
Accept string inputs (#42)
Custom field-names lookup for UM files with
default_field_names_dict(#48)
Debug utility for memory usage tracking
Updated packaging and test environment management
Enhanced GH Action workflows with stricter merge protections
Updated documentation
Fixes¶
turn geometry and diagnostics into sub-packages (#34)
dynamic versioning (instructions and docs)
enhancements to post_process
unify output filename convention
ref_comparison CLI: run with non-default plot_style
CLI plotting: add iterators for streaming figures to help memory optimization
[0.1.0] - 2025-08-22¶
Added¶
Auto-deployment of docs on GitHub pages (#28, #30)
packaging manager setuptools -> poetry (#27)
Apache 2.0 license (#24)
Dev tools: pre-commit hooks, ruff, pytest, tox, mypy (#19)
Extra diagnostics tools: (anistropy, spectra, profiles) with a CLI entrypoint (#9, #15)
New SGS models and upgraded CS calculation script (#4)
Fixes¶
temporary IO depependency change to netcdf4+h5netcdf (#16)
Refactor core modules, use Protocol, improve dynamic model logic (#5, #9, #15)
CLI entry points upgrades for CS generation and analysis (#2, #3, #4, #9)
Improved test coverage
Partial update of Readme and Docs
[0.0.1]¶
dynamic version
fixes to packaging and dependencies
upgrade IO support to xarray 2023.9
clean-up of main script
CS_calculations.py(exposed as a cli)