Climate-REF / Climate-REF/climate-ref
esmvaltool/enso-basic-climatology diagnostic not configured for CMIP7 datasets
- Dominant language
- Python
- Stars
- 26
- Forks
- 14
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 36
Description
Despite `enso-basic-climatology` being marked as CMIP7 ready in https://github.com/Climate-REF/climate-ref/issues/536, the diagnostic script is only configured for CMIP6 datasets.
While the recipe will run successfully for CMIP7 datasets, no output is produced (and since Climate-ref v0.16.0 an error is raised when attempting to copy the output from `scratch/` to `results/`; see below)
See https://github.com/ESMValGroup/ESMValTool/blob/324d4ebaa8c1420fdc09a40818fbe1a36754d773/esmvaltool/diag_scripts/enso_metrics/climatology_diagnosticlevel2.py#L156:
`if metadata["project"] == "CMIP6":`
A similar issue is in the diagnostic `enso-characteristics`: https://github.com/ESMValGroup/ESMValTool/blob/324d4ebaa8c1420fdc09a40818fbe1a36754d773/esmvaltool/diag_scripts/enso_metrics/enso_diag1metrics.py#L541-L556
```
for var_prep in var_preproc:
obs += select_metadata(
input_data,
variable_group=var_prep,
project="OBS",
)
obs += select_metadata(
input_data,
variable_group=var_prep,
project="OBS6",
)
models += select_metadata(
input_data,
variable_group=var_prep,
project="CMIP6",
)
```
log when running `enso-characteristics` (similar for `enso-basic-climatology`):
```
| INFO | climate_ref_core.executor - Executing 'esmvaltool/enso-characteristics/cmip7_g127_CanESM5-1_r1i1p2f1'
2026-07-09 20:02:58.209 +00:00 | INFO | climate_ref_core.executor - Executing 'esmvaltool/enso-characteristics/cmip7_g999_CanESM6-0-rc1-MR_r1i1p1f1'
2026-07-09 20:05:56.816 +00:00 | ERROR | climate_ref_core.executor - System error running 'esmvaltool/enso-characteristics/cmip7_g127_CanESM5-1_r1i1p2f1' (will be retried on next solve): [Errno 2] No such file or directory: '/fs/site7/eccc/crd/cccma/users/scrd115/REF/REF_v0.16.0/climate-ref/.ref/scratch/esmvaltool/enso-characteristics/g127_CanESM5-1_r1i1p2f1_g148_v1_99e11f4d/200/executions/recipe_20260709_200313/work/diagnostic_metrics/plot_script/matrix.csv'
2026-07-09 20:05:56.843 +00:00 | ERROR | climate_ref_core.executor - System error running 'esmvaltool/enso-characteristics/cmip7_g999_CanESM6-0-rc1-MR_r1i1p1f1' (will be retried on next solve): [Errno 2] No such file or directory: '/fs/site7/eccc/crd/cccma/users/scrd115/REF/REF_v0.16.0/climate-ref/.ref/scratch/esmvaltool/enso-characteristics/g999_CanESM6-0-rc1-MR_r1i1p1f1_g149_v1_6bc6da9f/201/executions/recipe_20260709_200313/work/diagnostic_metrics/plot_script/matrix.csv'
2026-07-09 20:05:57.111 +00:00 | ERROR | climate_ref.executor.result_handling - Error running esmvaltool/enso-characteristics/cmip7_g127_CanESM5-1_r1i1p2f1.
Additional information about this execution can be viewed using: ref executions inspect 148
2026-07-09 20:05:57.120 +00:00 | ERROR | climate_ref.executor.result_handling - failed due to a system error (will be retried on next solve)
Waiting for executions to complete: 50%|██████████████████████████████████████████████████ | 1/2 [03:05<03:05, 185.16s/execution]2026-07-09 20:05:57.183 +00:00 | ERROR | climate_ref.executor.result_handling - Error running esmvaltool/enso-characteristics/cmip7_g999_CanESM6-0-rc1-MR_r1i1p1f1.
Additional information about this execution can be viewed using: ref executions inspect 149
2026-07-09 20:05:57.185 +00:00 | ERROR | climate_ref.executor.result_handling - failed due to a system error (will be retried on next solve)
Waiting for executions to complete: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [03:05<00:00, 92.59s/execution]
2026-07-09 20:05:57.209 +00:00 | INFO | climate_ref.executor.local - All executions completed successfully
2026-07-09 20:05:57.210 +00:00 | INFO | climate_ref.solver - All executions complete
```
## System
ref tag v0.16.0
```
provider version conda environment data path
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
pmp 0.16.0 /fs/site7/eccc/crd/cccma/users/scrd115/REF/REF_v0.16.0/climate-ref/.ref/so… /fs/site7/eccc/crd/cccma/users/scrd115/REF/REF_v0.16.0/climate-ref/.ref/c…
ilamb 0.16.0 /fs/site7/eccc/crd/cccma/users/scrd115/REF/REF_v0.16.0/climate-ref/.ref/c…
example 0.16.0
esmvaltool 0.16.0 /fs/site7/eccc/crd/cccma/users/scrd115/REF/REF_v0.16.0/climate-ref/.ref/so… /fs/site7/eccc/crd/cccma/users/scrd115/REF/REF_v0.16.0/climate-ref/.ref/c…
```
Contributor guide
Research direction
Start with esmvaltool/diag_scripts/enso_metrics/climatology_diagnosticlevel2.py around line 156 and enso_diag1metrics.py around lines 541-556, then inspect how CMIP6 and CMIP7 metadata are selected. Re-run the affected enso-basic-climatology and enso-characteristics executions with CMIP7 data; done means they produce their expected diagnostic output, including matrix.csv, without the missing-output error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100