2013-04-26 75 views
1

有沒有辦法在使用numpy的python中的兩個netcdf文件上執行區域統計功能?但沒有使用gdal?更高分辨率的netcdf是0.5度,更大的netcdf是2度。所以,我想平均所有0.5度的細胞落入較大的2度細胞內。區域內的Numpy聚合

謝謝!

回答

2

與其使用numpy,我實際上會使用氣候數據運算符(cdo)執行此任務。這可以處理所有類型的本地網格,而不僅僅是這裏的一個網格單元精確分割爲16的特殊情況。

要將file1.nc映射到file2.nc,我們首先計算權重。

cdo gencon,file2.nc file1.nc weights.nc 

在這裏,我使用第一順序重映射保守,所以假設文件1是0.5分辨率和file2是2.0,總過粗區域應當是保守的。請注意,cdo中還有許多其他選項用於重新映射。

現在我們重新映射:

cdo remap,file2.nc,weights.nc file1.nc file1_remap.nc 

製造分歧和緯向手段也很簡單:

cdo sub file1_remap.nc file2.nc diff.nc 
cdo zonmean diff.nc diff_zonmean.nc 

你甚至可以用管道,以保持它在同一行:

cdo zonmean -sub file1_remap.nc file2.nc diff_zonmean.nc