#!/bin/sh  
# \
exec /usr/local/oag/apps/bin/solaris/oagtclsh "$0" "$@"

set auto_path [linsert $auto_path 0 /usr/local/oag/apps/lib/$env(HOST_ARCH)]
set auto_path [linsert $auto_path 0 /usr/local/oag/lib_patch/$env(HOST_ARCH)]
APSStandardSetup

set Rootname processWater
set DataDir /home/helios/oagData/monitoring/$Rootname
set clockTime [clock seconds]
set endDay [clock format $clockTime -format %d]
set endYear [clock format $clockTime -format %Y]
set endMonth [clock format $clockTime -format %m]
set startClock [expr $clockTime - 604800]
set startMonth [clock format $startClock -format %m]
set startYear [clock format $startClock -format %Y]
set startDay  [clock format $startClock -format %d]
set outfile /net/epics/Public/asd/mcrops/gifs/tempAnalysis$startMonth$startDay$startYear.png

for {set week 0} {$week<1} {incr week} {
    set startDateList [APSOffsetDateInfo -year $startYear -day $startDay -month $startMonth -offset [expr $week*7] -dateFormat list]
       set endDateList [APSOffsetDateInfo -year $endYear -day $endDay -month $endMonth -offset [expr ($week)*7] -dateFormat list]

    set startTime [exec timeconvert -break=year=$endYear,julian=[lindex $startDateList 1],hour=0]

    set fileList   \
      [APSFindFilesBetweenDates \
         -rootname ${Rootname}- \
         -directory $DataDir \
         -startDateList $startDateList -endDateList $endDateList]
    
    if [llength $fileList]==0 {
        # Should use APSSendEmail to send an email to Flood and Soliday
        puts stderr "No files found"
        exit 1
    }
    
    set tmpRoot /tmp/[APSTmpString]
    APSAddToTempFileList $tmpRoot.data.$week
    
    if [catch {eval exec sddscombine $fileList -pipe=out -merge \
                 -retain=column,G:PW:Sector*ZoneTemp,Time \
                 | sddsprocess -pipe \
                 -process=*Temp,spread,%sPeakToPeak \
                  -process=*Temp,spread,%s100,perc=100 \
	          -process=*Temp,perc,%s99,perc=99 \
                 -process=*Temp,perc,%s98,perc=98 \
                 -process=*Temp,perc,%s95,perc=95 \
                 -process=*Temp,perc,%s90,perc=90 \
                 -process=*Temp,perc,%s10,perc=10 \
                 -process=*Temp,perc,%s05,perc=5 \
                 -process=*Temp,perc,%s02,perc=2 \
                 -process=*Temp,perc,%s01,perc=1 \
                 | sddscollapse -pipe \
                 | sddsprocess -pipe \
                  {"-define=column,%sPerc100Range,%s100,select=*Temp100,edit=%/100//,units=F"} \
	         {"-define=column,%sPerc98Range,%s99 %s01 -,select=*Temp99,edit=%/99//,units=F"} \
                 {"-define=column,%sPerc96Range,%s98 %s02 -,select=*Temp98,edit=%/98//,units=F"} \
                 {"-define=column,%sPerc90Range,%s95 %s05 -,select=*Temp95,edit=%/95//,units=F"} \
                 {"-define=column,%sPerc80Range,%s90 %s10 -,select=*Temp90,edit=%/90//,units=F"} \
                 | sddscollect -pipe \
                 -collect=suffix=PeakToPeak -collect=suffix=Perc100Range -collect=suffix=Perc98Range -collect=suffix=Perc96Range \
                 -collect=suffix=Perc90Range -collect=suffix=Perc80Range \
                 | sddsprocess -pipe \
                 {"-define=column,InSpec,PeakToPeak 2 > ? 0 : 1 \$,type=long"} \
                 {"-define=column,AtGoal,PeakToPeak 1 > ? 0 : 1 \$,type=long"} \
                 -edit=column,Region,Rootname,%/G:PW:Sector//%/ZoneTemp// \
                 -print=column,DateLabel,[lindex $startDateList 2]/[lindex $startDateList 3] \
                 -define=column,Time,$startTime,units=s \
                 | sddssort -pipe=in $tmpRoot.data.$week -column=Region -numericHigh} result] {
        # Should use APSSendEmail to send an email to Flood and Soliday
        puts stderr "$result"
        exit 1
    }
    lappend weekList $tmpRoot.data.$week

    if [catch {exec sddsprintout $tmpRoot.data.$week -column=Region -column=PeakToPeak -column=*Range -column=InSpec -col=AtGoal \
                 -format=double=%10.3f} result] {
        # Should use APSSendEmail to send an email to Flood and Soliday
        puts stderr "$result"
        exit 1
    }
    puts stdout "$result"
}

eval exec sddscombine $weekList -pipe=out -merge \
  | sddssort -pipe -column=Region -numericHigh \
  | sddsbreak -pipe -change=Region \
  | sddsprocess -pipe=in temperatureStats.sdds -process=Region,first,Region -process=InSpec,sum,InSpecTotal \
    -process=AtGoal,count,WeeksTotal -process=AtGoal,sum,AtGoalTotal  \
    {"-define=parameter,FractionInSpec,InSpecTotal WeeksTotal /"} \
    {"-define=parameter,FractionAtGoal,AtGoalTotal WeeksTotal /"}
 
exec sddsplot temperatureStats.sdds  -device=png,onwhite -output=$outfile \
  "-title=Tunnel Temperature by Sector for week of $startMonth/$startDay/$startYear" \
  "-ylabel=Degrees F" \
  "-xlabel=SR Sector" \
   -col=Region,*Range \
   -graphic=impulse,type=0,subtype=10,thickness=10,vary \
   -linetypeDefault=0 \
   -unsuppressZero=y\
   -legend=yName \
   -dateStamp

set dfile [open  /net/epics/Public/asd/mcrops/tunneltemps.html a]
    puts $dfile "<a href='gifs/tempAnalysis$startMonth$startDay$startYear.png'>$startMonth-$startDay-$startYear</a><br>"
    flush $dfile
    close $dfile