Skip to content

[BUG] CMORised 3D ocean variables fail compliance check: missing lev:axis and esgvoc registry not resolved #453

Description

@rhaegar325

Summary

Nine 3D ocean variables (Omon and Oyr table) produced by ACCESS-MOPPy fail the WCRP CMIP6 compliance check (wcrp_cmip6:1.0) with multiple HIGH-priority errors. The root causes are:

  1. The lev coordinate variable is missing its axis attribute.
  2. Several variables have no entry (or an unresolvable entry) in the esgvoc branded-variable registry, causing all downstream registry-backed attribute checks to cascade-fail.

Affected files

Checked against experiment piControl, model ACCESS-ESM1-5, realisation r1i1p1f1, grid gn.

Variable Table Registry status
so Omon Known branded variable so_tavg-l-hxy-sea not found in registry
thetao Omon Known branded variable thetao_tavg-l-hxy-sea not found in registry
uo Omon Known branded variable uo_tavg-l-hxy-sea not found in registry
vo Omon Known branded variable vo_tavg-l-hxy-sea not found in registry
detoc Oyr No branded variable mapping found for Oyr.detoc
dissic Oyr No branded variable mapping found for Oyr.dissic
no3 Oyr No branded variable mapping found for Oyr.no3
o2 Oyr No branded variable mapping found for Oyr.o2
talk Oyr No branded variable mapping found for Oyr.talk

Root cause analysis

1. lev:axis missing

The lev coordinate variable written by CMORise does not include the CF-convention axis = "Z" attribute. This is a HIGH-priority check in wcrp_cmip6:1.0.

2. esgvoc registry not resolved — two sub-patterns

Pattern A (Omon: so, thetao, uo, vo):
The checker resolves a branded-variable key (e.g. thetao_tavg-l-hxy-sea) from the variable metadata but then cannot find that key in the local esgvoc registry database. This may indicate:

  • The esgvoc vocabulary package installed in the pixi env is out of date or incomplete for these Omon 3D variables.
  • The branded-variable key generated by cc-plugin-wcrp does not match the key stored in the registry.

Pattern B (Oyr: detoc, dissic, no3, o2, talk):
No branded-variable mapping exists at all for Oyr.<varname> in variable_id_to_branded_variable.toml. These biogeochemistry variables may not yet be registered in the esgvoc CMIP6 vocabulary used by this checker version.

In both patterns, once the registry lookup returns None, every downstream check that relies on a registry-supplied expected term (standard_name, units, cell_measures, cell_methods, long_name) also fails with expected_term is None.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions