[BUG] MultiZarrToZarr fails to concatenate dimension coordinate variables
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Inizia da MultiZarrToZarr e dal suo punto di ingresso translate(), riproducendo l’esempio minimo con SingleHdf5ToZarr e xarray.open_dataset. Traccia il modo in cui vengono gestite le variabili di coordinate della dimensione rispetto alle variabili di coordinate rinominate, quindi aggiungi una copertura di regressione che mostri che time conserva entrambi i valori di input, mentre il caso della coordinata rinominata continua a funzionare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
When combining along a new dimension using coo_map, MultiZarrToZarr fails to concatenate dimension coordinate variables, despite concatenating coordinate variables just fine.
Minimal example:
from kerchunk.hdf import SingleHdf5ToZarr
# Set up some fake netCDF files containing the dimension coordinate 'time'
time1 = xr.Dataset(coords={'time': ('time', [1, 2, 3])})
time2 = xr.Dataset(coords={'time': ('time', [4, 5, 6])})
time1.to_netcdf('test1.nc')
time2.to_netcdf('test2.nc')
# open both files using kerchunk
single_jsons = [SingleHdf5ToZarr(filepath, inline_threshold=300).translate() for filepath in ['./test1.nc', './test2.nc']]
# combine along new dimension 'id`
mzz = MultiZarrToZarr(
single_jsons,
concat_dims=["id"],
coo_map={'id': [10, 20]},
)
combined_test_json = mzz.translate()
# open with xarray to see what the result was
combined_test = xr.open_dataset(
"reference://", engine="zarr",
backend_kwargs={
"storage_options": {
"fo": combined_test_json,
},
"consolidated": False,
}
)
combined_test
This is not what I expected - the time variable should have dimensions (time, id) - we've lost half the time values. The variable time should have been concatenated along id because I did not specify it in identical_dims.
What's weird is that this works as expected for coordinate variables, just not for dimension coordinates. In other words, if I rename the time variable to time_renamed, but have it still be a function of a dimension named time, then the concatenation happens as expected:
time1 = xr.Dataset(coords={'time_renamed': ('time', [1, 2, 3])})
time2 = xr.Dataset(coords={'time_renamed': ('time', [4, 5, 6])})
- Lingua principale
- Python
- Stelle
- 367
- Fork
- 97
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 fsspec/kerchunk
-
add autodask exampleAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
-
utils.subchunk silently produces fewer sub-chunks than requested when the factor spans more than one axisForse già presa @bhaskargurram-ai l’ha presa 4 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 56/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di fsspec/kerchunk
Issue simili
-
question
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
vllm-project/vime#524 ·
I maintainer di solito rispondono entro 7 giorni
-
WOPI editor page is scrollable by a few pixels, which breaks scrolling in the document (Firefox)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
suitenumerique/drive#969 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
theupdateframework/python-tuf#3044 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
FAIRmat-NFDI/pynxtools#861 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
NVIDIA/nsight-python#88 ·
I maintainer di solito rispondono entro 1 giorno