Climate-REF / Climate-REF/climate-ref

esmvaltool/enso-basic-climatology diagnostic not configured for CMIP7 datasets

Open
#803 3 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.