2007/10/10 の dcmodel ネットミーティングのメモ書き

参加者

  • 小高 正嗣, 高橋 芳幸, 杉山 耕一郎, 山下 達也, 徳永 義哉, 佐々木洋平, 森川 靖大

    (順不同, 敬称略)

次回日程

  • 日時
    • 10 月 19 日(金) 10:00 - 12:00
  • 場所
    • 神戸: 自然科学 3 号館 508
    • 北大: 理学部 8 号館 8-2-01 (コスモスタジオ)

引用例で挙げられるプロジェクト名がページによって異なっている問題

  • dcmodel プロジェクトと gtool4 プロジェクトと同様に davis プロジェクトのプロジェクト名も変更する予定. davis プロジェクトの使用上の注意も作成する予定 (石渡)
  • dcmodel プロジェクトと gtool4 プロジェクトの中身の整理 (石渡) 「gtool4 とは」はあるけど, 「dcmodel とは」がないなどの 不整合を整理する.

DCPAM プロジェクト活動報告

DCPAM プロジェクトの Web ページ整備 (森川)

  • DCPAM プロジェクトのトップページを書き換える.
    • spmodel のように, モデルの詳細情報などは一段下に さげ, 「dcpam によっておこなった計算いろいろ」を もうすこしトップページの上部に入れる. (現在, 「計算例」はページのかなり下のほうにある).

dcpam4 モデル開発 (森川)

  • AGCM5 の計算結果と比較するための整備を行った.

dcpam4 のモデルドキュメント作成 (森川)

  • ドキュメントの移行もこれから
    • ソースコードを直接いじらないレベルのユーザ用ドキュメント 『ごくらく DCPAM』の作成
    • ソースコードをいじるレベルのユーザ用ドキュメント 『らくらく DCPAM』の作成
    • 数理ドキュメント, 離散化ドキュメントは dcpam3 から単純移植予定.
      • 数理ドキュメントはコードに合わせた式にした方が良いか?? (DCPAM は U = u cos φ を使ってない, とか).
    • AGCM5 の『コード解説』に関してもコード内の変数を入れ替えて 移植する. ディレクトリ名は code_description (仮).
  • これまでできたソースコード, プログラム構造, ドキュメントのチェック (石渡)

dcpam4 による実験 (森川)

水惑星実験で AGCM5 と比較

  • SX を用いて, AGCM5 と dcpam4 とを同じ設定で動かし, 結果と実行速度を比較する.
    • まずは並列化でジタバタする前に, シングル CPU で動かす.
  • 積雲パラメタリゼーションとして 対流調節スキームを用いる. (AGCM5 では Mkinclude を編集して nonstd/p2cuma.F を用いるようにする).
  • 解像度は T21L16
  • 積分時間は 500 日
  • Δt は AGCM5 と dcpam4 とで同じにする
  • セミインプリシットスキームを使う
  • ヒストリデータの出力間隔は 0-100 日, 450-500 日に関しては 1 日おき, その他は 10 日おき. データは /GFD_Dennou_Work[3]/morikawa 以下に置く.
  • 出力変数は
    • 東西風, 南北風, 温度, 鉛直流(ソースコード要変更), 比湿, 加熱率分布 (DLscTempDt + DLscTempDt, DRadLTempDt, DRadSTempDt), 降水量 (Rain), 蒸発量 (DVerdiffQVapDt), 放射 (RadLFlux, RAdSFlux), 顕熱 (DVerdiffTempDt), 負の水蒸気除去量 (DNegQVapDt)
  • お絵かきは, 上記のデータに関して, それぞれ 450-500 日の平均値を書く.
    • dcpam の計算例の領域に置く

今後の実験リスト (主に dcpam4 の動作試験としてのもの)

  • 水惑星実験で AGCM5 と結果を比較する
    • 東西平均場の比較
      • 東西風, 南北風, 温度, 温位, 鉛直流, 比湿, 加熱率分布 , 降水量, 蒸発量, 放射, 顕熱
    • 全球収支の比較
      • 質量 (地表面気圧), 水 (降水量, 蒸発量), エネルギー (放射, 凝結)
    • 波の活動度
      • Held and Suarez (1994) の Fig3, Fig4 を参照のこと.
      • 赤道の x-t ダイアグラム
  • Held and Suarez (1994) の論文に載っている絵と同じもの を書いてみて波の活動度を調べるについて調べる.
  • 地形を入れて計算してみる.
    • 余田グループの業績をチェックする.
    • Held and Suarez に地形を入れた計算を行った論文があるかも.
      • 高橋さんの調査では発見できなかった. 存在するかどうか もう少し調査が必要.
  • それっぽい地球を動かす
    • 観測に基づく SST
    • 地形がある
    • 陸面過程がある
    • 水蒸気, オゾン, 二酸化炭素の吸収射出を考慮した簡単放射
      • 雲の放射も適当に考慮できるとよいだろう

