Реорганизация файла NetCDF в соответствии со структурой другого файла NetCDF с использованием xarray

Я использую модель, которая читает и запускает файлы NetCDF со следующей структурой (ежемесячные данные за почти 100 лет):

<xarray.Dataset>
Dimensions:    (lat: 408, lon: 881, nb2: 2, time: 660)
Coordinates:
  * lon        (lon) float64 -44.81 -44.69 -44.56 -44.44 -44.31 -44.19 ...
  * lat        (lat) float64 21.81 21.94 22.06 22.19 22.31 22.44 22.56 22.69 ...
  * time       (time) datetime64[ns] 1951-01-16T12:00:00 1951-02-16T12:00:00 ...
Dimensions without coordinates: nb2
Data variables:
    time_bnds  (time, nb2) datetime64[ns] 1951-01-16T12:00:00 ...
    tas        (time, lat, lon) float64 nan nan nan nan nan nan nan nan nan ...
Attributes:
    CDI:                            Climate Data Interface version 1.6.2 (htt...
    Conventions:                    CF-1.6
    history:                        Wed Jan 10 15:20:26 2018: cdo remapbil,Co...
    institution:                    Danish Meteorological Institute
    driving_model_id:               ICHEC-EC-EARTH
    driving_experiment:             ICHEC-EC-EARTH,historical,r3i1p1
    creation_date:                  2012-11-16 19:44:54
    frequency:                      mon
    driving_experiment_name:        historical
    experiment:                     Historical run using ECEARTH as driving m...
    project_id:                     CORDEX
    driving_model_ensemble_member:  r3i1p1
    institute_id:                   DMI
    model_id:                       DMI-HIRHAM5
    product:                        output
    tracking_id:                    ee97e5bd-5ce3-44bd-916b-beb2b559d410
    rcm_version_id:                 v1
    nco_openmp_thread_number:       1
    CORDEX_domain:                  EUR-11
    contact:                        obc@dmi.dk
    experiment_id:                  historical
    NCO:                            4.0.9
    CDO:                            Climate Data Operators version 1.6.2 (htt...

Но файлы NetCDF, которые я хочу добавить в модель, имеют следующую структуру:

<xarray.Dataset>
Dimensions:                (forecast_time1: 3, initial_time0_hours: 1, x: 529, x_2: 529, y: 489, y_2: 489)
Coordinates:
    g3_lon_3               (y, x) float32 -14.609 -14.577573 -14.546137 ...
    g3_lat_2               (y, x) float32 46.834 46.840065 46.84612 46.85216 ...
  * forecast_time1         (forecast_time1) timedelta64[ns] 01:00:00 ...
  * initial_time0_hours    (initial_time0_hours) datetime64[ns] 2015-06-30T21:00:00 ...
Dimensions without coordinates: x, x_2, y, y_2
Data variables:
    TMP_GDS3_HTGL          (initial_time0_hours, forecast_time1, y, x) float64 6.906e+04 ...
    initial_time0_encoded  (initial_time0_hours) float64 4.836e+11
    g3_rot_4               (y_2, x_2) float32 -0.27511325 -0.27467233 ...
Attributes:
    CDI:            Climate Data Interface version 1.6.2 (http://code.zmaw.de...
    Conventions:    None
    history:        Tue Apr 17 16:30:57 2018: cdo monsum MERA_PRODYEAR_2015_0...
    creation_date:  Tue Apr  3 09:56:50 IST 2018
    NCL_Version:    6.4.0
    system:         Linux GE-DSK-4JF 3.19.0-32-generic #37~14.04.1-Ubuntu SMP...
    grib_source:    MERA_PRODYEAR_2015_06_11_105_2_0_FC3hr.grb
    title:          NCL: convert-GRIB-to-netCDF
    CDO:            Climate Data Operators version 1.6.2 (http://code.zmaw.de...

Поэтому я хочу, чтобы второй NetCDF соответствовал первому, чтобы модели было легче читать (я понимаю, что это совершенно разные периоды времени, это всего лишь пример - я просто хочу получить правильный формат, чтобы я мог преобразовать его).

Возможно ли это с помощью xarray (если так - может кто-нибудь подсказать, как это сделать?) - я посмотрел на пакет FixNC, но он доступен только в Linux и OSX, и я запускаю Windows, и хотел бы иметь возможность сделать это в Python, если это возможно.

Если нет, то у меня есть некоторые базовые навыки R, если это возможно сделать в R?

Спасибо за ваше время.

0 ответов

Другие вопросы по тегам