#!/bin/csh -f

set echo

set BINDIR = /sausage/hclin/bin

set CSHDIR = /sausage/hclin/scripts

set SRCDIR = /sausage/hclin/code/decode_l2_airs_new

set WKDIR  = /sausage/hclin/wk/airs_proc

set TARDIR = /sausage/hclin/data/AIRX2RET

set DATDIR = /sausage/hclin/data/airs_hdf

set OUTDIR = /sausage/hclin/data/airs_r


if ( ${#argv} == 2 ) then

  set STARTtime = $1

  set ENDtime  = $2

else

  echo 'Usage: $0 start_ccyymmddhh end_ccyymmddhh'

  exit

endif

#set STARTtime = 2006090100

#set ENDtime   = 2006090618

set DATAtime  = ${STARTtime}

set DATAintv  = 03


if ( ! -d ${WKDIR} ) mkdir -p ${WKDIR}

if ( ! -d ${DATDIR} ) mkdir -p ${DATDIR}

if ( ! -d ${OUTDIR} ) mkdir -p ${OUTDIR}


while ( ${DATAtime} <= ${ENDtime} )



  cd ${DATDIR}

  tar zxvf ${TARDIR}/AIRX2RET_${DATAtime}.tar.gz .

  cd ${WKDIR}

  set OUTFILE1 = airx2ret_${DATAtime}.r

  set OUTFILE2 = airx2ret_polarday_${DATAtime}.r

  if ( -e ${OUTDIR}/${OUTFILE1} ) rm -f ${OUTDIR}/${OUTFILE1}

  if ( -e ${OUTDIR}/${OUTFILE2} ) rm -f ${OUTDIR}/${OUTFILE2}

  touch ${OUTDIR}/${OUTFILE1}

  touch ${OUTDIR}/${OUTFILE2}

#

  cd ${DATDIR}

  set airs_files = `ls AIRS*.hdf`

#

  cd ${WKDIR}


  foreach fname ( ${airs_files} )


     rm -f soundings.little_r

     set echo

     ${SRCDIR}/decode_airs.exe ${DATDIR}/${fname} >&! ${fname}.log

     cat soundings.little_r >> ${OUTDIR}/${OUTFILE1}

     cat soundings_polarday.little_r >> ${OUTDIR}/${OUTFILE2}

     unset echo


  end # end of file loop

#


  gzip ${OUTDIR}/${OUTFILE1}

  gzip ${OUTDIR}/${OUTFILE2}

  rm -f ${DATDIR}/*.hdf


  set DATAtime = `${BINDIR}/da_advance_time.exe ${DATAtime} ${DATAintv}`


end  # end of date loop

#!/bin/csh -f

#

# Hui-Chuan Lin,  November 2007

# script to download AIRS Retrieval data from NASA ftp site

#

# vi ${HOME}/.netrc (chomd 600 ${HOME}/.netrc)

# add the following line in .netrc

# machine g0dps01u.ecs.nasa.gov login anonymous password "hclin@ucar.edu"

#

# utilities required: da_advance_time.exe

#                     wget

# set BINDIR (where da_advance_time.exe is)

# set DATDIR (where your data will go)

#

#set echo

if ( ${#argv} == 2 ) then

  setenv STARTtime   $1

  setenv ENDtime     $2

else

  echo "Usage: $0 ccyymmddhh ccyymmddhh"

  exit

endif


set DATAintv = 3h

set Time_Window = 1h30m

set DATA_type=AIRX2RET

#set URL_prefix=ftp://airspar1u.ecs.nasa.gov/ftp/data/s4pa/Aqua_AIRS_Level2/AIRX2RET.005/2007/227/

set URL_prefix=ftp://airspar1u.ecs.nasa.gov/ftp/data/s4pa/Aqua_AIRS_Level2/AIRX2RET.005


setenv BINDIR  /sausage/hclin/bin

setenv DATDIR  /sausage/hclin/data/${DATA_type}


if ( ! -d ${DATDIR} ) mkdir -p ${DATDIR}

cd ${DATDIR}


set DATAtime = $STARTtime

while ( ${DATAtime} <= ${ENDtime} )

  #

  # set up a bunch of date info

  #

  set DATAtime   = `${BINDIR}/da_advance_time.exe ${DATAtime} 0 -w`

  set DATAtime_s = `${BINDIR}/da_advance_time.exe ${DATAtime} -${Time_Window} -w`

  set DATAtime_e = `${BINDIR}/da_advance_time.exe ${DATAtime} +${Time_Window} -w`

  set ccyy   = `echo ${DATAtime} | cut -c1-4`

  set   mm   = `echo ${DATAtime} | cut -c6-7`

  set   dd   = `echo ${DATAtime} | cut -c9-10`

  set   hh   = `echo ${DATAtime} | cut -c12-13`

  set   mi   = `echo ${DATAtime} | cut -c15-16`

  set ccyy_s = `echo ${DATAtime_s} | cut -c1-4`

  set   mm_s = `echo ${DATAtime_s} | cut -c6-7`

  set   dd_s = `echo ${DATAtime_s} | cut -c9-10`

  set   hh_s = `echo ${DATAtime_s} | cut -c12-13`

  set   mi_s = `echo ${DATAtime_s} | cut -c15-16`

  set ccyy_e = `echo ${DATAtime_e} | cut -c1-4`

  set   mm_e = `echo ${DATAtime_e} | cut -c6-7`

  set   dd_e = `echo ${DATAtime_e} | cut -c9-10`

  set   hh_e = `echo ${DATAtime_e} | cut -c12-13`

  set   mi_e = `echo ${DATAtime_e} | cut -c15-16`

  set julian_day   = `${BINDIR}/da_advance_time.exe ${ccyy}${mm}${dd} 0 -j | awk '{print $2}'`

  set julian_day_s = `${BINDIR}/da_advance_time.exe ${ccyy_s}${mm_s}${dd_s} 0 -j | awk '{print $2}'`

  set julian_day_e = `${BINDIR}/da_advance_time.exe ${ccyy_e}${mm_e}${dd_e} 0 -j | awk '{print $2}'`

  #

  # first, get the index.html which contains a list of file names available 

  # in that directory

  #

  wget ${URL_prefix}/${ccyy}/${julian_day}/

  #mv .listing index.html

  set Prf_files = `grep xml index.html | cut -c128-182`

  rm index.html

  #

  # get the specific files according to the time

  #

  foreach fname ( ${Prf_files} )


     wget ${URL_prefix}/${ccyy}/${julian_day}/${fname}.xml

     set fccyy_s = `grep RangeBeginningDate ${fname}.xml | cut -c25-28`

     set fmm_s   = `grep RangeBeginningDate ${fname}.xml | cut -c30-31`

     set fdd_s   = `grep RangeBeginningDate ${fname}.xml | cut -c33-34`

     set fhh_s   = `grep RangeBeginningTime ${fname}.xml | cut -c25-26`

     set fmi_s   = `grep RangeBeginningTime ${fname}.xml | cut -c28-29`

     set fccyy_e = `grep RangeEndingDate ${fname}.xml | cut -c22-25`

     set fmm_e   = `grep RangeEndingDate ${fname}.xml | cut -c27-28`

     set fdd_e   = `grep RangeEndingDate ${fname}.xml | cut -c30-31`

     set fhh_e   = `grep RangeEndingTime ${fname}.xml | cut -c22-23`

     set fmi_e   = `grep RangeEndingTime ${fname}.xml | cut -c25-26`


     if ( ${fccyy_s}${fmm_s}${fdd_s}${fhh_s}${fmi_s} >= `${BINDIR}/da_advance_time.exe ${DATAtime_s} 0` &&   \

          ${fccyy_s}${fmm_s}${fdd_s}${fhh_s}${fmi_s} <= `${BINDIR}/da_advance_time.exe ${DATAtime_e} 0`    ) then

        wget ${URL_prefix}/${ccyy}/${julian_day}/${fname}

     endif


     rm ${fname}.xml

  end

  #

  # deal with the cross-day situation

  #

  if ( ${julian_day_s} != ${julian_day} ) then

     wget ${URL_prefix}/${ccyy_s}/${julian_day_s}/

     set Prf_files = `grep xml index.html | cut -c128-182`

     rm index.html

     foreach fname ( ${Prf_files} )


        wget ${URL_prefix}/${ccyy_s}/${julian_day_s}/${fname}.xml 

        set fccyy_s = `grep RangeBeginningDate ${fname}.xml | cut -c25-28`

        set fmm_s   = `grep RangeBeginningDate ${fname}.xml | cut -c30-31`

        set fdd_s   = `grep RangeBeginningDate ${fname}.xml | cut -c33-34`

        set fhh_s   = `grep RangeBeginningTime ${fname}.xml | cut -c25-26`

        set fmi_s   = `grep RangeBeginningTime ${fname}.xml | cut -c28-29`

        set fccyy_e = `grep RangeEndingDate ${fname}.xml | cut -c22-25`

        set fmm_e   = `grep RangeEndingDate ${fname}.xml | cut -c27-28`

        set fdd_e   = `grep RangeEndingDate ${fname}.xml | cut -c30-31`

        set fhh_e   = `grep RangeEndingTime ${fname}.xml | cut -c22-23`

        set fmi_e   = `grep RangeEndingTime ${fname}.xml | cut -c25-26`


        if ( ${fccyy_e}${fmm_e}${fdd_e}${fhh_e}${fmi_e} >= `${BINDIR}/da_advance_time.exe ${DATAtime_s} 0` &&   \

             ${fccyy_e}${fmm_e}${fdd_e}${fhh_e}${fmi_e} <= `${BINDIR}/da_advance_time.exe ${DATAtime_e} 0`    ) then

           wget ${URL_prefix}/${ccyy_s}/${julian_day_s}/${fname}

        endif


        rm ${fname}.xml


     end

  endif


  if ( ${julian_day_e} != ${julian_day} ) then

     wget ${URL_prefix}/${ccyy_e}/${julian_day_e}/

     set Prf_files = `grep xml index.html | cut -c128-182`

     rm index.html

     foreach fname ( ${Prf_files} )


        wget ${URL_prefix}/${ccyy_e}/${julian_day_e}/${fname}.xml 

        set fccyy_s = `grep RangeBeginningDate ${fname}.xml | cut -c25-28`

        set fmm_s   = `grep RangeBeginningDate ${fname}.xml | cut -c30-31`

        set fdd_s   = `grep RangeBeginningDate ${fname}.xml | cut -c33-34`

        set fhh_s   = `grep RangeBeginningTime ${fname}.xml | cut -c25-26`

        set fmi_s   = `grep RangeBeginningTime ${fname}.xml | cut -c28-29`

        set fccyy_e = `grep RangeEndingDate ${fname}.xml | cut -c22-25`

        set fmm_e   = `grep RangeEndingDate ${fname}.xml | cut -c27-28`

        set fdd_e   = `grep RangeEndingDate ${fname}.xml | cut -c30-31`

        set fhh_e   = `grep RangeEndingTime ${fname}.xml | cut -c22-23`

        set fmi_e   = `grep RangeEndingTime ${fname}.xml | cut -c25-26`


        if ( ${fccyy_s}${fmm_s}${fdd_s}${fhh_s}${fmi_s} >= `${BINDIR}/da_advance_time.exe ${DATAtime_s} 0` &&   \

             ${fccyy_s}${fmm_s}${fdd_s}${fhh_s}${fmi_s} <= `${BINDIR}/da_advance_time.exe ${DATAtime_e} 0`   ) then

           wget ${URL_prefix}/${ccyy_e}/${julian_day_e}/${fname}

        endif


        rm ${fname}.xml


     end

  endif


  tar cvf ${DATA_type}_${DATAtime}.tar ./*.hdf

  gzip ${DATA_type}_${DATAtime}.tar

  rm *.hdf


  set DATAtime = `${BINDIR}/da_advance_time.exe ${DATAtime} ${DATAintv}`


end


exit(0)