dcpam3 での計算時のエラーに関して (石渡)

計算していて地表面気圧がどんどん増えてしまう問題に関しては 調査を継続中. 目星はついてきた.

今後は, これまで dcpam3 に導入してきた物理過程を dcpam4 に導入して チェックする.

gtool4 netCDF 規約の CF 規約に対する位置づけに関して (石渡)

gtool4 netCDF 規約再検討北大メンバーミーティング ( 1, 2, 3 ) にて議論が中途半端になっている, gtool4 規約の今後について一応の方針を ちゃんと決める.

なお, 最近 (とはいえ既に昨年秋だが), CF 規約の White paper が公開されており, CF 規約のホームページ も新しくなっている. これらをチェックすべきかどうかも要検討.

現在, CF 規約の bounds について調査開始 (gt_calc_weight の代替になり得 るか? など)

gtool4 netCDF 規約の「引用文献」の CF 規約へのリンクの修正 (石渡)

現状の CF 規約のリンクは

standard name テーブルのリンクは

となっている. CF 規約自体のリンクは, http://www.cfconventions.org/ へ と転送されるが, standard name テーブルのページは転送されない. (つまりはリンク切れ)

それぞれ,

に変更する. (石渡)

ちなみにこの <URL:www.cfconventions.org> の 実体は <URL:cf-pcmdi.llnl.gov>

dcrtm

報告事項

Todo:

  • dcmodel の英語版ページからのリンクを作成 (日本語版は既にある)
  • 大気放射関連の理論マニュアルがあるかどうか確認
  • 論文輪講発表会の資料を格納 (徳永)

覚書

  • データが集まった時点で, 何種類の吸収成分気体(バンド) を考慮すべきか, 検討する
    • まずは可能な限り考慮する, でよいが, とある時点でバンドの 取捨選択をしないとたぶん計算できないモデルになってしまうだろう.
  • Appleby and Hogan (1984) の再計算は年度内にできてないと後々困る. (しかし, 放射のインターフェース (deepconv や dcpam などの メインプログラムとのデータのやり取りの仕方) の検討も必要なので, 大変)

deepconv

  • 並列化
  • 3 次元化 (小高)
    • 火星乾燥対流の計算をチェック中
    • 音波計算部分のコードの整理に着手
  • 凝結成分の種類をもう少し簡単に変更できるように改良を始めた.
    • 目標は地球版よ木星版の実行プログラムをプリプロセッサを使って 単一のメインプログラムから作成すること
    • NH4SH の反応に関係するサブルーチンの整理を始めた

dcmodel コーディングルールの修正

「リスタートファイルとヒストリーファイル」の 「ヒストリーファイル」に以下の記述を追記 (石渡)

平均値を計算する際に座標重みを必要とする数値データの場合には, 座標重
みのデータも各ヒストリーファイルに格納することを推奨する.

この際, 実際に netCDF ファイルにどのように座標重みを格納するかについても 記述する. これに伴い, これまでの gtool4 規約において gt_calc_weight として 使用されていた座標重み指定のための属性を CF 規約 bounds に置き換えることが 可能かどうかを調査する. (石渡)

初期値生成コードの管理について

  • 下記のような実装を dcpam4 において行った. これに関する解説文書をまずは dcpam4 の「らくらく dcpam4 」に まとめる予定である. (その後, dcmodel プログラミングガイドライン へと移動する予定.) とりあえずらくらく dcpam4 に文書をまとめるまで下記文書は ここに残しておく.
  • 長期 RUN 用実行プログラムは「お試し Run」できるように, 内部で 初期値を生成できるようにしておく.
  • 本当に数値実験を行う際にわざわざ長期 RUN 用実行プログラムを改変 しなくて済むよう, 初期値生成用実行プログラムは別途用意しておく.
  • ただし完全に別々に RUN 用ファイルと, 初期値生成用ファイルを メンテナンスする場合, 実際に初期値を生成するコードを「2 度書き」 せねばならず, 開発者のストレスが溜まる (deepconv 開発の経験)
  • 現状の折衷案 (とりあえずこれで試行錯誤してみる)
    • 初期値生成「モジュール」を用意し, 実際に初期値を生成するコードは そのモジュールでくるんでおく. 別途, 初期値生成のみのための実行プログラム, 長期 RUN 用実行プログラムは用意する. それらの実行プログラムは初期値 生成モジュールを参照し, データを作成する.

      ┌─ initital_data.f90 ─────────────────
      |
      |  module initial_data
      |  
      |    subroutine InitialDataCreate( ....)
      |    
      |      初期値生成コード
      |      
      |    end subroutine InitialDataCreate
      |    
      |
      |  end module initial_data
      |
      └──────────────────
      
      ┌─ init_sample.f90 ─────────────────
      |
      |  program init
      |    use initial_data
      |    
      |    call InitialDataCreate(...)
      |    
      |  end program init
      |
      └──────────────────
    • RUN 用プログラムは「おためし RUN」可能なように, 初期値生成モジュールを use してサブルーチンを実行する.

      結果的に, 「おためし RUN」の際には, RUN 用ファイルは一度初期値ファ イルを書き出し, それを実行ファイルで読み込むことになる.

      ┌─ run.f90 ─────────────────
      |
      |  program run
      |    use initial_data
      |    
      |    call InitialDataCreate(...)
      |    
      |    
      |    do ....
      |    
      |      長期 RUN
      |    
      |    end do
      |    
      |  end program run
      |
      └──────────────────

