[Isocops] Cron <ibexops at ibex-web> $IBEX_CRON/cronswitch.sh ssr_blk_update < /dev/null >/dev/null

Cron Daemon root at ibex-web.sr.unh.edu
Thu Jan 11 20:55:02 EST 2018


#!/bin/sh
#
# $Id: ssr_blk_update.sh 8393 2011-07-21 18:18:19Z fairchild $
Id="ssr_blk_update.sh" Xx=""
+ Id=ssr_blk_update.sh
+ Xx=
VERSION="$Id: ssr_blk_update.sh 8393 2011-07-21 18:18:19Z fairchild $Xx"
+ VERSION='ssr_blk_update.sh: ssr_blk_update.sh 8393 2011-07-21 18:18:19Z fairchild '
#

log=${1-'the-log-file'}
+ log=/usr/local/IBEX/ops/log/ssr_blk_update-2018.012.01.55.01.log
mail=${2-'false'}
+ mail=false

[ -z "$ssr_orbits" ] && ssr_orbits=10
+ '[' -z '' ']'
+ ssr_orbits=10
[ -z "$est_orbits" ] && est_orbits=5
+ '[' -z '' ']'
+ est_orbits=5
[ -z "$ops_time"   ] && ops_time=0
+ '[' -z '' ']'
+ ops_time=0
[ -z "$est_time"   ] && est_time=-14d
+ '[' -z '' ']'
+ est_time=-14d
[ -z "$seq_start"  ] && seq_start=5
+ '[' -z '' ']'
+ seq_start=5

#
# Might as well be helpful.
#
[ "$log" = "--version" ] && {
    echo "$VERSION"
    exit 0
}
+ '[' /usr/local/IBEX/ops/log/ssr_blk_update-2018.012.01.55.01.log = --version ']'
[ "$log" = "--help" ] && {
    cat <<-....EOF
    Usage: `basename $0` log-file true|false

    This script is usually invoked in a cron environment where
    having a log file and/or echo results to the cron daemon for
    mail is useful.  If you are running this to get status on
    missing blocks, you may want to set the environment variables:

    ssr_orbits=$ssr_orbits	number of recent ssr_blk block report files to use
    ops_time=$ops_time		time to use as the current time
    est_orbits=$est_orbits	number of past/future orbits for HASO/LAHO blks
    est_time=$est_time	origin for these past/future orbits
    seq_start=$seq_start 	where to start (record in HASO-LAHO listing)
                        guessing on the block numbers (should be odd)

    (These arguments are not available as standard arguments as this script
    is used operationally vi cronswitch and must obey those conventions.)
    So for example:

    est_time=-35d ops_time=-80d est_orbits=9 \\
    \$IBEX_CRON/ssr_blk_update.sh

    gives you more orbits more than the default.  Two additional variables
    sbfu (defaults to true on ena) and sbfe (defaults to false on ena) may
    be set to generate ssr block estimates (correct for the past, guesses
    for the future) and a sed script for adjusting the ssr_block file.

....EOF
    exit 0
}
+ '[' /usr/local/IBEX/ops/log/ssr_blk_update-2018.012.01.55.01.log = --help ']'

series=0
+ series=0

frep=ssr_block_files.txt
+ frep=ssr_block_files.txt
srep=ssr_block_report.txt
+ srep=ssr_block_report.txt

[ -z "$IBEX_ID" ] && IBEX_ID=id-leops
+ '[' -z '' ']'
+ IBEX_ID=id-leops

#
# This generates a current list of missing blocks for the web
#
case `hostname` in
ibex-web.sr.unh.edu)
	# two names for the same place
	# /var/www/html/ibex/home/work/ops/calendar
	home="/usr/local/IBEX/work/ops/ssrblk"
	data="/usr/local/IBEX/$IBEX_ID/orbit"
	sbfu=false
	sbfe=false
	;;
ena.sr.unh.edu|ibexsoc.boulder.swri.edu)
	home="/usr/local/IBEX/work/ops/ssrblk"
	data="/usr/local/IBEX/$IBEX_ID/orbit"
	frep=""
	srep=""
	[ -z "$sbfu" ] && sbfu=true
	[ -z "$sbfe" ] && sbfe=false
	;;
