我已经以netcdf文件的形式下载了气候模型输出,其中一个变量(pr)用于整个世界,每日时间步长。我的最终目标是为欧洲提供月度数据。
我以前从未使用过netcdf文件,而我能找到的netcdf的所有特定软件似乎都不适用于Windows。因为我在R中编程,我尝试使用ncdf4包但遇到内存大小问题(我的文件大约是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,所以我可以整理一些数据:(
答案 0 :(得分:2)
为什么不完全避免编程并使用提供 ncrcat 命令的NCO,这样就可以聚合数据:
ncrcat day*.nc month.nc
瞧。查看更多 ncrcat 示例here。
已添加20160628:如果您想要按月平均值而不是一个月的时间序列,则只能使用 ncra 而不是 ncrcat 使用相同的命令。手册解释了这样的事情。
答案 1 :(得分:1)
如果您有每日时间步,并且您想计算月平均值,那么您可以
cdo monmean input_yyyy.nc output_yyyy.nc
听起来好像你有几个这样的文件,所以你需要将它们与
合并cdo mergetime file_*.nc timeseries.nc
其中*是多年来的通配符。