NAMELIST ファイルの書式について

これまで deepconv の NAMELIST ファイルでは以下のように 変数グループを記述していた.

&grid_3d_nml
  im = 64             ! 東西格子点数
  jm = 32             ! 南北格子点数
  km = 16             ! 鉛直格子点数
/

これを以下のような規格に沿った正しい記述に書き換えた.

&grid_3d_nml
  im = 64,             ! 東西格子点数
  jm = 32,             ! 南北格子点数
  km = 16              ! 鉛直格子点数
/

spml の wa_module から rn, irm を参照する問題

  • 作業担当者: 佐々木

wa_module.f90 に以下の行を足してコミット.

public :: rn, irm

マイナーバージョンを上げて, リリースする.

その他 2006 年度末に話し合った内容に関しては, 天文台モデルミーティングログ 2006/12/25-27 を参照のこと.

spml のコード管理について

  • 現状
    • コード管理の手引は /GFD_Dennou_Club/ftp/arch/spmodel 以下の TEBIIKI.spmodel.txt に若干記載されているだけ
    • 公開版ソースコード (tgz ファイル, deb ファイル) の 作成手順が不明瞭
  • ToDo (佐々木)
    • まず現状の公開版ソースコードの作成手順を確認. しかる後, 作成手順を見直す.
      • dcpam4 で用いられている手順を参考にする
    • cvs を用いたコード開発の手引を整備する

モデル開発してて面倒と感じることいろいろ

以下の, 日頃作業する際に調べる面倒だなぁ, と思う事柄に関して, dcmodel のページから 1 ホップぐらいで手繰れるところに, 必要最低限の資料を作成 する. (杉山)

  • cvs commit が面倒
    • (面倒) コマンドをすっかり忘れているので, わざわざいちいち調べなけ ればならない (コミットするのが億劫になる). 調べる情報も dcmodel プロジェクトの奥のほうにあったりして調べる作業も鬱陶しい.
      • 調べるものの例
        • cvs のタグの貼り方どうだっけ??
        • cvs のコミットどうするんだっけ?? なんかルールもあったような??
    • (対応策) 杉山氏が, 自分で cvs コミットの際に必要な情報を dcmodel ページの上の方 (検索しやすい位置) に作ってみる.
  • ソースの公開版の更新が面倒
    • 作業そのものはだいぶ簡素化されている (タグが書き込まれているファイル を書き換え, あるディレクトリで make するだけ).
    • やり方が流布されれば OK ??
  • gt4f90io の開発についていけない
    • (面倒) なんかいろいろ開発してるらしいが, ついていけん.
    • (解決策??) 基本的には History 系 (もうそんなに仕様変更されないことが 期待される) のみは追うけれども, 最近作っている目新しいツールは 無理して追いかけない. (面白そうならその時に聞く).

動画の作成方法に関して

元々は, 2007 年 惑星科学会秋季講演会において, 石渡さんが, 「動画を作成するのはどうしたらよいの??」といったことに端を発した事案.

できるだけお手軽に動画を作れる (かつ, その動画が Web ブラウザで見れ, かつ難なく PowerPoint に張り込める) 手法を共有できると嬉しい.

最近近傍の人が試した手法としては以下が挙げられる. (他にもあるかも).

  • GIF アニメ
    • ppt 上で動画再生できないことがある(原因不明)
  • MPEG (石渡)
    • ppt 上では, Windows Media Player を起動して再生
    • HTML に張り付けるときには FLV のように「再生」「停止」 ボタンを表示できるかどうかはよくわからない
  • FLV (土屋, 杉山)
    • ppt にはそのまま張り付けることができない.

画質については目的に応じて個別に判断するしかない. MPEG, FLV については作成時に工夫する必要があるかもしれない.

とりあえず, これまでの各人の経験をまとめたメモを作成して おく (高橋). それをどこに格納して公開するかは追って相談.