.grd 形式の 6 時間間隔 (1 日あたり 4 ファイル) の大気データを含むファイルがあります。関連する記述子ファイル (yyyymmddhh.ctl) もあります。GrADS を使用してデータをプロットできます。しかし、これらのファイルをNetCDF形式 (.nc) に変換して、 ferrertを使用して視覚化する必要があります。誰もそれを行う方法を知っていますか?
3 に答える
次のようなことを行うには、 Climate Data Operators (CDO)を使用する必要があります。
cdo -f nc import_binary in.ctl out.nc
処理するファイルが多数ある場合は、それらを処理するスクリプトを作成することができます。
たとえば、COAMPS モデルからの一連の GrADS ファイルを含む tar ファイルがあり、解凍すると 121 組の.dat
and.cdl
ファイルが生成され、次のような名前が付けられました。
COTC.18L.2012102512.000.ctl
COTC.18L.2012102512.000.dat
COTC.18L.2012102512.001.ctl
COTC.18L.2012102512.001.dat
COTC.18L.2012102512.002.ctl
COTC.18L.2012102512.002.dat
...
だから私は小さなbashスクリプトを書いた:
#!/bin/bash
for file in *.ctl
do
fname=${file%.ctl}
cdo -f nc import_binary ${fname}.ctl ${fname}.nc
echo ${fname}.nc
done
それらをすべて netcdf に変換します。
注 #1 : CDO はビルドが難しい場合がありますが、Linux または Mac を使用している場合は、Conda を使用してインストールできます。
Condaがない場合は、Miniconda (無料)をインストールします。方法は次のとおりです。
ステップ1。があることを確認してください。~.condarc
次のようになります。
$ more ~/.condarc
channels:
- conda-forge
- defaults
ステップ 2。CDO を実行するためのカスタム CDO 環境を作成します。
$ conda create --yes -n CDO python=3.6 cdo
$ source activate CDO
ステップ 3。nco
コマンドを実行してください!
注 #2 : またNcML
、thredds データ サーバーでこれらのデータを仮想的に集約するためのファイルも作成しました。そのファイルは次のようになります。
<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
<aggregation dimName="time" type="joinExisting">
<scan location="." regExp=".*COTC\.18L\.[0-9]{10}\.[0-9]{3}\.nc$"/>
</aggregation>
</netcdf>
これを処理するための THREDDS データ サーバーの設定の詳細については、 https: //gis.stackexchange.com/questions/70919/setting-up-thredds-catalogs-for-ocean-model-data を参照してください。