Pinned CMIP7 datasets fail to resolve when a newer version is published
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
- Ambito
- data-engineering
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 bymaster_id_facets(), which for CMIP7 is every facet exceptversion. 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 needsfetch_datasetsto run several searches and concatenate the results. Two versions of the same dataset would still collide on intake-esgf'skey, which also excludesversion, 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
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Climate-REF/climate-ref
-
climate-ref-esmvaltools RegionalHistoricalTrend does not filter by source_idForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug ESMValTool
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Climate-REF/climate-ref#951 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Climate-REF/climate-ref#701 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Climate-REF/climate-ref#442 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
Climate-REF/climate-ref#991 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
Climate-REF/climate-ref#970 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Climate-REF/climate-ref
Issue simili
-
Project submission:Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
slavakurilyak/awesome-ai-agents#845 ·
I maintainer di solito rispondono entro 1 giorno
-
tests: pin that the atomic writers in utils/paths.py stage the temporary file in the target's directoryForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertadifficulty:2 enhancement good first issue
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
MakazhanAlpamys/Soup#2178 ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] dcg.waggr permutation p-values are folded twice, so near-zero scores get the smallest p-valuesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
scverse/rapids-singlecell#854 ·
I maintainer di solito rispondono entro 1 giorno
-
Slang input: int8_t4_packed and uint8_t4_packed are copied into CrossGLForse già presa @ninglinLiu l’ha presa oggi. Apertaarea:frontend backend:slang bug direction:input
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
random_elements(unique=True) on an OrderedDict: ZeroDivisionError once only zero weights remain, AssertionError with use_weighting=FalseForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 13 giorni