fgmax メモ

fg は fixed grid monitoring のこと.
Fixed grid monitoring - Clawpack 5 を参照.

fixed grid の中で,水位・流速等の最大値の空間分布の情報が fort.FGX.valuemax (Xには数が入る) のファイルに書き出される.

読み取りのカラムについては,GEOLIB の fgmax_finalize.f90 の format 文を参考に.

        do k=1,fg%npts
            do mv=1,FG_NUM_VAL
                if (abs(fg%valuemax(mv,k)) .lt. 1.d-90) then
                    fg%valuemax(mv,k) = 0.d0
                    endif
                enddo
            write(FG_UNIT,111) fg%x(k),fg%y(k), fg%levelmax(k), &
                  (fg%valuemax(mv,k), mv=1,FG_NUM_VAL), &
                  (fg%tmax(mv,k), mv=1,FG_NUM_VAL), fg%arrival_time(k)
 111        format(2e17.8,i4,21e17.8)
            enddo


fort.FGX.aux1 には,1, 2 列目は x, y, 3列目以降に各 AMR level レベルでの水深 (bathymetry) が入っている???
同じく GEOLIB の fgmax_finalize.f90 に,その出力形式が記述されている.

        do ma=1,FG_NUM_AUX
            cma = char(ichar('0') + ma)
            fname = 'fort.FG' // cfg // '.aux' // cma
            print *, 'Writing to file ', fname
            open(unit=FG_UNIT,file=trim(fname),status='unknown',form='formatted')

            do k=1,fg%npts
                write(FG_UNIT,112) fg%x(k),fg%y(k), &
                      (fg%aux(level,ma,k), level=1,mxnest)
 112            format(2e17.8,20e17.8)
                enddo

            close(FG_UNIT)
            enddo


chile2010 の topo ファイルを例に,fgmax を全体に定義し,fort.FG1.valuemax の AMElevel と fort.FG1.aux1 の 水深をそれぞれを書き出してみた.
解像度が細かい Level 3 の黒塗りの部分は,-0.99999000E+99 となっている.
右下の図の通り,Level 3 の水深が使われていないため,各セルで対応するレベルの水深を抽出しないといけない.

-120 -110 -100 -90 -80 -70 -60 -60 -50 -40 -30 -20 -10 0 Level 1 - 5000 - 4000 - 3000 - 2000 - 1000 0 1000 2000 3000 4000 5000 -120 -110 -100 -90 -80 -70 -60 -60 -50 -40 -30 -20 -10 0 Level 2 - 5000 - 4000 - 3000 - 2000 - 1000 0 1000 2000 3000 4000 5000 -120 -110 -100 -90 -80 -70 -60 -60 -50 -40 -30 -20 -10 0 Level 3 - 5000 - 4000 - 3000 - 2000 - 1000 0 1000 2000 3000 4000 5000 -120 -110 -100 -90 -80 -70 -60 -60 -50 -40 -30 -20 -10 0 AMRlevel 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00


fort.FG1.valuemax に吐き出される h は全水深のため,fort.FG1.aux1 で得る水深を使って h + bath をすると海面からの上昇量に変換できる.
初期潮位があるときはさらに補正が必要.

これらのファイルを読み取り図にしてみた.最大水位,最大流速とこれらが発生した時間を表している.

-120 -110 -100 -90 -80 -70 -60 -60 -50 -40 -30 -20 -10 0 h 0 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 (m) -120 -110 -100 -90 -80 -70 -60 -60 -50 -40 -30 -20 -10 0 v