Skip to main content

QA based on compliance-checker

Project description

cc-qa: Quality Assurance Workflow Based on compliance-checker and cc-plugin-cc6

This makes use of the frameworks and CF-compliance checks of the ioos/compliance-checker and extensions coming with euro-cordex/cc-plugin-cc6.

This tool is designed to run the desired file-based QC tests with ioos/compliance-checker and euro-cordex/cc-plugin-cc6, conduct additional dataset-based checks (such as time axis continuity and consistency checks) as well as summarizing the test results.

cc-qa is mainly aimed at a QA workflow testing compliance with CORDEX-CMIP6 Archive Specifications (see below). However, it is generally applicable to test for compliance with the CF conventions through application of the IOOS Compliance Checker, and it should be easily extendable for any cc-plugin and for projects defining CORDEX, CORDEX-CMIP6, CMIP5 or CMIP6 style CMOR-tables.

Standard Checker Name
cordex-cmip6-cv cc6
cordex-cmip6-cmor-tables cc6
CORDEX-CMIP6 Archive Specifications cc6

Installation

Pip installation from source

Clone the repository and cd into the repository folder, then

pip install -e .

See the ioos/compliance-checker for additional Installation notes if problems arise with the dependencies.

Usage

$ ccqa [-h] [-o <RESULT_DIR>][-t <TEST>] [-i <INFO>] [-r] <parent_dir>
  • positional arguments:
    • parent_dir: Parent directory to scan for netCDF-files to check
  • options:
    • -h, --help: show this help message and exit
    • -o, --output_dir OUTPUT_DIR: Directory to store QA results. Needs to be non-existing or empty. If not specified, will store results in ./cc-qa-check-results/YYYYMMDD-HHmm_<hash>.
    • -t, --test TEST: The test to run ('cc6' or 'cf', can be specified multiple times) - default: running 'cc6' and 'cf'.
    • -i, --info INFO: Information used to tag the QA results, eg. the simulation id to identify the checked run. Suggested is the original experiment-id you gave the run.
    • -r, --resume: Specify to continue a previous QC run. Requires the <output_dir> argument to be set.

Example Usage

$ ccqa -o /work/bb1364/dkrz/QC_results/IAEVALL02_2025-04-20 -i "IAEVALL02" /work/bb1149/ESGF_Buff/IAEVALL02/CORDEX-CMIP6

To resume at a later date, eg. if the QA run did not finish in time or more files have been added to the <parent_dir> (note, that the last modification date of files is NOT taken into account - once a certain file path has been checked it will be marked as checked and checks will only be repeated if runtime errors occured):

$ ccqa -o /work/bb1364/dkrz/QC_results/IAEVALL02_2025-04-20 -r

Displaying the check results

The results will be stored in a single json file, which can be viewed using the following website: https://cmiphub.dkrz.de/info/display_qc_results.html. This website runs entirely in the user's browser using JavaScript, without requiring interaction with a web server. Alternatively, you can open the included display_qc_results.html file directly in your browser.

Add results to QA results repository

https://cmiphub.dkrz.de/info/display_qc_results.html allows viewing QA results hosted in the GitLab Repository qa-results. You can create a Merge Request in that repository to add your own results.

License

This project is licensed under the Apache License 2.0, and includes the Inter font, which is licensed under the SIL Open Font License 1.1. See the LICENSE file for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cc_qa-0.1.0.tar.gz (249.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cc_qa-0.1.0-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file cc_qa-0.1.0.tar.gz.

File metadata

  • Download URL: cc_qa-0.1.0.tar.gz
  • Upload date:
  • Size: 249.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.13

File hashes

Hashes for cc_qa-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f035e3aa91ac625c54e2cac02e07f6b9236562eba25be73fc108124b7e91cc5a
MD5 349b2216e8b20844a7e421e3ec64deff
BLAKE2b-256 e2c612f388f85082fa19bd5147a235d3cc7a284388821d81ca0ee77ce66f0ea5

See more details on using hashes here.

File details

Details for the file cc_qa-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cc_qa-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.13

File hashes

Hashes for cc_qa-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 574d4a2749640f640b0f76549bbeb60042945cf15c31905a2f3f4d44a9211720
MD5 b92c251314bc06d81b84c82f4b6a07fb
BLAKE2b-256 cb91f9d63d7ff0ba3c6fb5d85904c7c54638357141a746cb1152fe5ea65d13a7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page