#!/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)