2014-10-07 38 views
0

我已经下载了netcdf文件形式的气候模式输出,其中一个变量(pr)用于每天的时间步长。我的最终目标是为欧洲提供每月的数据。如何将日常数据转换为月度netcdf文件

我以前从来没有使用过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

详细了解输入的netCDF日常数据。这是每天一个文件吗?或全部在一个文件?不同的日历是什么意思? – 2014-10-07 19:31:04

+0

每个文件都有几年的时间,每个气候模型的整个时间序列都在一些文件中(但如果你能告诉我如何为每个文件做这些已经非常有用的文件)。我需要考虑日历类型,因为一旦我知道如何做,我将运行不同气候模型输出的代码,并且它们具有不同的日历(标准,360天...) – sbg 2014-10-07 21:36:01

回答

1

为什么不能完全避免编程和使用NCO它提供了ncrcat命令正是如此汇总数据:

ncrcat day*.nc month.nc 

瞧查看更多ncrcat示例here

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

+0

有一个小问题适合您,我做了你发布的内容,但它只是合并了我的每日NetCDF,但没有做每月的平均值......你能提出一些建议吗? – Erincon 2016-06-27 20:30:54

0

如果你有每天的时间步长,你要计算的月平均那么你可以做

cdo monmean input_yyyy.nc output_yyyy.nc 

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

合并它们
cdo mergetime file_*.nc timeseries.nc 

*其中*是多年的通配符。

相关问题