information (version 1.1)

You can also look at:
#!/usr/bin/ksh
###########################################################################
#
# BRIEFLY: Calculate various pieces of information
# 
# SYNTAX: information
#
# DESCRIPTION: This routine calculates various pieces of "meta-data"
# DESCRIPTION: which are primarilly intended for web page generation
# DESCRIPTION: The data are recorded in the job par
#
# VERSION: 1.1
#
# HISTORY: 0.0 -> 1.0 1/22/97
# HISTORY: changed rm info.tmp to rm -f info.tmp
# HISTORY: 
# HISTORY: 1.0 -> 1.1 5/8/97
# HISTORY: now store observation start and stop times and dates in the job.par.
#
##############################################################################
#DEBUG=1

$UTIL/milestone "Determining information about this observation"

###################
# observation date
###################
rm -f z.tmp
ls $($UTIL/any_filename telemetry) >z.tmp

###############
# start
###############
telem=$(head -1 z.tmp )

date=$($UTIL/read_fits_keyword $telem[1] DATE0 )
day=$(  echo $date | awk -F'/' '{print $1 }' )
month=$(echo $date | awk -F'/' '{print $2 }' )
year=$( echo $date | awk -F'/' '{print $3 }' )

if [ $year -gt 90 ]; then
     year=19${year}
else
     year=20${year}
fi

$UTIL/add_parameter $JOBPAR obsdate ${year}-${month}-${day} s \
         "Observation start date"

time=$($UTIL/read_fits_keyword $telem[1] TIME0 )
$UTIL/add_parameter $JOBPAR obstime "${time}" s "Observation start time"

#################
# stop
#################
telem=$(tail -1 z.tmp )

date=$($UTIL/read_fits_keyword $telem[1] DATE1 )
day=$(  echo $date | awk -F'/' '{print $1 }' )
month=$(echo $date | awk -F'/' '{print $2 }' )
year=$( echo $date | awk -F'/' '{print $3 }' )

if [ $year -gt 90 ]; then
     year=19${year}
else
     year=20${year}
fi

$UTIL/add_parameter $JOBPAR enddate ${year}-${month}-${day} s \
         "Observation end date"

time=$($UTIL/read_fits_keyword $telem[1] TIME1 )
$UTIL/add_parameter $JOBPAR endtime "${time}" s "Observation end time"

rm -f z.tmp




##################
# processing date
##################
$UTIL/add_parameter $JOBPAR procdate $(date +'%Y-%m-%d') s "Date processed"


##############################
# processing script version
##############################
version=$($UTIL/read_parfile $PARFILE version)
$UTIL/add_parameter $JOBPAR procscriptver $version s "Processing script version"

#########################
# duration
#########################
duration=0.0
for file in $(ls ft*[0-9] 2>/dev/null ); do

     mtime0=$($UTIL/read_fits_keyword $file[1] MTIME0 )
     mtime1=$($UTIL/read_fits_keyword $file[1] MTIME1 )
     duration=$($STOOLS/equals "$mtime1 - $mtime0 + $duration" )

     ######################
     # debugging output
     ######################
     if [ -n "$DEBUG" ]; then
          echo ${0##*/}: mtime0=$mtime0
          echo ${0##*/}: mtime1=$mtime1
          echo ${0##*/}: duration=$duration

     fi



done

$UTIL/add_parameter $JOBPAR duration $duration r \
                   "Total observation duration in seconds"

#####################################################################
# ISAS exposure times. 
# These are the times used by ISAS 
# as a criteria for whether an observation is complete or not.
# This code was adapted from a ksh script written by Koji Mukai
#####################################################################

for inst in sis gis; do

     $UTIL/log_entry "Calculating ISAS time for $inst"

     rm -f gtilist.tmp

     typeset -i i=1;
     for filter in $(ls *.mkf 2>/dev/null); do

          gti=gti${i}.tmp
          rm -f $gti

          ######################
          # debugging output
          ######################
          if [ -n "$DEBUG" ]; then
               echo ${0##*/}: inst=$inst
               echo ${0##*/}: gti=$gti
               echo ${0##*/}: filter=$filter

          fi


         

          $UTIL/setup_parfile $FTOOLS/maketime.par \
                              infile=${filter} \
                              outfile=${gti}   \
                              expr="@$LISTS/${inst}_isas.cri" \
                              name=NAME                     \
                              value=VALUE                   \
                              time=TIME                     \
                              start=START                   \
                              stop=STOP                     \
                              compact=no                    \
                              histkw=yes  

          $FTOOLS/maketime >stdout.log 2>stderr.log
          $UTIL/ftool_test maketime $? $0 2 stdout.log stderr.log

          echo $gti >>gtilist.tmp

          let i=$i+1
     done
     
     ##################################################
     # deal with multiple filter files and GTI files
     ##################################################
     count=$(wc -l <gtilist.tmp)
     if [ $count -gt 1 ]; then
          ###########################
          # merge gti files
          ############################
          rm -f gti.tmp
          $UTIL/setup_parfile $FTOOLS/fmerge.par infiles=@gtilist.tmp \
                                                 outfile=gti.tmp\
                                                 columns="START STOP"

          $FTOOLS/fmerge >stdout.log 2>stderr.log 
          $UTIL/ftool_test fmerge $? $0 2 stdout.log stderr.log
          

          ##############################
          # remove individual GTI files
          ##############################
          for file in $(cat gtilist.tmp); do
                rm -f $file
          done

     else
          ##########################################
          # only one gti file, so just rename it
          ##########################################
          mv $(cat gtilist.tmp) gti.tmp
     fi

     rm -f gtilist.tmp

     #################################
     # add times
     #################################
     time=$($STOOLS/compute_exposure gti.tmp[1])
     time=$($STOOLS/equals $time )

     ######################
     # debugging output
     ######################
     if [ -n "$DEBUG" ]; then
          echo ${0##*/}: inst=$inst
          echo ${0##*/}: time=$time
     fi



     ############################
     # record time in job par
     ############################
     $UTIL/add_parameter $JOBPAR ${inst}_isas_time "$time" r \
                         "$inst exposure time as calculated by ISAS"

     rm -f gti.tmp


done