AGCM5 第4部コードリファレンス

地球流体電脳倶楽部

2002 年 06 月 20 日 (AGCM5-3.4)

\underline{ii AGCM5 第 4 部コードリファレンス}

目次

1  NAMELIST : NAMELIST 変数  1

1.1 座標, 定数, 時間積分制御に関する NAMELIST 変数 . . . . . . . . . . . . . . . . 3 1.1.1 NMRUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.2 NMINTG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.3 NMTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.4 NMFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.5 NMPCON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1.6 NMLAT0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.7 NMSIGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.8 NMINIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.1.9 NMDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.1.10 NMCALN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.1.11 NMINIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.1.12 NMDATG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.1.13 NMRSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.1.14 NMRSTG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2 ヒストリー出力に関する NAMELIST 変数 . . . . . . . . . . . . . . . . . . . . . . 9 1.2.1 NMHISD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2.2 NMHIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2.3 NMMONI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3 診断出力に関する NAMELIST 変数 . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.3.1 NMDIAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4 力学過程に関する NAMELIST 変数 . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4.1 NMDAYL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.4.2 NMHDIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.4.3 NMPHIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.5 地表面の設定に関する NAMELIST 変数 . . . . . . . . . . . . . . . . . . . . . . . 14 1.5.1 NMBFIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.5.2 NMBDEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.6 放射の設定に関する NAMELIST 変数 . . . . . . . . . . . . . . . . . . . . . . . . 15 1.6.1 NMRADM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.6.2 NMRADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.6.3 NMRADI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.6.4 NMRADS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.7 鉛直拡散の設定に関する NAMELIST 変数 . . . . . . . . . . . . . . . . . . . . . . 17

1.7.1 NMVDFM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/dai4bu.tex

\underline{AGCM5 第 4 部コードリファレンス iii}

1.7.2 NMSCFM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.7.3 NMSCFL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.8 重力波抵抗に関する NAMELIST 変数 . . . . . . . . . . . . . . . . . . . . . . . . 18

1.8.1 NMGRAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.9 鉛直拡散係数を一定とする設定での NAMELIST 変数 . . . . . . . . . . . . . . . . 20

1.9.1 NMVDF0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.9.2 NMTFLX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2  INCLUDE : INCLUDE ファイル  21
3  DYNAMICS : 力学過程ルーチン  22

3.1 サブルーチンの説明 : 力学過程制御 . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1.1 DYNMCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1.2 DSTRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.3 DHSTRG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2 サブルーチンの説明 : スペクトル格子点変換サブルーチン . . . . . . . . . . . . . 27 3.2.1 W2G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2.2 G2W . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2.3 SPSTUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3 サブルーチンの説明 : 地表気圧傾度 . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.3.1 PIXPIY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.4 サブルーチンの説明 : 水平差分定数設定 . . . . . . . . . . . . . . . . . . . . . . . 31

3.4.1 DSETC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.4.2 DYNPAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.4.3 SETCOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.4.4 SETDIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.1 サブルーチンの説明 : 物理過程メインプログラム . . . . . . . . . . . . . . . . . . 35 4.1.1 PHYSCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.1.2 PADJST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.1.3 PHSTRG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2 サブルーチンの説明 : 放射フラックス . . . . . . . . . . . . . . . . . . . . . . . . 39

4.2.1 RADFLX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.3 サブルーチンの説明 : 短波放射 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.3.1 SHTFLX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.4 サブルーチンの説明 : 太陽入射 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.4.1 SHTINS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.5 サブルーチンの説明 : 長波放射 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.5.1 LNGFLX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.6 サブルーチンの説明 : 地表面フラックス . . . . . . . . . . . . . . . . . . . . . . . 45

4.6.1 SFCUVT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.7 サブルーチンの説明 : 地表バルク係数の計算 . . . . . . . . . . . . . . . . . . . . . 47

4.7.1 BLKCOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.8 サブルーチンの説明 : 陰解法を用いた時間変化率の計算 . . . . . . . . . . . . . . . 48 \underline{iv AGCM5 第 4 部コードリファレンス}

4.8.1 PHYTND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.8.2 FLXCOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.9 サブルーチンの説明 : 鉛直拡散 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.9.1 VDFUVT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.10 サブルーチンの説明 : 浅い積雲対流 . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.10.1 SHLCOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.11 サブルーチンの説明 : 地表面の時間積分・地表長波フラックス補正 . . . . . . . . 55

4.11.1 TGINTG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.12 サブルーチンの説明 : 物理過程の雑多な部品 . . . . . . . . . . . . . . . . . . . . . 56

4.12.1 TINTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.12.2 PZLEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4.13 サブルーチンの説明 : 大規模凝結 . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.13.1 LSCOND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.14 サブルーチンの説明 : クオパラメタリゼーション . . . . . . . . . . . . . . . . . . 60

