擾乱場の初期値を作成するプログラム distrb の初期値を設定する.
エラー処理に gf4f90io を利用
変数定義real(8) :: CpDry !比熱 real(8) :: MolWtDry !分子量 character(80) :: ExnerDistrbType !無次元圧力の擾乱 (DistrbType.f90 参照) real(8) :: ExnerSigmaX !擾乱の幅 (X 方向) real(8) :: ExnerSigmaZ !擾乱の幅 (Z 方向) real(8) :: ExnerMax !擾乱の最大値 real(8) :: ExnerCenterX !擾乱の中心 (X 方向) real(8) :: ExnerCenterZ !擾乱の中心 (X 方向) character(80) :: PotTempDistrbType !温位の擾乱 (DistrbType.f90 参照) real(8) :: PotTempSigmaX !擾乱の幅 (X 方向) real(8) :: PotTempSigmaZ !擾乱の幅 (X 方向) real(8) :: PotTempMax !擾乱の最大値 real(8) :: PotTempCenterX !擾乱の中心 (X 方向) real(8) :: PotTempCenterZ !擾乱の中心 (X 方向) character(80) :: VelDistrbType !速度の擾乱 (DistrbType.f90 参照) real(8) :: VelX !速度 u real(8) :: VelZ !速度 w character(80) :: distrbfile !出力ファイル名
NAMELIST から擾乱場の初期値生成プログラム distrb の設定を読み取る.
subroutine distrbprm_init(cfgfile)
character(*), intent(in) :: cfgfile
NAMELIST /distrbprm/ &
     & distrbfile, CpDry, MolWtDry, &
     & ExnerDistrbType, ExnerMax, ExnerSigmaX, ExnerSigmaZ, &
     &                  ExnerCenterX, ExnerCenterZ, &
     & PotTempDistrbType, PotTempMax, PotTempSigmaX, PotTempSigmaZ, &
     &                  PotTempCenterX, PotTempCenterZ, &
     & VelDistrbType, VelX, VelZ
open (10, FILE=cfgfile)
read(10, NML=distrbprm)
close(10)