Developer guide¶
Guidance for contributing to the package and for maintaining its releases. If you only want to process a submission, you do not need any of this – see Getting started.
The repository is laid out like this:
ismip7_scalars/scalars.pythe processing pipeline and the
ismip7-scalarsentry point.ismip7_scalars/ensemble.pythe batch driver and the
ismip7-scalars-ensembleentry point.ismip7_scalars/naming.pythe ISMIP7 filename conventions, as pure functions.
ismip7_scalars/writers.pythe NetCDF and CSV output.
ismip7_scalars/params.pythe
params.ncwriter and theismip7-scalars-set-paramsentry point.ismip7_scalars/slc/the three sea-level methods, plus
slc_G2020_publas a cross-check.ismip7_scalars/paths.py,ismip7_scalars/variables.pywhere the data files come from, and the ISMIP7 data request lookup. The data request is read from
isschecker, not copied; see Where the conventions come from.ismip7_scalars/data/the CORE experiment table — this package’s own, unlike the data request.
tests/the test suite, including
synthetic.py, which writes the miniature submissions the integration tests run over.matlab/scalars.mthe MATLAB implementation of the same processing. See The MATLAB implementation.
manual-tests/what cannot run in CI – the Python/MATLAB comparison – and the MINI cases. See The MINI cases.
test-data/the committed MINI inputs.
docs/these pages.