Class | fileset |
In: |
setup/fileset.f90
|
引数に与えられた NAMELIST ファイルから, I/O ファイル名を取得し, 保管するための変数型モジュール
Subroutine : | |
cfgfile : | character(*), intent(in) |
NAMELIST からファイル名に付けるタグを得て, 出力ファイル名を作成する.
This procedure input/output NAMELIST#fileset .
subroutine fileset_init(cfgfile) ! !NAMELIST からファイル名に付けるタグを得て, 出力ファイル名を作成する. ! !モジュール読み込み use dc_message, only: MessageNotify !暗黙の型宣言禁止 implicit none !入力変数 character(*), intent(in) :: cfgfile integer :: s !ループ添字 !NAMELIST から情報を取得 NAMELIST /fileset/ InitFile, HistoryFilePrefix, ReStartFile, RandomFile, ExpTitle, ExpSrc , ExpInst open (10, FILE=cfgfile) read(10, NML=fileset) close(10) !ファイル名を格納する配列の割り付け ! 次元数は ! PotTemp, Exner, VelX, VelZ, MixRt(SpcNum), Km, Kh ! *BasicZ, *Zprof, SurfaceFlux(2010年12月追加), FallRain(2010年12月追加) ! の合計 10 + SpcNum ! FileNum = 8 + SpcNum FileNum = 10 + SpcNum allocate(HistoryFile(FileNum)) allocate(gt_hist(FileNum)) HistoryFile(1) = trim(HistoryFilePrefix)//"_Exner.nc" HistoryFile(2) = trim(HistoryFilePrefix)//"_PotTemp.nc" HistoryFile(3) = trim(HistoryFilePrefix)//"_VelX.nc" HistoryFile(4) = trim(HistoryFilePrefix)//"_VelZ.nc" HistoryFile(5) = trim(HistoryFilePrefix)//"_Km.nc" HistoryFile(6) = trim(HistoryFilePrefix)//"_Kh.nc" HistoryFile(7) = trim(HistoryFilePrefix)//"_BasicZ.nc" HistoryFile(8) = trim(HistoryFilePrefix)//"_Zprof.nc" !地表面フラックスの出力先のファイル名 HistoryFile(8+SpcNum+1) = trim(HistoryFilePrefix)//"_SurfaceFlux.nc" !雨水落下項の出力先のファイル名 HistoryFile(8+SpcNum+2) = trim(HistoryFilePrefix)//"_FallRain.nc" do s = 1, SpcNum HistoryFile(8+s) = trim(HistoryFilePrefix)//"_"//trim(SpcWetSymbol(s))//".nc" end do !確認 if (cpurank == 0) then !確認 call MessageNotify( "M", "fileset_init", "InitFile=%c", c1=trim(InitFile)) call MessageNotify( "M", "fileset_init", "HistoryFilePrefix=%c", c1=trim(HistoryFilePrefix) ) call MessageNotify( "M", "fileset_init", "ReStartFile=%c", c1=trim(ReStartFile) ) call MessageNotify( "M", "fileset_init", "RandomFile=%c", c1=trim(RandomFile) ) call MessageNotify( "M", "fileset_init", "ExpTitle=%c", c1=trim(ExpTitle) ) call MessageNotify( "M", "fileset_init", "ExpSrc=%c", c1=trim(ExpSrc) ) call MessageNotify( "M", "fileset_init", "ExpInst=%c", c1=trim(ExpInst) ) do s = 1, Filenum call MessageNotify( "M", "fileset_init", "HistoryFile=%c", c1=trim(HistoryFile(s)) ) end do end if end subroutine fileset_init