*)
	echo This script only runs on one server. 1>&2
	exit 1
	;;
esac
+ case `hostname` in
hostname
++ hostname
+ home=/usr/local/IBEX/work/ops/ssrblk
+ data=/usr/local/IBEX/id-leops/orbit
+ sbfu=false
+ sbfe=false

[ "$sbfu" = true -o "$sbfu" = false ] || sbfu=false
+ '[' false = true -o false = false ']'
[ "$sbfe" = true -o "$sbfe" = false ] || sbfe=false
+ '[' false = true -o false = false ']'

[ -d "$home" ] && {
    cd $home
    [ -f $frep ] && mv $frep ${frep/txt/back}
    [ -f $srep ] && mv $srep ${srep/txt/back}
    rm -f $frep $srep
}
+ '[' -d /usr/local/IBEX/work/ops/ssrblk ']'
+ cd /usr/local/IBEX/work/ops/ssrblk
+ '[' -f ssr_block_files.txt ']'
+ mv ssr_block_files.txt ssr_block_files.back
+ '[' -f ssr_block_report.txt ']'
+ mv ssr_block_report.txt ssr_block_report.back
+ rm -f ssr_block_files.txt ssr_block_report.txt

ssrblks=""
+ ssrblks=
for o in `ibex_orbit -O -s $series -n $ssr_orbits -- $ops_time | sort -n`
do
    file=$data/o$o/o$o.ssrblk
    echo trying $file
    [ -s $file ] && ssrblks="$ssrblks $file" &&
	[ -n "$frep" ] && echo $file >> $frep
