MRI.COM

目次

MRI.COM 命名規則

モジュール名

原則、oc_mod_[ファイル名]とする。通常は名詞。

サブルーチン名

サブルーチンには モジュール名(アンダーバー2つ)機能 (modulename__functionality) という名前をつける

例: tracer__diagnose_horz_flux

ただし単一のモジュール内でのみ利用される、private 指定のサブルーチン・関数に関しては、 モジュール名(アンダーバー2つ) を付与しない

例: (OK) bubble_sort

   (NG) ale_topo_vary__bubble_sort

代表的なサブルーチン(メソッド)

通常は動詞とする。 各モジュールで備えるメソッドには、なるべく共通の名前を付けると分かりやすい。他にもあれば適当に追加してください。(アルファベット順)

メソッド名 行う作業
add_hoge ある変数に足し算する
calc_hoge モジュール内変数によりある量を計算し、呼び出し側に返す
diagnose 今のステップにおける変数の値を計算し、モジュール内変数に保持する
fin 終了処理を行う
get_hoge ある変数を取得する
give_hoge ある変数をOGCMの外側から与える(例えばMOVE)
ini 初期設定。namelistを読んで、モジュールで使用する定数・チューニングパラメータを決定する(restartデータを読む前)
predict 次ステップの値を予報する
prepare restartデータを読んだ後、1ステップ目のメインルーチンに入る前の作業
print 標準出力に表示する
read_restart restartデータを初期値として読み込む
register 構造体の登録を行う
rewrite 変数を更新する (1つ前の時間ステップの変数はrewrite_prev, 今のステップの変数はrewrite_now)
set_hoge モジュールの内部変数を与える
subtract_hoge ある変数に引き算する
write_history historyデータを出力する
write_restart restartデータを出力する

namelist名

項目名

変数名

略語

処理系によっては、サブルーチンや変数の名前に文字数に制限がある場合もあるので、単語を短縮して使わざるを得ない状況になった場合には、以下のリストを参考にサブルーチンや変数の名前をつけ、全体で31文字以下になるようにする。全てに適用する必要はない。

単語 略語
boundary bndr
closure clsr
diagnose diag
diffusion/diffusivity diff
history hs
horizontal horz
independent indep
initialize ini
interpolate intpol
ocean ocn
optimize optim
prepare prep
restart rs/rst
turbulence turb
vertical vert
viscosity visc