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