WCRP Plugins
The WCRP plugins provide project-specific compliance checks for WCRP datasets such as CMIP6 and CORDEX-CMIP6, built on top of the IOOS Compliance Checker.
Each plugin has its own orchestration layer (wcrp_project.py), which acts as the controller for WCRP validation logic deciding:
- Which checks to run
- With what severity
- According to each project’s configuration
Available Plugins
| Plugin Name | Checker Tag | Description |
|---|---|---|
| wcrp_cmip6 | wcrp_cmip6:1.0 |
Validation of CMIP6 NetCDF files |
| wcrp_cordex_cmip6 | wcrp_cordex_cmip6:1.0 |
Validation of CORDEX-CMIP6 NetCDF files |
| wcrp_cmip7 | wcrp_cmip7:1.0 |
Validation of CMIP7 NetCDF files |
| wcrp_data | wcrp_data:1.0 |
Data Validation of CMIP6/CMIP7 NetCDF files |
Each plugin has its own TOML configuration file defining specific rules, severities, and variable mappings.
What Each Plugin Does
Each WCRP plugin:
Loads its configuration file(s), which defines:
- Which checks to run (DRS, attributes, time, metadata, etc.)
- The severity of each check (High = Mandatory, Medium = Recommended, Low = Warning)
Runs the atomic checks implemented in checks/…:
- Examples: dimension existence/size, variable shape, time bounds, filename/DRS consistency, physical plausibility, missing values, etc.
Aggregates results and returns them to the Compliance Checker core,
which formats them into human-readable or machine-readable outputs (text, HTML, JSON).
Configuration
WCRP plugins are driven by TOML configuration files. CMIP6/CMIP7 currently use a split-TOML layout, while CORDEX-CMIP6 and the Data plugin still rely on a single TOML file (legacy layout).
For a full description of the TOML tree, naming conventions, and the underlying configuration model, see: Configuration (configuration.md).
Current status by plugin
- CMIP6 (
wcrp_cmip6): uses the split-TOML layout underplugins/cmip6/config/wcrp/(plusmappings/). - CMIP7 (
wcrp_cmip7): uses the split-TOML layout underplugins/cmip7/config/wcrp/. - CORDEX-CMIP6 (
wcrp_cordex_cmip6): for now uses the legacy single-file configuration (e.g.wcrp_config.toml+mapping_variables.toml).
This will be migrated to the same split-TOML structure as CMIP6/CMIP7. - Data plugin (
wcrp_data): kept as a single TOML configuration for now (data plausibility focused), to remain lightweight and independent from project-specific split trees.