Checks ISMIP7 NetCDF simulation datasets for compliance with the ISMIP7 data request conventions, so that a submission can be corrected before it is archived rather than after. Point it at a directory of files and it writes a log saying, file by file, what is wrong and how serious it is.
Documentation: https://ismip.github.io/ISM_SimulationChecker/
conda create -n isschecker -c conda-forge isschecker
conda activate isschecker
ismip7-compliance-checker \
--source-path ./Models/GrIS/ISMIP7/SYNTH1/CORE/C001 \
--variable-list ismip7--variable-list is ismip7_xyt for the gridded variables, ismip7_scalars
for the time-only ones, or ismip7 for both. Findings are printed and written
to compliance_checker_log.txt in the --source-path directory, or in
--output-path if you give one. The checker exits non-zero if it found errors,
so it can be run from a script.
Every file is validated in five categories — naming, numerical values, spatial
grid, time axis, and attributes — against criteria that live in the data
request files bundled with the package,
isschecker/data/ISMIP7_variable_request.csv and
isschecker/data/experiments_ismip7.csv. Findings come at two severities:
an error means the file cannot be used as submitted, a warning means it
is usable but departs from what was asked for. Only errors change the exit
status.
| Getting started | install the checker, run it, and read the log |
| What the checker checks | the five categories, in detail |
| Errors and warnings | what each severity means, and the warnings you can quiet |
| Time encoding | the timestamps and bounds each variable type needs |
| The data request | units, value ranges and experiments, variable by variable |
| Developer guide | install from source, generate test files, run the tests, cut a release |
The pages are built from the docs/ directory of this repository; see
Building the documentation
to build them locally.
Problems and questions belong in the issue tracker. Pull requests are welcome; the developer guide covers the source install, the test suite and the release process.
Distributed under the MIT License; see LICENSE.