done
ibex_orbit -O -s $series -n $ssr_orbits -- $ops_time | sort -n
++ ibex_orbit -O -s 0 -n 10 -- 0
++ sort -n
+ for o in '`ibex_orbit -O -s $series -n $ssr_orbits -- $ops_time | sort -n`'
+ file=/usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk
+ echo trying /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk
+ '[' -s /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk ']'
+ ssrblks=' /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk'
+ '[' -n ssr_block_files.txt ']'
+ echo /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk
+ for o in '`ibex_orbit -O -s $series -n $ssr_orbits -- $ops_time | sort -n`'
+ file=/usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk
+ echo trying /usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk
+ '[' -s /usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk ']'
+ ssrblks=' /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk /usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk'
+ '[' -n ssr_block_files.txt ']'
+ echo /usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk
+ for o in '`ibex_orbit -O -s $series -n $ssr_orbits -- $ops_time | sort -n`'
+ file=/usr/local/IBEX/id-leops/orbit/o0386/o0386.ssrblk
+ echo trying /usr/local/IBEX/id-leops/orbit/o0386/o0386.ssrblk
+ '[' -s /usr/local/IBEX/id-leops/orbit/o0386/o0386.ssrblk ']'
+ ssrblks=' /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk /usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk /usr/local/IBEX/id-leops/orbit/o0386/o0386.ssrblk'
+ '[' -n ssr_block_files.txt ']'
+ echo /usr/local/IBEX/id-leops/orbit/o0386/o0386.ssrblk
+ for o in '`ibex_orbit -O -s $series -n $ssr_orbits -- $ops_time | sort -n`'
+ file=/usr/local/IBEX/id-leops/orbit/o0387/o0387.ssrblk
+ echo trying /usr/local/IBEX/id-leops/orbit/o0387/o0387.ssrblk
+ '[' -s /usr/local/IBEX/id-leops/orbit/o0387/o0387.ssrblk ']'
+ ssrblks=' /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk /usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk /usr/local/IBEX/id-leops/orbit/o0386/o0386.ssrblk /usr/local/IBEX/id-leops/orbit/o0387/o0387.ssrblk'
+ '[' -n ssr_block_files.txt ']'
+ echo /usr/local/IBEX/id-leops/orbit/o0387/o0387.ssrblk
+ for o in '`ibex_orbit -O -s $series -n $ssr_orbits -- $ops_time | sort -n`'
+ file=/usr/local/IBEX/id-leops/orbit/o0388/o0388.ssrblk
+ echo trying /usr/local/IBEX/id-leops/orbit/o0388/o0388.ssrblk
+ '[' -s /usr/local/IBEX/id-leops/orbit/o0388/o0388.ssrblk ']'
+ ssrblks=' /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk /usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk /usr/local/IBEX/id-leops/orbit/o0386/o0386.ssrblk /usr/local/IBEX/id-leops/orbit/o0387/o0387.ssrblk /usr/local/IBEX/id-leops/orbit/o0388/o0388.ssrblk'
+ '[' -n ssr_block_files.txt ']'
+ echo /usr/local/IBEX/id-leops/orbit/o0388/o0388.ssrblk
+ for o in '`ibex_orbit -O -s $series -n $ssr_orbits -- $ops_time | sort -n`'
+ file=/usr/local/IBEX/id-leops/orbit/o0389/o0389.ssrblk
+ echo trying /usr/local/IBEX/id-leops/orbit/o0389/o0389.ssrblk
+ '[' -s /usr/local/IBEX/id-leops/orbit/o0389/o0389.ssrblk ']'
+ ssrblks=' /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk /usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk /usr/local/IBEX/id-leops/orbit/o0386/o0386.ssrblk /usr/local/IBEX/id-leops/orbit/o0387/o0387.ssrblk /usr/local/IBEX/id-leops/orbit/o0388/o0388.ssrblk /usr/local/IBEX/id-leops/orbit/o0389/o0389.ssrblk'
+ '[' -n ssr_block_files.txt ']'
+ echo /usr/local/IBEX/id-leops/orbit/o0389/o0389.ssrblk
+ for o in '`ibex_orbit -O -s $series -n $ssr_orbits -- $ops_time | sort -n`'
+ file=/usr/local/IBEX/id-leops/orbit/o0390/o0390.ssrblk
+ echo trying /usr/local/IBEX/id-leops/orbit/o0390/o0390.ssrblk
+ '[' -s /usr/local/IBEX/id-leops/orbit/o0390/o0390.ssrblk ']'
+ for o in '`ibex_orbit -O -s $series -n $ssr_orbits -- $ops_time | sort -n`'
+ file=/usr/local/IBEX/id-leops/orbit/o0391/o0391.ssrblk
+ echo trying /usr/local/IBEX/id-leops/orbit/o0391/o0391.ssrblk
+ '[' -s /usr/local/IBEX/id-leops/orbit/o0391/o0391.ssrblk ']'
+ ssrblks=' /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk /usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk /usr/local/IBEX/id-leops/orbit/o0386/o0386.ssrblk /usr/local/IBEX/id-leops/orbit/o0387/o0387.ssrblk /usr/local/IBEX/id-leops/orbit/o0388/o0388.ssrblk /usr/local/IBEX/id-leops/orbit/o0389/o0389.ssrblk /usr/local/IBEX/id-leops/orbit/o0391/o0391.ssrblk'
+ '[' -n ssr_block_files.txt ']'
+ echo /usr/local/IBEX/id-leops/orbit/o0391/o0391.ssrblk
+ for o in '`ibex_orbit -O -s $series -n $ssr_orbits -- $ops_time | sort -n`'
+ file=/usr/local/IBEX/id-leops/orbit/o0392/o0392.ssrblk
+ echo trying /usr/local/IBEX/id-leops/orbit/o0392/o0392.ssrblk
+ '[' -s /usr/local/IBEX/id-leops/orbit/o0392/o0392.ssrblk ']'
+ ssrblks=' /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk /usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk /usr/local/IBEX/id-leops/orbit/o0386/o0386.ssrblk /usr/local/IBEX/id-leops/orbit/o0387/o0387.ssrblk /usr/local/IBEX/id-leops/orbit/o0388/o0388.ssrblk /usr/local/IBEX/id-leops/orbit/o0389/o0389.ssrblk /usr/local/IBEX/id-leops/orbit/o0391/o0391.ssrblk /usr/local/IBEX/id-leops/orbit/o0392/o0392.ssrblk'
+ '[' -n ssr_block_files.txt ']'
+ echo /usr/local/IBEX/id-leops/orbit/o0392/o0392.ssrblk
+ for o in '`ibex_orbit -O -s $series -n $ssr_orbits -- $ops_time | sort -n`'
+ file=/usr/local/IBEX/id-leops/orbit/o0393/o0393.ssrblk
+ echo trying /usr/local/IBEX/id-leops/orbit/o0393/o0393.ssrblk
+ '[' -s /usr/local/IBEX/id-leops/orbit/o0393/o0393.ssrblk ']'

