| Class | time_mod |
| In: |
src/shared/time/time.f90
|
((< nmlfile_init >)) で指定されることが想定されているが、 もしもこの初期化ルーチンより以前に指定されていなければ、 ((< nmlfile_init >)) のデフォルトで指定される NAMELIST ファイルを 読む。
subroutine time_init
!==== Dependency
!=end
implicit none
!=begin
!
!==== NAMELIST
!
!InitTime に与えられた数値に DelTime を加えた値が、
!CurrentTime に代入される。
!
namelist /time_nml/ InitTime , DelTime , StepInterval , OutputStep , tvar , ttype , tname , tunit ! 時刻の単位
!=end
!----- 作業用内部変数 -----
integer(INTKIND) :: nmlstat, nmlunit
logical :: nmlreadable
character(STRING), parameter:: subname = "time_init"
continue
!----------------------------------------------------------------
! Check Initialization
!----------------------------------------------------------------
call BeginSub(subname)
if (time_initialized) then
call EndSub( subname, '%c is already called', c1=trim(subname) )
return
else
time_initialized = .true.
endif
!----------------------------------------------------------------
! Version identifier
!----------------------------------------------------------------
call DbgMessage('%c :: %c', c1=trim(version), c2=trim(tagname))
!----------------------------------------------------------------
! read time_nml
!----------------------------------------------------------------
call nmlfile_init
call nmlfile_open(nmlunit, nmlreadable)
if (nmlreadable) then
read(nmlunit, nml=time_nml, iostat=nmlstat)
call DbgMessage('Stat of NAMELIST time_nml Input is <%d>', i=(/nmlstat/))
write(0, nml=time_nml)
else
call DbgMessage('Not Read NAMELIST time_nml')
call MessageNotify('W', subname, 'Can not Read NAMELIST time_nml. Force Use Default Value.')
end if
call nmlfile_close
!----------------------------------------------------------------
! Set CurrentTime
!----------------------------------------------------------------
CurrentTime = InitTime + DelTime
call EndSub(subname)
end subroutine time_init