Skip to content

2.4.0b2

Latest

Choose a tag to compare

@Ayoubnac1 Ayoubnac1 released this 14 Oct 16:17

2.4.0b2 (14/10/2026)

Beta Release v2.4.0b2

This second beta release extends the ESGVOC-based validation introduced in v2.4.0b1, with major updates to the CORDEX-CMIP6 checker, coordinate and horizontal-grid validation, time checks, packing checks, and error reporting.

It is intended for further testing by data providers before the final 2.4.0 release.

Highlights

CORDEX-CMIP6 validation

  • Made ESGVOC the default metadata source for the wcrp_cordex_cmip6 checker.
  • Replaced the outdated CORDEX-CMIP6 configuration with the new split, schema-based configuration.
  • Added ESGVOC-backed validation for:
    • project and global attributes;
    • DRS directory and filename structures;
    • geophysical-variable metadata;
    • coordinates and horizontal grids;
    • consistency between attributes, filenames, and directories.
  • Retained the optional legacy CMOR-table validation pathway.
  • Improved horizontal-grid inference and zonal-mean-grid handling.
  • Improved vertical-coordinate and formula-term validation.
  • Added support for list-valued branded-variable metadata.
  • Added low-severity validation of optional variable comments.
  • Generalized [VAR005] so it replaces the CORDEX-specific [VAR011] check.
  • Improved version_realization validation:
    • recommends version_realization_info for non-default versions and realizations;
    • delegates grid_mapping_name validation to the CF checker.
  • Added support for configured projected-grid mappings.
  • Requires explicit native axes for projected CORDEX grids.
  • Retains implicit indices for latitude-longitude ocean grids.
  • CORDEX-CMIP6 unstructured grids remain unsupported for now.

Coordinate and horizontal-grid validation

  • Improved coordinate comparisons and numerical tolerance handling.
  • Fixed precision problems affecting long time axes.
  • Delegated bounds-variable attribute validation to the CF checker while retaining structural, value, direction, containment, overlap, and formula checks.
  • Added ESGVOC EMD-based horizontal-grid validation.
  • Grid validation now uses registered metadata for:
    • grid topology;
    • grid mapping;
    • region;
    • horizontal cell count;
    • recommended grid labels.
  • Added explicit grid-label overrides and configurable topology mappings.
  • Improved validation of curvilinear, rectilinear, unstructured, zonal-mean, and projected grids.
  • Improved latitude, longitude, bounds, and vertex range checks.
  • Added support for cyclic longitude bounds and cell-local vertex representations.
  • Added support for padded unstructured vertices while still rejecting incomplete cells.
  • Grid errors now report violation counts, extreme values, and affected cell indices.
  • Large coordinate and vertex arrays are processed in bounded chunks.
  • NetCDF variable caches are temporarily limited and safely restored during large grid scans.
  • Longitude single-cycle validation is now streamed to reduce memory use.
  • Added the latest CMIP7 grid_label mappings.
  • Added configurable severities for auxiliary latitude, longitude, and longitude-cycle checks.

Time-axis validation

  • Fixed floating-point precision issues affecting long time axes and direct coordinate comparisons.
  • [TIME001] now determines point or interval sampling from the allowed branded-variable cell_methods values.
  • [TIME001] is skipped cleanly when registry metadata is unavailable or contradictory.
  • Frequency and time-increment selection remain driven by file and project metadata.
  • [TIME003] now uses the ESGVOC time-coordinate is_climatology metadata to select regular or climatological filename rules.
  • Project-specific climatology suffixes remain configurable through the DRS configuration.
  • Avoided duplicate climatology findings between [TIME003] and [COORD008].
  • Prevented disabled checks from hiding prerequisite failures.
  • Avoided misleading [TIME003] passes when required metadata is unavailable.
  • Preserved missing-bounds failures and assigned shared prerequisite failures to the highest-severity enabled check.

Attribute and consistency checks

  • Restored global-attribute consistency checks across the CMIP plugins.
  • Added coverage to ensure that every configured consistency check remains reachable.
  • Variable attributes are now required only when the selected vocabulary definition provides an expected value.
  • Attributes remain required when a vocabulary value is explicitly defined.
  • Improved [ATTR004] messages when a file attribute is set but the corresponding vocabulary attribute is unset.
  • Added validation of ESGVOC project-specification availability during checker initialization.
  • Project database incompatibilities are reported once and dependent checks are skipped cleanly.
  • Added support for cell_measures instructions:
    • MODEL;
    • UGRID;
    • OPT.

Packing and file-format checks

  • Generalized internal-packing checks so they can be reused by projects other than CMIP7.
  • Split packing validation into independent configurable checks.
  • pyfive now opens each NetCDF file only once and closes it safely after validation.
  • Increased the minimum required pyfive version to 1.1.2 because of parsing issues in 1.1.1.
  • Compression checks now handle NetCDF3 files safely.

CMIP6, CMIP6Plus and C3S-CMIP6 fixes

  • Fixed data-plausibility checks for curvilinear ocean grids.
  • Correctly resolves data dimensions represented by auxiliary nav_lon and nav_lat coordinates.
  • Prevented individual data-plausibility check failures from hiding the results of other checks.
  • Improved handling of ocean variables without fill values or configured physical thresholds.
  • Corrected the Lmon.mrsos branded-variable mapping:
    • previous value: mrsol_tavg-z10cm-hxy-lnd;
    • corrected value: mrsol_tavg-d10cm-hxy-lnd.
  • Applied the corrected mapping to CMIP6, CMIP6Plus, C3S-CMIP6, and the data-plausibility plugin.

Dependencies, tests and documentation

  • Requires esgvoc>=7.0.0.
  • Requires pyfive>=1.1.2.
  • Added optional test dependencies and pytest marker configuration.
  • Added coverage configuration.
  • Modernized the unit-test suite.
  • Added lightweight remote CMIP6 regression data.
  • Expanded CMIP7 and CORDEX-CMIP6 regression coverage.
  • Added tests for:
    • coordinate and grid topology validation;
    • large-grid chunking and cache restoration;
    • time-axis and climatology behavior;
    • global-attribute consistency;
    • packing checks;
    • curvilinear ocean data-plausibility checks;
    • branded-variable mappings.
  • Updated the ESGVOC setup and legacy-validation documentation.

Compatibility note

This release requires compatible ESGVOC project specifications. Users should update ESGVOC and the installed vocabularies before running the checkers:

pip install --upgrade "esgvoc>=7.0.0"
esgvoc update
esgvoc use universe@latest cmip6@latest cmip6plus@latest cmip7@latest cordex-cmip6@latest