首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将每日netcdf文件转换为每月netcdf文件

如何将每日netcdf文件转换为每月netcdf文件
EN

Stack Overflow用户
提问于 2014-10-08 00:25:37
回答 2查看 4.1K关注 0票数 2

我以netcdf文件的形式下载了气候模型输出,其中包含一个变量(pr),用于整个世界,并具有每日时间步长。我的最终目标是获得欧洲的月度数据。

我以前从来没有使用过netcdf文件,而且我能找到的netcdf的所有特定软件似乎都不能在windows中工作。因为我用R编程,所以我尝试使用ncdf4包,但遇到了内存大小问题(我的文件大约是2 2Gb)……我现在正在尝试Python语言中的netCDF4模块(这是我第一次使用python --所以请不要这样做)。

我已经成功地安装了所有东西,并在网上找到了一些代码来导入数据集:

代码语言:javascript
复制
nc_fid = Dataset(nc_f, 'r')  
# Extract data from NetCDF file
lats = nc_fid.variables['lat'][:]
lons = nc_fid.variables['lon'][:]
time = nc_fid.variables['time'][:]
pp  = nc_fid.variables['pr'][:]  

然而,我找到的所有教程都是关于如何制作netcdf文件的……我不知道如何将这些每日降雨量(变量pr)汇总到每月。此外,我在不同的文件中有不同类型的日历,但我甚至不知道如何访问这些信息:

代码语言:javascript
复制
time.calendar
AttributeError: 'numpy.ndarray' object has no attribute 'calendar'

请帮帮忙,我不想为了整理数据而必须学习Linux :(

EN

回答 2

Stack Overflow用户

发布于 2015-02-13 08:09:49

为什么不完全避免编程,而使用NCO,它提供了聚合数据的ncrcat命令:

代码语言:javascript
复制
ncrcat day*.nc month.nc

瞧啊。查看更多ncrcat示例here

增加了20160628:如果你想要一个月的时间序列而不是一个月的平均值,那么只对ncra使用相同的命令,而不是ncrcat。这本手册解释了这样的事情。

票数 3
EN

Stack Overflow用户

发布于 2017-08-14 22:39:52

如果你有一个每日的时间步长,并且你想要计算每月的平均值,那么你可以这样做

代码语言:javascript
复制
cdo monmean input_yyyy.nc output_yyyy.nc

听起来好像您有几个这样的文件,所以您需要将它们与

代码语言:javascript
复制
cdo mergetime file_*.nc timeseries.nc 

其中*是年份的通配符。

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

https://stackoverflow.com/questions/26240747

复制
相关文章

相似问题

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