I conducted the following modifications based on the source code of IsoGSM (Yoshimura et al., 2008).
A map file of the vapor source regions is available (option MLTWVT).
Multiple water vapor tracers can be used simultaneously (option MLTWVT).
The isotopic ratio of water vapor tracers can also be calculated (option ISOWVT).
These modifications can be used only in IsoGSM, I have not tested for IsoRSM.
Yoshimura et al. (2008)のコードをもとに、下記の改造をおこなったもの。
色水を実行する際に指定する領域は、これまでハードコーディングで指定する必要があったが、それを色水マップファイルで利用できるようにした(オプションMLTWVT)。
従来は2つまでしか色水トレーサーを扱えなかったが、同時に複数のトレーサーを扱えるようにした(オプションMLTWVT)。
従来は色水の「量」しか計算できなかったが、色水の「同位体比」も計算できるようにした(オプションISOWVT)。
Edit ${IsoGSM}/def/model_config/misc.h.
${IsoGSM}/def/model_config/misc.h を編集する。
#define ISOTOPE /* enable isotope prediction (RAS is needed)*/
#define NOFRAC /* vapor tracer mode (ISOTOPE is needed) */
#define MLTWVT
#undef ISOWVT
Edit ${IsoGSM}/def/model_config/misc.h. Set the number of water vapor tracers to the variable "__nsurc_." A large "_surc_" likely causes the array infringement.
${IsoGSM}/def/model_config/depend.hを編集する。利用したい水蒸気トレーサーの数を指定する。下記の場合は【8個】。利用できる最大のトレーサー数は、マシンのメモリと関係する。(エラーを出さずに配列侵害を出す場合もあるので、取り扱いは慎重に。)
#define _nsurc_ 8
Executed "configure" and then "make" in your gsm directory.
gsmとgsm_runsのconfigureとmakeを行う。
If you want the vapor source region map to change daily or 6-hourly, edit gsmini.F and gsmstep.F as the following.
動的な色水マップ(水蒸気蒸発起源域を時間変化させる場合)を利用した場合、下記の編集を行う。
Comment out ${IsoGSM}/gsm/src/fcst/gsmini.F from L427-L444.
Comment in ${IsoGSM}/gsm/src/fcst/gsmstep.F from L399-L418.
After editing is completed, configure and make gsm and gsm_runs.
${IsoGSM}/gsm/src/fcst/gsmini.F のL427-L444までをコメントアウト。
${IsoGSM}/gsm/src/fcst/gsmstep.F のL399-L418をコメントイン。
編集完了後、gsmとgsm_runsのconfigureとmakeを行う。
A binary map file is assumed to be a single-precision big-endian binary file in a 360 x 180 array (1 degree x 1 degree). The file name should be "surface" for fixed vapor source regions. The file should be placed under EXPDIR. If you want to use the dynamic vapor source region, name the file "vsr.ftXX" (where XX is 00, 06, 12, 18, ... 120, ... . 8640). Place these files under EXPDIR.
バイナリマップファイルは、360 x 180 格子(1度x1度)、単精度ビッグエンディアン形式を想定しています。ファイル名は、色水領域を固定する場合は"surface"という名前にする。ファイルはEXPDIRの下に配置する。色水マップを日々変化させたいあ場合は、"vsr.ftXX" という名前にする(XXは00, 06, 12, 18, ... 120, .., 8640)。これらファイルはEXPDIRの下に配置する。
I have prepared a sample data and grads ctl file as the following directory.
サンプルとして、下記に色水領域を固定した場合のサンプルデータを用意している。
${IsoGSM}/gsm_runs/source.bin
${IsoGSM}/gsm_runs/source.ctl
(補足):色水マップファイルのサイズを変更する場合、gmsini, gsmstep, comfiso.hにある"surface"変数を修正する。
Execute gsm. The output is named EXPDIR/cmaflx.ftXX, cmapgb.ftXX. These files are output in binary format and are readable by grads.
gsmを実行する。出力は、EXPDIR/cmaflx.ftXX, cmapgb.ftXXという名前で出力される。
これらファイルはバイナリ形式で出力されており、gradsで読める形式となっている。
ctlファイルサンプルを下記におく。
${IsoGSM}/gsm_runs/cmaflx.MLTWVT.ctl
${IsoGSM}/gsm_runs/cmapgb.MLTWVT.ctl
Edit ${IsoGSM}/def/model_config/misc.h.
${IsoGSM}/def/model_config/misc.h を編集する。下記のように修正する。
#define ISOTOPE /* enable isotope prediction (RAS is needed)*/
#undef NOFRAC /* vapor tracer mode (ISOTOPE is needed) */
#define MLTWVT
#defint ISOWVT
Edit ${IsoGSM}/def/model_config/misc.h. Set the number of water vapor tracers to the variable "__nsurc_." A large "_surc_" likely causes the array infringement.
利用したい水蒸気トレーサーの数に合わせて、${IsoGSM}/def/model_config/depend.hを編集する(_nsrc_)。
If you want the vapor source region map to change daily or 6-hourly, edit gsmini.F and gsmstep.F as the following.
動的な色水マップ(水蒸気蒸発起源域を時間変化させる場合)を利用した場合、下記の編集を行う。
Comment out ${IsoGSM}/gsm/src/fcst/gsmini.F from L427-L444.
Comment in ${IsoGSM}/gsm/src/fcst/gsmstep.F from L399-L418.
After editing is completed, configure and make gsm and gsm_runs.
${IsoGSM}/gsm/src/fcst/gsmini.F のL427-L444までをコメントアウト。
${IsoGSM}/gsm/src/fcst/gsmstep.F のL399-L418をコメントイン。
編集完了後、gsmとgsm_runsのconfigureとmakeを行う。
Execute gsm. The output is named EXPDIR/cmaflx.ftXX, cmapgb.ftXX. These files are output in binary format and are readable by grads.
gsmを実行する。出力は、EXPDIR/cmaflx.ftXX, cmapgb.ftXXという名前で出力される。
これらファイルはバイナリ形式で出力されており、gradsで読める形式となっている。
ctlファイルサンプルを下記におく。
${IsoGSM}/gsm_runs/cmaflx.ISOWVT.ctl
${IsoGSM}/gsm_runs/cmapgb.ISOWVT.ctl