NetCDF
cdo

CDOで特定の緯度経度の領域を切り出す

CDO使ってる人っているの?

そもそも一体何人がCDOを使っているかは微妙なところである。
しかし, 巨大なnetCDFファイルをncl(WRFユーザ)や, R(統計やるマン), python(流行)で直接触りに行くのは...という人も多い。そこで,
raw data -> CDO processing -> main processing というフローをとると結構楽になるのではという考えで, CDOを使い始めた。そのための備忘録シリーズ。

今回のターゲット

  • 特に今回は, プリプロセス的な使い方としてCDOを使って特定緯度経度範囲を切り出すような処理について説明する。

環境等

  • CDO自体は, 特にインストールが難しい物でもない(特にnetCDFのversion等を指定しなければ)ので割愛する。
  • 使用環境 : Ubuntu 18.04, CDOはapt install.

コード例

マニュアル的には,

cdo sellonlatbox,lat1,lat2,lon1,lon2 infile outfile

ということらしい。ただ, こう言われてもわかりにくいのが世の常である。
例えば, 関東のとある領域を切り出すには,

cdo sellonlatbox,138.666,139.9,35.75,36.2798 infile.nc outfile.nc

とする。(マニュアルとの差分が小さいような気もするが, きにしないのである)
ちなみにこの関数はparallelizeの対象となっていないので, Pオプション(openMP並列)は無意味になってしまうので注意。

終わりに

まあ, 備忘録シリーズなので, 情報は多くないが, "CDO 特定領域 緯度経度"とかで検索した場合の候補くらいになって, マニュアルの和訳がたまたまあってラッキーくらいの話になってくれれば良いのではないだろうか。