dcpam メモ
個人的なメモ.
覚書
課題 (2009/06/23)
- 放射
- 他のスキームとの整合性
- 雲
- 乱流
- Level 2.5
- Nakanishi and Niino (XXXX)
- 地中比湿
- 川
- 重力波抵抗
惑星表面フラックスの扱い (2014/03/11)
- 現在, SurfLatentHeatFlux と SurfH2OVapFlux の扱いが微妙.
- PhyImplSDHV2Tendency を使った時だけ有効.
地球放射モデル中の定数 (2013/06/12)
- 地球放射モデル内で平均分子量を局所的に定義している.
物理定数 (2013/06/11)
海氷があるときのアルベド変化が不連続 (2011/10/14)
- 海氷密度の閾値でアルベドが不連続変化する. (たぶん)
湿潤対流調節 (2011/07/08)
- 凝結閾値が 1 未満の時に凝結量が負になる (?)
- ややこしくてよくわからないが, そうなることがありそうな気がする.
bucket_model.f90 (2010/06/17)
- SoilMoistMeaningLess の変数名 (MeaningLess の部分) がおかしい. (commented by 村上)
- バケツモデルを使うことと, 地下に層を作って土壌温度を計算する ことは, 難しさのバランスが取れていないように感じる. (はしもと)
- 10-15 年前の CCSR モデルは, 既に土壌水分の鉛直分布も考慮してい たらしい (参考情報) (commented by はしもと)
降雪, 積雪量に関する問題 (2010/06/17)
- 降雪時の凝固潜熱が考慮されていない. (commented by はしもと)
- 融雪時の潜熱が考慮されているため, 不整合.
- 降雪と地表面温度の関係.
- 場合に地面温度が 273 K を下回ってもバケツの中に液体の水が あるのは良いのか? (commented by はしもと) 液体の水が凍った場合の氷と降って積もった雪は違うのか? (commented by 高橋)
- 水の熱容量, 積雪の熱容量は考慮しなくて良いか? (commented by はしもと)
dcpam_main.f90 (2010/06/17)
- 地表面状態 (海, 森, 砂漠, ...) を指定する変数を作る. (commented by はしもと,
村上)
- 変数名の候補は SurfType (surface type)
- 現状は, 以前から使われていた変数 SurfCond を流用しているが,
変数の意味が異なるので分けた方が良いというコメント.
現状では, 場合によって SurfCond は 2 つの意味を持つ.
- SurfCond は SurfTemp を一定とするか内部で計算するかを指定
するインデックス
- SurfCond = 0 : SurfTemp 一定
- SurfCond = 1 : SurfTemp が計算される
- SurfCond は惑星表面状態 (海, 森, 砂漠, ...) を指定するイン
デックス
SurfCond = 0 : 海
海氷がある場合, Slab ocean の場合は, 内部 で SurfTemp を計算.
SurfCond /= 0 : その他
SurfTemp が計算される
- SurfCond は SurfTemp を一定とするか内部で計算するかを指定
するインデックス
- 計算で SurfCond と SurfType のどちらを使うかについて, どのよ うに指定するかを考えなければいけないだろう.
- 鉛直拡散と地表面フラックスをまとめて 1 つのモジュール・サブルー
チンにした方が良い. (もしくはメインプログラムからは 1 つのサブ
ルーチンで両方計算できるようにした方が良い. この場合にはラッパ
ーを作ることになる?) (commented by はしもと)
理由:
- 鉛直拡散 (subroutine VDiffusion), 地表面フラックス (subroutine SurfaceFlux) の出力は, 同じ変数を使っている. 現状では, まず VDiffusion で, k = 1...kmax のフラックス を計算し, SurfaceFlux で k = 0 のフラックスを計算しており, 別れているのはわかりにくい.
- 鉛直拡散も地表面フラックスも両方ともに乱流に関する過程である.
- subroutine BucketModQvapFlux は subroutine SurfaceFlux の中から
呼ぶ方が良い. (はしもと)
- BucketModQVapFlux は, 惑星表面上に溜まっている水の量に合わせ て地表面水蒸気フラックスを制限するサブルーチン.
- サブルーチン名 SetCloudRegistPRCP* の Set と Regist の意味が かぶっているように感じるので直した方が良い. (commented by 村上)
radiation_DennouAGCM.f90 (2010/06/17)
- BandWeight の規格化の計算はすべての時間ステップで行う必要は ない. (commented by 高橋, 村上)
- 放射伝達方程式の演算は, 光学的厚さの変数を作って書き直した 方が良い. (commented by はしもと) その方が吸収係数に温度依存性を持たせるなど, 拡張した使い方 に対応しやすいであろう.
radiation_DennouAGCM.f90 バグ (2009/07/22)
- 放射伝達方程式を計算しない回 (放射はすべての時間ステップで計 算されるわけではない) での放射フラックスの推定 (線型外挿) に おいて, 惑星表面温度の変化の寄与の項 xyra_DelRadLFlux(:,:,:,0) が ないように見える. (commented by 高橋) (バグだろう. 一昨年度末の変更で出来た可能性が高い. 惑星表面温度が時間変化しない場合には影響なし. 時間変化する場合にも, 放射伝達方程式をすべての時間ステップで計算する場合にも影響なし.)
文書との整合性 (2009/09/02)
- モジュール名, サブルーチン名, 変数名の変更を文書に反映させる必要があるだろう.
- GroundFileGet
- TempVir
- QVap
各種定数 (2009/07/10)
- 惑星半径, 自転角速度, 太陽定数などのデフォルト値を確認すること.
SST & Sea ice (2009/06/09)
- AMIP2 の SST, Sea ice の「異常値」をはじいてない
外からファイルで読むデータの扱い (2009/04/24)
Save 変数を持っている場合と持っていない場合と.
海氷の扱い (2009/04/24)
簡単陸面モデル付き (バケツモデル付きでもある) しか対応してない. (traditional 1 layer model は対応してない)
海のアルベド (2009/04/24)
海のアルベドがいい加減.