#!/bin/bash
### run_Dust_Granule.bsh
### DUST  main script by granule
### run DUST by granule

dirpath=$(dirname $0)
. $dirpath/run_Dust_script.bsh


inc_A() {
# Increment A by 1
        A=`expr $A + 1`
}

inc_minute() {
# Increment minute by 5
        minute=`expr $minute + 5`
}

inc_hour() {
# Increment A by 1
        hour=`expr $hour + 1`
}

#local_dir="/home/oper/Dust/OSPO_Package_Dust_GRIB/scripts"


#. $local_dir/run_Dust_script.bsh
#. $local_dir/run_Dust_script.bsh

echo 'run_ADPv5_granule_dblue_ospo.bsh started at ' $(date)
YR=$1
jd=$2
month=$3
day=$4

if [ ! $YR ]
then

YR=(`(date -d '1 days ago' '+%Y')`)
jd=(`(date -d '1 days ago' '+%j')`)
month=(`(date -d '1 days ago' '+%m')`)
day=(`(date -d '1 days ago' '+%d')`)
fi

satid=(MYD)
skipftp=0
skipdo=0
skipgrib=0
skiphour=0
ospo=0

A=0
cd $local_dir
echo outdir1=$outdir1
echo pre_indir=$pre_indir
echo idldir=$idldir
echo bindir=$bindir

outdir2=${outdir1}${YR[A]}${month[A]}${day[A]}/
echo outdir2=$outdir2

mkdir $outdir2
#mkdir ${outdir1}RGB/

while [ $A -le 0 ]
do
  YJD=${YR[A]}${jd[A]}

hour=16
  while [ $hour -le 22 ]

  do
minute=0
    while [ $minute -le 55 ]
    do
      if test $minute -lt 10
      then
        granule=${hour}0$minute
      else
        granule=$hour$minute
      fi
      echo $granule


      if test $skipftp == 0
      then
        cd $indir
        echo $indir
        rm -fr *.hdf

       for MODNAME in 021KM 03 35_L2
        do
          hdfname=MOD$MODNAME.P${YR[A]}${jd[A]}.$granule.hdf
##          cp $pre_indir/$hdfname $indir/
          mv $pre_indir/$hdfname $indir/


        done
        cd $local_dir
      fi
#### check HDF file
###      for MODNAME in 021KM 03 35_L2
###      do
##        check_hdf_size.pl $MODNAME ${YR[A]} ${jd[A]} $granule
###      done

#### check if granule in USA area

        cd $dir
        rm -f out.txt

        infile=${indir}MOD03.P${YR[A]}${jd[A]}.$granule.hdf

	$bindir/isUSA.exe $infile > out.txt
      us=0
      nl=`wc -l out.txt`

      if [ ${nl:0:2} -lt 9 ]
        then
          echo MOD03 reading failed!
      else

        old_IFS=$IFS
        IFS=$'\n'
        lines=($(cat out.txt))
        IFS=$old_IFS
        us=`echo ${lines[9]}`
        echo 'us=' $us
      fi
### run create_SDR_ADP_v5_GranuleHDF_dblue_ospo.exe

      if [ $us == 1 ]
      then
      if test $skipdo == 0
       then
          cd $bindir
          echo current_dir=$bindir
          echo outdir2=$outdir2

          ./create_SDR_ADP_v5_GranuleHDF_dblue_ospo.exe
#          if test $ospo == 0
#          then
#            mv ${outdir}ABI_ADP_MASK_v5_deepblue.hdf ${outdir2}${satid}_ADP_A${YR[A]}${jd[A]}.${granule}_V6.3.4_mask_db.hdf
#          else
            mv ${outdir}ABI_ADP_MASK_v5_deepblue.hdf ${outdir2}${satid}_ADP_A${YR[A]}${jd[A]}.${granule}_v6.3.4_mask_db.hdf

#         fi
          cd $dir
        fi
        
         mv $indir/*hdf $pre_indir/
        
        if test $skipgrib == 0
            then
              cd $idldir
              echo current_dir=$dir

              rm -f idlcmd

              echo .r gen_MODISdust_V6.3.4_GRIB>'idlcmd'

              echo gen_MODISdust_V634_GRIB,\'${YR[A]}\',\'${jd[A]}\',\'$granule\', \'$satid\',plot_V56=1, plot_aod=1,ospo=$ospo  >>'idlcmd'
              echo retall>>'idlcmd'
              echo exit>>'idlcmd'
              echo cd>>'idlcmd'
  
#              /usr/local/rsi/idl706/bin/idl_setup.bash
#              /usr/local/bin/idl $idldir/idlcmd
              . /usr/local/itt/idl/bin/idl_setup.bash
              /usr/local/itt/idl/bin/idl idlcmd

              cd $dir
         fi
        fi
      inc_minute
      sleep 30s
      done
    inc_hour
    done
#   if [ $skiphour == 0 ]
#    then
      cd $idldir
      echo current_dir222=$idldir
      rm -f idlcmd1

      echo .r comb_MODISdust_V6.3.4_GRIB>'idlcmd1'

      echo comb_MODISdust_V634_GRIB,\'${YR[A]}\',\'${jd[A]}\', \'$satid\',plot_dust=1 >>'idlcmd1'
      echo retall>>'idlcmd1'
      echo exit>>'idlcmd1'
      echo cd>>'idlcmd1'

#      . /usr/local/rsi/idl706/bin/idl_setup.bash
#      /usr/local/bin/idl $idldir/idlcmd1
      . /usr/local/itt/idl/bin/idl_setup.bash
       /usr/local/itt/idl/bin/idl $idldir/idlcmd1

      #killall -9 Xvfb
      cd $dir
#  fi

  inc_A
done