[ -n "$ssrblks" ] && {
    [ -n "$srep" ] &&
    ssr_met -m -t $ops_time -r $ssrblks > $srep ||
    ssr_met -m -t $ops_time -r $ssrblks
}
+ '[' -n ' /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk /usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk /usr/local/IBEX/id-leops/orbit/o0386/o0386.ssrblk /usr/local/IBEX/id-leops/orbit/o0387/o0387.ssrblk /usr/local/IBEX/id-leops/orbit/o0388/o0388.ssrblk /usr/local/IBEX/id-leops/orbit/o0389/o0389.ssrblk /usr/local/IBEX/id-leops/orbit/o0391/o0391.ssrblk /usr/local/IBEX/id-leops/orbit/o0392/o0392.ssrblk' ']'
+ '[' -n ssr_block_report.txt ']'
+ ssr_met -m -t 0 -r /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk /usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk /usr/local/IBEX/id-leops/orbit/o0386/o0386.ssrblk /usr/local/IBEX/id-leops/orbit/o0387/o0387.ssrblk /usr/local/IBEX/id-leops/orbit/o0388/o0388.ssrblk /usr/local/IBEX/id-leops/orbit/o0389/o0389.ssrblk /usr/local/IBEX/id-leops/orbit/o0391/o0391.ssrblk /usr/local/IBEX/id-leops/orbit/o0392/o0392.ssrblk

