The script checks the compliance of a simulation dataset according criteria, which are related to:
- naming conventions
- admissible numerical values,
- spatial definition of the grid which differs according to the ice sheet (AIS vs GIS),
- time recording dependent of the experiments.
The compliance criteria of output variables are defined in a separate csv file. The compliance criteria of experiments are directly defined as a dictionnary in the python file.
=> For ISMIP6 simulations, the criteria are following the conventions defined in the ISMIP6 wiki. The associated csv file is ismip6_criteria.csv
=> ISMIP6 2300 file name convention: check carrefully the section A2.1 File name convention of the ISMIP6 2300 wiki
The code has been developed with python 3.9 and the following modules:
- os
- xarray
- cftime
- numpy
- pandas
- datetime
- tqdm
=> Conda users can install the isscheck environnment with the YML file isschecker_env.yml.
-
Conda users: activate the isschecker environnement:
> conda activate isschecker
. For others, be sure that the dependencies specified in the YML file [isschecker_env.yml] (https://github.com/jbbarre/ISM_SimulationChecker/blob/main/isschecker_env.yml) are installed. -
In a terminal, run the script:
> python compliance_checker.py
. A progression bar appears in the terminal and shows the progression. -
Without any changes, the script checks the
test
directory, which contains a single file. After processing the check, open the compliance_checker_log.txt file created in thetest
directory. The compliance checker raises errors because the test data is just a short extraction of a complete dataset.
-
In compliance_checker.py, specify the path of the directory to check by changing the value of the variable source_path and change the experiments tested from experiments = experiments_ismip6 to experiments = experiments_ismip6_ext to test the new 2300 extensions. The compliance criteria csv file (ismip6_criteria.csv) must be located in the same directory as compliance_checker.py .
-
In a terminal, run the script:
> python compliance_checker.py
. -
The script creates a compliance_checker_log.txt file in the source_path, which reports the errors and warnings.