Размер блока для объединенного измерения больше, чем его длина в одном файле с использованием xarray.open_mfdataset - PullRequest
0 голосов
/ 06 августа 2020

У меня есть несколько файлов netCDF (по одному на каждый год), которые я пытаюсь открыть с помощью xarray.open_mfdataset с указанным размером блока c. Я объединяю каждый файл по временному измерению.

Вот код, используемый для открытия набора данных:

with xr.open_mfdataset('path/to/files/*.nc', 
                       combine = 'by_coords',
                       concat_dim = 'time',
                       data_vars = 'minimal',
                       chunks = {'longitude': 300,
                                 'latitude': 300,
                                 'time': -1},
                       parallel = True) as ds:

Полученный вид набора данных выглядит следующим образом:

<<xarray.Dataset>
Dimensions:     (latitude: 900, longitude: 1800, time: 333094)
Coordinates:
  * longitude   (longitude) float64 -180.0 -179.9 -179.8 ... -0.3 -0.2 -0.1
  * latitude    (latitude) float32 90.0 89.9 89.8 89.7 89.6 ... 0.4 0.3 0.2 0.1
  * time        (time) datetime64[ns] 1981-01-01T01:00:00 ... 2019-12-31T23:00:00
Data variables:
    timeOffset  (latitude, longitude) int32 dask.array<chunksize=(300, 300), meta=np.ndarray>
    d2m         (time, latitude, longitude) float32 dask.array<chunksize=(8759, 300, 300), meta=np.ndarray>
Attributes:
    Conventions:  CF-1.6
    history:      2020-01-31 15:47:01 GMT by grib_to_netcdf-2.16.0: /opt/ecmw...

Как видите, размер фрагмента = (8759, 300, 300), но я бы хотел, чтобы он был (333094, 300, 300), чтобы набор данных разбивался только по долготе и широте, а не по времени. . Я пробовал использовать и без {'time': -1} и {'time': None} в аргументе chunk в open_mfdataset без какого-либо хорошего результата. Похоже, что объединяемое измерение будет по крайней мере разбито на части по длине этого измерения в первом файле.

Сейчас я работаю над этим, повторно разбивая свой набор данных после открытия, но мне было интересно, был ли способ заставить его работать прямо при открытии файла?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...