# generate estimates of past/future blocks
ohsohe=""
+ ohsohe=
set -- `ibex_orbit -O -s 0 -R E -l -n $est_orbits -f -- $est_time`
ibex_orbit -O -s 0 -R E -l -n $est_orbits -f -- $est_time
++ ibex_orbit -O -s 0 -R E -l -n 5 -f -- -14d
+ set -- 0391 2017/12:21:11:51:33 2017/12:29:13:31:28 2017/12:29:23:57:59 0392 2017/12:30:10:24:40 2018/01:07:17:08:04 2018/01:08:03:31:39 0393 2018/01:08:13:55:11 2018/01:16:16:18:05 2018/01:17:02:50:29 0394 2018/01:17:13:22:49 2018/01:25:13:57:23 2018/01:26:00:25:02 0395 2018/01:26:10:52:47 2018/02:03:16:13:38 2018/02:04:02:37:31
while [ $# -ge 4 ]
do ohsohe="$ohsohe #$1#HASO#$2 $2 #$1#LAHO#$3 $3"; shift 4; done
+ '[' 20 -ge 4 ']'
+ ohsohe=' #0391#HASO#2017/12:21:11:51:33 2017/12:21:11:51:33 #0391#LAHO#2017/12:29:13:31:28 2017/12:29:13:31:28'
+ shift 4
+ '[' 16 -ge 4 ']'
+ ohsohe=' #0391#HASO#2017/12:21:11:51:33 2017/12:21:11:51:33 #0391#LAHO#2017/12:29:13:31:28 2017/12:29:13:31:28 #0392#HASO#2017/12:30:10:24:40 2017/12:30:10:24:40 #0392#LAHO#2018/01:07:17:08:04 2018/01:07:17:08:04'
+ shift 4
+ '[' 12 -ge 4 ']'
+ ohsohe=' #0391#HASO#2017/12:21:11:51:33 2017/12:21:11:51:33 #0391#LAHO#2017/12:29:13:31:28 2017/12:29:13:31:28 #0392#HASO#2017/12:30:10:24:40 2017/12:30:10:24:40 #0392#LAHO#2018/01:07:17:08:04 2018/01:07:17:08:04 #0393#HASO#2018/01:08:13:55:11 2018/01:08:13:55:11 #0393#LAHO#2018/01:16:16:18:05 2018/01:16:16:18:05'
+ shift 4
+ '[' 8 -ge 4 ']'
+ ohsohe=' #0391#HASO#2017/12:21:11:51:33 2017/12:21:11:51:33 #0391#LAHO#2017/12:29:13:31:28 2017/12:29:13:31:28 #0392#HASO#2017/12:30:10:24:40 2017/12:30:10:24:40 #0392#LAHO#2018/01:07:17:08:04 2018/01:07:17:08:04 #0393#HASO#2018/01:08:13:55:11 2018/01:08:13:55:11 #0393#LAHO#2018/01:16:16:18:05 2018/01:16:16:18:05 #0394#HASO#2018/01:17:13:22:49 2018/01:17:13:22:49 #0394#LAHO#2018/01:25:13:57:23 2018/01:25:13:57:23'
+ shift 4
+ '[' 4 -ge 4 ']'
+ ohsohe=' #0391#HASO#2017/12:21:11:51:33 2017/12:21:11:51:33 #0391#LAHO#2017/12:29:13:31:28 2017/12:29:13:31:28 #0392#HASO#2017/12:30:10:24:40 2017/12:30:10:24:40 #0392#LAHO#2018/01:07:17:08:04 2018/01:07:17:08:04 #0393#HASO#2018/01:08:13:55:11 2018/01:08:13:55:11 #0393#LAHO#2018/01:16:16:18:05 2018/01:16:16:18:05 #0394#HASO#2018/01:17:13:22:49 2018/01:17:13:22:49 #0394#LAHO#2018/01:25:13:57:23 2018/01:25:13:57:23 #0395#HASO#2018/01:26:10:52:47 2018/01:26:10:52:47 #0395#LAHO#2018/02:03:16:13:38 2018/02:03:16:13:38'
+ shift 4
+ '[' 0 -ge 4 ']'

[ -n "$srep" ] && exec 3>>$srep || exec 3>&1
+ '[' -n ssr_block_report.txt ']'
+ exec

ssrest=/tmp/ssrblkest$$
+ ssrest=/tmp/ssrblkest25375
ssrsed=/tmp/ssrblksed$$
+ ssrsed=/tmp/ssrblksed25375
ssrnew=/tmp/ssrblknew$$
+ ssrnew=/tmp/ssrblknew25375
trap "rm -f $ssrest $ssrsed $ssrnew" 0 1 2 15
+ trap 'rm -f /tmp/ssrblkest25375 /tmp/ssrblksed25375 /tmp/ssrblknew25375' 0 1 2 15

echo Past/Future orbit block estimates >&3
+ echo Past/Future orbit block estimates
echo '' >&3
+ echo ''
for q in $ohsohe ; do echo $q ; done |\
ssr_met -C - -r $ssrblks | cut -d' ' -f1 | paste -d' ' - - |\
tr '#' ' ' | tee $ssrest >&3
+ cut '-d ' -f1
+ for q in '$ohsohe'
+ ssr_met -C - -r /usr/local/IBEX/id-leops/orbit/o0384/o0384.ssrblk /usr/local/IBEX/id-leops/orbit/o0385/o0385.ssrblk /usr/local/IBEX/id-leops/orbit/o0386/o0386.ssrblk /usr/local/IBEX/id-leops/orbit/o0387/o0387.ssrblk /usr/local/IBEX/id-leops/orbit/o0388/o0388.ssrblk /usr/local/IBEX/id-leops/orbit/o0389/o0389.ssrblk /usr/local/IBEX/id-leops/orbit/o0391/o0391.ssrblk /usr/local/IBEX/id-leops/orbit/o0392/o0392.ssrblk
+ echo '#0391#HASO#2017/12:21:11:51:33'
+ for q in '$ohsohe'
+ echo 2017/12:21:11:51:33
+ for q in '$ohsohe'
+ echo '#0391#LAHO#2017/12:29:13:31:28'
+ for q in '$ohsohe'
+ echo 2017/12:29:13:31:28
+ for q in '$ohsohe'
+ echo '#0392#HASO#2017/12:30:10:24:40'
+ for q in '$ohsohe'
+ echo 2017/12:30:10:24:40
+ tr '#' ' '
+ for q in '$ohsohe'
+ echo '#0392#LAHO#2018/01:07:17:08:04'
+ for q in '$ohsohe'
+ paste '-d ' - -
+ echo 2018/01:07:17:08:04
+ for q in '$ohsohe'
+ echo '#0393#HASO#2018/01:08:13:55:11'
+ for q in '$ohsohe'
+ echo 2018/01:08:13:55:11
+ for q in '$ohsohe'
+ echo '#0393#LAHO#2018/01:16:16:18:05'
+ for q in '$ohsohe'
+ echo 2018/01:16:16:18:05
+ for q in '$ohsohe'
+ echo '#0394#HASO#2018/01:17:13:22:49'
+ for q in '$ohsohe'
+ echo 2018/01:17:13:22:49
+ for q in '$ohsohe'
+ tee /tmp/ssrblkest25375
+ echo '#0394#LAHO#2018/01:25:13:57:23'
+ for q in '$ohsohe'
+ echo 2018/01:25:13:57:23
+ for q in '$ohsohe'
+ echo '#0395#HASO#2018/01:26:10:52:47'
+ for q in '$ohsohe'
+ echo 2018/01:26:10:52:47
+ for q in '$ohsohe'
+ echo '#0395#LAHO#2018/02:03:16:13:38'
+ for q in '$ohsohe'
+ echo 2018/02:03:16:13:38

#
# Start of block for diddling the ssr block file
#
$sfbu && {

echo '' >&3
echo ssr blk flight estimates >&3
echo '' >&3

awks='
    BEGIN	{orb=0;unto=0;wide=3000;after=2;}
    $2 ~ /LAHO/ {next;}
    $2 ~ /HASO/ {from=sprintf("%d",unto+1)+0;
		 unto=sprintf("%d",$4)+0;
		 last=orb;orb=$1;seq=(NR-'$seq_start')/2;}
    (unto%2)==0 {unto--;}
    from < unto {range=from "-" unto;}
    from > unto {range=from "-131071,0-" unto;}
    last == 0	{next;}
    seq < 0     {seq=0;}
		{print "  Orbit " last " range " range;}
		{early=from-(wide*seq);later=unto+(wide*seq);}
    early>131071{early-=131072;}
    early<0     {early+=131072;}
    later>131071{later-=131072;}
    later<0     {later+=131072;}
    early<later {guess=early "-" later;}
    early>later {guess=early "-131071,0-" later;}
		{print "  " sprintf("%5d",seq) " " last " guess " guess;}
    seq < 5 {print "/^" last "/s/^[^#]*/" last,guess,range "/" >>"'$ssrsed'";}
'
# seq < 4     {print "/^" last "/s/^.*$/" last,guess,range "/" >>"'$ssrsed'";}

awk "$awks" $ssrest

echo ''
echo Sed script:
echo ''
echo '  # orbit block-range-guesses block-range-exact'
cat $ssrsed | sed 's/^/  /'

  #
  # if we're actually going to edit the file, that would be here.
  #
  $sbfe && {
    echo ''
    echo 'Updating ssr blk flight'
    echo ''

    grep '^#' $IBEX_OPS/config/idsup/ssr_blk_flight |\
    grep -v 'eof' | grep -v '^$' | uniq > $ssrnew

    ( for o in `cut -d/ -f2 $ssrsed | tr -d '^'`; do echo $o; done;
      grep '^0' $IBEX_OPS/config/idsup/ssr_blk_flight ) |\
    sed -f $ssrsed | sort -n | uniq >> $ssrnew

    ( echo '' ; echo '#' ; echo '# eof' ; echo '#' ) >> $ssrnew
    mv $ssrnew $IBEX_OPS/config/idsup/ssr_blk_flight.new
    chgrp isoc $IBEX_OPS/config/idsup/ssr_blk_flight.new

    ls -l $IBEX_OPS/config/idsup/ssr_blk_flight \
	  $IBEX_OPS/config/idsup/ssr_blk_flight.new |\
    awk '{print "  " $1,$6,$7,$8, $9}'
    diff  $IBEX_OPS/config/idsup/ssr_blk_flight \
	  $IBEX_OPS/config/idsup/ssr_blk_flight.new |\
    sed 's/^/  /'
    echo ''
    cat <<-....EOF
	If you're happy with that and/or need to fix it, the
	next commands here are:

	    vi \$IBEX_OPS/config/idsup/ssr_blk_flight.new
	    # if necessary, then:
	    mv \$IBEX_OPS/config/idsup/ssr_blk_flight.new \\
	       \$IBEX_OPS/config/idsup/ssr_blk_flight
	    svn diff \\
	       \$IBEX_OPS/config/idsup/ssr_blk_flight
	    svn commit -m'new block estimates' \\
	       \$IBEX_OPS/config/idsup/ssr_blk_flight

	Note that lines with #-comments may be duplicated;
	the first one is the one that will be used.

	OR:

	    rm -f $IBEX_OPS/config/idsup/ssr_blk_flight.new
....EOF
    echo ''
  }
  #
  # done with the business of actually editing the file.
  #

}
+ echo ''
+ echo ssr blk flight estimates
+ echo ''
+ awks='
    BEGIN	{orb=0;unto=0;wide=3000;after=2;}
    $2 ~ /LAHO/ {next;}
    $2 ~ /HASO/ {from=sprintf("%d",unto+1)+0;
		 unto=sprintf("%d",$4)+0;
		 last=orb;orb=$1;seq=(NR-5)/2;}
    (unto%2)==0 {unto--;}
    from < unto {range=from "-" unto;}
    from > unto {range=from "-131071,0-" unto;}
    last == 0	{next;}
    seq < 0     {seq=0;}
		{print "  Orbit " last " range " range;}
		{early=from-(wide*seq);later=unto+(wide*seq);}
    early>131071{early-=131072;}
    early<0     {early+=131072;}
    later>131071{later-=131072;}
    later<0     {later+=131072;}
    early<later {guess=early "-" later;}
    early>later {guess=early "-131071,0-" later;}
		{print "  " sprintf("%5d",seq) " " last " guess " guess;}
    seq < 5 {print "/^" last "/s/^[^#]*/" last,guess,range "/" >>"/tmp/ssrblksed25375";}
'
+ awk '
    BEGIN	{orb=0;unto=0;wide=3000;after=2;}
    $2 ~ /LAHO/ {next;}
    $2 ~ /HASO/ {from=sprintf("%d",unto+1)+0;
		 unto=sprintf("%d",$4)+0;
		 last=orb;orb=$1;seq=(NR-5)/2;}
    (unto%2)==0 {unto--;}
    from < unto {range=from "-" unto;}
    from > unto {range=from "-131071,0-" unto;}
    last == 0	{next;}
    seq < 0     {seq=0;}
		{print "  Orbit " last " range " range;}
		{early=from-(wide*seq);later=unto+(wide*seq);}
    early>131071{early-=131072;}
    early<0     {early+=131072;}
    later>131071{later-=131072;}
    later<0     {later+=131072;}
    early<later {guess=early "-" later;}
    early>later {guess=early "-131071,0-" later;}
		{print "  " sprintf("%5d",seq) " " last " guess " guess;}
    seq < 5 {print "/^" last "/s/^[^#]*/" last,guess,range "/" >>"/tmp/ssrblksed25375";}
' /tmp/ssrblkest25375
+ echo ''
+ echo Sed script:
+ echo ''
+ echo '  # orbit block-range-guesses block-range-exact'
+ cat /tmp/ssrblksed25375
+ sed 's/^/  /'
+ false
#
# Finish of block for diddling the ssr block file
#

echo ''
+ echo ''
echo TA: `date -u +%Y.%j.%H.%M.%S`
date -u +%Y.%j.%H.%M.%S
++ date -u +%Y.%j.%H.%M.%S
+ echo TA: 2018.012.01.55.12

$mail && [ -f "$log" ] && cat $log 1>&2
+ false
rm -f $log
+ rm -f /usr/local/IBEX/ops/log/ssr_blk_update-2018.012.01.55.01.log

exit 0
+ exit 0
rm -f /tmp/ssrblkest25375 /tmp/ssrblksed25375 /tmp/ssrblknew25375
+ rm -f /tmp/ssrblkest25375 /tmp/ssrblksed25375 /tmp/ssrblknew25375


More information about the Isocops mailing list