個人的記入ルール (Fortran90/95)
基本方針
- 気象庁/気象研の 標準コーディングルール をベース
- 一部に個人ルールも併用 (というか,結果的に混在してしまったと言うべき)
- モジュール化を進めるが,コードは多少汚くてもよい.
- 「汚くても」の意味は,「計算効率が最適でなくても」の意.
- 「維持管理しやすいように,プログラマ(少なくとも自分)にとって可読性が高い書き方」 を優先する.他者が読みやすいかどうか... プログラムを配布するのが商売じゃないんだから,私にとって優先度低い. 万人に読みやすいモノを書くのは,そもそもムリだろう.
- コード内にマルチバイト文字(要するに日本語)は使用しない
ローカルルール
気象庁標準コーディングルールとの違いは?
ローカルルールの基本 (Fortran文法関連)
- Fortra90/95 の宣言文・制御文・組込み関数などは大文字表記
- これは気象庁ルールとは異なる.特に積極的な理由は無く,個人的趣味の問題.
- PROGRAM, MODULE などのコードの冒頭・末尾の宣言文は,左寄せ
- 上記を除き,全てインデント.インデント幅は 2-byte ずつ
ちょっと基準があいまいなルール
ローカルルールの例外
- 緯度方向の配列は,南極から北極方向(SP2NP)を default とする(FY2011の途中から変更).
FY2011以前は北極から南極をデフォルトにしてた(NP2SP)が,緯度方向の差分計算する時に
うっかりミスで何度も間違えた.
- GRIB-1 はNP2SPがデフォルトなので,データ読み出し時には注意
- GRIB-2 はSP2NPがデフォルト.GRIB-1 と反対向きなので注意.
- 自分専用 F90 モジュール(ライブラリ)の作成.作成場所は,$HOME/fort/10personal_module/ 以下.
- モジュール内の subroutine/function には,複雑な機能を持たせない事. 原則として,ひとつの subroutine/function には,ただ一つだけの機能とする.
- Debug 等の目的のため,一部でプリプロセッサ機能を使う. そのため,拡張子は *.F90 とする
- モジュールは可能な限り他のモジュールに依存しないようにする. 依存関係があると,メンテナンスが困難になる. どうせ個人用途なので,ライブラリが肥大化しても大勢に影響無し.
- 自分専用 Fortran 90 のモジュール作りは,遅くとも2008年4月10日以後には開始.
- 自分が研究で使う計算コード・ファイル操作ユーティリティなどをモジュール化. 自分の研究スタイルでは,データの種類は変わっても,計算するモノはあまり変わらない. だから,入出力部分だけ差し替えれば,大抵の Fortran code は流用できる.
更新履歴
Date | Changes |
---|---|
2016-02-27 | ページ内の参照用IDを付け替え. 番号付けのルールは, Linux tips (hysk) # 自分専用ルール・HTML に従う. |
2010-01-07 | 多分,この日に記載開始. |