GrADSでXDEF、YDEFの超過

事の経緯

研究でシミュレーションから後処理をして、GrADSで描画していました。後処理をすると自動的にGrADS用のコントロールファイルとバイナリファイルが出力されます。
しかし、そのコントロールファイルを用いてGrADSでお絵描きするとありえない値があり、原因を調べていました。

原因

GrADSでは、コントロールファイルのXDEF、YDEFで東西、南北方向を指定します。XDEFは、東西方向のデータ数 LINER 始点の経度 格子間隔(経度)を指定します。格子間隔を誤り、大きく地球を一周以上するような設定にすると、値がおかしくなります。今回のコントロールファイルは、XDEF、YDEFで経度ではなく、キロメートルとして設定されており、かつ格子点数が多いため地球を一周以上するような設定になっていました。

実際のコントロールファイル

本当は、東西、南北方向に512の格子点数があり、0から4㎞間隔にプロットし、東西、南北に約2000㎞のデータなのですが、上の設定だと東西、南北方向に512の格子点数があり、0度から4度間隔にプロットすることになります。したがって、地球を何十周もしていることになっています。
GrADSで単純に’d 変数名’をすると背景に世界地図が出ると思います。その世界地図が、下の図のように一周以上しているような図になっていると変な値になっている可能性があるので、XDEF、YDEFを地球一周で収まるようにしましょう。
上のコントロールファイルを用いてGrADSで描いてみました。

ラベルと背景の世界地図から地球を何周もしてます
下を拡大

上の図を見てもわかると思いますが、デフォルトではラベルが大変なことになっています。また、下の方を見ると、世界地図が何週もしていることがわかると思います。

まとめ

今回の問題は、非常に稀な例だと思います。自動生成されたGrADS用のコントロールファイルをそのまま使っていたので…
コントロールファイルのXDEFとYDEFは、地球一周に収まるようにします。
格子間隔は、XDEFでは経度、YDEFでは緯度です。