Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Pinned CMIP7 datasets fail to resolve when a newer version is published

Aperta
#996 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python

Direzione di ricerca

Start by reading CMIP7Request._pinned_facets and _select_pinned, then trace combine_results in intake_esgf/base.py and version selection in intake_esgf/catalog.py. Reproduce the case where A is pinned at v1 while A@v2 also exists; confirm whether the catalog drops A@v1. The issue says #995 leaves this behavior in place, so check that context before proposing a fix.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

A pinned CMIP7 request can fail to resolve a pinned dataset when a newer version of that dataset is also published.

CMIP7Request._pinned_facets asks ESGF for every pinned base_id at every pinned version in one search, with latest=[True, False]. If dataset A is pinned at v1 and dataset B is pinned at v2, and A also has a v2, the search returns both A@v1 and A@v2. ESGF returns both versions correctly.

intake-esgf then drops A@v1:

  • combine_results (intake_esgf/base.py) groups rows by master_id_facets(), which for CMIP7 is every facet except version. This merges both versions into one row.
  • ESGFCatalog.search (intake_esgf/catalog.py) keeps only the ids carrying the highest version in each row. This is there to reconcile indices that disagree on the latest version, and there is no option to turn it off.

_select_pinned then raises DatasetResolutionError saying ESGF "no longer resolves" A, which is misleading. Checked against intake-esgf 2026.9.28.

Possible fixes:

  • Run one search per pinned version in climate-ref. This needs fetch_datasets to run several searches and concatenate the results. Two versions of the same dataset would still collide on intake-esgf's key, which also excludes version, but a test case catalog only records one version of each dataset.
  • Add an option upstream in intake-esgf to keep every version a search returns.

This is rare in practice, so #995 leaves it as is with a comment in _select_pinned.

Lingua principale
Python
Stelle
27
Fork
14
Merge medio
1g 6h
PR unite (30g)
62

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Climate-REF/climate-ref

Tutte le issue di Climate-REF/climate-ref

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.