Skip to content

2.4.0b1

Latest

Choose a tag to compare

@Ayoubnac1 Ayoubnac1 released this 24 Sep 15:53

2.4.0b1 (24/09/2026)

Beta Release v2.4.0b1

This beta release introduces the new coordinate-validation framework for CMIP7, ESGVOC global-attribute validation ncattvalid and improved time-axis checks.

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

Highlights

Coordinate validation

  • Added the new coordinate-validation framework introduced in PR #81.
  • Added ESGVOC-backed CMIP7 coordinate validation.
  • The complete coordinate catalogue is loaded once during checker setup and reused by the coordinate checks.
  • Added validation for:
    • ordinary one-dimensional coordinates;
    • scalar and auxiliary coordinates;
    • coordinate identity, dimensions, storage type, and structure;
    • coordinate attributes and requested values;
    • monotonicity and stored direction;
    • physical ranges and configured valid minimum and maximum values;
    • bounds and climatology variables;
    • bounds dimensions, shape, type, values, containment, overlap, and direction;
    • horizontal grids and grid topology;
    • latitude and longitude coordinates;
    • vertical coordinates;
    • formula terms, computed standard names, and z-factor structure;
    • text-valued auxiliary coordinates and their associations with data variables.
  • Added the COORD000 to COORD012 result families:
    • COORD000: ESGVOC catalogue initialization;
    • COORD001: coordinate existence, identity, type, and structure;
    • COORD002: data-variable dimension names and order;
    • COORD003: required coordinate attributes;
    • COORD004: recommended attributes and unexpected metadata;
    • COORD004a: attributes allowed when unset;
    • COORD005: coordinate monotonicity and direction;
    • COORD006: configured valid minimum and maximum values;
    • COORD007: requested coordinate and bounds values;
    • COORD008: bounds and climatology structure and values;
    • COORD009: recommended bounds and vertex naming;
    • COORD010: coordinate and site associations;
    • COORD011: horizontal grid topology;
    • COORD012: vertical coordinates and formula terms.
  • Coordinate identity and type are determined from ESGVOC rather than inferred from the file metadata.
  • Missing, non-finite, and masked coordinate values are retained during validation and reported explicitly.
  • A failure to initialize the ESGVOC coordinate catalogue now produces a single COORD000 result, while dependent checks are skipped cleanly.
  • Improved reporting so that structural errors remain required checks while naming and metadata recommendations use the configured lower severity.
  • Removed redundant CMIP7 time.units and time.bounds rules when the corresponding metadata is provided by ESGVOC.

Time-axis validation

  • Fixed floating-point precision failures in TIME001, including failures observed on long 1-hour time axes.
  • Improved time-squareness calculations for subdaily, daily, monthly, seasonal, annual, and multi-year frequencies.
  • Added validation of regular bounds spacing and regular or climatological interval midpoints.
  • Expected time bounds are now generated independently instead of trusting potentially invalid bounds from the file.
  • Prevented invalid bounds from being used as the reference for subsequent time-axis checks.
  • Improved the separation of responsibilities between time checks:
    • VAR005 validates that time values are strictly increasing;
    • TIME001 validates time squareness, bounds spacing, and interval midpoints;
    • TIME002 validates time-bounds dimensions, shape, and containment;
    • TIME003 validates the filename time range.
  • Improved climatological time validation, including representative midpoints and coverage-derived filename labels.
  • Improved filename time-range validation for:
    • climatological datasets;
    • subdaily and coarse frequencies;
    • label precision;
    • project-specific climatology suffixes.
  • Improved handling of representative timestamps so that no incorrect additional half-interval is applied.
  • Added support for the julian calendar.
  • Added clearer and more consistent time-check reporting.

ESGVOC global-attribute validation

  • ESGVOC ncattvalid is now the source of truth for supported global-attribute definitions and allowed values.
  • Project TOML files retain:
    • check severity;
    • project-specific rules;
    • conditional requirements;
    • rules that are not available from ESGVOC.
  • Attributes that are not currently represented by ESGVOC continue to be validated by the existing attribute suite.
  • Preserved the existing ATTR001 to ATTR004 check identifiers.
  • Preserved the configured high, medium, and low severity levels.
  • Required and recommended wording is now derived from the configured severity.
  • Improved handling and reporting of:
    • missing required attributes;
    • invalid controlled-vocabulary terms;
    • unavailable ESGVOC definitions;
    • attributes that remain governed by project-specific configuration.

CMIP7 variable metadata

  • CMIP7 branded-variable lookups now use the project-specific branded_variable collection.
  • Removed the CMIP7 dependency on the Universe known_branded_variable descriptor for these lookups.
  • Added fallback handling for project variable metadata.
  • Improved registry identifier matching.
  • Improved normalization of registry metadata, including compatibility between units and the legacy cf_units field.
  • Preserved compatibility with existing project-specific validation where the required metadata is not available from the registry.

Mapping and configuration fixes

  • Corrected tasmax and tasmin mappings:
    • Amon.tasmax now uses tas_tmaxavg-h2m-hxy-u;
    • Amon.tasmin now uses tas_tminavg-h2m-hxy-u;
    • daily tasmax and tasmin continue to use tas_tmax-h2m-hxy-u and tas_tmin-h2m-hxy-u.
  • Corrected the mrsos branded-variable mapping.
  • Corrected the simass branded-variable mapping.
  • Added the missing Omon.prsn mapping.
  • Updated branded-variable mappings for CMIP6, CMIP6Plus, and C3S-CMIP6.
  • Updated time-unit patterns and supported calendar values.
  • Added compatibility with both current and legacy ESGVOC unit metadata.