Реорганизация файла 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?
Спасибо за ваше время.