= 数値モデルに関する事柄 == 非静力学コアの支配方程式 * 熱力学問題(林先生)は問題なさそうだが, 深い対流は OK なのか ? = データ・可視化に関する事柄 == 非構造格子 <-> 構造格子 間でのデータストリーム * 正二十面格子上から緯度経度格子へのデータ変換は実装済み. * sin 緯度対応完了. * 逆のデータ変換は思案中(ex. 緯度経度格子上のデータから spmodel を使ってスペクトル係数を計算, 非構造格子上の値を求める). == paraview による可視化 = ドキュメンテーションに関する事柄 == doxygen * IGModel では, doxygen を利用. * RDoc と doxygen の機能比較をするために, 調査中 = OOP と関連する事柄 == C++ から Fortran でかかれた IGMBaseLib を呼び出す. * object based programing (and module 使用) で IGMBaseLib はかかれている. コンパイラの制約から, Fortran 2003 の Bind 機能は使えない. * name mangling の問題を解決するために, module の構造を一度分解して, flat にする. * derived type (深い derived type も考慮)の問題に対応するために, 透過ポインタを利用する. また, C++ 側は shdow object のメンバー関数を介して, Fortran の構造型内のデータにアクセスする. == 数式らしいコーディングを可能にするためのアイデア * IGMBaseLib の IcGrid_Field クラス(正二十面体格子上の物理場データを管理するクラス)に, 演算関数を定義する. * 配列の要素全体にアクセスするための, do ループをライブラリの中に押し込める. * 懸念されるのは, 一時オブジェクトの生成や関数呼び出しに伴うオーバヘッドやコンパイル時の最適化があまり効かない問題が発生するかも ? == 物理過程モジュール(or クラス)のプラグイン化 * Fortran などのネイティブ系言語は, 普通リフレクションを提供していないので困る. * 動的にライブラリをロードするクラスを実装れば解決できるかも ? * 環境依存(Linux なら dlfcn.h, Windows なら..) * 数値モデルの表層は, C++ で書けば, 現実的になるかもしれない.