Climate-REF / Climate-REF/climate-ref
Ocean-field diagnostics fail on models with non-rectilinear grids (2D latitude, irregular bounds)
- Dominant language
- Python
- Stars
- 26
- Forks
- 14
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 36
Description
Two diagnostics fail systematically on models whose ocean grid is not rectilinear. Different exceptions, same apparent theme, so filing together — split if you would rather track them separately.
## equilibrium-climate-sensitivity
33 succeeded, 11 failed.
```
iris.exceptions.CoordinateMultiDimError: Multi-dimensional coordinate not supported: 'latitude'
```
Failing models: AWI-CM-1-1-MR, CanESM5-1, EC-Earth3, FGOALS-f3-L, FIO-ESM-2-0, ICON-ESM-LR, IITM-ESM, IPSL-CM6A-LR.
A 2D `latitude` is what you get from a tripolar or unstructured ocean grid, and that set of models is consistent with it, though I have inferred the grid type from the model rather than reading the files.
## enso-characteristics
4 succeeded, 5 failed.
```
ValueError: expected 0 or 2 bound values per cell
```
Failing model: AWI-CM-1-1-MR, which is FESOM and unstructured. Cell bounds on an unstructured mesh have a vertex count per cell that is neither 0 nor 2, so a routine assuming rectilinear bounds rejects them.
## Why it matters
These are not marginal models. EC-Earth3 and IPSL-CM6A-LR are among the most heavily used in CMIP6, and EC-Earth3 alone is about 60% of the files in our archive. A diagnostic that cannot run on them loses a large share of the AFT ensemble, and it fails per model, so every member is lost together.
Both diagnostics succeed on the rectilinear-ocean models in the same run, so this is not an environment or data-availability problem.
## Method
Attributed per execution from each run's own `main_log_debug.txt` rather than from the shared multi-process log, since the latter interleaves and invites mis-attribution.
Seen on climate-ref v0.16.2, climate-ref-esmvaltool 0.16.2, full CMIP6 historical solve of 11,170 datasets.
Contributor guide
Research direction
Start by reproducing the equilibrium-climate-sensitivity and enso-characteristics failures on the listed non-rectilinear models, using each run's main_log_debug.txt for attribution. Trace the diagnostic entry points and the handling of 2D latitude and variable-length cell bounds. Done means both diagnostics complete successfully for these models while preserving the existing rectilinear-model results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100