! Sample program for gtool_history/gtool5
!
program nc_i

  use gtool_history ! モジュール指定

  implicit none

  character(128)     :: InFileName               ! 入力ファイル名

  integer, parameter :: NLon   = 144             ! 経度格子点数
  integer, parameter :: NLat   =  73             ! 緯度格子点数
  integer, parameter :: NLevel =  17             ! 高度(圧力)格子点数
  integer, parameter :: NTime  = 365             ! 時間格子点数

  real(4)            :: x_Lon      (NLon  )             ! 経度配列
  real(4)            :: y_Lat      (NLat  )             ! 緯度配列
  real(4)            :: z_Level    (NLevel)             ! 高度(圧力)配列
  real(4)            :: t_Time     (NTime )             ! 時間配列
  real(4)            :: xyz_Temp   (NLon, NLat, NLevel) ! 温度配列

  integer            :: it
  integer            :: i
  integer            :: j
  integer            :: k

  character(64)      :: range


  InFileName  = "air.2019.nc"   ! 入力ファイル名の設定


  call HistoryGet(InFileName, 'lon'  , x_Lon  ) ! [入力] 経度を読む
  call HistoryGet(InFileName, 'lat'  , y_Lat  ) ! [入力] 緯度を読む
  call HistoryGet(InFileName, 'level', z_Level) ! [入力] 圧力を読む
  call HistoryGet(InFileName, 'time' , t_Time ) ! [入力] 時間を読む


  do it = 1, NTime
    write( 6, * ) it, t_Time(it)

    write( range, '(a,i5.5)' ) 'time=^', it  ! 出力用の時刻情報文字列の作成
    write( 6, * ) range

    ! [入力] it 番目のデータを読む
    call HistoryGet(InFileName, 'air', xyz_Temp, range = range)

    ! i=NLon/2, j=NLat/2, k=1 における温度の出力
    i = NLon/2
    j = NLat/2
    k = 1
    write( 6, * ) t_Time(it), x_Lon(i), y_Lat(j), z_Level(k), xyz_Temp(i,j,k)

  end do

  stop
end program nc_i
