2017-01-16 54 views
1

正如標題所示,我想從一個.nc文件中抽取一個時間段,例如一月的變量wind_speed,該文件包含一年中每小時3次分辨率的風速。如果可能的話,我想用nco來做到這一點。從nco小時解析netcdf文件中提取月度數據

我嘗試以下方法:ncrcat -O -F -d time,1,248 -v wind_speed sfcWind.nc out.nc和它的作品。對於這種方法,我需要計算所選月份的時間跨度。 nco中有沒有其他方法可以指定月份並獲取相應的數據?

另一件事是,如果一個人的十二月,一月想要的數據,然後二月不能使用這種方法,或者至少給我的知識。這裏有什麼建議?

最佳斯邁爾

+0

我建議創建一個簡單的腳本,其生成指定的開始/結束索引(例如跨越DJF),然後構建基於這些開始/結束索引將被執行的'ncks'(或其它功能)命令。如果您分享有問題的netcdf文件,我可以提供更多指導。 – N1B4

+0

親愛的N1B4, 感謝您的回覆。我想查閱netcdf文件,但它大約2GB,這太大了。 –

+0

然後你可以提供一些關於其內容的更多細節,可能使用'ncdump -h yourfile.nc'? – N1B4

回答

1

NCO支持multislabs,即多個時間在一個命令hyperslabs。有了這個,你可以將任意月份組合在一起,並且--msa開關將保持它們的順序。手冊是你的朋友。

+0

謝謝,我將再次搜索該手冊。 –

+0

親愛的查理, 我用你所提出的方法和它的工作。我想知道是否存在從特定月份選擇數據的任何方法。例如,如果我寫了一些特定的命令,然後寫了「3」,那麼我將獲得3月份包含的所有數據? –

+0

您可以基於hyperslab下標或hyperslab值提取數據。值可以是日期,假定時間變量具有UDUnits格式的「units」屬性。如果我理解你的問題,那可能是你想要的。這在「hyperslabs」部分的手冊中進行了說明。 –

0

CDO可以做的伎倆,指數設置爲你選擇的月份。

cdo selmon,1 sfcWind.nc sfcWind_jan.nc 

如果你要選擇好幾個月你提到,你可以提供一個逗號分隔的列表(當然,如果你有數據的一年,那麼你的月會不會是「鄰近」揚,2月)。

相關問題