我现在有几个netCDF4文件,变量"pp“具有三个维度: pp(time,lat,lon)。每个单独的文件都有一年的每月土壤湿度数据,时间维度代表一年中的每个月。这是p04文件中pp变量的一个例子,它存储2004年的日期:
p04.variables['pp']
Out[56]:
<class 'netCDF4._netCDF4.Variable'>
int16 pp(time, lat, lon)
_FillValue: -999.9
units: mm
long_name: Total precipitation
add_offset: 19.0333409628
scale_factor: -0.000580886924338
unlimited dimensions:
current shape = (12, 8520, 7320)
filling on我想添加第四个无限维,以便变量具有pp形状(unl,time,lat,lon),并且我可以使用MFDataset聚合来自不同年份的多个文件。我试过使用createDimension,但它删除了数据中的所有信息。
我正在寻找一种方法来添加这个额外的维度,而不必重写所有的文件。我该怎么做?谢谢!
发布于 2017-10-17 17:19:54
NCO的ncecat通过创建一个新的无限“胶水”维度来连接文件:
ncecat -u unl in*.nc out.nc发布于 2021-05-25 10:01:27
回答可能有点晚了,你是用'w‘模式来编辑你的文件吗?“w”模式覆盖所有内容并创建新值,这就是为什么删除所有现有信息的原因。请使用“r+”模式-它将读取和写入现有的值/文件信息-不会创建一个全新的文件。
而不是ds = nc.Dataset(file,mode='w')
使用ds = nc.Dataset(file,mode='r+')
https://stackoverflow.com/questions/46652051
复制相似问题