首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >向现有netcdf文件添加无限维数

向现有netcdf文件添加无限维数
EN

Stack Overflow用户
提问于 2017-10-09 17:37:24
回答 2查看 937关注 0票数 1

我现在有几个netCDF4文件,变量"pp“具有三个维度: pp(time,lat,lon)。每个单独的文件都有一年的每月土壤湿度数据,时间维度代表一年中的每个月。这是p04文件中pp变量的一个例子,它存储2004年的日期:

代码语言:javascript
运行
复制
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,但它删除了数据中的所有信息。

我正在寻找一种方法来添加这个额外的维度,而不必重写所有的文件。我该怎么做?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-17 17:19:54

NCO的ncecat通过创建一个新的无限“胶水”维度来连接文件:

代码语言:javascript
运行
复制
ncecat -u unl in*.nc out.nc
票数 2
EN

Stack Overflow用户

发布于 2021-05-25 10:01:27

回答可能有点晚了,你是用'w‘模式来编辑你的文件吗?“w”模式覆盖所有内容并创建新值,这就是为什么删除所有现有信息的原因。请使用“r+”模式-它将读取和写入现有的值/文件信息-不会创建一个全新的文件。

而不是ds = nc.Dataset(file,mode='w')

使用ds = nc.Dataset(file,mode='r+')

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46652051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档