!---------------------------------------------------------------------
!  Fortran program to extract regional HIMAWARI Tbb data (by Kawashima)
!  元となる各時刻のTbbデータ[配列：IM x JM = 6000 x 6000] から、
!  i=is～ie, j=js～jeの範囲を抜き出して、 一つの時系列ファイル
!  [配列の大きさ (ie-is+1) x (je-js+1) x LM)]  に出力する
!-------------------------------------------------------------------
      PARAMETER (IM=6000,JM=6000,LM=96)  
      CHARACTER filename_in*100
      REAL TBB(IM,JM)
      REAL TBBR(IM,JM)


      is=1500    ! lon=114.99E
      ie=3251    ! lon=150.01E
      js=4250    ! lat=24.99N
      je=5751    ! lat=55.05N

! open input data file name (YYYYMMDDHHMM_TIR_01.dat)
! 入力データ名のリストを開く
      open (10,file='filename_in.txt',status='old')


      irecout=0
! 出力データを開く
       open (40,file='tbb_combined.dat',
     *      form='unformatted',access='direct',recl=ie-is+1)

      do 1000 L=1,LM    ! 時間のループ

      irecin=0

      write (6,*)'L=', L

! 入力データ名の読み出し
      read (10,'(a)') filename_in

! 入力データ名を画面上に書き出す
      write(6,*) filename_in

! 上で読み出した名前の入力データを開く
       open (30,file=filename_in,convert="little_endian",
     *          form='unformatted',access='direct',recl=im)

! 入力データの読込み
      do 100 j=1,jm
      irecin=irecin+1   
      read(30,rec=irecin)  (TBB(i,j),i=1,im)
 100  continue

!  元のHIMAWARIデータはy方向の並びが高緯度->低緯度となっているので、
!  低緯度->高緯度の並びにする

      do 200 J=1,JM
      do 200 I=1,IM
      TBBR(I,J)=TBB(I,JM+1-J)
 200  CONTINUE

!**** 東西方向 i=is～ie, 南北方向j=js～jeについて、データを1つのファイルに出力する

      do 300 j=js,je
      irecout=irecout+1
 300  write(40,rec=irecout)  (TBBR(i,j),i=is,ie)

 1000 continue     


      stop
      end 
