通过python组合temp / lat / lon netcdf文件

时间:2015-02-19 17:28:33

标签: python latitude-longitude netcdf

我正在尝试将两个netcdf文件合并为一个,这样我的python脚本将具有更少的I / O. netcdf文件排列如下:float tasmax(time,lat,lon)和float tasmin(time,lat,lon)。我想结合这两个温度文件,并有一个'tasavg'netcdf文件。我该怎么做呢?如果您需要任何其他信息,请与我们联系。

1 个答案:

答案 0 :(得分:2)

假设time是记录维度,您可以使用NCO包中的ncrcatncra

# Combine the two files into one, along the 'time' dimension
ncrcat file1.nc file2.nc -O new_file.nc

# Average along the 'time' dimension
ncra new_file.nc -O new_file_avg.nc 

编辑:

这是如何完成你实际要求的......

假设两个文件名是tasmin.nc和tasmax.nc。我们需要先将这两个文件的内容合并到一个文件中:

ncks -A tasmin.nc tasmax.nc

这会将tasmin.nc的内容追加到tasmax.nc。因此,tasmax.nc现在将包含变量tasmaxtasmin

接下来,我们需要通过将tasmintasmax相加然后除以2来找到平均温度:

ncap -s "tasavg=(tasmin+tasmax)/2" tasmax.nc -O tasavg.nc

这将生成一个新的netcdf文件tasavg.nc,其中包含变量tasmintasmaxtasavg。您现在可以在Python中读取tasavg.nc并提取tasavg以进一步处理。