| Subroutine  : |  | 
| disturbfile      : | character(*), intent(in) | 
| ReStartTime(2)      : | real(8), intent(out) | 
| pz_VelX_b(DimXMin:DimXMax, DimZMin:DimZMax)      : | real(8), intent(out) | 
| xr_VelZ_b(DimXMin:DimXMax, DimZMin:DimZMax)      : | real(8), intent(out) | 
| xz_Exner_b(DimXMin:DimXMax, DimZMin:DimZMax)      : | real(8), intent(out) | 
| xz_PotTemp_b(DimXMin:DimXMax, DimZMin:DimZMax)      : | real(8), intent(out) | 
| xz_Km_b(DimXMin:DimXMax, DimZMin:DimZMax)      : | real(8), intent(out) | 
| xz_Kh_b(DimXMin:DimXMax, DimZMin:DimZMax)      : | real(8), intent(out) | 
| xza_MixRtV_b(DimXMin:DimXMax, DimZMin:DimZMax,SpcNum)      : | real(8), intent(out) | 
| xza_MixRtC_b(DimXMin:DimXMax, DimZMin:DimZMax,SpcNum)      : | real(8), intent(out) | 
| xza_MixRtR_b(DimXMin:DimXMax, DimZMin:DimZMax,SpcNum)      : | real(8), intent(out) | 
| pz_VelX_n(DimXMin:DimXMax, DimZMin:DimZMax)      : | real(8), intent(out) | 
| xr_VelZ_n(DimXMin:DimXMax, DimZMin:DimZMax)      : | real(8), intent(out) | 
| xz_Exner_n(DimXMin:DimXMax, DimZMin:DimZMax)      : | real(8), intent(out) | 
| xz_PotTemp_n(DimXMin:DimXMax, DimZMin:DimZMax)      : | real(8), intent(out) | 
| xz_Km_n(DimXMin:DimXMax, DimZMin:DimZMax)      : | real(8), intent(out) | 
| xz_Kh_n(DimXMin:DimXMax, DimZMin:DimZMax)      : | real(8), intent(out) | 
| xza_MixRtV_n(DimXMin:DimXMax, DimZMin:DimZMax,SpcNum)      : | real(8), intent(out) | 
| xza_MixRtC_n(DimXMin:DimXMax, DimZMin:DimZMax,SpcNum)      : | real(8), intent(out) | 
| xza_MixRtR_n(DimXMin:DimXMax, DimZMin:DimZMax,SpcNum)      : | real(8), intent(out) | 
擾乱場の初期値を netCDF ファイルから取得する.
          
subroutine GetDisturbVar(disturbfile, ReStartTime, pz_VelX_b,    xr_VelZ_b, xz_Exner_b, xz_PotTemp_b, xz_Km_b,   xz_Kh_b, xza_MixRtV_b, xza_MixRtC_b, xza_MixRtR_b, pz_VelX_n,    xr_VelZ_n, xz_Exner_n, xz_PotTemp_n, xz_Km_n,   xz_Kh_n, xza_MixRtV_n, xza_MixRtC_n, xza_MixRtR_n )
  !
  !擾乱場の初期値を netCDF ファイルから取得する. 
  !
  ! Dependency
  use gtool_history
  use fileset, only: InitFile
  use dc_trace,   only: BeginSub, EndSub
  use dc_message ,only: MessageNotify
  use timeset,    only: DelTimeLong
  use gridset,    only: DimXMin, DimXMax, DimZMin, DimZMax, SpcNum
  !暗黙の型宣言禁止
  implicit none
  ! Input 
  character(*), intent(in)  :: disturbfile  !擾乱場のファイル
  ! Output
  real(8), intent(out)  :: ReStartTime(2)
  real(8), intent(out)  :: pz_VelX_n(DimXMin:DimXMax, DimZMin:DimZMax)
  real(8), intent(out)  :: pz_VelX_b(DimXMin:DimXMax, DimZMin:DimZMax)
  real(8), intent(out)  :: xr_VelZ_n(DimXMin:DimXMax, DimZMin:DimZMax)
  real(8), intent(out)  :: xr_VelZ_b(DimXMin:DimXMax, DimZMin:DimZMax)
  real(8), intent(out)  :: xz_Exner_n(DimXMin:DimXMax, DimZMin:DimZMax)
  real(8), intent(out)  :: xz_Exner_b(DimXMin:DimXMax, DimZMin:DimZMax)
  real(8), intent(out)  :: xz_PotTemp_n(DimXMin:DimXMax, DimZMin:DimZMax)
  real(8), intent(out)  :: xz_PotTemp_b(DimXMin:DimXMax, DimZMin:DimZMax)
  real(8), intent(out)  :: xz_Km_n(DimXMin:DimXMax, DimZMin:DimZMax)
  real(8), intent(out)  :: xz_Km_b(DimXMin:DimXMax, DimZMin:DimZMax)
  real(8), intent(out)  :: xz_Kh_n(DimXMin:DimXMax, DimZMin:DimZMax)
  real(8), intent(out)  :: xz_Kh_b(DimXMin:DimXMax, DimZMin:DimZMax)
  real(8), intent(out)  :: xza_MixRtV_n(DimXMin:DimXMax, DimZMin:DimZMax,SpcNum)
  real(8), intent(out)  :: xza_MixRtV_b(DimXMin:DimXMax, DimZMin:DimZMax,SpcNum)
  real(8), intent(out)  :: xza_MixRtC_n(DimXMin:DimXMax, DimZMin:DimZMax,SpcNum)
  real(8), intent(out)  :: xza_MixRtC_b(DimXMin:DimXMax, DimZMin:DimZMax,SpcNum)
  real(8), intent(out)  :: xza_MixRtR_n(DimXMin:DimXMax, DimZMin:DimZMax,SpcNum)
  real(8), intent(out)  :: xza_MixRtR_b(DimXMin:DimXMax, DimZMin:DimZMax,SpcNum)
  ! Work
  real           :: DelTime
  character(30)  :: name            !変数名
  
  call BeginSub("GetDisturbVar", fmt="%c", c1="Input initial disturbance variables.")
  write(*,*) InitFile
  ! Get a Value from netCDF File
