使用Xarray组合NetCDF文件

问题描述

我正在尝试使用xarray合并多个NetCDF文件

这是我的尺寸:

Dimensions:        (Time: 1,XCells: 2000,YCells: 1000) 
Coordinates:
    longitude      (YCells,XCells) float32 
    latitude       (YCells,XCells) float32
  * Time           (Time) datetime64[ns]  
Dimensions without coordinates: XCells,YCells

组合by_coords仅适用于一维坐标。 combining spatial netcdf files using xarray python

但是,当我使用combin =“ nested”时,它会为时间重复纬度和经度。

float longitude(Time,YCells,XCells);
longitude:_FillValue = NaNf;
float latitude(Time,XCells);
latitude:_FillValue = NaNf;

纬度和经度是2D,但在整个时间上相同。 Xarray是否可以合并这些数据?

解决方法

我使用netcdf-python和numpy按时间合并了文件。

将一个数据集复制到另一个数据集的代码类似于Xavier Ho在这里的解决方案: python netcdf: making a copy of all variables and attributes but one

我不想重复的变量直接复制了。对于时间维度和变量随时间的变化,我使用numpy slices更改了复制表达式。