У меня большой файл netcdf со многими измерениями и атрибутами. Я хочу извлечь одну переменную из этого файла и сохранить ее как новый файл netcdf, сохраняя при этом все исходные метаданные. Я использую xarray
.
Я открываю набор данных с помощью:
dr=xr.open_dataset("path_to_file")
И это выглядит, когда я print
это (некоторые измерения и метаданные удалены для простоты:
<xarray.Dataset>
Dimensions: (Time: 464, bottom_top: 39, bottom_top_stag: 40, snow_layers_stag: 3, snso_layers_stag: 7, soil_layers_stag: 4, south_north: 186, south_north_stag: 187, west_east: 246, west_east_stag: 247)
Coordinates:
XLAT (Time, south_north, west_east) float32 ...
XLONG (Time, south_north, west_east) float32 ...
XTIME (Time) datetime64[ns] ...
XLAT_U (Time, south_north, west_east_stag) float32 ...
XLONG_U (Time, south_north, west_east_stag) float32 ...
XLAT_V (Time, south_north_stag, west_east) float32 ...
XLONG_V (Time, south_north_stag, west_east) float32 ...
Dimensions without coordinates: Time, bottom_top, bottom_top_stag, snow_layers_stag, snso_layers_stag, soil_layers_stag, south_north, south_north_stag, west_east, west_east_stag
Data variables:
Times (Time) |S19 ...
UST (Time, south_north, west_east) float32 ...
ZNU (Time, bottom_top) float32 ...
ZNW (Time, bottom_top_stag) float32 ...
ZS (Time, soil_layers_stag) float32 ...
DZS (Time, soil_layers_stag) float32 ...
Attributes:
TITLE: OUTPUT FROM WRF V3.9 MODEL
START_DATE: 2017-10-31_00:00:00
SIMULATION_START_DATE: 2017-10-01_00:00:00
WEST-EAST_GRID_DIMENSION: 247
SOUTH-NORTH_GRID_DIMENSION: 187
BOTTOM-TOP_GRID_DIMENSION: 40
HYBRID_OPT: -1
ETAC: 0.0
Я хочу извлечь только UST
, поэтому я пытаюсь:
dr_u = dr['UST']
Но когда я print
получаю dr_u
, метаданные исчезают:
<xarray.Dataset>
Dimensions: (Time: 464, south_north: 186, west_east: 246)
Coordinates:
XLAT (Time, south_north, west_east) float32 ...
XLONG (Time, south_north, west_east) float32 ...
XTIME (Time) datetime64[ns] ...
Dimensions without coordinates: Time, south_north, west_east
Data variables:
UST (Time, south_north, west_east) float32 ...
Я хочу иметь возможность хранить всю информацию под заголовком Attributes
в исходном файле. Я знаю, что в пакете xarray
есть флаг keep_attrs
, который выглядит так, как если быбыть полезным для этого, но я не могу понять, как использовать его в этой операции.