!  name = "t"
!  call HistoryGet( InitFile, name, Time )
  ReStartTime = (/ 0.0d0 , 2.0d0 /)
  !時間刻みのチェック
  DelTime = ReStartTime(2) - ReStartTime(1)
!  if ( DelTime /= real(DelTimeLong, 4) ) then 
!    write(*,*) DelTime, DelTimeLong
!    call MessageNotify("Error", "getdistrbvar", &
!      &    "DelTime for ReStartFile is not the same as DelTimeLong")
!    stop
!  end if
  
  ! Get a Value from netCDF File 
  name = "VelX_n"
  call HistoryGet( InitFile, name, pz_VelX_n )
  
  name = "VelX_b"
  call HistoryGet( InitFile, name, pz_VelX_b )
  
  name = "VelZ_n"
  call HistoryGet( InitFile, name, xr_VelZ_n )
  
  name = "VelZ_b"
  call HistoryGet( InitFile, name, xr_VelZ_b )
  
  name = "Exner_n"
  call HistoryGet( InitFile, name, xz_Exner_n )
  
  name = "Exner_b"
  call HistoryGet( InitFile, name, xz_Exner_b )
  
  name = "PotTemp_n"
  call HistoryGet( InitFile, name, xz_PotTemp_n )
  
  name = "PotTemp_b"
  call HistoryGet( InitFile, name, xz_PotTemp_b )
  name = "Km_n"
  call HistoryGet( InitFile, name, xz_Km_n )
  
  name = "Km_b"
  call HistoryGet( InitFile, name, xz_Km_b )
  
  name = "Kh_n"
  call HistoryGet( InitFile, name, xz_Kh_n )
  
  name = "Kh_b"
  call HistoryGet( InitFile, name, xz_Kh_b )
  
  name = "MixRtV_n"
  call HistoryGet( InitFile, name, xza_MixRtV_n(:,:,1) )
  
  name = "MixRtV_b"
  call HistoryGet( InitFile, name, xza_MixRtV_b(:,:,1) )
  
  name = "MixRtC_n"
  call HistoryGet( InitFile, name, xza_MixRtC_n(:,:,1) )
  
  name = "MixRtC_b"
  call HistoryGet( InitFile, name, xza_MixRtC_b(:,:,1) )
  
  name = "MixRtR_n"
  call HistoryGet( InitFile, name, xza_MixRtR_n(:,:,1) )
  
  name = "MixRtR_b"
  call HistoryGet( InitFile, name, xza_MixRtR_b(:,:,1) )
  
  call EndSub("GetDisturbVar")
  
end subroutine GetDisturbVar