login

CDO(jp)

Top / CDO / tips

Japanese / English

基本

基本文法

cdo options operator1 -operator2 -operator3 ... 
  • options は必ず operator の前に置く必要がある。
  • 2つ以上の operator を使う場合、2つ目以降の operator の前に - を付けることで他の operator の結果を受け取れるようにする(パイプライン:後述)。

パイプライン

以下、cdoのマニュアルに掲載されている例:

cdo timavg infile1 tmp1
cdo dayavg infile2 tmp2
cdo sub tmp2 tmp1 outfile
rm tmp1 tmp2

これを、

cdo sub -dayavg infile2 -timavg infile1 outfile

のように一度に処理することができる。イメージとしては(以下は実行できないが)、

cdo sub (-dayavg infile2) (-timavg infile1) outfile

のような形になる。すなわち、sub の第一引数として "dayavg infile2" の出力が、第2引数として "-timavg infile1" の出力が与えられる。任意の数の入力を持つ operator ではパイプラインを使用できない。

メタデータ

タイムステップ数を取得する

cdo ntime filename

データの基本的な統計情報を表示する

cdo info filename

変数の名前を変更する

cdo chname,old-name,new-name input-filename output-filename
  • cdo chname,sa_lwu_toa,olr sa_lwu_toa.nc test.nc
    

時間の単位を変更する

cdo settunits,[seconds|minutes|days|months|years] input-filename output-filename
  • GrADSで "gadsdf: Time increment too large for 'minutes since' time units attribute" などというエラーが出る際にも有効。

データの取り出し

任意の時間ステップのデータを取り出す

cdo settimestep,tstep input-filename output-filename

演算

2つのファイルの値を加算する

cdo add input1-filename input2-filename output-filename
  • メタデータは input1-filename のものが引き継がれる。

統計

時間

cdo operator input-filename output-filename
  • operator は以下に示す通り
  • 新しい時間座標は、平均に用いたすべてのデータの時間の中央(平均?)になる

月毎の統計値

operator 意味 詳細
monmean 月平均

Tips: 複数ファイルの時間平均

cdo mergetime hoge*.nc hoge_merge.nc
cdo timmean hoge_merge.nc hoge_mean.nc
  • パイプラインでは記述できないので注意。

リンク