next up previous
次へ: body forcingファイルの作成 上へ: 各種ファイルの編集の仕方および書き換え例 戻る: init/initial.par.Fの編集(初期条件ファイルの作成)

bound/bound.par.Fの編集(境界条件ファイルの作成)

簡単な境界条件ファイルを作成するためのプログラムがbound/bound.par.Fに用 意されています.まずはbound.par.Fの中身をみてみましょう.
    -- bound.par.F --
   
43   DO 100 J = 1, NYG
44       TSFC(J) = 2.5D1 * (1.0D0 - (DBLE(J-1) - 0.5D0) / DBLE(NYG-2))
46       TDMP(J) = 1.D0 / 3.D1 / 8.64D4
47       SSFC(J) = 3.5D1
48       SDMP(J) = 0.D0
49       TAUX(J) = 0.D0
50       TAUY(J) = 0.D0
51 100 CONTINUE
53   DO 200 J = 1, NYG
54       DO 200 I = 1, NXG
55           DIM2(I, J) = TSFC(J)
56 200 CONTINUE
57   CHEAD(3) = 'TSFC'
58   WRITE(NFTSFC) CHEAD
59   WRITE(NFTSFC) DIM2
61   DO 300 J = 1, NYG
62       DO 300 I = 1, NXG
63           DIM2(I, J) = TDMP(J)
64 300 CONTINUE
65   CHEAD(3) = 'TDMP'
66   WRITE(NFTDMP) CHEAD
67   WRITE(NFTDMP) DIM2
69   DO 400 J = 1, NYG
70       DO 400 I = 1, NXG
71           DIM2(I, J) = SSFC(J)
72 400 CONTINUE
73   CHEAD(3) = 'SSFC'
74   WRITE(NFSSFC) CHEAD
75   WRITE(NFSSFC) DIM2
77   DO 500 J = 1, NYG
78       DO 500 I = 1, NXG
79           DIM2(I, J) = SDMP(J)
80 500 CONTINUE
81   CHEAD(3) = 'SDMP'
82   WRITE(NFSDMP) CHEAD
83   WRITE(NFSDMP) DIM2
85   DO 600 J = 1, NYG
86       DO 600 I = 1, NXG
87           DIM2(I, J) = TAUX(J)
88 600 CONTINUE
89   CHEAD(3) = 'TAUX'
90   WRITE(NFTAUX) CHEAD
91   WRITE(NFTAUX) DIM2
93   DO 700 J = 1, NYG
94       DO 700 I = 1, NXG
95           DIM2(I, J) = TAUY(J)
96 700 CONTINUE
97   CHEAD(3) = 'TAUY'
98   WRITE(NFTAUY) CHEAD
99   WRITE(NFTAUY) DIM2
上のプログラムにおいてTSFC(44行目)が温度,TDMP(46行目)が温度の restoringにおける係数,SSFC(47行目)が塩分,SDMP(48行目)が塩分の restoringにおける係数,TAUX(49行目)・TAUY(50行目)がそれぞれ風応 力の東西方向成分・南北方向成分の境界条件値に対応しています. 53行目〜56行目で配列DIM2に東西一様の温度の境界条件を作成しており, 59行目のWRITE文で書き出しています. 以下,同様の作業を温度のrestoringにおける係数,塩分, 塩分のrestoringにおける係数,風応力の東西方向成分・南北方向成分の 順番で行っています.つまりCOCOにおける境界条件ファイルの形式は, 上から温度,温度のrestoringにおける係数,塩分,塩分の restoringにおける係数,風応力の東西方向成分・南北方向成分が書かれている 形式となっていることがわかります.

例として,境界条件に温度・塩分にLevitusの気候値,風応力にNCEP/NCARの再解 析データ(//lanian/E:/datagrid/NN_reanl/original/mth_npl.orgから取得して ください.また解像度を変更するプログラムmkbound.mを //lanina/E:/d/coco3.3/programに置いておきます)を与え, 1ヶ月のタイムスケールで緩和する境界条件を作成するプログ ラムを//lanina/E:/coco3.3/programにbound.par.Fという名前で置いておきます. 考え方は初期条件ファイルの作成と同じなので,プログラムの中身を 自分なりに解釈して,境界条件ファイルを作成する際に参考にしてください.

bound.par.Fのプログラムを実行するためには, まずbound/Sysdep.hi-uxの1行目を

FC = f90

と書き換え,bound/Makefileの12行目を

bound$\&$(PARALLEL) $\&$(RUNOPT)

と書き換えて,ディレクトリbound/で

make

とコマンドします.そうすると

TSFC 海面温度
TDMP 海面温度のrestoringにおける係数
SSFC 海面塩分
SDMP 海面塩分のrestoringにおける係数
TAUX 風応力の東西方向成分
TAUY 風応力の南北方向成分
    
というファイルが作成されます.ただし,北大大型計算機センターのwineでこれ を行うと,ftn31,ftn32,ftn33,ftn34,ftn35,ftn36(ファイルの中身は 順にTSFC,TDMP,SSFC,SDMP,TAUX,TAUYと同じである)という名前で作成され ます.適宜名前を変更してください.
next up previous
次へ: body forcingファイルの作成 上へ: 各種ファイルの編集の仕方および書き換え例 戻る: init/initial.par.Fの編集(初期条件ファイルの作成)
Yoshifumi Watanabe 平成15年3月30日