手順
ILSを用いた結合実験において必要な内挿テーブルは,使われるコンポーネントによって変わってきますが,デフォルトの設定で用いられるモデルであるMATSIROとCaMa-Flood (CMF),及びIO(入出力)の3つのコンポーネントを用いる場合は以下の6種類が必要になるかと思います.
(1) IO_bnd --> MATSIRO
(2) IO_met --> MATSIRO
(3) MATSIRO --> CMF
(4) MATSIRO --> IO_matout
(5) CMF --> IO_cmfout
IOはコンポーネントとしては1つなのですが,データの種類によって必要なテーブルが変わります.
MATSIROの境界条件データは流域形状格子として定義されたMATSIROと同一の格子系ですが,気象外力データは0.5度の緯度経度格子などで,境界条件データとは異なる格子系を持ちます.
デフォルトで用いられる格子系の種類は以下のとおりです.
MATSIRO: 流域形状格子
CMF: 流域形状格子(MATSIROと同形,ただし番号の割り振り方が異なる)
IO_bnd: 流域形状格子 (MATSIROと同形,ただし番号の割り振り方が異なる)
IO_met: 気象データの格子系
IO_matout: MATSIROの出力格子系.MATSIROのデータを2次元マップ上に並べたもの
IO_cmfout: CMFの出力格子系.CMFのデータを2次元マップ上に並べたもの
MATSIROで河道無し陸面を扱う場合,一部の内挿テーブルはそれぞれについて作成した後統合する必要があります(詳細は次項).
したがって作成の手順は以下の2つに段階に分かれます.
Step 1. 変換テーブルを作成する
Step 2. 統合が必要なテーブルを統合する
サンプルスクリプトを
${DIR_SPRING}/run/rt_ils_default/sample/script
に置きました.
ディレクトリ「sample」を同じディレクトリ内にコピーして使うのが良いかと思います.
exec_all.shを必要に応じて編集して実行してください.出力先は
${DIR_SPRING}/run/rt_ils_default/sample/out
となります.
「河道有り陸面」と「河道無し陸面」
MATSIROの陸面格子には「河道有り陸面(river)」と「河道無し陸面(noriv)」との2種類の陸面があります.
MATSIROはCMFとほぼ同じ格子系を持っています.CMFではモデル格子の解像度に応じて計算領域を矩形領域に分割し(0.5°×0.5°など),各領域を代表する単位集水域をひとつのモデル格子としています.しかしその集水域に含まれない小流域などは,河道の定義されない陸面となります.これが「河道無し陸面」です.逆に河川が定義される陸面は「河道有り陸面」と呼んでいます.
河道無し陸面はCMFでは計算対象ではありませんが,陸には違いないのでMATSIROでは扱う場合があります(ユーザーの目的によっては省略する場合もあります).これを扱う場合,内挿テーブルは河道有り陸面と河道無し陸面とについてそれぞれ作成し,最後に統合するという流れになります.
例えばMATSIRO格子系から出力格子系IO_matoutへの内挿テーブルを作成するには,まず MATSIRO_river --> IO_matout 及び MATSIRO_noriv --> IO_matout の内挿テーブルを作成し,そののちにこれらを統合して MATSIRO --> IO_matout とする,という工程になります.
河道無し陸面を扱わない場合は,単に MATSIRO_river --> IO_matout を作成すればよいです.
ここで注意が必要なのは,河道無し陸面の有無によってIO_matoutの定義が変わるということです.
CMFで矩形領域を代表する単位集水域を計算し,それが河道有り陸面格子となると述べました.ここで単位集水域に含まれなかった陸面も同じ矩形領域内に存在しているため,ひとつの2次元マップ上に河道有り陸面と河道無し陸面のモデル格子を重複なく配置することはできません.したがって河道有り陸面と河道無し陸面とは互いに異なるレイヤー上にあるものとして扱われます.
出力するときもこれらが重ならないよう別々のレイヤーに出力することになるので,MATSIROの格子数を(nx,ny)とすると,IO_matoutの格子数は(nx,ny,2)となります.ただし格子系の形状は2次元でしか定義できないので,(nx,ny*2)の形で扱います.