4.14.1 CUMADJ ( Kuo ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.15 サブルーチンの説明 : 乾燥対流調節 . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.15.1 DADJST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5  IO : 入出力ルーチン  63
6  ADMIN : 座標・時間制御ルーチン  64

6.1 サブルーチンの説明 : 座標の計算・設定 . . . . . . . . . . . . . . . . . . . . . . . 65 6.1.1 SETCOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.1.2 STNCOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

6.2 サブルーチンの説明 : σ座標の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.2.1 SETSIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.2.2 SETSGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.2.3 STNSIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 6.2.4 SETSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.3 サブルーチンの説明 : 緯度経度定数の計算 . . . . . . . . . . . . . . . . . . . . . . 70 6.3.1 SETLAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.3.2 STNLAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.3.3 SETLON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.3.4 STNLON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.4 サブルーチンの説明 : 実験パラメタのセット . . . . . . . . . . . . . . . . . . . . . 73

6.4.1 SETPAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.5 サブルーチンの説明 : 標準物理定数のセット . . . . . . . . . . . . . . . . . . . . . 74

6.5.1 PCONST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 6.6 サブルーチンの説明 : ステップ制御・日付処理 . . . . . . . . . . . . . . . . . . . . 75

6.6.1 TIMSTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.6.2 SETTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.6.3 ADVSTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.6.4 INQSTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 \underline{AGCM5 第 4 部コードリファレンス v}

6.6.5 AIDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.6.6 DIDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.6.7 RDATES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

6.7 サブルーチンの説明 : (t-Δ t) での値のセーブ・ロード . . . . . . . . . . . . . . . 80 6.7.1 SAVEGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.7.2 LOADGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.7.3 LOADGQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

6.8 サブルーチンの説明 : 初期値入出力 . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.8.1 RDSTRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.8.2 RDGDST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.8.3 RDGDSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.8.4 RDSTRG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.8.5 WRRSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.8.6 WRRSTX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.8.7 WRRSTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.8.8 WRRSTG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

6.9 サブルーチンの説明 : 時間単位変換 . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.9.1 ACTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.9.2 ACTIMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.9.3 AQUTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 6.9.4 ASUTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 6.9.5 ASDELT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6.10 サブルーチンの説明 : 時間フィルター . . . . . . . . . . . . . . . . . . . . . . . . 86 6.10.1 TFILT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

7  UTIL : ユーティリティルーチン  87

7.1 サブルーチンの説明 : ルジャンドル函数 . . . . . . . . . . . . . . . . . . . . . . . 88 7.1.1 SETPNM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 7.1.2 LGNDRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 7.1.3 GAUSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

7.2 サブルーチンの説明 : 時間モニター . . . . . . . . . . . . . . . . . . . . . . . . . . 90 7.2.1 CLCSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 7.2.2 CLCEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 7.2.3 CLCOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

7.3 サブルーチンの説明 : 行列計算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7.3.1 LUMAKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7.3.2 LUSOLV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7.3.3 LUMAK3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 7.3.4 LUSOL3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

7.4 サブルーチンの説明 : 雑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.4.1 RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.4.2 COPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.4.3 FILLV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 \underline{vi AGCM5 第 4 部コードリファレンス}

7.4.4 MAXMIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 7.4.5 IUNITM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.4.6 MALLOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.4.7 MFREE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

8  NONSTD : 非標準ルーチン  99

8.1 サブルーチンの説明 : 湿潤対流調節 . . . . . . . . . . . . . . . . . . . . . . . . . . 100

8.1.1 CUMADJ ( adustment ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 8.2 サブルーチンの説明 : 乾燥対流調節 . . . . . . . . . . . . . . . . . . . . . . . . . . 102

8.2.1 DADJST (dummy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

9  USR/POCHAKA : pochaka ルーチン  103

9.1 サブルーチンの説明 : 地表面の時間積分・地表長波フラックス補正 . . . . . . . . 104 9.1.1 TGINTG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

10  SYSDEP : 機種依存ルーチン  105

10.1 サブルーチン · 関数の説明 : 機種依存ルーチン . . . . . . . . . . . . . . . . . . . . 106 10.1.1 ERRTRA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 10.1.2 YCLOCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 10.1.3 YCLOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 10.1.4 YCLOCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 10.1.5 MKFILN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 10.1.6 REWNML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 10.1.7 SETNML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 10.1.8 YERRST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 10.1.9 YDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 10.1.10 YTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 10.1.11 IOSLEV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

A  謝辞  111

第1章 NAMELIST : NAMELIST 変数

1 実験のパラメーターは, 通常ユニット番号 5 番から NAMELIST 入力によって読み込まれる. NAMELIST 入力の項目を指定しなければ, デフォルト値が用いられる. NAMELIST 自体を省略してもよい. また, これらはどのような順番にならんでいてもよい.

92/01/13 沼口敦

92/08/28 竹広真一 2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/namelist/namelist.tex

AGCM5 第 4 部コードリファレンス

1.1 座標, 定数, 時間積分制御に関する NAMELIST 変数 3

1.1 座標, 定数, 時間積分制御に関する NAMELIST 変数

1.1.1 NMRUN

1. 設定機能出力のヘッダに書き込まれる情報 (SETPAR). 必ず指定する.

2. 設定方法 (デフォルト値)

         &NMRUN  RUN='TEST001',  SIGN='GCM5   &END

3. NAMELIST 変数の説明

        RUN   (C*NCC) 実験の名前.
        SIGN  (C*NCC) 実行者名.

1.1.2 NMINTG

1. 設定機能時間積分の制御パラメータ (SETPAR).

2. 設定方法 (デフォルト値)

         &NMINTG TUNIT='MIN',      DELT=30,
                 INISTP=3,         TFIL=0.05             &END

3. NAMELIST 変数の説明

        TUNIT   (C*4) 時間単位. 'MIN', 'HOUR', 'DAY' が指定できる.

DELT    (I)  時間ステップ. TUNIT で指定する単位で記述する^{1}
INISTP  (I)  leap frog の初期の時間刻を細かくとるステップ数.
TFIL    (R)  時間フィルターの係数.

1.1.3 NMTIME

1. 設定機能積分時間のパラメータ (SETPAR).

2. 設定方法 (デフォルト値)

          &NMTIME TUNIT='DAY',
                  START=0,   END=1,  INTRST=0  &END

3. NAMELIST 変数の説明

92/01/13 沼口敦 92/08/28 竹広真一 /model/agcm/agcm5/doc/dai4bu/namelist/nmadmin.tex  2002/006/20(地球流体電脳倶楽部)

TUNIT   (C*4)  START, END の時間単位. NMINTG 参照. NMINTG の TUNIT と違って

かまわない.

START   (I)  積分開始時刻^{2}

END     (I)  積分終了時刻^{2}
INTRST  (I)    再スタート用ファイルの書き出し間隔. どのような設定値に対して も計算終了時のデータは出力される. 0 ならば終了時のデータのみ を書き出す.

1.1.4 NMFILE

1. 設定機能

再スタート値のファイルの情報の指定. 数字で始まる場合には装置番号として解釈される^{3}. それ以外の場合はファイル名として解釈され, そのファイルがオープンされる. 空白を指定した場合, 対応する入出力は行われない (SETPAR).

2. 設定方法 (デフォルト値)

&nmfile  vmiss=   -999.0 &end

3. NAMELIST 変数の説明

VMISS  (R)  {欠損値を表すデータの指定. 通常は考えなくてよい. GTOOL3 の \atop マニュアル参照.}

1.1.5 NMPCON

1. 設定機能

物理定数 (SETPAR). デフォルト値はサブルーチン PCONST で与えられる^{4}.

2. 設定方法 (デフォルト値)

&NMPCON  CP=   1004.6,
EL=    2.5E+6
ER=    6370.E+3
GRAV=  9.8,
RAIR=  287.04,
RVAP=  461.0,
EPSV=  0.62264642082430,
ES0=   611.0,
STB=   5.67E-08        &END

1時間刻みは T42 の場合 20MIN くらいが適当. 他ははデフォルトでかまわない.

2ジョブをつないで時間積分する場合には, 以下の時間設定に注意が必要である. 2 つめ以降のジョブでは, START, END の時間を最初からの通算時間にしなければならない. 2 つめ以降の各ジョブは, 前のジョブで作ったリスタートファイルを最初に読み込み, ヘッダに書かれている通算時間を START の値として読み込む.

3HITAC の場合, 少くとも書き込みに関しては数字指定を使うのがよい. 指定した番号に FILE 文などで割り当てておく.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/namelist/nmadmin.tex

AGCM5 第 4 部コードリファレンス

1.1 座標, 定数, 時間積分制御に関する NAMELIST 変数 5

3. NAMELIST 変数の説明

CP    (R) 大気定圧比熱
EL    (R) 水の凝結の潜熱

ER    (R) 地球半径
GRAV  (R) 重力加速度
RAIR  (R) 大気気体定数
RVAP  (R) 水蒸気気体定数

EPSV  (R) 水と大気の分子量比
ES0   (R) 摂氏 0 度飽和蒸気圧:Pa
STB   (R) Stefan-Boltzman 定数

1.1.6 NMLAT0

1. 設定機能緯度の指定. 鉛直一次元モデルの場合など, JMAX=1 のみに用いられる. 通常は指定しない (SETLAT).

2. 設定方法 (デフォルト値)

   &NMLAT0    ALATD0= 0.      &END

3. NAMELIST 変数の説明

ALATD0  (R) 緯度. 度 (degree) で指定する.

1.1.7 NMSIGM

1. 設定機能鉛直レベルを変えるときに用いる. 通常は指定しない (SETSIG).

2. 設定方法 (デフォルト値^{5})

   &NMSIGM  SIGM=  1.0  0.99  0.97 0.93 0.87 0.79  0.70 0.60
                   0.5  0.41  0.33 0.26 0.20 0.15  0.1  5.E-02
                   84*0.
            HASIG= 'CSIG16.P',
            HASIGM='CSIG16.M' &END

3. NAMELIST 変数の説明

SIGM    (R(100)) σ 鉛直座標値 (半整数). 最大 100 レベルまで設定可能.

HASIG   (C*NCC) 鉛直座標軸名称 (整数)
HASIGM  (C*NCC) 鉛直座標軸名称 (半整数)

4通常はこれを変えることはないであろう. また, これを変えたところで物理的にコンシステントに事が変わることを期待してはいけない. 変える場合はソースを参照して, 何をやっているかを理解してから行うこと.

5鉛直 16 層の場合の値. include ファイル zcdim.F によってデフォルト値は異なる.

/model/agcm/agcm5/doc/dai4bu/namelist/nmadmin.tex  2002/006/20(地球流体電脳倶楽部)

1.1.8 NMINIT

1. 設定機能初期値ファイルと初期時刻を設定する (RDSTRT).

2. 設定方法 (デフォルト値)

             &NMINIT  FILE=' ',
                      TUNIT='DAY ',
                      TINIT= -999,
                      DTBFR=  0, DTAFTR=  10     &END

3. NAMELIST 変数の説明

FILE (C*NFILN) 初期値データファイル名. IBM 系メインフレームマシンで動かす時には FORTRAN 装置番号を文字列で設定しておき, JCL で装置番号をファイルに割り当てておく.

        TUNIT   (C*4)  初期データ時刻 (TINIT) の時刻単位.

TINIT   (I)  初期データ時刻. -999 のときは ITSTRT が TINIT に代入される.
DTBFR   (I)  初期データ時刻の後方許容誤差
DTAFTR  (I)  初期データ時刻の同前方許容誤差

1.1.9 NMDATE

1. 設定機能初期値データの時刻を年, 月, 日, 時, 分, 秒の形式で設定する (RDSTRT).

2. 設定方法 (デフォルト値)

            &NMDATE  IDATEI=  1992  3  21  0  0  0  &END

3. NAMELIST 変数の説明

IDATEI  (I) 初期値データの時刻 (年, 月, 日, 時, 分, 秒).

1.1.10 NMCALN

1. 設定機能暦の設定 (AIDATE). この暦と NMRADI(1.6.3) によって太陽放射の時間変化が設定される. また, これらの時刻の繰り上がり値を変更しても, 他のパラメータ設定の際の時間単位 TUNIT の換算には影響しないことに注意. TUNIT は常に通常の時間単位で換算される.

2. 設定方法 (デフォルト値)

AGCM5 第 4 部コードリファレンス

1.1 座標, 定数, 時間積分制御に関する NAMELIST 変数 7

    &NMCALN  OPERPT=  F,
             IDMAX=  1000000  12  30  24  60  60   &END

3. NAMELIST 変数の説明

OPERPT  (L) 季節変化オプション. .TRUE. ならば季節変化なし.
IDMAX   (I) 時刻の最大値 (年, 月, 日, 時, 分, 秒). 繰り上がり処理に使用する.

1.1.11 NMINIG

1. 設定機能

地表初期値ファイルとその初期時刻を設定する (RDSTRG). ファイルが存在しない時には大気最下層の温度が地表温度として設定される. ファイル名, 時刻の設定の仕方は NMINIT を参照せよ.

2. 設定方法 (デフォルト値)

     &NMINIT  FILE=' ',
              TUNIT='DAY ',
              TINIT= -999,
              DTBFR=  0, DTAFTR=  10     &END

3. NAMELIST 変数の説明

FILE    (C*NFILEN) 地表初期値データファイル名.
TUNIT   (C*4)  初期データ時刻 (TINIT) の時刻単位.
TINIT   (I)  初期データ時刻.

DTBFR   (I)  初期データ時刻の後方許容誤差
DTAFTR  (I)  初期データ時刻の同前方許容誤差

1.1.12 NMDATG

1. 設定機能

地表初期値データの時刻を年, 月, 日, 時, 分, 秒の形式で設定する (RDSTRG).

2. 設定方法 (デフォルト値)

    &NMDATE  IDATEG=  1992  3  21  0  0  0  &END

3. NAMELIST 変数の説明

IDATEI  (I) 地表初期値データの時刻 (年, 月, 日, 時, 分, 秒).

/model/agcm/agcm5/doc/dai4bu/namelist/nmadmin.tex  2002/006/20(地球流体電脳倶楽部)

1.1.13 NMRSTR

1. 設定機能リスタート用出力ファイルを設定する (WRRSTR).

2. 設定方法 (デフォルト値)

             &NMRSTR  FILE='  ', DFMT='UR8',  OVORDV=  T    &END

3. NAMELIST 変数の説明

FILE (C*NFILN) 再出発用出力ファイル名. IBM 系メインフレームマシンで動かす時には FORTRAN 装置番号を文字列で設定しておき, JCL で装置番号をファイルに割り当てておく.

        DFMT    (C*NCC)  出力フォーマット.

OVORDV  (L)  渦度と発散を出力するか否か.

1.1.14 NMRSTG

1. 設定機能地表リスタートファイルを設定する (WRRSTG). ファイル名の設定の仕方は NMRSTR を参照せよ.

2. 設定方法 (デフォルト値)

             &NMRSTR  FILE='  ', DFMT='UR8'  &END

3. NAMELIST 変数の説明

        FILE  (C*NFILEN) 再出発用出力ファイル名.
        DFMT  (C*NCC)  出力フォーマット.

AGCM5 第 4 部コードリファレンス

1.2 ヒストリー出力に関する NAMELIST 変数 9

1.2 ヒストリー出力に関する NAMELIST 変数

ヒストリー出力設定の流れはちょっと複雑で, 次のようになっている.

1. プログラム内の指定によって, 各変数 (ITEM) ごとにデフォルトが記憶される. これによって, 変数と ITEM との結びつき, および説明文字列がセットされる. さらに, AVRTYP および DMIN,DMAX 等のパラメタのデフォルト値も変数ごとにセットされる.

2. 次に &NMHISD の設定が全ての変数に記憶される. ここで指定されなかったものは第 1 段階の記憶のままである. &NMHISD は, 出力時間間隔等の設定が主な役割である.

3. 最後に各 ITEM についての設定が&NMHIST によっておこなわれる.

通常, &NMHIST によって指定されなかった変数 (ITEM) は, ファイルには出力されない. というのは, デフォルトのファイル指定は, NMHISD によって変更されないかぎり空白であるからである. &NMHIST の指定は, ITEM とファイルとの結びつきを指定するのに通常用いられるが, ある特定の変数のみ出力間隔や平均する時間を変更したい場合にも有用である.

ヒストリー出力関係のパラメータはほとんど全て大きさ 2 の配列である. 1 番目の要素を通常ファイル出力に用いる. 2 番目の要素は通常プリンタ出力 (標準出力) に用いられ, 東西平均が出る様に AVRTYP が第 1 段階でセットされている. FILE(2)=`CON' がデフォルトとなっているため, プリンタ出力は&NMHIST で指定されない量に関しても行われる. もちろん, 2 番目をプリンタでなくファイルに出すことも可能である.

1.2.1 NMHISD

1. 設定機能

ヒストリー出力のデフォルト設定を変更する (HQDEFP). 各変数の詳細な説明は NMHIST の項を参照せよ.

2. 設定方法

             &NMHISD  FILE   = ' '    'CON',
                      TUNIT  = 'HOUR' 'DAY',
                      INTOUT =   1      60,
                      INTSUM =   1       1,
                      AVRTYP = ' '     'X',
                      DFORM  = 'UR4'  '(1PE12.4)',
                      INTEND =  0       0           &END

3. NAMELIST 変数の説明

92/01/13 沼口敦

92/08/28 竹広真一 /model/agcm/agcm5/doc/dai4bu/namelist/nmio.tex  2002/006/20(地球流体電脳倶楽部)

FILE    (C) ファイル名.
TUNIT   (C) 時間単位.
INTOUT  (I) 出力間隔.
INTSUM  (I) 積算間隔.
AVRTYP  (C) 平均種類.

DFORM   (C) 出力フォーマット.
INTEND  (I) ENDFILE 処理間隔.

1.2.2 NMHIST

1. 設定機能

ヒストリー出力に関する設定. 複数回設定することができる. 識別子 ITEM の出力に関する情報を設定する (HISTOU).

2. 設定方法

&NMHIST  ITEM   = ' ',
FILE   = ' '    'CON',
TUNIT  = 'HOUR' 'DAY',
INTOUT =  1      60,
INTSUM =  1      1,
AVRTYP = ' '    'X',
DFORM  = 'UR4'  '(1PE12.3)',
INTEND =  0      0 ,
VMISS =   -999.,
DMIN  =   -999.,   DMAX=   -999.00000000000 ,
DIVS  =   -999.,   DIVL=   -999.00000000000,
ISTYP =  1                                    &END

3. NAMELIST 変数の説明 AGCM5 第 4 部コードリファレンス

1.2 ヒストリー出力に関する NAMELIST 変数 11

ITEM    (C) データ識別子.
FILE    (C) ファイル指定.
TUNIT   (C) 時間単位.
INTOUT  (I) 出力間隔.

INTSUM  (I) データの積算時間.INTSUM=0 なら瞬間値であり, INTSUM=INTOUT な

ら前の出力からの積算値 (または平均値) となる.

AVRTYP (C) 空間平均のとりかた. ' '(3 次元そのままの値), 'X-AVG'(東西平均) , 'XZ-AVG'(東西鉛直平均), 'XYZ-AVG'(全球平均) などが指定できる.

DFORM   (C) データの形式. 通常'UR4'.

INTEND  (I)  {幾つデータを書いたら ENDFILE 処理をするかを指定する. 通常は 0 \atop としてこの機能を使わない.}

VMISS   (R) 欠損値

DMIN    (R) データ値の範囲 (下限)
DMAX    (R) データ値の範囲 (上限)
DIVS    (R) 作図用のパラメター. 目盛の間隔 (小)
DIVL    (R) 作図用のパラメター. 目盛の間隔 (大)
ISTYP   (I) 作図用のパラメター. 軸の種類

4. 備考.

GTOOL3 のパラメータの多くはプログラム内で適当にセットされる.

1.2.3 NMMONI

1. 設定機能

モニター出力の設定 (HMONIT). これらは, FILE(2) の指定によって標準出力に出す場合の出力する点を指定するものである.

(((DATA(I,J,K),I=ISTR,IEND,IINT),J=JSTR,JEND,JINT),K=KSTR,KEND,KINT)

という点でフォーマット (DFORM(2) にしたがう) 付きで出力される.

2. 設定方法 (デフォルト値^{1})

    &NMMONI  ISTR=  1, IEND=  1, IINT=  10,
             JSTR=  1, JEND=  1, JINT=  10,
             KSTR=  1, KEND=  46, KINT=  1,
             FILE='CON',
             NCOLS=133                         &END

3. NAMELIST 変数の説明

1IEND, JEND, KEND のデフォルトはモデル解像度 zcdim.F で設定されるパラメター IMAX, JMAX, KMAXP1 で与えられる.

/model/agcm/agcm5/doc/dai4bu/namelist/nmio.tex  2002/006/20(地球流体電脳倶楽部)

ISTR, IEND, IINT  (I)  第 1 座標 (経度) の設定
JSTR, JEND, JINT  (I)  第 2 座標 (緯度) の設定
KSTR, KEND, KINT  (I)  第 3 座標 (鉛直) の設定
FILE              (C*NFILN) 出力ファイル名
NCOLS             (I)  出力の一行の長さ

1.3 診断出力に関する NAMELIST 変数

1.3.1 NMDIAG

1. 設定機能

診断出力に関する設定 (QDIAGP).

2. 設定方法 (デフォルト値)

   &NMDIAG  FILE='CON',
            UNIT='DAY ',
            INTDIA= 10,
            IDIAG=   1, JDIAG=  1, KDIAG=  -1,
            NCOLS=  132                          &END

3. NAMELIST 変数の説明

FILE    (C*38)  'CON' とすると標準出力に出力される.
UNIT    (C*4) 時間単位
INTDIA  (I)  時間間隔.

IDIAG   (I)     モニターする点の指定. 経度座標をグリッド番号で指定する. 負に すると 1 から指定値の絶対値の間隔で複数の点について出力され る.

JDIAG   (I)  経度座標であることを除いて IDIAG と同様.
KDIAG   (I)  鉛直座標であることを除いて IDIAG と同様.
NCOLS   (I)  出力の一行の行数.

1.4 力学過程に関する NAMELIST 変数

1.4.1 NMDAYL

1. 設定機能力学的な 1 日の長さの設定 (DYNPAR).

2. 設定方法

         &NMDAYL  TUNIT='HOUR', DAYLEN=  24  &END

3. NAMELIST 変数の説明

        TUNIT   (C*4) 時間単位

DAYLEN  (I)  力学的な一日の長さ (地球の自転速度の指定).

1.4.2 NMHDIF

1. 設定機能水平拡散の設定 (DYNPAR).

2. 設定方法

          &NMHDIF  TUNIT='HOUR', TEFOLD=  4, ORDER=  16  &END

3. NAMELIST 変数の説明

        TUNIT   (C*4) 時間単位.

TEFOLD  (I)  最大波数に対する e-folding time.

        ORDER   (I)  ナブラの次数.

1.4.3 NMPHIS

1. 設定機能地表高度ファイルのファイル指定 (SETPHS). ファイル名の指定のしかたは NMINIT と同様である.

2. 設定方法

          &NMPHIS  HPHIS='  '  &END

3. NAMELIST 変数の説明

        HPHIS  (C*NFILN) 地表高度ファイル名.

92/01/13 沼口敦 92/07/14 竹広真一 1T42 なら, たとえば ORDER=8, TEFOLD= 3(HOUR) ぐらいが適当である.

/model/agcm/agcm5/doc/dai4bu/namelist/nmdynmcs.tex  2002/006/20(地球流体電脳倶楽部)

1.5 地表面の設定に関する NAMELIST 変数

1.5.1 NMBFIL

1. 設定機能

地表面状態ファイル名を設定する (PGRNDM).

2. 設定方法 (デフォルト値)

&NMBFIL  HGRSST=' ' , HGRHC =' ' , HGRALB=' ' , HGRBET=' ' ,
HGRZ0 =' ' , HGRZSD=' ' , HIDSFC=' '          &END

3. NAMELIST 変数の説明

HGRSST  (C*NFILN) 地表面 (海面のときのみ有効) 温度ファイル名

HGRHC   (C*NFILN) 地表熱容量ファイル名
HGRALB  (C*NFILN) 地表アルベドファイル名

HGRBET  (C*NFILN) 地表湿潤度ファイル名 (陸面の蒸発しやすさの指数: 海面で 1)

HGRZ0   (C*NFILN) 地表粗度ファイル名

HGRZSD  (C*NFILN) 地表高度分散ファイル名 (重力波抵抗で使用)
HIDSFC  (C*NFILN) 地表状態ファイル名 (値が 0:海面, 1:地面)

1.5.2 NMBDEF

1. 設定機能

地表状態のデフォルト値を設定する (PGRNDM). NMBFIL でファイルを指定されなかった場合, 以下の値が設定される. ファイルが指定されなかった場合の地表面 (海面) 温度は通常大気下面温度に設定される^{1}.

2. 設定方法 (デフォルト値)

&NMBDEF  DGRSST=   -999.,
DGRHC =    0.0,
DGRALB=    0.15,
DGRBET=    1.0,
DGRZ0=     0.0001,
DGRZSD=    0.0,
DIDSFC=    0      &END

3. NAMELIST 変数の説明

92/01/13 沼口敦 92/08/28 竹広真一 97/05/19 堀之内武 2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/namelist/nmphyscs.tex

DGRSST  (R) 地表面 (海面) 温度デフォルト.
DGRHC   (R) 地表熱容量デフォルト.
DGRALB  (R) 地表面アルベドデフォルト.
DGRBET  (R) 地表湿潤度デフォルト (陸面の蒸発しやすさの指数: 海面で 1).
DGRZ0   (R) 地表粗度長デフォルト.
DGRZSD  (R) 地表高度分散デフォルト (重力波抵抗で使用).
DIDSFC  (R) 地表状態デフォルト (0:海面, 1:地面).

1.6 放射の設定に関する NAMELIST 変数

1.6.1 NMRADM

1. 設定機能

放射計算の時間間隔を設定する (RADFLX).

2. 設定方法 (デフォルト値)

      &NMRADM  TUNIT='HOUR',
               INTLNG=  3,
               INTSHT=  1   &END

3. NAMELIST 変数の説明

TUNIT   (C*4) 時間単位
INTLNG  (I)  長波計算間隔
INTSHT  (I)  短波計算間隔

1.6.2 NMRADL

1. 設定機能

長波放射バンドを設定する (LNGFLX). 設定できるバンド数の最大値は内部パラメター NCLHGD で与えられている (デフォルトは 10).

2. 設定方法 (デフォルト値)

     &NMRADL  NCLNG=  4,
              ABSQL=  8.0  1.0  0.1  0.      6*0.,
              ABSAL=  0.   0.   0.   5.E-05  6*0.,
              RWGTL=  0.2  0.1  0.1  0.6     6*0.,
              PATHC=  1.5                           &END

3. NAMELIST 変数の説明

1正しくは, 地表面 (海面) 温度が正の値であり, 且つ IDSFC≤ 0 の場合に限り, 地表面 (海面) 温度が設定される. それ以外の場合は大気下面温度に設定される. 陸面の場合地表面温度は予報変数であることに注意.

/model/agcm/agcm5/doc/dai4bu/namelist/nmphyscs.tex  2002/006/20(地球流体電脳倶楽部)

NCLNG  (I)  計算する長波バンド数

ABSQL  (R(NCLNGD)) 水の吸収係数
ABSAL  (R(NCLNGD)) 空気の吸収係数
RWGTL  (R(NCLNGD)) バンドウェイト
PATHC  (R)  光路長のファクタ

1.6.3 NMRADI

1. 設定機能

入射太陽放射を設定する (SHTINS). 年変化, 日変化放射の時間に関する設定は, 暦のパラメター NMDATE(1.1.9), NMCALN(1.1.10) によって行なう. 現在のところ 1 年が 1 太陽日と等しい, あるいは１太陽日より大きい場合しか設定できない.

2. 設定方法 (デフォルト値)

     &NMRADI SOLCON=1380.,
             OYRAVR=.TRUE., ODYAVR=.TRUE.,
             ATALB=0.2,
             EPSORB=23.5, EQNORB=110.,
             AINS=0.127,  BINS=0.183  ,
             AZET=0.410 , BZET=0.590         &END

3. NAMELIST 変数の説明

SOLCON  (R) 太陽定数 (W/m**2)
OYRAVR  (L) 年平均日射フラグ^{2}
ODYAVR  (L) 日平均日射フラグ^{2}
ATALB   (R) 大気アルベド
EPSORB  (R) 赤道傾斜角 (度)
EQNORB  (R) 昇降点黄経 (度)

AINS    (R) 年平均入射の係数. OYRAVR=.TRUE., ODYAVR=.TRUE. の時に意味

を持つ.

BINS    (R) 年平均入射の係数.AINS に同じ.
AZET    (R) 年平均入射角の係数. AINS に同じ.
BZET    (R) 年平均入射角の係数. AINS に同じ.

1.6.4 NMRADS

1. 設定機能

短波放射バンドを設定する (SHTFLX). 設定できるバンド数の最大値は内部パラメター NCSHTD で与えられている (デフォルトは 10).

2現在は年・日平均放射 ( OYRAVR=.TRUE., ODYAVR=.TRUE. ) と季節・日変化放射 ( OYRAVR=.FALSE., ODYAVR=.FALSE.

) の 2 種類の場合しかサポートしていない.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/namelist/nmphyscs.tex

AGCM5 第 4 部コードリファレンス

1.7 鉛直拡散の設定に関する NAMELIST 変数 17

2. 設定方法 (デフォルト値)

     &NMRADS NCSHT=  1,
             ABSQS=  0.002  9*0.,
             ABSAS=  0.     9*0.,
             RWGTS=  1.     9*0.,
             SECSCT= 1.66           &END

3. NAMELIST 変数の説明

NCSHT   (I)  計算する短波バンド数

ABSQS   (R(NCSHTD)) 水の吸収係数
ABSAS   (R(NCSHTD)) 空気の吸収係数
RWGTS   (R(NCSHTD)) バンドウェイト
SECSCT  (R)  散乱の sec ζ

1.7 鉛直拡散の設定に関する NAMELIST 変数

1.7.1 NMVDFM

1. 設定機能

鉛直拡散係数に関する設定を行う (VDFUVT)^{2}.

2. 設定方法 (デフォルト値)

     &NMVDFM  THS=    300.0,
      URMIN=  0.1,
      RIBMIN=-100.     &END

3. NAMELIST 変数の説明

THS     (R) 基本温位
URMIN   (R) 風二乗差最小値

RIBMIN  (R) バルク Richardson 数最小値

1.7.2 NMSCFM

1. 設定機能

バルク法計算における地表面フラックスに関する設定を行う (SFCUVT).

2. 設定方法 (デフォルト値)

     &NMSFCM  THS= 300.,
              URMIN= 0.01,
              USMINM=  0.,

2拡散係数一定の場合は NMVDF0 を用いること /model/agcm/agcm5/doc/dai4bu/namelist/nmphyscs.tex  2002/006/20(地球流体電脳倶楽部)

              USMAXM= 1000.,
              USMINH=  0.,
              USMAXH= 1000.,
              USMINE=  0.,
              USMAXE= 1000. &END

3. NAMELIST 変数の説明

THS     (R) 基本温位

URMIN   (R) Richardson 数用風速最小値

USMINM  (R) 運動量用風速最小値
USMINH  (R) 熱用風速最小値
USMINE  (R) 水蒸気用風速最小値
USMAXM  (R) 運動量用風速最大値
USMAXH  (R) 熱用風速最大値
USMAXE  (R) 水蒸気用風速最大値

1.7.3 NMSCFL

1. 設定機能

地表バルク係数に関する設定を行う (BLKCOF).

2. 設定方法 (デフォルト値)

     &NMSFCL  NEWTRL=  F,
              CHCONS=  -1.0,
              CMMIN=  0.,  CHMIN=  0., CEMIN=  0.,
              CMMAX=  1.0, CHMAX= 1.0, CEMAX= 1.0  &END

3. NAMELIST 変数の説明

NEWTRL  (L) 中立を仮定するか

CHCONS  (R) 正値の場合中立時のバルク係数を与える
CMMIN   (R) 運動量バルク係数最小値
CHMIN   (R) 温度バルク係数最小値
CEMIN   (R) 水蒸気バルク係数最小値
CMMAX   (R) 運動量バルク係数最大値
CHMAX   (R) 温度バルク係数最大値
CEMAX   (R) 水蒸気バルク係数最大値

1.8 重力波抵抗に関する NAMELIST 変数

1.8.1 NMGRAV

1. 設定機能

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/namelist/nmphyscs.tex

重力波抵抗に関する設定を行う (GRAVTY).

2. 設定方法 (デフォルト値)

     &NMGRAV  VMIN=    2.0,
              V0=      1.E-05,
              ZSDMIN=  10.0,
              FC2=     2.0,
              BN2MIN=  2.5E-05,
              ALP=     8.0E-06,
              TNLIM=   2.9E-03,
              P00      100000.,
              THS=     300.0     &END

3. NAMELIST 変数の説明

VMIN    (R) MIN. REFERENCE WIND FOR WAVE DRAG
V0      (R) NEARLY ZERO WIND
ZSDMIN  (R) MIN. ZSD FOR GRAVITY WAVE DRAG
FC2     (R) CRITICAL FROUDE NUMBER SQUARED
BN2MIN  (R) MIN. BRUNT VAISALA FREQUENCY**2
ALP     (R) EFFICIENCY*WAVENUMBER/2
TNLIM   (R) MAX. V TENDENCY

P00     (R) 1000MB

THS     (R) BASIC POTENTIAL TEMPERATURE

/model/agcm/agcm5/doc/dai4bu/namelist/nmphyscs.tex  2002/006/20(地球流体電脳倶楽部)

1.9 鉛直拡散係数を一定とする設定での NAMELIST 変数

鉛直拡散係数を一定とするには special/p2vdf0.F, special/p2sfc0.F を特殊ファイルとして

指定する^{1}. 今のところ境界条件は下面で値固定, 上面でフラックスが 0 の条件しか設定できていない.

1.9.1 NMVDF0

1. 設定機能自由大気中, および地表と大気最下層の間の拡散係数を設定する (VDFCOF, SFCUVT). 単位はすべて m^{2}/sec で指定する.

2. 設定方法 (デフォルト値)

           &NMVDF0 DFMCON=0.0,  DFHCON=0.0,  DFECON=0.0 &END

3. NAMELIST 変数の説明

        DFMCON  (R) 運動量拡散係数
        DFHCON  (R) 温位拡散係数
        DFECON  (R) 水蒸気拡散係数

1.9.2 NMTFLX

1. 設定機能大気最下層の温度境界条件を設定する (SFCUVT).

2. 設定方法 (デフォルト値)

           &NMTFLX OTFFIX=.FALSE.,
                   TGFLUX=0.0       &END

3. NAMELIST 変数の説明

OTFFIX  (L) 温度フラックス固定スイッチ

        TGFLUX  (R) 地表面熱フラックス

92/01/13 沼口敦 92/08/28 竹広真一 1これらの特殊ファイルは竹広が個人的に作成したものである. まだサブルーチンのチェックが行なわれておらず, 公開されていない.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/namelist/nmspecil.tex

第2章 INCLUDE : INCLUDE ファイル

21

第3章 DYNAMICS : 力学過程ルーチン

22

\underline{AGCM5 第 4 部コードリファレンス  3.1 サブルーチンの説明 : 力学過程制御  23}

3.1 サブルーチンの説明 : 力学過程制御

力学過程の制御プログラムである.

3.1.1 DYNMCS

1. 機能

力学過程の制御を行なう.

2. 呼び出し方法

SUBROUTINE DYNMCS                      !" 力学過程制御
M         ( GAU   , GAV   , GAT   , GAPS  , GAQ   ,
M           GBU   , GBV   , GBT   , GBPS  , GBQ   ,
M           GAVOR , GADIV , GBVOR , GBDIV ,
M           GTUA  , GTVA  , GTH   , GTR   ,
I           IT    , DELT  , OADVNC,
C           ALON  , DLON  , ALAT  , DLAT  ,
C           SIG   , SIGM  , DSIG  , DSIGM           )

3. パラメータの説明

*
*   [MODIFY]
REAL       GAU   ( IDIM, JDIM, KMAX )  !" 西風ｕ
REAL       GAV   ( IDIM, JDIM, KMAX )  !" 南風ｖ
REAL       GAT   ( IDIM, JDIM, KMAX )  !" 温度Ｔ
REAL       GAPS  ( IDIM, JDIM       )  !" 地表気圧
REAL       GAQ   ( IDIM, JDIM, KMAX )  !" 比湿ｑ
REAL       GAVOR ( IDIM, JDIM, KMAX )  !" 渦度ζ
REAL       GADIV ( IDIM, JDIM, KMAX )  !" 発散Ｄ
*"       : 格子点データ (t) <GENGD> 格子点データ (t+Δ t)
*
REAL       GBU   ( IDIM, JDIM, KMAX )  !" 西風ｕ
REAL       GBV   ( IDIM, JDIM, KMAX )  !" 南風ｖ
REAL       GBT   ( IDIM, JDIM, KMAX )  !" 温度Ｔ
REAL       GBPS  ( IDIM, JDIM       )  !" 地表気圧
REAL       GBQ   ( IDIM, JDIM, KMAX )  !" 比湿ｑ
REAL       GBVOR ( IDIM, JDIM, KMAX )  !" 渦度ζ
REAL       GBDIV ( IDIM, JDIM, KMAX )  !" 発散Ｄ
*"       : 格子点データ (t-Δ t) <MOVGD> 格子点データ (t)

93/09/04 保坂征宏 2001/12/06 石渡正樹 /model/agcm/agcm5/doc/dai4bu/dynamics/dadmn.tex  2002/006/20(地球流体電脳倶楽部)

*
REAL       GTUA  ( IDIM, JDIM, KMAX )  !" 東西運動量変化項ＵＡ
REAL       GTVA  ( IDIM, JDIM, KMAX )  !" 南北運動量変化項ＶＡ
REAL       GTH   ( IDIM, JDIM, KMAX )  !" 温度時間変化項Ｈ
REAL       GTR   ( IDIM, JDIM, KMAX )  !" 比湿時間変化項Ｒ

*" : 格子点変化項を足し込む

*
INTEGER    IT                          !" 通し時間
REAL       DELT                        !" 時間刻みΔ t
LOGICAL    OADVNC                      !" 時刻が進行するか否か

*" : 時刻変数

*
*   [INPUT]
REAL       ALON  ( IDIM )              !" 経度
REAL       DLON  ( IDIM )              !" 経度荷重
REAL       ALAT  ( JDIM )              !" 緯度
REAL       DLAT  ( JDIM )              !" 緯度荷重
REAL       SIG   ( KMAX )              !" σレベル (整数)
REAL       SIGM  (KMAX+1)              !" σレベル (半整数)
REAL       DSIG  ( KMAX )              !" Δσ (整数)
REAL       DSIGM (KMAX+1)              !" Δσ (半整数)

4. 備考

(a) 手順は以下のとおりである.

i. 初期設定. • スペクトル定数の設定. (DSETC)

• 鉛直差分定数の設定. ( DSETV )

• 出力設定. ( DHSTRG )

• セミインプリシット行列作成^{1}. ( DELTSV ) ii. 時間積分準備

• 地表ジオポテンシャルの計算. ( SETPHS )

• 地表面気圧経度の計算. ( PIXPIY ) A, t のデータを用いる.

• 非線形力学項の計算. ( GRDDYN ) A, t のデータを用いる. iii. スペクトルへの変換

• 時間変化項をスペクトルに変換. ( TENG2W)

• データのスペクトルへの変換. ( GD2WD ) A, t − △t での値を変換. iv. 時間積分

• 時間積分^{2}. ( TINTGR ) セミインプリシット. 新スペクトルデータ作成.

1正確には, DELT が変わる時にのみ行なう. 通常は実行開始後の数ステップに行なわれるだけである.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/dynamics/dadmn.tex

• 格子点データの時刻進行^{3}. ( MOVED ) 格子点値 A(t) を B(t) にコピー.

• 新格子点値 ( t+△t ) の生成. ( GENGD ) スペクトルデータを格子点値 A(t+△t)

に変換. v. 補正.

• 水平拡散による渦度・発散の時間変化計算. ( TENDIF ) 新スペクトルデータを元に計算.

• 水平拡散摩擦による温度の時間変化計算. ( CORDIF ) 新格子点データ A(t+△t)

を変更. vi. 出力.

• 鉛直速度, 地表面気圧変化の出力. ( HISTIN )

• 診断出力. 格子点値. ( DDIAG )

• 診断出力. スペクトル値. ( SPCTLD )

3.1.2 DSTRT

1. 機能

初期データの再生成を行なう.

2. 呼び出し方法

      ENTRY DSTRT                      !" 初期データの再生成
     M         ( GAU   , GAV   , GAT   , GAPS  , GAQ   ,
     O           GAVOR , GADIV ,
     C           ALAT  , DLAT                           )

3. パラメータの説明

*   [MODIFY]
*     REAL       GAU   ( IDIM, JDIM, KMAX )  !" 西風ｕ
*     REAL       GAV   ( IDIM, JDIM, KMAX )  !" 南風ｖ
*     REAL       GAT   ( IDIM, JDIM, KMAX )  !" 温度Ｔ
*     REAL       GAPS  ( IDIM, JDIM       )  !" 地表気圧
*     REAL       GAQ   ( IDIM, JDIM, KMAX )  !" 比湿ｑ
*
*   [OUTNPUT]
*     REAL       GAVOR ( IDIM, JDIM, KMAX )  !" 渦度ζ
*     REAL       GADIV ( IDIM, JDIM, KMAX )  !" 発散Ｄ
*
*   [INPUT]
*     REAL       ALAT  ( JDIM )              !" 緯度
*     REAL       DLAT  ( JDIM )              !" 緯度荷重

3時刻が進む場合のみ行なう.

/model/agcm/agcm5/doc/dai4bu/dynamics/dadmn.tex  2002/006/20(地球流体電脳倶楽部)

4. 備考

(a) 手順は以下のとおり.

i. スペクトル係数の計算^{4}. ( DSETC ). ii. 力学過程関係のデータ再生成. ( STRTV )

3.1.3 DHSTRG

1. 機能力学関係関係データの出力登録.

2. 呼び出し方法

        SUBROUTINE DHSTRG                !" 力学関係出力の登録

3. パラメータの説明 (a) なし.

4. 備考

(a) SIGDOT ( 鉛直風速度変化率 ), PIDOT ( 地表面気圧変化率 ) の出力登録を行なう. (

       HISTRG を呼ぶ. )

4DYNMCS で計算されていない場合に行なう. 当ルーチンが ENTRY で DYNMCS に付属しているのは二度スペクトル係数を計算するのを避けるために過ぎないと思われる. その点は論理変数で制御することにして, このルーチンは外に出すべきであろう.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/dynamics/dadmn.tex

\underline{{AGCM5 第 4 部コードリファレンス \atop 3.2 サブルーチンの説明 : スペクトル格子点変換サブルーチン 27}}

3.2 サブルーチンの説明 : スペクトル格子点変換サブルーチン

まず実行初期に SPSTUP を呼ぶこと. 球面調和函数, 並びにスペクトルの添え字順番配列が計算される. 以後, W2G でスペクトルから格子点へ, G2W で格子点からスペクトルへデータが変換される.

3.2.1 W2G

1. 機能

スペクトル空間のデータを格子点のデータに変換する.

2. 呼び出し方法

            CALL W2G
           M         ( GDATA ,
           I           WDATA ,
           I           HGRAD , HFUNC , KMAXD )

3. パラメーターの説明

        GDATA  [R]  長さ (IDIM*JDIM,KMAXD) の配列. 格子点データ.
        WDATA  [R]  長さ (NMDIM,KMAXD) の配列. スペクトルデータ.

HGRAD [C*(4)] 微分フラグ. HGRAD の 1 文字目が X のときは\frac{∂}{∂λ} を作用された格子点値

が返される. HGRAD の 1 文字目が Y のときは (1 − μ^{2})\frac{∂}{∂μ} を作用された格子点値が返される.

HFUNC [C*(4)] 符号フラグ. HFUNC の 1 文字目が A のときは値を追加, S のときは値を引算, N のときは符号を変えて代入, それ以外のときはそのまま値を代入する. 加えて HFUNC の 4 文字目が O のときは...

4. 備考

(a) 配列の大きさは zcdim をインクルードすることにより設定される.

(b) 格子点データ, スペクトルデータの仕様はまだ調べていない.

3.2.2 G2W

1. 機能

格子点のデータをスペクトル空間のデータに変換する.

2. 呼び出し方法

91/12/18 竹広真一 93/02/07 竹広真一 93/09/02 保坂征宏 /model/agcm/agcm5/doc/dai4bu/dynamics/dsphe.tex  2002/006/20(地球流体電脳倶楽部)

            CALL G2W
           M         ( WDATA ,
           I           GDATA ,
           I           HGRAD , HFUNC , KMAXD )

3. パラメーターの説明

        WDATA  [R]  長さ (NMDIM,KMAXD) の配列. スペクトルデータ.
        GDATA  [R]  長さ (IDIM*JDIM,KMAXD) の配列. 格子点データ.

HGRAD [C*(4)] 微分フラグ. HGRAD の 1 文字目が X のときは\frac{1}{1 − μ^{2}} \frac{∂}{∂λ} を作用されたス

ペクトルデータが返される. HGRAD の 1 文字目が Y のときは −\frac{∂}{∂μ} を作用されたスペクトルデータが返される (符号に注意). HFUNC [C*(4)] 符号フラグ. HFUNC の 1 文字目が A のときは値を追加, S のときは値を引

算, N のときは符号を変えて代入, それ以外のときはそのまま値を代入する. 加えて HFUNC の 4 文字目が O のときは...

4. 備考

(a) 配列の大きさは zcdim をインクルードすることにより設定される.

(b) 格子点データ, スペクトルデータの仕様はまだ調べていない.

3.2.3 SPSTUP

1. 機能

球面調和函数の計算ルーチンを呼び, その値を SUBROUTINE W2G に記憶する. スペクトル添え字順番配列を作成する.

2. 呼び出し方法

        ENTRY      SPSTUP               !" 球面調和関数準備
       I         ( QSINLA, QGW   , ER    ,
       O           NMO                     )

3. パラメータの説明

  *      REAL * 8   QSINLA( JDIM )              !" sin(緯度) (倍精度
  *      REAL * 8   QGW   ( JDIM )              !" ガウス荷重：倍精度
  *      REAL       ER                          !" 地球半径
  *      INTEGER    NMO   ( 2, 0:MMAX, 0:LMAX ) !" スペクトルの添字順番

4. 備考

(a) 計算手順は以下のとおり.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/dynamics/dsphe.tex

i. FFT 使用準備^{5}. ( RFFT1M )

三角関数表の作成など. ii. ルジャンドル函数の計算^{6}. ( SETPNM )

P_{n}^{m}, \frac{∂ P_{n}^{m}}{∂μ} , スペクトル添え字順番行列 NMO の作成. iii. ガウス荷重の計算.

ガウス荷重 GWX, 微分用ガウス荷重 GWDEL を

        GWX  ( J ) = QGW( J )
        GWDEL( J ) = QGW( J ) / ER / ( 1. - QSINLA(J)**2 )

の様に, QGW を元に作成し, W2G に記憶する. iv. NMO を NMOX にコピーしておく^{7}.

5IMAX¿1 の時のみ.

6JMAX¿1 の時のみ. 南北格子点が一つである JMAX=1 の時は, ルジャンドル函数は計算せず, 単に NMO(1,M,0), NMO(2,M,0) に 1 から順に数字を与えるのみ.

7なぜ？ /model/agcm/agcm5/doc/dai4bu/dynamics/dsphe.tex  2002/006/20(地球流体電脳倶楽部)

3.3 サブルーチンの説明 : 地表気圧傾度

3.3.1 PIXPIY

1. 機能

地表気圧傾度 ( 正確には ∇(ln P_{s} ) のスペクトルを算出する.

2. 呼び出し方法

        SUBROUTINE PIXPIY                      !" 地表気圧傾度
       O         ( GDPIX , GDPIY ,
       I           GDPS            )

3. パラメータの説明

  *
  *   [OUTPUT]
        REAL       GDPIX ( IDIM*JDIM       )   !" πの東西微分
        REAL       GDPIY ( IDIM*JDIM       )   !" πの南北微分
  *
  *   [INPUT]
        REAL       GDPS  ( IDIM*JDIM       )

4. 備考

(a) 東西微分は MMAX=1 の時は 0 をかえす.

(b) ln をとってから水平微分を評価している. \frac{1}{P_{s}} ∇P_{s} でもよいと思うのだが..

   (c) ワーク領域 COMWRK を IDIM*JDIM + NMDIM 使用している.

93/09/02 保坂征宏 2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/dynamics/dpixy.tex

\underline{AGCM5 第 4 部コードリファレンス 3.4 サブルーチンの説明 : 水平差分定数設定 31}

3.4 サブルーチンの説明 : 水平差分定数設定

3.4.1 DSETC

1. 機能

力学過程の定数設定を行なう.

2. 呼び出し方法

SUBROUTINE DSETC     !" 力学パートの定数セット (水平差分)
O         ( NMO   , FLAPLA, EDEL  ,
O           CORIOL, UVFACT, DIFV  , DIFT  ,
C           ALAT  , DLAT                   )

3. パラメータの説明

*
*   [OUTPUT]
INTEGER    NMO   ( 2, 0:MMAX, 0:LMAX ) !" スペクトルの添字順番
REAL       FLAPLA( NMDIM  )            !" ラプラシアンの係数
REAL       EDEL  ( NMDIM  )            !" ζ，Ｄ→Ｕ，Ｖ

*" : 球関数展開定数

*
REAL       CORIOL ( IDIM, JDIM )       !" コリオリ係数ｆ
REAL       UVFACT ( IDIM, JDIM )       !" u → U のファクター

*" : 力学定数

*
REAL       DIFV  ( NMDIM  )            !" 運動量水平拡散係数
REAL       DIFT  ( NMDIM  )            !" 熱，水水平拡散係数

*" : 時間積分定数

*
REAL       ALAT  ( JDIM )              !" 緯度
REAL       DLAT  ( JDIM )              !" 緯度荷重

* : 座標格子定数

*

4. 備考

(a) 手順は以下のとおり. もう少し組合わせを考える必要がありそうである.

i. 力学定数の設定. ( DYNPAR ) 一日の長さ IDAYL, 最大波数減衰時間 IEFOLD, 水平拡散のオーダー ORDERY . ii. 球面調和展開パラメータの計算.

93/09/02 保坂征宏 /model/agcm/agcm5/doc/dai4bu/dynamics/dsetc.tex  2002/006/20(地球流体電脳倶楽部)

• ガウス格子・荷重の計算^{8}. (GAUSS)

• 球面調和函数詰め込み配列 NMO の作成. ( SPSTUP)

• 変換係数計算. ( SETCOF )

ラプラシアンの係数 FLAPLA と渦度発散から U,V 作成係数 EDEL の計算. iii. コリオリ因子, U ファクター UVFACT=COS( ALAT( J ) ) の設定. iv. 水平拡散のファクター DIFV,DIFT の設定. ( SETDIF ) 設定する.

3.4.2 DYNPAR

1. 機能

力学パラメータとして一日の長さ, 最大波数減衰時間, 水平拡散のオーダーを設定する.

2. 呼び出し方法

SUBROUTINE DYNPAR           !" 力学パラメーター
O         ( IDAYL ,
O           IEFOLD, ORDERY  )

3. パラメータの説明

*
*   [OUTPUT]
INTEGER    IDAYL                       !" 一日の長さ (秒)
INTEGER    IEFOLD                      !" 最大波数減衰時間
INTEGER    ORDERY                      !" 水平拡散のオーダー
*
*   [NAMELIST]
NAMELIST    NMDAYL
NAMELIST    NMHDIF

4. 備考

(a) なし.

3.4.3 SETCOF

1. 機能

スペクトル係数, すなわちラプラシアンの係数および ζ, D から U, V への変換係数の計算.

8ただし JMAX=1 の時, ガウス格子・ガウス荷重はそれぞれ SIN ( ALAT( 1 ) ), DLAT( 1 ) とする.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/dynamics/dsetc.tex

2. 呼び出し方法

SUBROUTINE SETCOF              !" スペクトル計算の係数
O        ( FLAPLA, EDEL  ,
I          ER    , NMO   )

3. パラメータの説明

*
*   [OUTPUT]
REAL       FLAPLA( NMDIM  )            !" ラプラシアンの係数
REAL       EDEL  ( NMDIM  )            !" ζ, Ｄ→Ｕ, Ｖ
*
*   [INPUT]
REAL       ER                          !" 地球半径
INTEGER    NMO   ( 2, 0:MMAX, 0:LMAX ) !" スペクトルの添字順番
*

4. 備考

(a) ラプラシアンの係数 FLAPLA は −\frac{N(N + 1)}{R_{e}^{2}}, EDEL は −\frac{R_{e}}{N(N + 1)} である.

(b) 拡散しない M = L = 0 については, FLAPLA, EDEL 共 0 である. ただし, LMAX が 0 の

場合^{9}の EDEL(NMO(1,0,0) に限り R_{E} である.

3.4.4 SETDIF

1. 機能

水平拡散のファクター設定. 波数に依存する.

2. 呼び出し方法

SUBROUTINE SETDIF               !" 水平拡散のファクター
O         ( DIFV  , DIFT  ,
I           IEFOLD, IDORDR,
I           NMO             )

3. パラメータの説明

*   [OUTPUT]
REAL       DIFV  ( NMDIM  )            !" 運動量水平拡散係数
REAL       DIFT  ( NMDIM  )            !" 熱，水水平拡散係数

9どういう場合か？ /model/agcm/agcm5/doc/dai4bu/dynamics/dsetc.tex  2002/006/20(地球流体電脳倶楽部)

*
*   [INPUT]
INTEGER    IEFOLD                      !" 最大波数減衰時間
INTEGER    IDORDR                      !" 水平拡散のオーダー
INTEGER    NMO   ( 2, 0:MMAX, 0:LMAX ) !" スペクトルの添字順番

4. 備考

(a) なし.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/dynamics/dsetc.tex

4.1 サブルーチンの説明 : 物理過程メインプログラム

4.1.1 PHYSCS

1. 機能

物理過程の計算. 地表面過程を含む鉛直拡散, 放射.

2. 呼び出し方法

SUBROUTINE PHYSCS      !" 物理過程メイン
O         ( GTU   , GTV   , GTT   , GTQ   ,
M           GDTG  ,
I           GDU   , GDV   , GDT   , GDPS  , GDQ   ,
I           GDVOR , GDDIV ,
I           IT    , IDATE , DELT  , DELTM ,
C           ALON  , ALAT  ,
C           SIG   , SIGM  , DSIG  , DSIGM          )

3. パラメーターの説明

*
*   [OUTPUT]
REAL       GTU   ( IDIM, JDIM, KMAX )  !" 東西運動量変化ＵＡ
REAL       GTV   ( IDIM, JDIM, KMAX )  !" 南北運動量変化ＶＡ
REAL       GTT   ( IDIM, JDIM, KMAX )  !" 温度時間変化項Ｈ
REAL       GTQ   ( IDIM, JDIM, KMAX )  !" 比湿時間変化項Ｒ
*
*   [MODIFY]
REAL       GDTG  ( IDIM, JDIM )        !" 地表面温度
*
*   [INPUT]
REAL       GDU   ( IDIM, JDIM, KMAX )  !" 西風ｕ
REAL       GDV   ( IDIM, JDIM, KMAX )  !" 南風ｖ
REAL       GDT   ( IDIM, JDIM, KMAX )  !" 温度Ｔ
REAL       GDPS  ( IDIM, JDIM       )  !" 地表気圧Ｐｓ
REAL       GDQ   ( IDIM, JDIM, KMAX )  !" 比湿ｑ
REAL       GDVOR ( IDIM, JDIM, KMAX )  !" 渦度ζ
REAL       GDDIV ( IDIM, JDIM, KMAX )  !" 発散Ｄ
*
INTEGER    IT                          !" 通し時間
INTEGER    IDATE ( * )                 !" 時刻：年月日時分秒
REAL       DELTM                       !" モデル時間刻みΔ t
REAL       DELT                        !" 物理過程時間刻みΔ t

*
REAL       ALON  ( IDIM )              !" 経度
REAL       ALAT  ( JDIM )              !" 緯度
REAL       SIG   ( KMAX )              !" σレベル (整数)
REAL       SIGM  (KMAX+1)              !" σレベル (半整数)
REAL       DSIG  ( KMAX )              !" Δσ
REAL       DSIGM (KMAX+1)              !" Δσ (半整数)
*
*   [INTERNAL SAVE]
REAL       RFLUX  ( IDIM, JDIM, KMAX+1 )   !" 長波フラックス
REAL       SFLUX  ( IDIM, JDIM, KMAX+1 )   !" 短波フラックス
REAL       DRFLUX ( IDIM, JDIM, KMAX+1, 0:1 ) !" 長波温度変化

4. 備考

(a) 放射は数ステップ毎にしか計算しないことを前提とした構成をしている. 放射フラックスを内部的に SAVE しているのもそのためである.

(b) 鉛直拡散は陰解法を用いることを前提としている. ここで用いる時間刻はモデル時間刻と異なるようにとることができる. ( デフォルトはモデル時間刻の 2 倍. )

4.1.2 PADJST

1. 機能

調節過程の計算. 雲を含む対流過程.

2. 呼び出し方法

ENTRY      PADJST       !" 物理調節
M         ( GDU   , GDV   , GDT   , GDPS  , GDQ   ,
I           GDVOR , GDDIV ,
I           DELT  ,
C           SIG   , SIGM  , DSIG  , DSIGM          )

3. パラメーターの説明

*
*   [MODIFY]
REAL       GDU   ( IDIM, JDIM, KMAX )  !" 西風ｕ
REAL       GDV   ( IDIM, JDIM, KMAX )  !" 南風ｖ
REAL       GDT   ( IDIM, JDIM, KMAX )  !" 温度Ｔ
REAL       GDPS  ( IDIM, JDIM       )  !" 地表気圧Ｐｓ
REAL       GDQ   ( IDIM, JDIM, KMAX )  !" 比湿ｑ
*

\underline{{AGCM5 第 4 部コードリファレンス \atop 4.1 サブルーチンの説明 : 物理過程メインプログラム 37}}

*   [INPUT]
REAL       GDVOR ( IDIM, JDIM, KMAX )  !" 渦度ζ
REAL       GDDIV ( IDIM, JDIM, KMAX )  !" 発散Ｄ
*
REAL       DELT                        !" 物理過程時間刻みΔ t
*
REAL       SIG   ( KMAX )              !" σレベル (整数)
REAL       SIGM  (KMAX+1)              !" σレベル (半整数)
REAL       DSIG  ( KMAX )              !" Δσ
REAL       DSIGM (KMAX+1)              !" Δσ (半整数)

4. 備考

なし.

4.1.3 PHSTRG

1. 機能

物理過程時間平均出力の登録.

2. 呼び出し方法

SUBROUTINE PHSTRG    !" 物理過程時間平均出力の登録

3. パラメータの説明

なし.

4. 備考

(a) 実際の登録は HISTRG でを呼ぶことによって行なわれる.

(b) 現在のところ, 以下の諸量が出力可能である.

RAIN   precipitation
EVAP   latent heat flux
SENS   sensible heat flux
OLR    outgoing longwave
SLR    surface longwave
OSR    outgoing shortwave
SSR    surface shortwave
TAUX   surface stress(x)
TAUY   surface stress(y)
QVDF   diffusive heating
SVDF   diffusive moistning

/model/agcm/agcm5/doc/dai4bu/physics/p2admn.tex  2002/006/20(地球流体電脳倶楽部)

FVDFX  diffusive force(x)
FVDFY  diffusive force(y)
QCND   condensation heating
SCND   condensation moistning
QCNDC  cumulus heating
SCNDC  cumulus moistning
SRMNQ  remove negative moist
QRADL  longwave heating
FGRVX  gravity wave u force
FGRVY  gravity wave v force
TAUGX  gravity wave u flux
TAUGY  gravity wave v flux

\underline{AGCM5 第 4 部コードリファレンス 4.2 サブルーチンの説明 : 放射フラックス 39}

4.2 サブルーチンの説明 : 放射フラックス

4.2.1 RADFLX

1. 機能

長波フラックス, 短波フラックスを計算する. さらに, 陰解法で用いる行列要素, 放射補正係数も計算する.

2. 呼び出し方法

SUBROUTINE RADFLX            !" 放射フラックス
O         ( RFLUX , RMTXS , DRFLUX,
O           SFLUX ,
I           GDT   , GDTG  , GDQ   , GDPM  ,
I           IT    , IDATE ,
C           ALON  , ALAT  , GRALB          )

3. パラメータの説明

*
*   [OUTPUT]
REAL       RFLUX  ( IDIM*JDIM, KMAX+1 )     !" 長波フラックス
REAL       RMTXS  ( IDIM*JDIM,  -1:1 )      !" Ｔ陰解行列：地表
REAL       DRFLUX ( IDIM*JDIM, KMAX+1, 0:1 )!" 長波地表温度変化
REAL       SFLUX  ( IDIM*JDIM, KMAX+1 )     !" 日射フラックス
*
*   [INPUT]
REAL       GDT    ( IDIM*JDIM, KMAX   ) !" 温度 (整数)
REAL       GDTG   ( IDIM*JDIM )         !" 地表面温度
REAL       GDQ    ( IDIM*JDIM, KMAX )   !" 比湿ｑ
REAL       GDPM   ( IDIM*JDIM, KMAX+1 ) !" 気圧 (半整数)
INTEGER    IT                           !" 時刻
INTEGER    IDATE  ( 6 )                 !" 日付
*
REAL       ALON   ( IDIM )              !" 経度
REAL       ALAT   ( JDIM )              !" 緯度
REAL       GRALB  ( IDIM*JDIM )         !" 地表アルベド
*
*   [NAMELIST]
NAMELIST   NMRADM

/model/agcm/agcm5/doc/dai4bu/physics/p2radm.tex  2002/006/20(地球流体電脳倶楽部)

4. 備考

(a) 長波・短波は毎ステップでなく一定時間間隔に行なうことが出来る. この情報はネームリスト NMRADM で与える.

(b) RMTXS は陰解行列要素, DRFLUX は長波補正係数である.

(c) 長波放射フラックスの計算は LNGFLX でなされる. 短波の計算は, 太陽入射の計算は SHTINS でフラックスの計算は SHTFLX でなされる.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/physics/p2radm.tex

\underline{AGCM5 第 4 部コードリファレンス  4.3 サブルーチンの説明 : 短波放射  41}

4.3 サブルーチンの説明 : 短波放射

4.3.1 SHTFLX

1. 機能

大気上端での太陽入射をもとに短波放射フラックスを計算する.

2. 呼び出し方法

SUBROUTINE SHTFLX       !" 短波放射フラックス
M         ( SFLUX ,
I           TAUQ  , TAUA  , SECZET,
C           GRALB                  )

3. パラメータの説明

*
*   [MODIFY]
REAL       SFLUX  ( IDIM*JDIM, KMAX+1 ) !" 短波フラックス
*
*   [INPUT]
REAL       TAUQ   ( IDIM*JDIM, KMAX+1 ) !" 光学的厚さ：水
REAL       TAUA   ( IDIM*JDIM, KMAX+1 ) !" 光学的厚さ：大気
REAL       SECZET ( IDIM*JDIM )         !" sec(入射角)
REAL       GRALB  ( IDIM*JDIM )         !" 地表アルベド
*
*   [NAMELIST]
NAMELIST   NMRADS

4. 備考

(a) 短波のバンド情報はネームリスト NMRADS で与える. バンド数は最大 10 まで.

(b) 乾燥空気と水蒸気による吸収, 地表反射のみを考慮している.

/model/agcm/agcm5/doc/dai4bu/physics/p2rads.tex  2002/006/20(地球流体電脳倶楽部)

4.4 サブルーチンの説明 : 太陽入射

4.4.1 SHTINS

1. 機能

大気上端での太陽入射量の計算.

2. 呼び出し方法

SUBROUTINE SHTINS            !" 太陽入射
O         ( SINS  , SECZET ,
I           IDATE ,
C           ALON  , ALAT    )

3. パラメーターの説明

*
*   [OUTPUT]
REAL       SINS  ( IDIM, JDIM )        !" 入射フラックス
REAL       SECZET( IDIM, JDIM )        !" sec(入射角)
*
*   [INPUT]
INTEGER    IDATE ( 6 )                 !" 日付
REAL       ALON  ( IDIM )              !" 経度
REAL       ALAT  ( JDIM )              !" 緯度
*
*   [NAMELIST]
NAMELIST  NMRADI
*

4. 備考

(a) 理想的暦 ( 360 日 ) を採用している.

(b) 現在, 日変化なし・季節変化なし, および, 日変化あり・季節変化あり, にしか対応していない.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/physics/p2radi.tex

\underline{AGCM5 第 4 部コードリファレンス  4.5 サブルーチンの説明 : 長波放射  43}

4.5 サブルーチンの説明 : 長波放射

4.5.1 LNGFLX

1. 機能

温度分布, 大気質量分布を元に長波放射フラックスを計算する. また, 鉛直拡散において地表および大気最下層での長波放射の補正を行なうが, そのための係数も計算する.

2. 呼び出し方法

SUBROUTINE LNGFLX           !" 長波放射フラックス
O         ( RFLUX , DRFLUX,
I           GDT   , GDTG  , TAUQ  , TAUA  ,
W           TRNSM1, TRNSM2, TRANS , PIB   , PIBGND  )

3. パラメータの説明

*
*   [OUTPUT]
REAL       RFLUX  ( IDIM*JDIM, KMAX+1 )     !" 長波フラックス
REAL       DRFLUX ( IDIM*JDIM, KMAX+1, 0:1 )!" 長波地表温度変化
*
*   [INPUT]
REAL       GDT    ( IDIM*JDIM, KMAX   ) !" 温度 (整数)
REAL       GDTG   ( IDIM*JDIM )         !" 地表面温度
REAL       TAUQ   ( IDIM*JDIM, KMAX+1 ) !" 上層にある水蒸気量
REAL       TAUA   ( IDIM*JDIM, KMAX+1 ) !" 上層にある大気量
*
*   [WORK]
REAL       TRNSM1 ( IDIM*JDIM, KMAX+1 ) !" 1/2 レベルからの透過係数
REAL       TRNSM2 ( IDIM*JDIM, KMAX+1 ) !" 3/2 レベルからの透過係数
REAL       TRANS  ( IDIM*JDIM, KMAX+1 ) !" 透過係数
REAL       PIB    ( IDIM*JDIM, KMAX   ) !" πＢ＝σＴ**4
REAL       PIBGND ( IDIM*JDIM )         !" 地表のπＢ
*
*   [NAMELIST]
NAMELIST  NMRADL
*

4. 備考

(a) 長波のバンド情報はネームリスト NMRADL で与える. バンド数は最大 10 まで.

/model/agcm/agcm5/doc/dai4bu/physics/p2radl.tex  2002/006/20(地球流体電脳倶楽部)

(b) 乾燥空気と水蒸気による吸収のみを考慮している.

(c) TRNSM1,TRNSM2 は放射補正係数である.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/physics/p2radl.tex

\underline{AGCM5 第 4 部コードリファレンス 4.6 サブルーチンの説明 : 地表面フラックス 45}

4.6 サブルーチンの説明 : 地表面フラックス

4.6.1 SFCUVT

1. 機能

地表面・大気下端 ( 1/2 レベル ) の上向きフラックスバルク法で評価し, 各フラックス変数に足し込む. また, 陰的解法で用いられる行列要素も計算する.

2. 呼び出し方法

SUBROUTINE SFCUVT           !" 地表フラックス
M         ( UFLUX , VFLUX , TFLUX , QFLUX ,
M           UMTXS , TMTXS , QMTXS ,
I           GDU   , GDV   , GDT   , GDTM  , GDTG  , GDQ   ,
I           GDP   , GDPM  , GDZ   ,
I           GRBET , GRZ0  , IDSFC                          )

3. パラメータの説明

*   [MODIFY]
REAL       UFLUX ( IDIM*JDIM, KMAX+1 ) !" Ｕのフラックス
REAL       VFLUX ( IDIM*JDIM, KMAX+1 ) !" Ｖのフラックス
REAL       TFLUX ( IDIM*JDIM, KMAX+1 ) !" Ｔのフラックス
REAL       QFLUX ( IDIM*JDIM, KMAX+1 ) !" ｑのフラックス
*
REAL       UMTXS ( IDIM*JDIM )             !" ｕ陰解行列：地表
REAL       TMTXS ( IDIM*JDIM , 0:1, -1:1 ) !" Ｔ陰解行列：地表
REAL       QMTXS ( IDIM*JDIM , 0:1, -1:1 ) !" ｑ陰解行列：地表
*
*   [INPUT]
REAL       GDU   ( IDIM*JDIM, KMAX )   !" 西風ｕ
REAL       GDV   ( IDIM*JDIM, KMAX )   !" 南風ｖ
REAL       GDT   ( IDIM*JDIM, KMAX )   !" 温度Ｔ
REAL       GDTM  ( IDIM*JDIM, KMAX )   !" 温度（半整数）
REAL       GDTG  ( IDIM*JDIM       )   !" 地表面温度
REAL       GDQ   ( IDIM*JDIM, KMAX )   !" 比湿ｑ
REAL       GDP   ( IDIM*JDIM, KMAX )   !" 気圧
REAL       GDPM  ( IDIM*JDIM, KMAX )   !" 気圧（半整数）
REAL       GDZ   ( IDIM*JDIM, KMAX )   !" 高度
*
REAL       GRBET ( IDIM*JDIM )         !" 地表湿潤度β
REAL       GRZ0  ( IDIM*JDIM )         !" 地表粗度長
INTEGER    IDSFC ( IDIM*JDIM )         !" 地表状態

/model/agcm/agcm5/doc/dai4bu/physics/p2sfcm.tex  2002/006/20(地球流体電脳倶楽部)

4. 備考 (a) 現在はフラックスの評価方法としてバルク法のみが用意されている.

(b) *MTXS は陰的解法で用いられる行列要素である.

(c) バルク係数の計算は BLKCOF でなされる.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/physics/p2sfcm.tex

\underline{{AGCM5 第 4 部コードリファレンス \atop 4.7 サブルーチンの説明 : 地表バルク係数の計算 47}}

4.7 サブルーチンの説明 : 地表バルク係数の計算

4.7.1 BLKCOF

1. 機能

地表バルク係数の計算. Luois による.

2. 呼び出し方法

SUBROUTINE BLKCOF          !" バルク係数
O         ( CM    , CH    , CE    ,
I           RIB   , VABS  , GRZ0M , GRZ0H , ZA    )

3. パラメータの説明

*
*   [OUTPUT]
REAL       CM    ( IDIM*JDIM )         !" バルク係数：ｕ
REAL       CH    ( IDIM*JDIM )         !" バルク係数：Ｔ
REAL       CE    ( IDIM*JDIM )         !" バルク係数：ｑ
*
*   [INPUT]
REAL       RIB   ( IDIM*JDIM )         !" バルクＲｉ数
REAL       VABS  ( IDIM*JDIM )         !" 風速絶対値
REAL       GRZ0M ( IDIM*JDIM )         !" 地表粗度（運動量）
REAL       GRZ0H ( IDIM*JDIM )         !" 地表粗度（熱）
REAL       ZA    ( IDIM*JDIM )         !" 最下層高度
*
*   [NAMELIST]
NAMELIST   NMSFCL

4. 備考

(a) 中立時のスキームと非中立時のスキームが別個に用意されているが, 現在はその選択は NAMELIST で与える仕様にしている. ( 中立・非中立の判断をするルーチンがないため. )

(b) NAMELIST NMSFCL では, 中立・非中立の選択, バルク係数上下限を設定できる.

/model/agcm/agcm5/doc/dai4bu/physics/p2sfcl.tex  2002/006/20(地球流体電脳倶楽部)

4.8 サブルーチンの説明 : 陰解法を用いた時間変化率の計算

4.8.1 PHYTND

1. 機能

陰解法を用いて, 大気拡散・地表フラックスによる運動量・熱・水蒸気の時間変化率を計算する.

2. 呼び出し方法

SUBROUTINE PHYTND   !" 時間変化率の計算 (implicit)
O         ( GTU   , GTV   , GTT   , GTTG  , GTQ   ,
I           UFLUX , VFLUX ,
I           TFLUX , SFLUX , RFLUX , GFLUX , QFLUX ,
I           UMTX  , TMTX  , QMTX  ,
I           UMTXS , TMTXS , QMTXS ,
I           RMTXS , DELT  , IDSFC                  )

3. パラメータの説明

*
*   [OUTPUT]
REAL       GTU   ( IDIM*JDIM, KMAX )   !" 東西運動量変化項ＵＡ
REAL       GTV   ( IDIM*JDIM, KMAX )   !" 南北運動量変化項ＶＡ
REAL       GTT   ( IDIM*JDIM, KMAX )   !" 温度時間変化項Ｈ
REAL       GTTG  ( IDIM*JDIM )         !" 地表温度変化率
REAL       GTQ   ( IDIM*JDIM, KMAX )   !" 比湿時間変化項Ｒ
*
*   [INPUT]
REAL       UFLUX ( IDIM*JDIM, KMAX+1 ) !" Ｕのフラックス
REAL       VFLUX ( IDIM*JDIM, KMAX+1 ) !" Ｖのフラックス
REAL       TFLUX ( IDIM*JDIM, KMAX+1 ) !" Ｔのフラックス
REAL       SFLUX ( IDIM*JDIM  )        !" 地表短波フラックス
REAL       RFLUX ( IDIM*JDIM  )        !" 地表長波フラックス
REAL       GFLUX ( IDIM*JDIM  )        !" 地中フラックス
REAL       QFLUX ( IDIM*JDIM, KMAX+1 ) !" ｑのフラックス
*
REAL       UMTX  ( IDIM*JDIM,   KMAX, -1:1 ) !" ｕ陰解行列
REAL       TMTX  ( IDIM*JDIM, 0:KMAX, -1:1 ) !" Ｔ陰解行列
REAL       QMTX  ( IDIM*JDIM,   KMAX, -1:1 ) !" ｑ陰解行列
REAL       UMTXS ( IDIM*JDIM            ) !" ｕ陰解行列：地表
REAL       TMTXS ( IDIM*JDIM, 0:1, -1:1 ) !" Ｔ陰解行列：地表
REAL       QMTXS ( IDIM*JDIM, 0:1, -1:1 ) !" ｑ陰解行列：地表

\underline{{AGCM5 第 4 部コードリファレンス \atop 4.8 サブルーチンの説明 : 陰解法を用いた時間変化率の計算 49}}

REAL       RMTXS ( IDIM*JDIM,      -1:1 ) !" Ｔ陰解行列：放射
*
REAL       DELT                        !" 時間刻みΔ t
*
INTEGER    IDSFC ( IDIM*JDIM )         !" 地表状態

4. 備考

(a) 運動量拡散は個別に, 熱拡散・水蒸気拡散は地表面での熱収支を意識して同時に解いている. 熱拡散と水蒸気拡散では絶対値が違いすぎるので, 行列計算で大きな誤差を伴い兼ねない. そこで, 行列計算前後で行列要素・ベクトルに EL/CP というファクターをかけることによって誤差増大を避けている.

(b) ワーク領域 COMWRK を IDIM*JDIM*(2KMAX+1)*3 使っている.

4.8.2 FLXCOR

1. 機能

運動量・熱・水蒸気の拡散・地表フラックスの第一推定置に補正値を加える.

2. 呼び出し方法

SUBROUTINE FLXCOR        !" フラックスの補正
M         ( UFLUX , VFLUX , TFLUX , QFLUX ,
I           GTU   , GTV   , GTT   , GTTG  , GTQ   ,
I           UMTX  , TMTX  , QMTX  ,
I           UMTXS , TMTXS , QMTXS ,
I           DELT                                     )

3. パラメータの説明

*
*   [MODIFY]
REAL       UFLUX ( IDIM*JDIM, KMAX+1 ) !" Ｕのフラックス
REAL       VFLUX ( IDIM*JDIM, KMAX+1 ) !" Ｖのフラックス
REAL       TFLUX ( IDIM*JDIM, KMAX+1 ) !" Ｔのフラックス
REAL       QFLUX ( IDIM*JDIM, KMAX+1 ) !" ｑのフラックス
*
*   [INPUT]
REAL       GTU   ( IDIM*JDIM, KMAX )   !" 東西運動量変化項ＵＡ
REAL       GTV   ( IDIM*JDIM, KMAX )   !" 南北運動量変化項ＶＡ
REAL       GTT   ( IDIM*JDIM, KMAX )   !" 温度時間変化項Ｈ
REAL       GTTG  ( IDIM*JDIM )         !" 地表温度変化率

/model/agcm/agcm5/doc/dai4bu/physics/p2imtx.tex  2002/006/20(地球流体電脳倶楽部)

REAL       GTQ   ( IDIM*JDIM, KMAX )   !" 比湿時間変化項Ｒ
*
REAL       UMTX  ( IDIM*JDIM,   KMAX, -1:1 ) !" ｕ陰解行列
REAL       TMTX  ( IDIM*JDIM, 0:KMAX, -1:1 ) !" Ｔ陰解行列
REAL       QMTX  ( IDIM*JDIM,   KMAX, -1:1 ) !" ｑ陰解行列
REAL       UMTXS ( IDIM*JDIM            ) !" ｕ陰解行列：地表
REAL       TMTXS ( IDIM*JDIM, 0:1, -1:1 ) !" Ｔ陰解行列：地表
REAL       QMTXS ( IDIM*JDIM, 0:1, -1:1 ) !" ｑ陰解行列：地表
REAL       DELT                           !" 時間刻みΔ t

4. 備考

(a) なし.

\underline{AGCM5 第 4 部コードリファレンス  4.9 サブルーチンの説明 : 鉛直拡散  51}

4.9 サブルーチンの説明 : 鉛直拡散

4.9.1 VDFUVT

1. 機能

大気中の運動量・熱・水蒸気鉛直拡散フラックスを計算する. 陰解法で用いる行列要素も計算する.

2. 呼び出し方法

SUBROUTINE VDFUVT
O         ( UFLUX , VFLUX , TFLUX , QFLUX ,
M           UMTX  , TMTX  , QMTX  ,
I           GDU   , GDV   , GDT   , GDTM  , GDQ   ,
I           GDP   , GDPM  , GDZ   , GDZM           )

3. パラメータの説明

*
*   [OUTPUT]
REAL       UFLUX ( IDIM*JDIM, KMAX+1 ) !" Ｕのフラックス
REAL       VFLUX ( IDIM*JDIM, KMAX+1 ) !" Ｖのフラックス
REAL       TFLUX ( IDIM*JDIM, KMAX+1 ) !" Ｔのフラックス
REAL       QFLUX ( IDIM*JDIM, KMAX+1 ) !" ｑのフラックス
*
*   [MODIFY]
REAL       UMTX  ( IDIM*JDIM ,   KMAX, -1:1 ) !" Ｕの陰解行列
REAL       TMTX  ( IDIM*JDIM , 0:KMAX, -1:1 ) !" Ｔの陰解行列
REAL       QMTX  ( IDIM*JDIM ,   KMAX, -1:1 ) !" ｑの陰解行列
*
*   [INPUT]
REAL       GDU   ( IDIM*JDIM, KMAX )   !" 西風Ｕ
REAL       GDV   ( IDIM*JDIM, KMAX )   !" 南風Ｖ
REAL       GDT   ( IDIM*JDIM, KMAX )   !" 温度Ｔ
REAL       GDTM  ( IDIM*JDIM, KMAX+1 ) !" 温度（半整数）
REAL       GDQ   ( IDIM*JDIM, KMAX )   !" 比湿ｑ
REAL       GDP   ( IDIM*JDIM, KMAX )   !" 気圧Ｐ
REAL       GDPM  ( IDIM*JDIM, KMAX )   !" 気圧（半整数）
REAL       GDZ   ( IDIM*JDIM, KMAX )   !" 高度
REAL       GDZM  ( IDIM*JDIM, KMAX )   !" 高度（半整数）
*
*   [NAMELIST]
NAMELIST   NMVDFM

/model/agcm/agcm5/doc/dai4bu/physics/p2vdfm.tex  2002/006/20(地球流体電脳倶楽部)

4. 備考

(a) 拡散係数ルーチンは Yamada-Mellor を使うことを半ば前提にしている. Yamada-Mellor を使わない場合は, バルクリチャードソン数並びに速度の鉛直微分の計算をする必要がない.

(b) 拡散係数は拡散係数計算ルーチン VDFCOF で計算された後に浅い積雲 SHLCOF で変更される.

(c) 拡散係数 DFM, DFH, DFE をヒストリー登録, 出力している.

(d) ネームリスト NMVDFM では基本温位, 風２乗最小値, バルクリチャードソン数最小値を与える.

(e) ワーク領域 COMWRK を 8*IDIM*JDIM*KMAX + 3*IDIM*JDIM*(KMAX+1) 使用している.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/physics/p2vdfm.tex

\underline{AGCM5 第 4 部コードリファレンス 4.10 サブルーチンの説明 : 浅い積雲対流 53}

4.10 サブルーチンの説明 : 浅い積雲対流

4.10.1 SHLCOF

• 機能

積雲の存在が鉛直拡散係数に与える影響を評価する. 具体的には積雲がある場所において鉛直拡散係数を増加させる.

• 呼び出し方法

SUBROUTINE SHLCOF
M         ( DFM   , DFH   , DFE   ,
I           GDT   , GDQ   , GDP   , GDZ  ,
W           GDTC  , GDQC  , ADIAF ,
W           KBTM  , KTOP            )

• パラメータの説明

*   [MODIFY]
REAL       DFM   ( IDIM*JDIM, KMAX+1 ) !" 輸送係数：ｕ
REAL       DFH   ( IDIM*JDIM, KMAX+1 ) !" 輸送係数：Ｔ
REAL       DFE   ( IDIM*JDIM, KMAX+1 ) !" 輸送係数：ｑ
*
*   [INPUT]
REAL       GDT   ( IDIM*JDIM, KMAX )   !" 温度Ｔ
REAL       GDQ   ( IDIM*JDIM, KMAX )   !" 比湿ｑ
REAL       GDP   ( IDIM*JDIM, KMAX )   !" 気圧Ｐ
REAL       GDZ   ( IDIM*JDIM, KMAX )   !" 高度Ｚ
*
*   [WORK]
REAL       GDTC  ( IDIM*JDIM, KMAX )   !" 雲の温度
REAL       GDQC  ( IDIM*JDIM, KMAX )   !" 雲の比湿
REAL       ADIAF ( IDIM*JDIM, KMAX )   !" 乾燥断熱降温率
INTEGER    KBTM  ( IDIM*JDIM )         !" 雲底レベル
INTEGER    KTOP  ( IDIM*JDIM )         !" 雲頂レベル
*
*   [NAMELIST]
NAMELIST   NMSHLT

• 備考

1. 雲の有無は CCLLEV を呼んで評価する.

/model/agcm/agcm5/doc/dai4bu/physics/p2shlt.tex  2002/006/20(地球流体電脳倶楽部)

2. 雲があって, 雲のトップにおける気圧が PTMIN よりも大きい場合浅い積雲であると評価する. この雲層の中にあって相対湿度が RCRIT よりも大きいレベルでは雲が拡散させていると判断して拡散係数を輸送係数に加える.

3. ネームリストで拡散係数増大分, 浅い積雲雲層上端レベル, 相対湿度上限を与える.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/physics/p2shlt.tex

\underline{{AGCM5 第 4 部コードリファレンス \atop 4.11 サブルーチンの説明 : 地表面の時間積分・地表長波フラックス補正 55}}

4.11 サブルーチンの説明 : 地表面の時間積分・地表長波フラックス補正

4.11.1 TGINTG

1. 機能

地面温度の時間積分. 並びに次ステップ時の長波フラックス第一推定値を算出するための, 地表射出長波フラックス分の補正.

2. 呼び出し方法

SUBROUTINE TGINTG      !" 地面温度の積分・地表面放射補正
M         ( GDTG  , RFLUX , DRFLUX ,
I           GTTG  , DELTM    )

3. パラメーターの説明

*   [MODIFY]
REAL       GDTG  ( IDIM*JDIM )          !" 地表面温度
REAL       RFLUX ( IDIM*JDIM, KMAX+1 )  !" 長波放射
REAL       DRFLUX( IDIM*JDIM, KMAX+1,0:1 )!" 地表長波フラックス補正係数
*
*   [INPUT]
REAL       GTTG   ( IDIM*JDIM )      !" 地表温度変化率 (単位時間当)
REAL       DELTM                     !" 時間刻みΔ t

4. 備考

(a) DELTM は物理過程時間刻でなく, モデル時間刻を用いる.

/model/agcm/agcm5/doc/dai4bu/physics/p2intg.tex  2002/006/20(地球流体電脳倶楽部)

4.12 サブルーチンの説明 : 物理過程の雑多な部品

4.12.1 TINTP

1. 機能

温度の鉛直補間. 整数レベルでの温度データから半整数レベルでの温度データを作成.

2. 呼び出し方法

        SUBROUTINE TINTP    !" 温度の鉛直補間
       O         ( GDTM  ,
       I           GDT   ,
       C           SIG   , SIGM  )

3. パラメーターの説明

        GDTM  [R] 長さ (IDIM*JDIM,KMAX+1) の配列. 半整数レベルでの温度.
        GDT   [R] 長さ (IDIM*JDIM,KMAX) の配列. 整数レベルでの温度.
        SIG   [R] 長さ (KMAX) の配列. 整数レベル.
        SIGM  [R] 長さ (KMAX+1) の配列. 半整数レベル.

4. 備考

(a) 補間公式は,

T_{k−1/2} = \frac{log σ_{k−1/2} − log σ_{k}}{log σ_{k−1} − log σ_{k}} T_{k−1} − \frac{log σ_{k−1} − log σ_{k−1/2}}{log σ_{k−1} − log σ_{k}} T_{k} (2 ≤ k ≤ K)
T_{1/2} = T_{1}
T_{K+1/2} = T_{K}

を使っている. この公式のチェックはしていない.

4.12.2 PZLEVS

1. 機能

気圧・高度の計算. 地表面気圧と温度場から気圧, 高度を計算.

2. 呼び出し方法

        SUBROUTINE PZLEVS      !" 気圧・高度の計算
       O         ( GDP   , GDPM , GDZ   , GDZM  ,
       I           GDPS  , GDT  , GDTM  ,
       C           SIG   , SIGM , DSIG  , DSIGM   )

93/03/22 保坂征宏 2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/physics/p2misc.tex

\underline{{AGCM5 第 4 部コードリファレンス \atop 4.12 サブルーチンの説明 : 物理過程の雑多な部品 57}}

3. パラメーターの説明

GDP    [R] 長さ (IDIM*JDIM,KMAX) の配列. 整数レベルでの気圧. 単位パスカル？ .

GDPM   [R] 長さ (IDIM*JDIM,KMAX+1) の配列. 半整数レベルでの気圧. 単位パスカ

ル？ .

GDZ    [R] 長さ (IDIM*JDIM,KMAX) の配列. 整数レベルでの高度.
GDZM   [R] 長さ (IDIM*JDIM,KMAX+1) の配列. 半整数レベルでの高度.
GDTM   [R] 長さ (IDIM*JDIM,KMAX+1) の配列. 半整数レベルでの温度.
GDT    [R] 長さ (IDIM*JDIM,KMAX) の配列. 整数レベルでの温度.
GDPS   [R] 長さ (IDIM*JDIM) の配列. 地表面気圧. 単位は不明？

SIG    [R] 長さ (KMAX) の配列. σレベル (整数).
SIGM   [R] 長さ (KMAX+1) の配列. σレベル (半整数).

DSIG   [R] 長さ (KMAX) の配列. Δσ (整数).
DSIGM  [R] 長さ (KMAX+1) の配列. Δσ (半整数).

4. 備考 (a) 圧力を求める公式は

P_{k} = P s × σ_{k} ∗ 100

である. 100 倍する理由は要チェック.

(b) 高度を求める公式は, 整数レベルでは以下の通り.

Z_{1} = \frac{R_{air}T_{1}}{g} (1 − σ_{1})
Z_{k} = Z_{k−1} + \frac{R_{air}T_{k−1/2}}{g} (σ_{k−1} − σ_{k})/σ_{k−1/2}

要チェック.

(c) 高度を求める公式は, 反整数レベルでは以下の通り.

Z_{1/2} = 0
Z_{k−1/2} = Z_{k−3/2} + \frac{R_{air}T_{k−1}}{g} (σ_{k−3/2} − σ_{k−1/2})/σ_{k−1}

要チェック.

/model/agcm/agcm5/doc/dai4bu/physics/p2misc.tex  2002/006/20(地球流体電脳倶楽部)

4.13 サブルーチンの説明 : 大規模凝結

4.13.1 LSCOND

1. 機能

大規模凝結に伴う調節の計算. 過飽和である場合に飽和になるように大規模凝結が起こるものとする. もちろん凝結に伴う潜熱解放分だけ温度の上昇が起こる. 調節前の温度, 比湿を調節後の値に変更. 大規模凝結に伴う降水量, 凝結加熱率, 凝結比湿変化を他の調節過程で計算された値に加える.

2. 呼びだし方法

SUBROUTINE LSCOND      !" 大規模凝結
M         ( GDT   , GDQ   ,
M           GQPR  , GQLSC , GSLSC ,
I           GDP   , GDPM  , DELTA  )

3. パラメタの説明

*
*   [MODIFY]
REAL       GDT   ( IDIM*JDIM, KMAX )   !" 温度Ｔ
REAL       GDQ   ( IDIM*JDIM, KMAX )   !" 比湿ｑ
REAL       GQPR  ( IDIM*JDIM       )   !" 降水量
REAL       GQLSC ( IDIM*JDIM, KMAX )   !" 凝結加熱率
REAL       GSLSC ( IDIM*JDIM, KMAX )   !" 凝結比湿変化
*
*   [INPUT]
REAL       GDP    ( IDIM*JDIM, KMAX )  !" 気圧Ｐ
REAL       GDPM   ( IDIM*JDIM, KMAX+1 )!" 気圧（半整数）
REAL       DELTA                       !" 2 Δ t
*

*ネームリスト

NAMELIST  /NMMLSC/ RCRITL              !" 臨界相対湿度
*

4. 備考

(a) イタレーションを 3 回行なう.

5. プログラマーズリファレンス

93/10/10 保坂征宏 2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/physics/p2mlsc.tex

\underline{AGCM5 第 4 部コードリファレンス  4.13 サブルーチンの説明 : 大規模凝結  59}

(a) イタレーションの意義 ( 定量的にどの程度なのか. 正しく収束に向かっているのか. ) のチェックの必要あり.

(b) 降水量, 凝結率, 比湿変化率を求めるときに DELTA を用いているのはいいのか？モデル時間刻を用いるべきであるような気がとってもするが.

(c) ワーク領域 COMWRK を IDIM*JDIM*KMAX 使用.

/model/agcm/agcm5/doc/dai4bu/physics/p2mlsc.tex  2002/006/20(地球流体電脳倶楽部)

4.14 サブルーチンの説明 : クオパラメタリゼーション

4.14.1 CUMADJ ( Kuo )

1. 機能

Kuo パラメタリゼーションによる積雲調節の計算. 水蒸気収束を凝結加熱と加湿に分配するパラメタは Anthes(1977) に従って決める.

2. 呼び出し方法

SUBROUTINE CUMADJ        !" Kuo パラメタリゼーション
M         ( GDT   , GDQ   ,
M           GQPR  , GQCNV , GSCNV ,
I           GDP   , GDPM  , GDZ   , DELTA  )

3. パラメタの説明

*   [MODIFY]
REAL       GDT   ( IDIM*JDIM, KMAX )   !' 温度Ｔ
REAL       GDQ   ( IDIM*JDIM, KMAX )   !' 比湿ｑ
REAL       GQPR  ( IDIM*JDIM       )   !' 降水量
REAL       GQCNV ( IDIM*JDIM, KMAX )   !' 凝結調節加熱率
REAL       GSCNV ( IDIM*JDIM, KMAX )   !' 凝結調節比湿変化
*
*   [INPUT]
REAL       GDP   ( IDIM*JDIM, KMAX )   !' 気圧Ｐ
REAL       GDPM  ( IDIM*JDIM, KMAX+1 ) !' 気圧（半整数）
REAL       GDZ   ( IDIM*JDIM, KMAX )   !' 高度
REAL       DELTA                       !' 2 Δ t
*

*ネームリスト

NAMELIST   NMKUOC

4. 備考

(a) ネームリスト NMKUOC では b パラメタ湿度上限下限を与える. デフォルトは QR0=0.8,QR1=0.9.

(b) ワーク領域 COMWRK は 6*IDIM*JDIM*KMAX + 8*IDIM*JDIM 使用する.

(c) b パラメタは Anthes の方法で決めるが, n = 1 を用いている.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/physics/p2cumk.tex

\underline{AGCM5 第 4 部コードリファレンス 4.15 サブルーチンの説明 : 乾燥対流調節 61}

4.15 サブルーチンの説明 : 乾燥対流調節

4.15.1 DADJST

1. 機能

乾燥対流調節の計算. 乾燥断熱減率よりも温度減率が小さいとき安定度が中立になるよう, また温度の鉛直積分は保存するように温度場を変化させる.

2. 呼び出し方法

  SUBROUTINE DADJST   !" 乾燥対流調節
 M         ( GDT   ,
 I           GDP   , GDPM  , DELTA  )

3. パラメタの説明

*   [MODIFY]
  REAL       GDT   ( IDIM*JDIM, KMAX )   !" 温度Ｔ
*
*   [INPUT]
  REAL       GDP   ( IDIM*JDIM, KMAX )   !" 気圧Ｐ
  REAL       GDPM  ( IDIM*JDIM, KMAX+1 ) !" 気圧（半整数）
  REAL       DELTA                       !" 2 Δ t

4. 備考

(a) 下層から順々に調節していく.

(b) 不安定の評価ために,

\frac{∂T}{∂z} − \frac{RT}{C_{p}p} \frac{∂p}{∂z} > 0  (4.1)

を離散化したものを用いている. ここで T, p の中間レベルでの値が必要になる. この際に, 中間レベルは本来力学過程でのそれと一致している必要はないことに注意しよう. さて, ここで p については力学過程で用いたのと同じ内挿公式を用いたのに対し, T については質量重みつき平均であるところの

T_{k−1/2} = \frac{△p_{k−1}T_{k−1} + △p_{k}T_{k}}{△p_{k−1} + p_{k}}  (4.2)

を用いた. これは湿潤対流調節での内挿公式とも食い違っており, 今後の検討を要する. そもそも不安定の評価方法として,

\frac{∂θ}{∂z} > 0  (4.3)

を使えば内挿は必要ないこともあり, 乾燥対流調節にはこの式を使うべきだと筆者 (保坂) は思う.

/model/agcm/agcm5/doc/dai4bu/physics/p2dadj.tex  2002/006/20(地球流体電脳倶楽部)

(c) 現状では質量の重みをかけた温度の鉛直積分を保存するように調節しているが, 力学過程などとの関係上, 温位の鉛直積分を保存させるようにすべきである. 熱のソースがあることになっている. これはバグであろう.

(d) 下から順々に下層を冷やし上層を温めるという調節を繰り返し行なうというスキームなので, 原理的には正確に調節させるのは不可能である. 実際, 鉛直各レベル間で最高 0.4 K の不安定の許容誤差を許しており, これが鉛直成層を変えている可能性も少なくない. うまい打開策は検討課題である. もちろん, 湿潤対流調節の方がはるかに難しく, それとコンシステントになるようにしたいであろう.

(e) ワーク領域 COMWRK を 2*IDIM*JDIM+3*IDIM*JDIM*KMAX 使用.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/physics/p2dadj.tex

第5章 IO : 入出力ルーチン

63

第6章 ADMIN : 座標・時間制御ルーチン

64 \underline{AGCM5 第 4 部コードリファレンス 6.1 サブルーチンの説明 : 座標の計算・設定 65}

6.1 サブルーチンの説明 : 座標の計算・設定

座標の計算・座標軸名称の決定をして, 座標系を設定する. SETCOR と STNCOR の違いは座標の計算・設定をするかどうかである.

6.1.1 SETCOR

1. 機能

座標定数の計算並びに座標軸名称の決定を行ない, 座標系を設定する.

2. 呼び出し方法

SUBROUTINE SETCOR     !" モデル座標定数の計算
O         ( ALON  , DLON  ,
O           ALAT  , DLAT  ,
O           SIG   , DSIG  ,
O           SIGM  , DSIGM  )

3. パラメタの説明

REAL       ALON  ( IDIM )              !" 経度
REAL       DLON  ( IDIM )              !" 経度荷重
REAL       ALAT  ( JDIM )              !" 緯度
REAL       DLAT  ( JDIM )              !" 緯度荷重
REAL       SIG   ( KMAX )              !" σレベル (整数)
REAL       SIGM  (KMAX+1)              !" σレベル (半整数)
REAL       DSIG  ( KMAX )              !" Δσ (整数)
REAL       DSIGM (KMAX+1)              !" Δσ (半整数)

4. 備考

(a) なし

5. プログラマーズメモ

(a) 経度・経度座標軸名の決定は SETLON で, 緯度・緯度座標軸名の決定は SETLAT で, 鉛直・鉛直座標軸名の決定は SETSIG で行なう. モデル座標系全体の設定 ( 記憶 ) を HSDORD で行なう.

6.1.2 STNCOR

1. 機能

座標軸名称の決定を行ない, 座標系を設定する.

/model/agcm/agcm5/doc/dai4bu/admin/asetc.tex  2002/006/20(地球流体電脳倶楽部)

2. 呼び出し方法

        ENTRY      STNCOR      !" モデル座標名の設定

3. パラメタの設定 (a) なし.

4. 備考

(a) 経度軸名称の決定は STNLON で, 緯度軸名称の決定は STNLON で, 鉛直座標軸名称の決定は STNSIG で行ない, HSCORN で設定 ( 記憶 ) する.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/admin/asetc.tex

\underline{AGCM5 第 4 部コードリファレンス  6.2 サブルーチンの説明 : σ座標の設定  67}

6.2 サブルーチンの説明 : σ座標の設定

6.2.1 SETSIG

1. 機能

鉛直レベル数に応じて整数・半整数レベルのσ, Δσの値, 鉛直レベルの軸名称を決定する.

2. 呼び出し方法

 SUBROUTINE SETSIG      !" σレベル
O         ( SIG   , DSIG  , HASIG ,
O           SIGM  , DSIGM , HASIGM,
D           KMAX  , KDIM            )

3. パラメーターの説明

SIG     [R]  長さ (KDIM) の配列. σレベル (整数)

SIGM    [R]  長さ (KDIM+1) の配列. σレベル (半整数)
DSIG    [R]  長さ (KDIM) の配列. Δσ (整数)
DSIGM   [R]  長さ (KDIM+1) の配列. Δσ (半整数)
HASIG   [C]*(*) 鉛直軸名称 (整数)
HASIGM  [C]*(*) 鉛直軸名称 (半整数)
KMAX    [I]  鉛直レベル数

KDIM    [I]  鉛直方向配列次元

4. 備考

(a) なし.

6.2.2 SETSGM

1. 機能

半整数レベルでのσを計算し整数および半整数レベルの鉛直軸名称を決定する.

2. 呼び出し方法

 SUBROUTINE SETSGM
O         ( SIGMX , HASIGX , HASIMX,
I           KMAX                     )

3. パラメーターの説明

        SIGMX   [R]  長さ (KMAX+1) の配列. σレベル (半整数)
        HASIGX  [C]*(*) 鉛直軸名称 (整数)
        HASIMX  [C]*(*) 鉛直軸名称 (半整数)
        KMAX    [I]  鉛直レベル数

4. 備考 (a) 鉛直レベル数は 1,2,5,12,16,23,45 しか選ぶことができない.

6.2.3 STNSIG

1. 機能鉛直レベル数に対応する鉛直レベル名称を返す.

2. 呼び出し方法

        SUBROUTINE STNSIG
       O         ( HASIGX, HASIMX ,
       I           KMAX             )

3. パラメーターの説明

        HASIGX  [C]*(*) 鉛直軸名称 (整数)
        HASIMX  [C]*(*) 鉛直軸名称 (半整数)
        KMAX    [I]  鉛直レベル数

4. 備考 (a) SETSGM を呼ぶだけ. SETSGM がすでに呼ばれているかどうかは関係ない.

6.2.4 SETSIX

1. 機能鉛直軸名称を設定する.

2. 呼び出し方法

        SUBROUTINE SETSIX
       M         ( SIGMY ,
       O           HASIGX, HASIMX,
       I           HASIG1, KMAX   )

3. パラメーターの説明

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/admin/asets.tex

SIGMY   [R]  長さ (KMAX+1) の配列. σレベル (半整数)
HASIGX  [C]*(*) 鉛直軸名称 (整数)
HASIMX  [C]*(*) 鉛直軸名称 (半整数)
HASIG1  [C]*(*) 鉛直軸名称デフォルト
KMAX    [I]  鉛直レベル数

4. 備考 (a) ネームリスト NMSIGM を読んでいる. これを用いてσレベル, 軸名称を変更できる.

6.3 サブルーチンの説明 : 緯度経度定数の計算

モデル緯度経度定数を計算する. SETLAT,SETLON は緯度・経度座標を計算し軸名称も設定する. STNLAT,STNLON は軸名称の設定のみを行なう.

6.3.1 SETLAT

1. 機能

モデル緯度座標定数の計算を行なう.

2. 呼び出し方法

SUBROUTINE SETLAT      !" モデル緯度座標定数の計算
O         ( ALAT  , DLAT  , HALAT  ,
D           JMAX  , JDIM             )

3. パラメタの説明

* 次元定数

INTEGER    JMAX, JDIM

* 出力

REAL       ALAT  ( JDIM )              !" 緯度
REAL       DLAT  ( JDIM )              !" 緯度荷重
CHARACTER  HALAT  *(NCC)               !" 緯度軸名称

* ネームリスト

NAMELIST   NMLAT0                      !" JMAX=1 の時の緯度

4. 備考

(a) JDIM は作業領域の大きさである JDIMD 以下でなくてはならない. JDIMD は現在 200 であり, JDIM がこれを越えるときには JDIMD を書き換える必要がある.

(b) JDIMD 問題は zcdim.F をインクルードするよう, 実際作業する GAUSS 共々変更すれば良いと思われる.

(c) 手順は以下のとおり.

i. 緯度, ガウス荷重の計算. JMAX が 2 以上のときは GAUSS を呼んで行なう. JMAX=1 の時はネームリスト NMLAT0 を読んで緯度を設定する. なお, JDIM>JMAX の場合, JMAX を越える配列については JMAX での緯度を与える.

ii. 軸名称の決定. GGLA?? (?? には JMAX の値が入る ) とする.

\underline{{AGCM5 第 4 部コードリファレンス \atop 6.3 サブルーチンの説明 : 緯度経度定数の計算 71}}

6.3.2 STNLAT

1. 機能

モデル緯度軸名称の決定.

2. 呼び出し方法

        ENTRY      STNLAT
       O         ( HALAT ,
       I           JMAX    )

3. パラメタの説明

* 次元定数

        INTEGER    JMAX

* 出力

        CHARACTER  HALAT  *(NCC)               !" 緯度軸名称

4. 備考

(a) SETLAT での緯度軸名称決定方法に同じ.

6.3.3 SETLON

1. 機能

モデル経度座標定数の計算を行なう.

2. 呼び出し方法

        SUBROUTINE SETLON      !" モデル経度座標定数の計算
       O         ( ALON  , DLON  , HALON ,
       D           IMAX  , IDIM            )

3. パラメタの説明

* 次元定数

        INTEGER    IMAX, IDIM

* 出力

        REAL       ALON  ( IDIM )              !" 経度
        REAL       DLON  ( IDIM )              !" 経度差分
        CHARACTER  HALON  *(NCC)               !" 経度軸名称

4. 備考

/model/agcm/agcm5/doc/dai4bu/admin/asetl.tex  2002/006/20(地球流体電脳倶楽部)

(a) SETLAT では JMAX=1 の場合を別処理していたが, ここでは IMAX=1 の場合は特別扱いしていない.

(b) 手順は以下のとおり.

i. 経度, 経度重みの計算. 経度の値は 1 番目から順に 0,1/IMAX, ⋯ である. なお, IDIM>IMAX の場合, IMAX を越える配列については 360^{∘} を越えた値を構わず与える.

ii. 軸名称の決定. GLON?? (?? には IMAX の値が入る ) とする.

6.3.4 STNLON

1. 機能

モデル緯度軸名称の決定.

2. 呼び出し方法

        ENTRY      STNLON
       O         ( HALON ,
       I           IMAX    )

3. パラメタの説明

* 次元定数

        INTEGER    IMAX

* 出力

        CHARACTER  HALON  *(NCC)               !" 経度軸名称

4. 備考

(a) SETLON での緯度軸名称決定方法に同じ.

\underline{{AGCM5 第 4 部コードリファレンス \atop 6.4 サブルーチンの説明 : 実験パラメタのセット 73}}

6.4 サブルーチンの説明 : 実験パラメタのセット

実験諸パラメタをセットする.

6.4.1 SETPAR

1. 機能

実験諸パラメタのセット. 実験名・実験者名, 時間刻み・初期ステップ数, 積分するモデル時間, 欠損値, 物理パラメタをセットする.

2. 呼び出し方法

SUBROUTINE SETPAR      !" パラメーターのセット
O         ( ITSTRT, ITEND , IORSTR,
O           IDELT , INISTY, TFILY   )

3. パラメタの説明

*   [OUTPUT]
INTEGER    ITSTRT                      !" 計算開始時刻
INTEGER    ITEND                       !" 計算終了時刻
INTEGER    IORSTR                      !" 出力間隔：再出発
*
INTEGER    IDELT                       !" 標準時間刻み
INTEGER    INISTY                      !" 初期ステップ数
REAL       TFILY                       !" 時間フィルター係数

* ネームリスト

NAMELIST    NMRUN
NAMELIST    NMINTG
NAMELIST    NMTIME
NAMELIST    NMFILE
NAMELIST    NMPCON

4. 備考

(a) 出力される時間単位は全て標準時間単位に変換された値である.

(b) 実験名・実験者名はネームリスト NMRUN で読み GTCSET で設定する. 時間刻みなどは

NMINTG で読み, ASUTIM,ASDELT で設定する. 積分時間は NMTIME で読む. 欠損値は

NMFILE で読む. 物理定数は PCONST でデフォルトを設定して NMPCON で読む.

/model/agcm/agcm5/doc/dai4bu/admin/aparm.tex  2002/006/20(地球流体電脳倶楽部)

6.5 サブルーチンの説明 : 標準物理定数のセット

6.5.1 PCONST

1. 機能標準物理定数をセットする. 具体的には, 地球半径, 重力加速度, 大気定圧比熱, 大気気体定数, 潜熱, 水蒸気定圧比熱, 水蒸気気体定数, 密度, 水と大気の分子量比ε, 0^{∘} 飽和蒸気圧, Stefan-Boltzman 定数, Karman 定数, 1/ε − 1 を設定する.

2. 呼び出し方法

        SUBROUTINE PCONST        !" 標準物理定数

3. パラメタの説明 (a) なし.

4. 備考 (a) なし.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/admin/apcon.tex

\underline{{AGCM5 第 4 部コードリファレンス \atop 6.6 サブルーチンの説明 : ステップ制御・日付処理 75}}

6.6 サブルーチンの説明 : ステップ制御・日付処理

TIMSTP で時刻の進行制御を行なう. 次のステップでの時刻を計算・記憶する. その記憶情報をもとに ADVSTP で時刻の進行を行なう. 時刻の変更設定をしたいときには SETTIM で, 時刻の参照をしたいときには INQTIM ですれば良い. サブルーチン AIDATE では, 日付処理に関する雑務をおこなう.

6.6.1 TIMSTP

1. 機能

進行させるかどうかを判断・出力し, 次のステップでの時刻・時間を内部設定する (出力はしない). また, 時間刻並びにリスタートファイルを出力するかどうかを判断・出力する.

2. 呼び出し方法

SUBROUTINE TIMSTP      !" 時刻制御
O         ( DELT  , OADVNC, ORSTR ,
I           ITA   , ITB   , IDATEA, IDATEB, ISTEP  ,
C           IDELT , INISTP, ITEND , IORSTR          )

3. パラメタの説明

* 出力

REAL       DELT                        !" 時間刻みΔｔ ( 単位秒 )
LOGICAL    OADVNC                      !" 時刻が進行するか否か
LOGICAL    ORSTR                       !" リスタート出すか否か

* 入力

INTEGER    ITA                         !" 通し時間 (t)
INTEGER    ITB                         !" 通し時間 (t-Δ t)
INTEGER    IDATEA( * )                 !" 時刻年月日時分秒
INTEGER    IDATEB( * )                 !" 時刻年月日時分秒
INTEGER    ISTEP                       !" 通しステップ数

* 定数

INTEGER    IDELT                       !" 標準時間刻み ( 単位秒 )
INTEGER    INISTP                      !" 初期ステップ数
INTEGER    ITEND                       !" 計算終了時刻
INTEGER    IORSTR                      !" 出力間隔：再出発

4. 備考

(a) 時刻関連情報は記憶している.

(b) DELT, IDELT の単位は秒である. 標準時間単位ではない. IT? は標準時間単位である.

(c) 手続きは以下のとおり.

i. 時刻を進めるかどうかの判断, 時間刻の設定. 通しステップ数 ISTEP が INISTP に比

  べて大きいかどうかで判断する. 進めない場合の時間刻は IDELT/(2.**(INISTP-ISTEP))

とする. ii. 次のステップでの時刻 ITN および時間 IDATEN を計算する.

時間刻を単位秒から標準時間単位変換し ( ACTIME ), 時刻進行する場合は現在の時刻・時間に, 進行しない場合は前のステップでの時刻・時間に時間刻分の時間を加える.

iii. リスタートファイルの出力の有無の判断をする^{1}. iv. 諸量の内部設定 ( 記憶 ) .

(d) DELT はメインルーチンに直接引き渡されており, メインルーチンでの DELT も当然秒単位ということになる.

6.6.2 SETTIM

1. 機能

時間・時刻・ステップ数の内部設定をおこなう.

2. 呼び出し方法

ENTRY      SETTIM
I         ( ITA   , ITB   , IDATEA, IDATEB, ISTEP  )

3. パラメタの説明

* 入力

INTEGER    ITA                         !" 通し時間 (t)
INTEGER    ITB                         !" 通し時間 (t-Δ t)
INTEGER    IDATEA( * )                 !" 時刻年月日時分秒
INTEGER    IDATEB( * )                 !" 時刻年月日時分秒
INTEGER    ISTEP                       !" 通しステップ数

4. 備考

(a) 些細なバグ. エントリー文で I であるべきところが O になっている.

(b) TIMSTP の時間・時刻・ステップ数の設定方法と同じ.

1リスタートファイル出力間隔として負の値が設定されていれば, 実験最終時刻以外では出力しない.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/admin/astep.tex

6.6.3 ADVSTP

1. 機能

現ステップ並びに 1 つ前のステップの時間時刻について時間進行を行なう. 進行後の各時刻・時間はサブルーチン TIMSTP で記憶する.

2. 呼び出し方法

ENTRY      ADVSTP      !" 時刻進行
O         ( ITA   , ITB   , IDATEA, IDATEB,
I           OADVNC                          )

3. パラメタの説明

* 入力

LOGICAL    OADVNC                      !" 時刻が進行するか否か

* 出力

INTEGER    ITA                         !" 通し時間 (t)
INTEGER    ITB                         !" 通し時間 (t-Δ t)
INTEGER    IDATEA( * )                 !" 時刻年月日時分秒
INTEGER    IDATEB( * )                 !" 時刻年月日時分秒

4. 備考

(a) なし

6.6.4 INQSTP

1. 機能

現ステップ並びに 1 つ前のステップの時間・時刻, 通しステップ数, 時間刻, 時刻進行の可否情報を返す.

2. 呼び出し方法

ENTRY      INQTIM      !" 時刻の参照
O         ( ITA   , ITB   , IDATEA, IDATEB,
O           ISTEP , DELT  , OADVNC          )

3. パラメタの説明

* 出力

INTEGER    ITA                         !" 通し時間 (t)
INTEGER    ITB                         !" 通し時間 (t-Δ t)

INTEGER    IDATEA( * )                 !" 時刻年月日時分秒
INTEGER    IDATEB( * )                 !" 時刻年月日時分秒
INTEGER    ISTEP                       !" 通しステップ数
REAL       DELT                        !" 時間刻 ( 単位秒 )
LOGICAL    OADVNC                      !" 時刻が進行するか否か

4. 備考

(a) なし.

6.6.5 AIDATE

1. 機能

日付の更新. 現ステップでの時刻 IDATE と時間刻 IDELT とから次のステップでの時刻 IDATEN を計算する.

2. 呼び出し方法

SUBROUTINE AIDATE      !" 日付の更新
O        ( IDATEN,
I          IDATE ,
I          IDELT  )

3. パラメタの説明

* 出力

INTEGER    IDATEN( * )              !" 時刻年月日時分秒

* 入力

INTEGER    IDATE ( * )              !" 時刻年月日時分秒
INTEGER    IDELT                    !" 時間刻み ( 標準時間単位 )

* ネームリスト

NAMELIST   NMCALN

4. 備考

(a) ネームリスト NMCALN で各時刻単位での数値の最大値 ( 繰上がる値 ) および季節変化するかどうかを設定できる. 季節変化しない場合は日付が変わらない (繰り上がらないため).

6.6.6 DIDATE

1. 機能

2 つの日付間の時刻差を計算する. IDATEN の時刻から IDATE の時刻を引く.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/admin/astep.tex

2. 呼び出し方法

        ENTRY     DIDATE      !" 日付の時刻差
       O        ( IDELT ,
       I          IDATEN,
       I          IDATE  )

3. パラメタの説明

* 出力

        INTEGER    IDATE                    !" 時間差 ( 標準時間単位 )

* 入力

        INTEGER    IDATE ( * )              !" 時刻年月日時分秒
        INTEGER    IDATEN( * )              !" 時刻年月日時分秒

4. 備考

(a) なし

6.6.7 RDATES

1. 機能

日付の小数化. 日付情報, すなわち月・日を年単位に, 時間情報, すなわち時・分・秒を日単位にする.

2. 呼び出し方法

        ENTRY      RDATES      !" 日付の小数化
       O         ( RDATE ,
       I           IDATE  )

3. パラメタの説明

* 出力

        REAL       RDATE ( 2 )                 !" 季節 (日), 時刻 (秒)

* 入力

        INTEGER    IDATE ( 6 )                 !" 時刻年月日時分秒

4. 備考

(a) サブルーチン AIDATE に記憶された情報を用いる.

6.7 サブルーチンの説明 : (t-Δ t) での値のセーブ・ロード

ある時刻でのデータをセーブしておいて後にロードするためのサブルーチン. SAVEGB でセーブし, LOADGB でロードする. LOADQB で比湿だけをロードすることもできる.

6.7.1 SAVEGB

1. 機能

時刻 (t − △t) でのデータをセーブする.

2. 呼び出し方法

SUBROUTINE SAVEGB      !" (t-Δ t) のデータをセーブ
I         ( GBU   , GBV   , GBT   , GBPS  , GBQ   ,
I           GBVOR , GBDIV                           )

3. パラメタの説明

* 入力

REAL       GBU   ( IDIM*JDIM*KMAX )    !" 西風ｕ (t-Δ t)
REAL       GBV   ( IDIM*JDIM*KMAX )    !" 南風ｖ (t-Δ t)
REAL       GBT   ( IDIM*JDIM*KMAX )    !" 温度Ｔ (t-Δ t)
REAL       GBPS  ( IDIM*JDIM      )    !" 地表気圧 (t-Δ t)
REAL       GBQ   ( IDIM*JDIM*KMAX )    !" 比湿ｑ (t-Δ t)
REAL       GBVOR ( IDIM*JDIM*KMAX )    !" 渦度ζ (t-Δ t)
REAL       GBDIV ( IDIM*JDIM*KMAX )    !" 発散Ｄ (t-Δ t)

4. 備考

(a) なし.

6.7.2 LOADGB

1. 機能

時刻 (t − △t) でのデータをロードする.

2. 呼び出し方法

ENTRY      LOADGB       !"  (t-Δ t) のデータをロード
O         ( GBU   , GBV   , GBT   , GBPS  , GBQ   ,
O           GBVOR , GBDIV                           )

3. パラメタの説明

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/admin/asavb.tex

\underline{{AGCM5 第 4 部コードリファレンス \atop 6.7 サブルーチンの説明 : (t-Δ t) での値のセーブ・ロード 81}}

* 出力

REAL       GBU   ( IDIM*JDIM*KMAX )    !" 西風ｕ (t-Δ t)
REAL       GBV   ( IDIM*JDIM*KMAX )    !" 南風ｖ (t-Δ t)
REAL       GBT   ( IDIM*JDIM*KMAX )    !" 温度Ｔ (t-Δ t)
REAL       GBPS  ( IDIM*JDIM      )    !" 地表気圧 (t-Δ t)
REAL       GBQ   ( IDIM*JDIM*KMAX )    !" 比湿ｑ (t-Δ t)
REAL       GBVOR ( IDIM*JDIM*KMAX )    !" 渦度ζ (t-Δ t)
REAL       GBDIV ( IDIM*JDIM*KMAX )    !" 発散Ｄ (t-Δ t)

4. 備考

(a) なし.

6.7.3 LOADGQ

1. 機能

時刻 (t − △t) での比湿をロードする.

2. 呼び出し方法

ENTRY      LOADGQ     !"  (t-Δ t) の比湿をロード
O         ( GBQ    )

3. パラメタの説明

REAL       GBQ   ( IDIM*JDIM*KMAX )    !" 比湿ｑ (t-Δ t)

4. 備考

(a) なし.

/model/agcm/agcm5/doc/dai4bu/admin/asavb.tex  2002/006/20(地球流体電脳倶楽部)

6.8 サブルーチンの説明 : 初期値入出力

6.8.1 RDSTRT 6.8.2 RDGDST 6.8.3 RDGDSV 6.8.4 RDSTRG 6.8.5 WRRSTR 6.8.6 WRRSTX 6.8.7 WRRSTY 6.8.8 WRRSTG

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/admin/astrt.tex

\underline{AGCM5 第 4 部コードリファレンス  6.9 サブルーチンの説明 : 時間単位変換  83}

6.9 サブルーチンの説明 : 時間単位変換

時間単位の変換ルーチン群である. ある時間単位のもとで整数表現された時間を ACTIME,ACTIMY で別の時間単位に変換することが出来る. ACTIME と ACTIMR との違いは変換後の時間が整数か実数かの違いである. なお, 単位変換において標準時間単位を使うことが出来る. 標準時間単位は, ASUTIM で設定, AQUTIM で参照できる. また, 標準時間刻は ASDELT ( 単位は標準時間刻 ) で設定でき, STEP を時間単位とした変換も可能である^{2}

6.9.1 ACTIME

1. 機能

時間単位 HUTIM での時間 KT を時間単位 HUTIMY での時間 IT に変換する.

2. 呼び出し方法

        SUBROUTINE ACTIME      !" 時間単位の変換 HUTIM → HUTIMY 整数
       I         ( KT    , HUTIM  , HUTIMY,
       O           IT                      )

3. パラメータの説明

  *    [INPUT]
        INTEGER    KT                !" 入力時刻：単位 HUNIT
        CHARACTER  HUTIM *(*)        !" 入力 KT の単位
        CHARACTER  HUTIMY*(*)        !" 変換すべき時間単位
  *    [OUTPUT]
        INTEGER    IT                !" 出力時刻：単位 HUNITY

4. 備考

(a) HUTIM, HUTIMY が # である場合には標準時間単位 ( デフォルトは MIN ) として扱われる.

(b) IT がわりきれないときには, GUCT2I での扱いと同じ扱いをされる.

(c) 実際の変換には GUCT2I で行なう.

6.9.2 ACTIMR

1. 機能

時間単位 HUTIM での時間 KT を時間単位 HUTIMY での時間 RT に変換する.

2. 呼び出し方法

2というのが時間刻 IDELT を用意している主旨であるが, 93/09/14 時点で正しく動作するかどうかは未調査.

/model/agcm/agcm5/doc/dai4bu/admin/atime.tex  2002/006/20(地球流体電脳倶楽部)

ENTRY      ACTIMR       !" 時間単位の変換 HUTIM → HUTIMY 実数
I         ( KT    , HUTIM  , HUTIMY,
O           RT                      )

3. パラメタの説明

*    [INPUT]
INTEGER    KT                !" 入力時刻：単位 HUNIT
CHARACTER  HUTIM *(*)        !" 入力 KT の単位
CHARACTER  HUTIMY*(*)        !" 変換すべき時間単位
*    [OUTPUT]
REAL       RT                !" 出力時刻：単位 HUNITY

4. 備考

(a) HUTIM, HUTIMY が # である場合には標準時間単位 ( デフォルトは MIN ) として扱われる.

(b) 実際の変換には GZDGTR で行なう.

6.9.3 AQUTIM

1. 機能

標準時間単位の参照.

2. 呼び出し方法

ENTRY      AQUTIM      !" 標準時間単位の参照
O         ( HUTIM )

3. パラメタの説明

CHARACTER  HUTIM *(*)   !" 標準時間単位

4. 備考

(a) なし.

6.9.4 ASUTIM

1. 機能

標準時間単位の設定.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/admin/atime.tex

\underline{AGCM5 第 4 部コードリファレンス  6.9 サブルーチンの説明 : 時間単位変換  85}

2. 呼び出し方法

        ENTRY      ASUTIM      !" 標準時間単位の設定
       I         ( HUTIM )

3. パラメタの説明

        CHARACTER  HUTIM *(*)   !" 標準時間単位

4. 備考

(a) なし.

6.9.5 ASDELT

1. 機能標準時間刻みの設定.

2. 呼び出し方法

        ENTRY      ASDELT      !" 標準時間刻みの設定
       I         ( IDELT )

3. パラメタの説明

        INTEGER     IDELT   !" 標準時間刻み

4. 備考 (a) 単位は標準時間刻みにする必要がある.

/model/agcm/agcm5/doc/dai4bu/admin/atime.tex  2002/006/20(地球流体電脳倶楽部)

6.10 サブルーチンの説明 : 時間フィルター

6.10.1 TFILT

1. 機能

時間フィルターをする. 時刻 t − 2 × △t でのデータ GBB* と t でのデータ GA* とを t − △t でのデータ GB* にそれぞれ TFIL だけ混ぜる.

2. 呼び出し方法

SUBROUTINE TFILT      !" タイムフィルター
M         ( GBU   , GBV   , GBT   , GBPS  , GBQ   ,
M           GBVOR , GBDIV ,
I           GAU   , GAV   , GAT   , GAPS  , GAQ   ,
I           GAVOR , GADIV ,
C           TFIL                                   )

3. パラメータの説明

*
*    [MODIFY]
REAL       GBU   ( IDIM*JDIM*KMAX )    !" 西風ｕ (t-Δ t)
REAL       GBV   ( IDIM*JDIM*KMAX )    !" 南風ｖ (t-Δ t)
REAL       GBT   ( IDIM*JDIM*KMAX )    !" 温度Ｔ (t-Δ t)
REAL       GBPS  ( IDIM*JDIM      )    !" 地表気圧 (t-Δ t)
REAL       GBQ   ( IDIM*JDIM*KMAX )    !" 比湿ｑ (t-Δ t)
REAL       GBVOR ( IDIM*JDIM*KMAX )    !" 渦度ζ (t-Δ t)
REAL       GBDIV ( IDIM*JDIM*KMAX )    !" 発散Ｄ (t-Δ t)
*
*    [INPUT]
REAL       GAU   ( IDIM*JDIM*KMAX )    !" 西風ｕ (t)
REAL       GAV   ( IDIM*JDIM*KMAX )    !" 南風ｖ (t)
REAL       GAT   ( IDIM*JDIM*KMAX )    !" 温度Ｔ (t)
REAL       GAPS  ( IDIM*JDIM      )    !" 地表気圧 (t)
REAL       GAQ   ( IDIM*JDIM*KMAX )    !" 比湿ｑ (t)
REAL       GAVOR ( IDIM*JDIM*KMAX )    !" 渦度ζ (t)
REAL       GADIV ( IDIM*JDIM*KMAX )    !" 発散Ｄ (t)
REAL       TFIL                        !" 時間フィルター係数

4. 備考

(a) COMWRK を 6*IDIM*JDIM*KMAX + IDIM*KMAX 使用している.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/admin/atfil.tex

第7章 UTIL : ユーティリティルーチン

87

7.1 サブルーチンの説明 : ルジャンドル函数

ルジャンドル函数およびルジャンドル変換の準備に関するサブルーチン群.

7.1.1 SETPNM

1. 機能

格子点上でのルジャンドル函数 P_{l+m}^{m}(μ) の値とその微分 (μ^{2} − 1)\frac{dP_{l+m}^{m}}{dμ} を計算する.

2. 呼び出し方法

    CALL SETPNM
O         ( PNM   , DPNM  , NMO   ,
I           QSINLA,
D           JMAX  , MMAX  , LMAX  , NMAX  , MINT  ,
D           NMDIM , JMXHF ,
W           QPNM  , QDPNM                                  )

3. パラメーターの説明

PNM     [R]  ルジャンドル関数. 大きさ (NMDIM,JMXHF) の配列.
DPNM    [R]  ルジャンドル函数の微分. 大きさ (NMDIM,JMXHF) の配列
NMO     [I]  スペクトルの添字順番. 大きさ (2,0:MMAX,0:LMAX) の配列.

QSINLA [R*(8)] ルジャンドル函数を計算する点の座標. AGCM5 では sin(緯度) を与えて

計算する. 大きさ (JMAX) の配列.

JMAX    [I]  配列の大きさ
MMAX    [I]  配列の大きさ
LMAX    [I]  配列の大きさ
NMAX    [I]  配列の大きさ
MINT    [I]  配列の大きさ
NMDIM   [I]  配列の大きさ
JMXHF   [I]  配列の大きさ
QPNM    [R*(8)] 大きさ (0:NMAX+1,0:MMAX) の作業配列. ルジャンドル関数の値
QDPNM   [R*(8)] 大きさ (0:NMAX+1,0:MMAX) の作業配列. ルジャンドル関数の微分

4. 備考

(a) P_{L+M}^{M}(QSINLA(J)) の値が {PNM(NMO(I,L,M),J),I=1,2} に格納される. DPNM も同様で

ある. I=1,2 にはどちらも同じ値が格納されている.

92/10/14 竹広真一 2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/util/uspst.tex

\underline{AGCM5 第 4 部コードリファレンス 7.1 サブルーチンの説明 : ルジャンドル函数 89}

7.1.2 LGNDRE

1. 機能

ルジャンドル函数 P_{n}^{m}(μ) とその微分 (μ^{2} − 1)\frac{dP_{n}^{m}}{dμ} を計算する.

2. 呼び出し方法

            CALL LGNDRE
           I         ( CTHETA , MMAX  , NMAX,
           O           QPNM   , QDPNM                )

3. パラメーターの説明

        CTHETA  [R*(8)] μ = sin 緯度.

MMAX    [I]  第一指数 n の最大値.
NMAX    [I]  第二指数 m の最大値.

        QPNM    [R*(8)] 長さ (0:NMAX+1, 0:MMAX) の配列. QPNM(n,m) がルジャンドル函数

P_{n}^{m}(μ) の値を与える.

        QDPNM   [R*(8)] 長さ (0:NMAX+1, 0:MMAX) の配列. QDPNM(n,m) がルジャンドル函数の微

分 (μ^{2} − 1)dP_{n}^{m}(μ)/dμ の値を与える.

4. 備考

(a) 特になし

7.1.3 GAUSS

1. 機能

ガウス緯度格子とガウス加重を計算する.

2. 呼び出し方法

            CALL GAUSS
           O         ( CTHETA , GW     ,
           I           JMAX             )

3. パラメーターの説明

CTHETA  [R*(8)] 長さ JMAX の配列. ガウス格子の μ = sin 緯度を与える.
GW      [R*(8)] 長さ JMAX の配列. ガウス加重を与える.

        JMAX    [I]  配列 CTHETA, GW の長さ.

4. 備考

(a) JMAX は作業用配列の大きさ JMAXD 以下でなければならない JMAXD の標準値は 200 なので, JMAX がこれ以上の値をとる時には JMAXD の値を書き換える必要がある.

(b) CTHETA は大きい側から順に (緯度にすれば北から順に) ガウス格子点の位置が与えられ

       る. すなわち, 1 > CTHETA(1) > CTHETA(2) > . . . > CTHETA(JMAX) > −1 となる.

/model/agcm/agcm5/doc/dai4bu/util/uspst.tex  2002/006/20(地球流体電脳倶楽部)

7.2 サブルーチンの説明 : 時間モニター

CPU 時間計測のためのサブルーチン群. プログラム中で CLCSTR と CLCEND を呼ぶことによりその間の計算に要した CPU 時間を測定する. CLCSTR の引き数である測定項目名を設定することにより, プログラム中の異なる部分の計算に要する CPU 時間を同時に測定できる. 同名の測定項目を引き数に持つ CLCSTR, CLCEND が呼ばれた場合にはそれまで測定した時間に結果が累積される.

このサブルーチン群からは時間計測のサブルーチン YCLOCK が呼ばれる. 使用者はそのシステムに応じた YCLOCK を用意する必要がある (10.1.3).

7.2.1 CLCSTR

1. 機能

CPU 時間の計測を開始する.

2. 呼び出し方法

            CALL CLCSTR
           I          ( HTTL    )

3. パラメーターの説明

HTTL  [C*(*)] CPU 時間計測項目のタイトル.

4. 備考

(a) HTTL は 16 文字以下の部分が時間計測項目名として登録される.

7.2.2 CLCEND

1. 機能

CPU 時間の計測を終了する.

2. 呼び出し方法

            CALL CLCEND
           I          ( HTTL    )

3. パラメーターの説明

HTTL  [C*(*)] CPU 時間計測項目のタイトル.

4. 備考

(a) 特になし.

91/12/18 竹広真一 2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/util/ucloc.tex

\underline{AGCM5 第 4 部コードリファレンス  7.2 サブルーチンの説明 : 時間モニター  91}

7.2.3 CLCOUT

1. 機能 CPU 時間の計測結果を出力する.

2. 呼び出し方法

            CALL CLCOUT

3. パラメタの説明なし

4. 備考 (a) 特になし

/model/agcm/agcm5/doc/dai4bu/util/ucloc.tex  2002/006/20(地球流体電脳倶楽部)

7.3 サブルーチンの説明 : 行列計算

7.3.1 LUMAKE

1. 機能

行列の LU 分解 (部分ピボット選択) を行なう.

2. 呼び出し方法

            CALL LUMAKE
       M         ( ALU   ,
       O           KP    ,
       D           JDIM  , NDIM   )

3. パラメーターの説明

JDIM  [I] 配列の寸法. 係数行列の数.
NDIM  [I] 配列の寸法. 連立方程式の次数.

        ALU   [R]  JDIM×NDIM×NDIM の配列. NDIM×NDIM の行列が JDIM 個ならんでいるも

のを同時に扱う. 入力の行列が上書きされて LU 分解行列で出力される.

KP    [I]  JDIM×NDIM の配列. ピボット情報を記録する.

4. 備考

(a) 特になし

7.3.2 LUSOLV

1. 機能

LU 分解により連立 1 次方程式の解の計算を行なう.

2. 呼び出し方法

            CALL LUSOLV
       M         ( XV    ,
       I           ALU   , KP    ,
       D           IDIM  , JDIM  , NDIM   )

3. パラメーターの説明

92/09/27 竹広真一 93/02/07 竹広真一 2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/util/umtlu.tex

\underline{AGCM5 第 4 部コードリファレンス  7.3 サブルーチンの説明 : 行列計算  93}
IDIM  [I] 配列の寸法. 連立方程式の右辺ベクトルの数.
JDIM  [I] 配列の寸法. 係数行列の数.
NDIM  [I] 配列の寸法. 連立方程式の次数.

XV [R] IDIM×JDIM×NDIM の配列. 連立方程式の右辺ベクトルを入力として与え,

解が上書きされて出力される.

ALU   [R]  JDIM×NDIM×NDIM の配列. NDIM×NDIM の LU 分解された行列が JDIM 個

ならんでいるものを同時に扱う.

KP    [I]  JDIM×NDIM の配列. ピボット情報を記録したもの.

4. 備考

(a) 特になし.

7.3.3 LUMAK3

1. 機能

3 重対角行列の LU 分解を行なう.

2. 呼び出し方法

     CALL LUMAK3
M         ( ALU   ,
D           JDIM  , NDIM )

3. パラメーターの説明

JDIM  [I] 配列の寸法. 係数行列の数.
NDIM  [I] 配列の寸法. 連立方程式の次数.

ALU   [R]  JDIM×NDIM×(-1:1) の配列. NDIM×NDIM の 3 重対角行列が JDIM 個な
            らんでいるものを同時に扱う. ALU(J,N,-1) が下三角, ALU(J,N,1) が上

三角, ALU(J,N,0) が対角成分を表す. 入力の行列が上書きされて LU 分解行列で出力される.

4. 備考

(a) ALU(J,1,-1), ALU(J,NDIM,1) はダミー変数である.

7.3.4 LUSOL3

1. 機能

3 重対角行列の LU 分解により連立 1 次方程式の解の計算を行なう.

2. 呼び出し方法

/model/agcm/agcm5/doc/dai4bu/util/umtlu.tex  2002/006/20(地球流体電脳倶楽部)

     CALL LUSOL3
M         ( XV    ,
I           ALU   ,
D           IDIM  , JDIM , NDIM )

3. パラメーターの説明

IDIM  [I] 配列の寸法. 連立方程式の右辺ベクトルの数.
JDIM  [I] 配列の寸法. 係数行列の数.
NDIM  [I] 配列の寸法. 連立方程式の次数.

XV [R] IDIM×JDIM×NDIM の配列. 連立方程式の右辺ベクトルを入力として与え,

解が上書きされて出力される.

ALU   [R]  JDIM×NDIM×(-1:1) の配列. NDIM×NDIM の LU 分解された 3 重対角行

列が JDIM 個ならんでいるものを同時に扱う.

4. 備考

(a) ALU(J,1,-1), ALU(J,NDIM,1) はダミー変数である.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/util/umtlu.tex

\underline{AGCM5 第 4 部コードリファレンス  7.4 サブルーチンの説明 : 雑  95}

7.4 サブルーチンの説明 : 雑

配列, 時間単位変換に関する雑多なサブルーチン群.

7.4.1 RESET

1. 機能配列の値を 0 にセットする.

2. 呼び出し方法

            CALL RESET
           O      ( DATA  ,
           D        IDIM   )

3. パラメーターの説明

        DATA  [R] 配列.
        IDIM  [I] 配列の次元.

4. 備考 (a) 特になし

7.4.2 COPY

1. 機能配列を複写する.

2. 呼び出し方法

            CALL COPY     !" 配列を複写
           O     ( DATAO  ,
           I       DATAI  ,
           D       IDIM     )

3. パラメーターの説明

        DATAO  [R] 複写先の配列.
        DATAI  [R] 複写元の配列.
        IDIM   [I] 配列の次元.

4. 備考 (a) 特になし

93/02/07 竹広真一 /model/agcm/agcm5/doc/dai4bu/util/usubs.tex  2002/006/20(地球流体電脳倶楽部)

7.4.3 FILLV

1. 機能配列のある範囲を一定値で埋める.

2. 呼び出し方法

      CALL FILLV
    M     ( DATA  ,
    I       VALUE ,
    D       IMIN  , IMAX  , IDIM  , JMIN  , JMAX  , JDIM  ,
    D       KMIN  , KMAX                                   )

3. パラメーターの説明

DATA   [R] 大きさ (IDIM,JDIM,*) の 3 次元配列.
VALUE  [R] 設定する値

IMIN   [I] 設定する第 1 次元の範囲の始め
IMAX   [I] 設定する第 1 次元の範囲の終り
IDIM   [I] 第 1 次元の大きさ
JMIN   [I] 設定する第 2 次元の範囲の始め
JMAX   [I] 設定する第 2 次元の範囲の終り
JDIM   [I] 第 2 次元の大きさ
KMIN   [I] 設定する第 3 次元の範囲の始め
KMAX   [I] 設定する第 3 次元の範囲の終り

4. 備考 (a) 3 次元目の大きさは KMAX 以上でなければならない.

7.4.4 MAXMIN

1. 機能配列の最小値最大値を標準出力に出力する.

2. 呼び出し方法

      CALL MAXMIN
     I    ( DATA, IDIM, JDIM, KMAX, IMAX, JMAX, HITEM )

3. パラメーターの説明

DATA   [R]  大きさ (IDIM,JDIM,*) の 3 次元配列.

IDIM   [I]  第 1 次元の大きさ
JDIM   [I]  第 2 次元の大きさ
KMAX   [I]  最大最小値を調べる第 3 次元の範囲の終り
IMAX   [I]  最大最小値を調べる第 1 次元の範囲の終り
JMAX   [I]  最大最小値を調べる第 2 次元の範囲の終り

HITEM  [C*(*)] 出力時の表題

4. 備考 (a) 3 次元目の大きさは KMAX 以上でなければならない.

7.4.5 IUNITM

1. 機能時間を秒に変換する.

2. 呼び出し方法

    IUNITM( KT , HUNIT  , IDELT  )

3. パラメーターの説明

KT      [I]  変換する時間 (単位 HUNIT)
HUNIT   [C*(*)] 入力する時間の単位
IDELT   [I]  Δｔ (単位:秒)
IUNITM  [I]  秒に変換された時間

4. 備考

(a) 時間単位が 'STEP' あるいは 'step' のときには IDELT * KT が出力される. それ以外の時間単位では tt IDELT はダミー変数である.

7.4.6 MALLOC

1. 機能ワーク領域のポインターを割り当てる.

2. 呼び出し方法

     MALLOC( LENGTH, IPMAX  )

3. パラメーターの説明

LENGTH  [I] 割当て長さ.

IPMAX   [I] 最大領域配列の次元.
MALLOC  [I] 割り当てられた配列のポインター (先頭アドレス)
/model/agcm/agcm5/doc/dai4bu/util/usubs.tex  2002/006/20(地球流体電脳倶楽部)

4. 備考 (a) 特になし

7.4.7 MFREE

1. 機能ワーク領域のポインターをリセットする.

2. 呼び出し方法

            MFREE

3. パラメーターの説明

        MFREE  [I] 常に 1 を返す.

4. 備考 (a) 特になし

第8章 NONSTD : 非標準ルーチン

99

8.1 サブルーチンの説明 : 湿潤対流調節

8.1.1 CUMADJ ( adustment )

1. 機能

湿潤対流調節の計算. 温度減率が湿潤断熱減率よりも大きく, 飽和または過飽和にあるときに湿潤安定度が中立に, また温度の鉛直積分は潜熱解放分だけ上昇するように, 飽和状態になるように, 降水を起こし温度・比湿を変化させる.

2. 呼び出し方法

SUBROUTINE CUMADJ       !" 湿潤対流調節
M         ( GDT   , GDQ   ,
M           GQPR  , GQCNV , GSCNV ,
I           GDP   , GDPM  , GDZ   , DELTA  )

3. パラメタの説明

*   [MODIFY]
REAL       GDT   ( IDIM*JDIM, KMAX )   !" 温度Ｔ
REAL       GDQ   ( IDIM*JDIM, KMAX )   !" 比湿ｑ
REAL       GQPR  ( IDIM*JDIM       )   !" 降水量
REAL       GQCNV ( IDIM*JDIM, KMAX )   !" 凝結調節加熱率
REAL       GSCNV ( IDIM*JDIM, KMAX )   !" 凝結調節比湿変化
*
*   [INPUT]
REAL       GDP    ( IDIM*JDIM, KMAX )  !" 気圧Ｐ
REAL       GDPM   ( IDIM*JDIM, KMAX+1 )!" 気圧（半整数）
REAL       GDZ    ( IDIM*JDIM, KMAX )  !" 高度
REAL       DELTA                       !" 2 Δ t
*

*ネームリスト

NAMELIST   NMMADJ
REAL       EPST ( ITRMAX )             !" 不安定の許容誤差
REAL       RCRIT                       !" 臨界相対湿度

4. 備考

(a) 共通ワーク領域 COMWRK を 2*IDIM*JDIM+6*IDIM*JDIM*KMAX 使用.

93/10/12 保坂征宏 2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/nonstd/p2cuma.tex

\underline{AGCM5 第 4 部コードリファレンス 8.1 サブルーチンの説明 : 湿潤対流調節 101}

(b) 不安定の評価ために,

\frac{∂T}{∂z} − \frac{RT}{C_{p}p} \frac{∂p}{∂z} + \frac{L}{C_{p}} \frac{∂q^{∗}}{∂z} > 0  (8.1)

を離散化したものを用いている. ここで T, p の中間レベルでの値が必要になる. この際に, 中間レベルは本来力学過程でのそれと一致している必要はないことに注意しよう. さて, ここで p については力学過程で用いたのと同じ内挿公式を用いたのに対し, T については算術平均の

T_{k−1/2} = \frac{T_{k−1} + T_{k}}{2}  (8.2)

を用いた. これは乾燥対流調節での内挿公式とも食い違っており, 今後の検討を要する.

(c) 現状では質量の重みをかけた温度の鉛直積分を保存するように調節しているが, 力学過程などとの関係上, 温位の鉛直積分を保存させるようにすべきである. 熱のソースがあることになっていて, これはバグである.

(d) 下から順々に下層を冷やし上層を温めるという調節を繰り返し行なうというスキームなので, 原理的には正確に調節させるのは不可能である. 実際, 鉛直各レベル間で最高 0.4 K の不安定の許容誤差を許しており, これが鉛直成層を変えている可能性も少なくない. うまい打開策は検討課題である.

(e) 単位時間あたり降水量, 凝結率, 比湿変化率を求めるときに DELTA を用いているのはいいのか？モデル時間刻を用いるべきであるような気がとってもするが.

/model/agcm/agcm5/doc/dai4bu/nonstd/p2cuma.tex  2002/006/20(地球流体電脳倶楽部)

8.2 サブルーチンの説明 : 乾燥対流調節

8.2.1 DADJST (dummy)

1. 機能

乾燥対流調節のダミー.

2. 呼び出し方法

SUBROUTINE DADJST   !" 乾燥対流調節
M         ( GDT   ,
I           GDP   , GDPM  , DELTA  )

3. パラメタの説明

*   [MODIFY]
REAL       GDT   ( IDIM*JDIM, KMAX )   !" 温度Ｔ
*
*   [INPUT]
REAL       GDP   ( IDIM*JDIM, KMAX )   !" 気圧Ｐ
REAL       GDPM  ( IDIM*JDIM, KMAX+1 ) !" 気圧（半整数）
REAL       DELTA                       !" 2 Δ t

4. 備考

(a) 何もしない.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/nonstd/p2dad0.tex

第9章 USR/POCHAKA : pochaka ルー チン

103 104 AGCM5 第 4 部コードリファレンス

第 9 章 USR/POCHAKA : pochaka ルーチン

9.1 サブルーチンの説明 : 地表面の時間積分・地表長波フラック

ス補正

この文書は未完成.

9.1.1 TGINTG

1. 機能地面温度の時間積分. 並びに次ステップ時の長波フラックス第一推定値を算出するための, 地表射出長波フラックス分の補正.

2. 呼び出し方法

        SUBROUTINE TGINTG      !" 地面温度の積分
       M         ( GDTG  ,
       I           GTTG  , DELT  )

3. パラメーターの説明

        GDTG  [R] 長さ (IDIM,JDIM) の配列. 地表面温度格子点データ.
        GTTG  [R] 長さ (IDIM,JDIM) の配列. 地表面温度変化率
        DELT  [R] 実験時間刻Δ t

4. 備考 (a) DELT は物理過程時間刻でなく, モデル時間刻を用いる.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/usr/pochaka/physics/p2intg.tex

第10章 SYSDEP : 機種依存ルーチン

105 インストールの際には以下のような仕様のサブルーチンを用意する必要がある.

10.1 サブルーチン · 関数の説明 : 機種依存ルーチン

10.1.1 ERRTRA

1. 機能エラーのトレースバックを出力する.

2. 呼び出し方法

                CALL ERRTRA

3. 備考 (a) ダミーのサブルーチンであってもプログラムの実行に関して支障はない.

10.1.2 YCLOCP

1. 機能前回サブルーチンが呼ばれてからの計算に要した CPU 時間, 並びにその時点の CPU 時間を出力する.

2. 呼び出し方法

            CALL YCLOCP
           I         ( HREM   )

3. パラメーターの説明

HREM  [C*(*)] 出力の表題. 実際に出力されるのは 8 文字まで.

4. 備考 (a) 出力装置番号は 6 番である.

10.1.3 YCLOCK

1. 機能 CPU 時間を計測する.

2. 呼び出し方法 \underline{\begin{matrix}AGCM5 第 4 部コードリファレンス \\ 10.1 サブルーチン · 関数の説明 : 機種依存ルーチン 107 \end{matrix}}

91/12/18 竹広真一 92/02/03 竹広真一 2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/sysdep/sysdep.tex

              CALL YCLOCK
             O         ( CPUTIM, VPUTIM )

3. パラメーターの説明

        CPUTIM  [R] スカラー時間.
        VPUTIM  [R] ベクトル時間.

4. 備考 (a) 特になし.

10.1.4 YCLOCL

1. 機能 CPU 時間をクリアーする.

2. 呼びだし方法

              CALL YCLOCL

3. 備考

10.1.5 MKFILN

1. 機能ファイル名を機種に適合した形式に変更する.

2. 呼びだし方法

              CALL MKFILN
             M         ( HFILE ,
             I           HCH   , HREP    )

3. パラメーターの説明

        HFILE  [C*(*)] ファイル名

HCH    [C*1]  置換の対象とする文字

        HREP   [C*(*)] 置換する文字列

4. 備考

(a) 入力ファイル名 HFILE の中の文字 HCH を文字列 HREP に置き換える. さらに / が含まれていた場合には, 機種に適合する区切子に置き換える.

(b) 扱えるファイル名の最大長は内部変数 NFILN によって定まっている (オリジナルは 38 文字).

/model/agcm/agcm5/doc/dai4bu/sysdep/sysdep.tex  2002/006/20(地球流体電脳倶楽部)

10.1.6 REWNML

1. 機能 NAMELIST ファイルの入力巻き戻しをし, 入出力装置番号を返す.

2. 呼びだし方法

            CALL REWNML
           O         ( IFILE, JFILE )

3. パラメーターの説明

IFILE  [I] NAMELIST 入力ファイルの装置番号.
JFILE  [I] NAMELIST 出力ファイルの装置番号.

4. 備考

(a) NAMELIST 入出力装置番号のデフォルトは 5 番と 6 番である. 装置番号はサブルーチン SETNML で設定できる.

10.1.7 SETNML

1. 機能 NAMELIST 入出力装置番号を設定する.

2. 呼びだし方法

            CALL SETNML
           I         ( IFILE, JFILE )

3. パラメーターの説明 : REWNML に同じ (10.1.6).

4. 備考

10.1.8 YERRST

1. 機能エラー処理の変更を行う.

2. 呼びだし方法

            CALL YERRST

3. 備考 (a) Lahey 版では underflow の処理を設定している.

(b) Hitac 版では?

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/sysdep/sysdep.tex

\underline{\begin{matrix}AGCM5 第 4 部コードリファレンス \\ 10.1 サブルーチン · 関数の説明 : 機種依存ルーチン 109 \end{matrix}}

10.1.9 YDATE

1. 機能現在の日付を取得する.

2. 呼びだし方法

            CALL YDATE
           O         ( HDATE )

3. パラメーターの説明

        HDATE  [C*(*)] 日付.

4. 備考 (a) 日付の書式は Lahey 版では (yyyy mm dd), Hitac 版では (yyyy/mm/dd) である

10.1.10 YTIME

1. 機能現在の時刻を取得する.

2. 呼びだし方法

            CALL YTIME
           O         ( HTIME )

3. パラメーターの説明

        HTIME  [C*(*)] 時刻.

4. 備考 (a) 時刻の書式は Lahey 版では (hh mm ss), Hitac 版では (hh:mm:ss) である

10.1.11 IOSLEV

1. 機能エラーレベルを返す.

2. 呼びだし方法

              IOSLEV( IOS )

3. パラメーターの説明

/model/agcm/agcm5/doc/dai4bu/sysdep/sysdep.tex  2002/006/20(地球流体電脳倶楽部)

IOS     [I]
IOSLEV  [I]

4. 備考 (a) IOSLEV は 0, 2 の値をとることができる (Lahey)?

(b) IOSLEV は 0, 1, 2 の値をとることができる (HITAC)?

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/sysdep/sysdep.tex

第A章謝辞

資源 agcm5

プログラム製作沼口敦

プログラム製作協力保坂征宏, 竹広真一, 石渡正樹, 堀之内武

文章保坂征宏, 竹広真一, 石渡正樹, 堀之内武, 余田成男

版権と引用本資源の版権は地球流体電脳倶楽部に属する. 地球流体電脳倶楽部の英語名は’GFD-DENNOU Club’ である. 資源の利用にあたっては地球流体電脳倶楽部の定める規定にしたがっていただきたい. 原則として, 教育的目的の場合には自由に使用・改変して良いものとしている. 詳細は心得を参照されたい. 地球流体電脳倶楽部の定める規定は地球流体電脳倶楽部サーバー (dennou) 上の

    ftp://dennou-k.gaia.h.kyoto-u.ac.jp/saloon/dennou/To.Users

というファイルに収められている. 電脳サーバーは次の 4 箇所におかれている.

    dennou-h.ees.hokudai.ac.jp
    dennou-t.ms.u-tokyo.ac.jp
    dennou-k.gaia.h.kyoto-u.ac.jp
    dennou-q.geo.kyushu-u.ac.jp

agmc5 を用いて作成された著作物等には, 英語では例えば “The calculations were performed by agcm5, GFD-DENNOU Club.” 日本語では例えば「計算は地球流体電脳倶楽部の agcm5 をもちいた.」のように明記していただければ幸いである. 「著者」に対応するものとしては地球流体電脳倶楽部 (GFD-DENNOU Club) をあげていただければ幸いである.

沿革 agcm5 は, 気象庁数値予報課の全球現業予報モデル (1985 年に住明正・増田耕一両氏が気象庁から東大理学部地球物理学科気象研究室に移植した) を参考に, 沼口敦氏が開発した大気大 \underline{112 AGCM5 第 4 部コードリファレンス付録 A 謝辞}

93/07/09 林祥介 97/03/11 余田成男

循環モデルである. agcm5 の 5 は氏の開発の第 5 版を意味する数字であり, 1988 年の作業開始以来, 5 回にわたる大きな変更を経たものである. この間, 地球流体電脳ライブラリ (dcl) との整合性をも考慮し, 大学等での研究・教育用に利用できる形に整理がなされてきた. 残念ながら, agcm5 は現実大気のシミュレーションモデルとしてのチューンがなされていないモデルであり, 若干の水過程と若干の放射過程を含むものの, その実体は単なる球面プリミティブモデルといったほうが正しい.

国立環境研究所, 並びに, 東京大学気候システム研究センターでは, 沼口敦氏が製作の中心となり agcm5 をベースとして気候シミュレーションモデル, CCSR/NIES モデルが作成された.

地球流体電脳倶楽部版 agcm5 は沼口氏によって提供された資源に, マニュアルの整備, インストール道具の整備, バグフィックスを行なったものである.

2002/006/20(地球流体電脳倶楽部)  /model/agcm/agcm5/doc/dai4bu/CREDITS.tex