我以netcdf文件的形式下载了气候模型输出,其中包含一个变量(pr),用于整个世界,并具有每日时间步长。我的最终目标是获得欧洲的月度数据。
我以前从来没有使用过netcdf文件,而且我能找到的netcdf的所有特定软件似乎都不能在windows中工作。因为我用R编程,所以我尝试使用ncdf4包,但遇到了内存大小问题(我的文件大约是2 2Gb)……我现在正在尝试Python语言中的netCDF4模块(这是我第一次使用python --所以请不要这样做)。
我已经成功地安装了所有东西,并在网上找到了一些代码来导入数据集:
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)汇总到每月。此外,我在不同的文件中有不同类型的日历,但我甚至不知道如何访问这些信息:
time.calendar
AttributeError: 'numpy.ndarray' object has no attribute 'calendar'请帮帮忙,我不想为了整理数据而必须学习Linux :(
发布于 2015-02-13 08:09:49
为什么不完全避免编程,而使用NCO,它提供了聚合数据的ncrcat命令:
ncrcat day*.nc month.nc瞧啊。查看更多ncrcat示例here。
增加了20160628:如果你想要一个月的时间序列而不是一个月的平均值,那么只对ncra使用相同的命令,而不是ncrcat。这本手册解释了这样的事情。
发布于 2017-08-14 22:39:52
如果你有一个每日的时间步长,并且你想要计算每月的平均值,那么你可以这样做
cdo monmean input_yyyy.nc output_yyyy.nc听起来好像您有几个这样的文件,所以您需要将它们与
cdo mergetime file_*.nc timeseries.nc 其中*是年份的通配符。
https://stackoverflow.com/questions/26240747
复制相似问题