Issue #1872 - extracted i386-pc-linux-gnu.tar and removed
Former-commit-id: 9032595675e422148bea5f5b77e54a305545757c
|
@ -1 +0,0 @@
|
|||
19110f42806e0a8013fb465f0397de4147d8e17d
|
1
nativeLib/files.native/adapt/climate/bin/Linux/ASOS_smDecoder
Symbolic link
|
@ -0,0 +1 @@
|
|||
_main.sh
|
52
nativeLib/files.native/adapt/climate/bin/Linux/ASOS_smDecoder.sh
Executable file
|
@ -0,0 +1,52 @@
|
|||
#!/bin/sh
|
||||
#############################################################################
|
||||
#
|
||||
# script: ASOS_smDecoder
|
||||
#
|
||||
# Purpose: executes the program which decodes the ASOS Daily or Monthly
|
||||
# Summary Message for daily climate data
|
||||
#
|
||||
# Author: David T. Miller PRC/TDL
|
||||
#
|
||||
# Date created: 6/16/99
|
||||
#
|
||||
# Modification History:
|
||||
#
|
||||
# 12/05/2002 OB2 Bob Morris - Incorporated CLIMATE_BIN_DIR from envir.
|
||||
# - Fixed -a tests, use -f and -x
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
# operations - set environmental files for Informix
|
||||
export FXA_HOME=/awips/fxa
|
||||
. $FXA_HOME/readenv.sh
|
||||
|
||||
|
||||
if [ -f /tmp/ASOS_SM_tmp.txt ]
|
||||
then
|
||||
rm -f /tmp/ASOS_SM_tmp.txt
|
||||
fi
|
||||
|
||||
|
||||
if [ ! -x ${CLIMATE_BIN_DIR}/ASOS_smDecoder ]
|
||||
then
|
||||
echo "The ASOS DSM or MSM decoder not executable or does not exist!" >> /tmp/ASOS_SM_tmp.txt
|
||||
echo "Halting script execution...."
|
||||
exit 1
|
||||
else
|
||||
echo "ASOS Summary Message Decoder starting...." >> /tmp/ASOS_SM_tmp.txt
|
||||
echo $1 >> /tmp/ASOS_SM_tmp.txt
|
||||
${CLIMATE_BIN_DIR}/ASOS_smDecoder $1 >> /tmp/ASOS_SM_tmp.txt
|
||||
decode_status=$?
|
||||
case $decode_status in
|
||||
0)
|
||||
echo "The ASOS Summary Message Decoder returned a value of 0" >> /tmp/ASOS_SM_tmp.txt
|
||||
;;
|
||||
*)
|
||||
echo "The ASOS Summary Message Decoder returned a value of $decode_status" >> /tmp/ASOS_SM_tmp.txt
|
||||
exit $decode_status
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
exit 0
|
18
nativeLib/files.native/adapt/climate/bin/Linux/_main.sh
Executable file
|
@ -0,0 +1,18 @@
|
|||
#!/bin/bash
|
||||
|
||||
# calls into the main routines in the adappt.climate.ui library
|
||||
# create links to this script with the appropriate name for each
|
||||
# main routine
|
||||
|
||||
program_name=$(basename $0)
|
||||
|
||||
script_dir=$(cd $(dirname $0);pwd)
|
||||
|
||||
# set the appropriate environment variables
|
||||
. $script_dir/set_climate_env.sh
|
||||
|
||||
# the climate apps assume the cwd is the data dir
|
||||
cd $CLIMATE_DATA_DIR
|
||||
|
||||
# call into the library to launch the program
|
||||
runso rary.adappt.climate.ui ${program_name}_main $@
|
1
nativeLib/files.native/adapt/climate/bin/Linux/build_f6
Symbolic link
|
@ -0,0 +1 @@
|
|||
_main.sh
|
68
nativeLib/files.native/adapt/climate/bin/Linux/catRecordClimateData.sh
Executable file
|
@ -0,0 +1,68 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# -----------------------------------------------------------------------------
|
||||
# File: catRecordClimateData.sh
|
||||
#
|
||||
# First, checks that recordClimate is running. If not, this script will hang!
|
||||
#
|
||||
# If running, then checks to see if the pipe and data files exist.
|
||||
# If so, then pipes the RecordClimate data files to the pipe files, which will
|
||||
# feed the recordClimate program. Otherwise, exits with an error message
|
||||
# written to the log file for the current climate run.
|
||||
#
|
||||
#
|
||||
# Modification History:
|
||||
#
|
||||
# 12/05/2002 OB2 Bob Morris Use ~/climate/tmp not ~/adapt_apps/tmp
|
||||
# 02/03/2003 OB2 Bob Morris Modified pid logic, error messages, takes
|
||||
# log file argument, use default otherwise.
|
||||
#
|
||||
# Note: If error messages are modified, climate.sh and display.sh may need
|
||||
# to be modified. They "grep" the log file for errors from this script.
|
||||
#
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
if [ $# = 1 ]
|
||||
then
|
||||
LOGFILE2=$1
|
||||
else
|
||||
LOGFILE2=/awips/adapt/climate/tmp/tmp.txt
|
||||
echo "catRecordClimateData.sh: Using default log file $LOGFILE2" >> $LOGFILE2
|
||||
fi
|
||||
|
||||
# Set the following so that `ps -eo pid,args ...` below works in HP-UX.
|
||||
export UNIX95=1
|
||||
|
||||
pid=`ps -eo pid,args | grep -E 'adapt[/].*recordClimate' | awk '{print $1}'`
|
||||
|
||||
echo "" >> $LOGFILE2
|
||||
echo "recordClimate process ID on DS = $pid" >> $LOGFILE2
|
||||
|
||||
if [ "$pid" != "" ]
|
||||
then
|
||||
|
||||
if [ ! -p /awips/adapt/climate/tmp/RecordClimateRawData.dat -o ! -p /awips/adapt/climate/tmp/RecordClimateStationInfo.dat ]
|
||||
then
|
||||
echo "" >> $LOGFILE2
|
||||
echo "***************************************************************" >> $LOGFILE2
|
||||
echo "* WARNING! recordClimate cannot run! Pipe files do not exist! *" >> $LOGFILE2
|
||||
echo "***************************************************************" >> $LOGFILE2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -p /awips/adapt/climate/tmp/RecordClimateRawData.dat -a -p /awips/adapt/climate/tmp/RecordClimateStationInfo.dat -a \
|
||||
-f /awips/adapt/climate/tmp/RecordClimateRawData1.dat -a -f /awips/adapt/climate/tmp/RecordClimateStationInfo1.dat ]
|
||||
then
|
||||
cat /awips/adapt/climate/tmp/RecordClimateRawData1.dat >> /awips/adapt/climate/tmp/RecordClimateRawData.dat
|
||||
cat /awips/adapt/climate/tmp/RecordClimateStationInfo1.dat >> /awips/adapt/climate/tmp/RecordClimateStationInfo.dat
|
||||
exit 0
|
||||
fi
|
||||
|
||||
else
|
||||
echo "" >> $LOGFILE2
|
||||
echo "*********************************************" >> $LOGFILE2
|
||||
echo "* WARNING! recordClimate not running on ds! *" >> $LOGFILE2
|
||||
echo "*********************************************" >> $LOGFILE2
|
||||
fi
|
||||
|
||||
exit 1
|
30
nativeLib/files.native/adapt/climate/bin/Linux/clean_up.sh
Executable file
|
@ -0,0 +1,30 @@
|
|||
#!/bin/sh
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# This is the (obsolete?) script to execute the morning climate summary.
|
||||
#
|
||||
# Modification History:
|
||||
# ---------------------
|
||||
# 12/05/2002 OB2 Bob Morris - Changed from csh to sh
|
||||
# - Removed CLIMATE_BIN_DIR definition, it
|
||||
# is set in readenv.csh.
|
||||
# - General cleanup.
|
||||
##############################################################################
|
||||
#
|
||||
# Set the paths
|
||||
#
|
||||
CLIMATE_DATA_DIR=${CLIMATE_DIR}/data; export CLIMATE_DATA_DIR
|
||||
|
||||
CLIMATE_TMP_DIR=${CLIMATE_DIR}/tmp; export CLIMATE_TMP_DIR
|
||||
|
||||
#
|
||||
# Clean up the old files
|
||||
#
|
||||
rm -f ${CLIMATE_TMP_DIR}/*_$1_* >> ${CLIMATE_DIR}/tmp.txt
|
||||
|
||||
rm -f ${CLIMATE_TMP_DIR}/*_$1 >> ${CLIMATE_DIR}/tmp.txt
|
||||
|
||||
rm -f ${CLIMATE_TMP_DIR}/global_day >> ${CLIMATE_DIR}/tmp.txt
|
||||
|
||||
exit 0
|
29
nativeLib/files.native/adapt/climate/bin/Linux/climate
Executable file
|
@ -0,0 +1,29 @@
|
|||
#!/bin/sh
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# This is the script to execute the main climate GUI.
|
||||
#
|
||||
# Modification History:
|
||||
# ---------------------
|
||||
# 12/05/2002 OB2 Bob Morris - Changed from csh to sh
|
||||
# - Removed CLIMATE_BIN_DIR definition, it
|
||||
# is set in readenv.csh. General cleanup.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# Set the paths
|
||||
#
|
||||
|
||||
. $(dirname $0)/set_climate_env.sh
|
||||
|
||||
CLIMATE_DATA_DIR=${CLIMATE_DIR}/data; export CLIMATE_DATA_DIR
|
||||
CLIMATE_TMP_DIR=${CLIMATE_DIR}/tmp; export CLIMATE_TMP_DIR
|
||||
|
||||
#
|
||||
# Change the directory to the temporary climate directory
|
||||
#
|
||||
cd ${CLIMATE_TMP_DIR}
|
||||
exec ${CLIMATE_BIN_DIR}/do_all_climate &
|
||||
|
||||
exit 0
|
583
nativeLib/files.native/adapt/climate/bin/Linux/climate.sh
Executable file
|
@ -0,0 +1,583 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This is the script to execute the public climate summaries.
|
||||
#
|
||||
#
|
||||
# Modification History:
|
||||
# ---------------------
|
||||
# 12/05/2002 OB2 Bob Morris - Removed CLIMATE_BIN_DIR definition, it
|
||||
# is set in readenv.sh. General cleanup.
|
||||
# - Replace -a's in tests.
|
||||
# - Replace /adapt_apps/ with /climate/
|
||||
# - Set env vars. IFPS_SITE_OFFICE_NAME
|
||||
# and IFPS_SITE_TIMEZONE for format_cli.
|
||||
# - Rewrote the wait_times logic.
|
||||
# 01/27/2003 OB2 Bob Morris - Fix path to catRecordClimateData.sh
|
||||
# - Made killpid work in both BASH, HP
|
||||
# 02/03/2003 OB2 Bob Morris - Modified recordClimate remsh/rsh logic,
|
||||
# and pass log file as argument.
|
||||
# 02/11/2003 OB2 Bob Morris - Modified ifps env vars set logic, strip
|
||||
# quotes from IFPS_SITE_OFFICE_NAME
|
||||
# 02/21/2003 OB2 Bob Morris - Modified/added chmod logic for tmp files
|
||||
# 03/28/2003 OB2 Bob Morris - Fix env var ID for IFPS_SITE_OFFICE_NAME
|
||||
# and modified recordClimate logic/messages
|
||||
# 04/03/2003 OB2 Bob Morris - Set format_flag to 1 if manual run to
|
||||
# allow format_climate to put up Edit
|
||||
# Climate Product notification.
|
||||
# 11/14/2003 OB4 Manan Dalal - Removed all r-commands such as rsh.
|
||||
# 07/20/2004 OB5 Manan Dalal - Removed execution of catRecordClimateData.sh
|
||||
# Pipe files for RecordClimate are removed
|
||||
# and format_climate will call recordClimate
|
||||
# instead now.
|
||||
##############################################################################
|
||||
|
||||
. $(dirname $0)/set_climate_env.sh
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
# Set the following so that `ps -eo pid,args ...` in killpid works in HP-UX.
|
||||
export UNIX95=1
|
||||
|
||||
#
|
||||
# This function will kill the process id of the "Climate is Running" gui
|
||||
# (wait.tcl). It is used throughout the scripts.
|
||||
#
|
||||
function killpid {
|
||||
pid_func=`ps -eo pid,args | grep -E 'wish[ ].*wait.tcl' | awk '{print $1}'`
|
||||
#echo "pid_func in killpid is $pid_func"
|
||||
if test "$pid_func" != ""
|
||||
then
|
||||
kill $pid_func 2> /dev/null 1> /dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# Set the file path environment variables
|
||||
#
|
||||
|
||||
if [ "$CLIMATE_DIR" = "" ]
|
||||
then
|
||||
echo "Fatal error in climate.sh: CLIMATE_DIR not defined in environment! Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CLIMATE_DATA_DIR=${CLIMATE_DIR}/data; export CLIMATE_DATA_DIR
|
||||
CLIMATE_TMP_DIR=${CLIMATE_DIR}/tmp; export CLIMATE_TMP_DIR
|
||||
|
||||
if [ ! -d ${CLIMATE_DATA_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_DATA_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting climate.sh script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d ${CLIMATE_TMP_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_TMP_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting climate.sh script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#
|
||||
# This starts the running clock GUI (wait.tcl) if it's a manual run.
|
||||
# If it's automatic run, it will start in display climate.
|
||||
#
|
||||
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
./wait.tcl &
|
||||
fi
|
||||
|
||||
#
|
||||
# Set wait.tcl's process id to a variable 'pid'.
|
||||
#
|
||||
pid=`ps -ef| grep wait| grep bin| awk '{print $2}'`
|
||||
|
||||
#
|
||||
# Change to the temporary climate directory.
|
||||
#
|
||||
cd ${CLIMATE_TMP_DIR}
|
||||
|
||||
LOGFILE=${CLIMATE_TMP_DIR}/tmp.txt
|
||||
|
||||
# if old temporary script log file is there, delete it
|
||||
if [ -f $LOGFILE ]
|
||||
then
|
||||
rm -f $LOGFILE
|
||||
fi
|
||||
|
||||
# Remove all other CLIMATE_TMP_DIR files.
|
||||
rm -f ${CLIMATE_TMP_DIR}/*
|
||||
|
||||
#
|
||||
# create temporary new log file for climate script/exe output
|
||||
#
|
||||
echo "Log file for climate.sh $1 $2 run on = `date` " > $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
chmod 777 $LOGFILE
|
||||
|
||||
#
|
||||
# Check that environment variable for path to climate executables is set
|
||||
#
|
||||
if [ "$CLIMATE_BIN_DIR" = "" ]
|
||||
then
|
||||
echo "In climate.sh: CLIMATE_BIN_DIR not defined in environment! Exiting." >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
else
|
||||
echo "In climate.sh: CLIMATE_BIN_DIR = $CLIMATE_BIN_DIR " >> $LOGFILE
|
||||
fi
|
||||
|
||||
#
|
||||
# Create new period.txt temp file holding AM or PM for the monitor controller.
|
||||
#
|
||||
echo "$1 $2" > period.txt
|
||||
chmod 777 period.txt
|
||||
|
||||
#
|
||||
# Test to see if the the hmMonitor is running (?)
|
||||
#
|
||||
|
||||
#
|
||||
# Set the waiting times for create_climate and format_climate. The waiting
|
||||
# times determine the amount of time the notification server will wait before
|
||||
# sending back a message that the user didn't acknowledge the alert.
|
||||
#
|
||||
fileok="true"
|
||||
if [ -s ${CLIMATE_DATA_DIR}/wait_times.txt ]
|
||||
then
|
||||
if [ `wc -w <${CLIMATE_DATA_DIR}/wait_times.txt` -eq 2 ]
|
||||
then
|
||||
echo "Reading from ${CLIMATE_DATA_DIR}/wait_times.txt" >> $LOGFILE
|
||||
read wait1 wait2 < ${CLIMATE_DATA_DIR}/wait_times.txt
|
||||
echo "wait1, wait2 = ${wait1}, ${wait2} after file read." >> $LOGFILE
|
||||
if [ ${wait1} -ge 0 -a ${wait2} -ge 0 ]
|
||||
then
|
||||
export DATA_WAIT_TIME=$wait1
|
||||
export PRODUCT_WAIT_TIME=$wait2
|
||||
echo "data wait = $DATA_WAIT_TIME" >> $LOGFILE
|
||||
echo "product wait = $PRODUCT_WAIT_TIME" >> $LOGFILE
|
||||
else
|
||||
echo "Warning: Improper entries in wait_times.txt file." >> $LOGFILE
|
||||
echo "Must contain exactly two positive integer values." >> $LOGFILE
|
||||
fileok="false"
|
||||
fi
|
||||
else
|
||||
echo "Warning: Improper number of entries in wait_times.txt file." >> $LOGFILE
|
||||
echo "Must contain exactly two positive integer values." >> $LOGFILE
|
||||
fileok="false"
|
||||
fi
|
||||
else
|
||||
echo "Problem: ${CLIMATE_DATA_DIR}/wait_times.txt file not found." >> $LOGFILE
|
||||
fileok="false"
|
||||
fi
|
||||
|
||||
if [ "$fileok" = "false" ]
|
||||
then
|
||||
echo "Reverting to default times of 20 and 10 minutes:" >> $LOGFILE
|
||||
DATA_WAIT_TIME=20
|
||||
export DATA_WAIT_TIME
|
||||
PRODUCT_WAIT_TIME=10
|
||||
export PRODUCT_WAIT_TIME
|
||||
echo "data wait = $DATA_WAIT_TIME" >> $LOGFILE
|
||||
echo "product wait = $PRODUCT_WAIT_TIME" >> $LOGFILE
|
||||
fi
|
||||
|
||||
#
|
||||
# Copy the global file if it exists. Notify the user and bail out if it doesn't.
|
||||
#
|
||||
|
||||
if [ -s ${CLIMATE_DATA_DIR}/global_day ]
|
||||
then
|
||||
echo "Copying ${CLIMATE_DATA_DIR}/global_day" >> $LOGFILE
|
||||
cp ${CLIMATE_DATA_DIR}/global_day ${CLIMATE_TMP_DIR}
|
||||
else
|
||||
echo "Missing or empty ${CLIMATE_DATA_DIR}/global_day file." >> $LOGFILE
|
||||
echo "Halting script execution ..... " >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#
|
||||
# Check and run create_climate executable
|
||||
#
|
||||
echo "Starting create_climate ....... " >> $LOGFILE
|
||||
|
||||
# Make sure that the create_climate executable exists ....
|
||||
|
||||
if [ ! -s ${CLIMATE_BIN_DIR}/create_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/create_climate executable does not exist!" >> $LOGFILE
|
||||
echo "Halting climate.sh script execution .... " >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
else if [ ! -x ${CLIMATE_BIN_DIR}/create_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/create_climate does not have execute permission!" >> $LOGFILE
|
||||
echo "Halting climate.sh script execution .... " >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
${CLIMATE_BIN_DIR}/create_climate $1 $2 >> $LOGFILE 2>> $LOGFILE
|
||||
|
||||
# Test the return status of this routine
|
||||
|
||||
create_status=$?
|
||||
|
||||
case $create_status in
|
||||
0)
|
||||
# Successful run of create_climate, and either data wait is 0,
|
||||
# or user responded to Edit Climate Data notification.
|
||||
# Must make a decision what to do here - continue or exit.
|
||||
#
|
||||
# If the data wait time is 0, we want to continue in this
|
||||
# script with display_climate, but without bringing
|
||||
# up its GUI. Otherwise, this script should exit,
|
||||
# since control has been given to the script
|
||||
# display.sh based on user response to notification.
|
||||
#
|
||||
echo "create_climate returned a value of 0." >> $LOGFILE
|
||||
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
killpid
|
||||
fi
|
||||
|
||||
if [ ${DATA_WAIT_TIME} -eq 0 ]
|
||||
then
|
||||
# Treat this situation the same as a notification timeout.
|
||||
# Must reset create_status to non-zero for use as arg in call
|
||||
# to display_climate, to prevent displaying the editor.
|
||||
#
|
||||
echo "DATA_WAIT_TIME is 0 -- continuing in climate.sh w/o data editor." >> $LOGFILE
|
||||
create_status=1
|
||||
else
|
||||
##############################################################
|
||||
# Control will go over to display.sh, climate.sh exiting.
|
||||
#
|
||||
# But first set write permissions on all files in tmp directory
|
||||
# except RecCli pipes.
|
||||
##############################################################
|
||||
|
||||
ls * | grep -v .dat |
|
||||
while read fn
|
||||
do
|
||||
chmod a+w $fn
|
||||
done
|
||||
|
||||
exit 0
|
||||
fi
|
||||
;;
|
||||
1)
|
||||
# Successful run where wait > 0, but notification timed out without
|
||||
# user response. Must continue in climate.sh w/o data editor.
|
||||
#
|
||||
echo "create_climate returned a value of 1." >> $LOGFILE
|
||||
echo "Continuing in climate.sh w/o displaying data editor." >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
killpid
|
||||
fi
|
||||
;;
|
||||
3)
|
||||
# Some kind of error occurred in create_climate.
|
||||
echo "create_climate returned a value of 3." >> $LOGFILE
|
||||
echo "Halting the execution of climate.sh script." >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
;;
|
||||
4)
|
||||
echo "create_climate returned a value of 4." >> $LOGFILE
|
||||
echo "User pressed Cancel during manual run." >> $LOGFILE
|
||||
echo "Halting the execution of climate.sh script." >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
echo "create_climate returned an unexpected value of $create_status."
|
||||
echo "Halting the execution of climate.sh script." >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
# If here, then create_status is not 0, so run display_climate without the GUI.
|
||||
# Otherwise, this script should have exited above, and all the following
|
||||
# would have been done by display.sh script called from hmMonitor.tcl.
|
||||
|
||||
echo "Starting display_climate in climate.sh $1 $2 ....... " >> $LOGFILE
|
||||
|
||||
# Make sure that the display_climate executable exists and can be run.
|
||||
|
||||
if [ ! -s ${CLIMATE_BIN_DIR}/display_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/display_climate executable does not exist!" >> $LOGFILE
|
||||
echo "Halting climate.sh script execution .... " >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
else
|
||||
if [ ! -x ${CLIMATE_BIN_DIR}/display_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/display_climate does not have execute permission!" >> $LOGFILE
|
||||
echo "Halting climate.sh script execution .... " >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
${CLIMATE_BIN_DIR}/display_climate $1 $2 $create_status >> $LOGFILE 2>>$LOGFILE
|
||||
|
||||
# Make sure that display_climate did its thing correctly
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "display_climate returned an error in climate.sh. Stopping execution. " >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Returned from display_climate in climate.sh $1 $2, continuing..." >> $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
|
||||
# Copy the files generated by set_up_climate
|
||||
|
||||
cp -i ${CLIMATE_DATA_DIR}/*_$2_* ${CLIMATE_TMP_DIR}
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "The copy of the files generated by set_up_climate failed in climate.sh" >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#
|
||||
# Check to see if the new ifps-ccc.env site file exists and if so, extract the
|
||||
# necessary environment variables and set them for climate. If unavailable,
|
||||
# notify user and log errors.
|
||||
#
|
||||
echo "Getting WFO Name and local Time Zone from IFPS file." >> $LOGFILE
|
||||
ifpsfile="/awips/adapt/ifps/localbin/ifps-${ICWF_SITE}.env"
|
||||
ourcopy="${CLIMATE_TMP_DIR}/ifps-${ICWF_SITE}.env"
|
||||
haveifps="true"
|
||||
|
||||
if [ -s $ifpsfile ]
|
||||
then
|
||||
export IFPS_SITE_OFFICE_NAME
|
||||
export IFPS_SITE_TIMEZONE
|
||||
cp $ifpsfile $ourcopy
|
||||
IFPS_SITE_OFFICE_NAME=`grep "IFPS_SITE_OFFICE_NAME=" $ourcopy | cut -f2 -d= | sed -e "s/\"//g" | sed -e "s/'//g"`
|
||||
echo "IFPS_SITE_OFFICE_NAME = $IFPS_SITE_OFFICE_NAME" >> $LOGFILE
|
||||
IFPS_SITE_TIMEZONE=`grep "IFPS_SITE_TIMEZONE=" $ourcopy | cut -f2 -d=`
|
||||
echo "IFPS_SITE_TIMEZONE = $IFPS_SITE_TIMEZONE" >> $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
|
||||
if [ "$IFPS_SITE_OFFICE_NAME" = "" -o "$IFPS_SITE_TIMEZONE" = "" ]
|
||||
then
|
||||
echo "WARNING! IFPS_SITE_OFFICE_NAME and/or IFPS_SITE_TIMEZONE not defined in file:" >> $LOGFILE
|
||||
echo " ${ifpsfile}" >> $LOGFILE
|
||||
echo "NWWS Climate products will have wrong time zone and/or WFO name!" >> $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
haveifps="false"
|
||||
fi
|
||||
else
|
||||
haveifps="false"
|
||||
echo "" >> $LOGFILE
|
||||
echo "IFPS environment file $ifpsfile not found." >> $LOGFILE
|
||||
echo "NWWS Climate products will have wrong time zone and/or WFO name!" >> $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
fi
|
||||
|
||||
# Make sure the format climate executable exists and has execute permission.
|
||||
|
||||
if [ ! -s ${CLIMATE_BIN_DIR}/format_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/format_climate executable does not exist!" >> $LOGFILE
|
||||
echo "Halting script execution .... " >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
else if [ ! -x ${CLIMATE_BIN_DIR}/format_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/format_climate does not have execute permission!" >> $LOGFILE
|
||||
echo "Halting script execution .... " >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Run format climate
|
||||
|
||||
echo "" >> $LOGFILE
|
||||
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
format_flag=1
|
||||
echo "Manual run, allowing Edit Product Data notification in format_climate," >> $LOGFILE
|
||||
echo "contingent on PRODUCT_WAIT_TIME being non-zero." >> $LOGFILE
|
||||
else
|
||||
format_flag=0
|
||||
echo "Auto run, disallowing Edit Product Data notification in format_climate" >> $LOGFILE
|
||||
echo "since no DISPLAY available to climate processes running on DS." >> $LOGFILE
|
||||
fi
|
||||
|
||||
echo "format_flag is $format_flag in climate.sh" >> $LOGFILE
|
||||
echo "Starting format_climate in climate.sh $1 $2 ....... " >> $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
|
||||
${CLIMATE_BIN_DIR}/format_climate $1 $2 $format_flag 0 >> $LOGFILE 2>&1
|
||||
|
||||
format_status=$?
|
||||
|
||||
echo "" >> $LOGFILE
|
||||
echo "Returned from format_climate in climate.sh" >> $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
|
||||
# Set write permissions on all files in tmp directory
|
||||
|
||||
ls * | grep -v .dat |
|
||||
while read fn
|
||||
do
|
||||
chmod a+w $fn
|
||||
done
|
||||
|
||||
echo "Climate has completed its run. Reporting status:" >> $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
|
||||
# Check to make sure that format_climate ran to completion
|
||||
#
|
||||
case $format_status in
|
||||
0)
|
||||
echo "format_climate returned a value of 0, for success." >> $LOGFILE
|
||||
echo "RecordClimate also returned a value of 0, for success." >> $LOGFILE
|
||||
|
||||
# Delete the two temporary .dat files used for RecordClimate
|
||||
rm -f ${CLIMATE_TMP_DIR}/*.dat
|
||||
|
||||
if [ "$haveifps" = "false" ]
|
||||
then
|
||||
echo "However, IFPS environment file problems were encountered, see preceding messages." >> $LOGFILE
|
||||
echo "Climate exiting with a report of an error due to this situation." >> $LOGFILE
|
||||
fi
|
||||
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
if [ "$haveifps" = "false" ]
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
else
|
||||
success.tcl &
|
||||
fi
|
||||
killpid
|
||||
fi
|
||||
;;
|
||||
1)
|
||||
echo "format_climate returned a value of 1. This means the program" >> $LOGFILE
|
||||
echo "encountered an invalid input argument, was aborted by user, or" >> $LOGFILE
|
||||
echo "had problems invoking a non-climate process." >> $LOGFILE
|
||||
echo " - Check the format_climate log file for details." >> $LOGFILE
|
||||
|
||||
if [ "$haveifps" = "false" ]
|
||||
then
|
||||
echo "Also, IFPS environment file problems were encountered, see preceding messages." >> $LOGFILE
|
||||
echo "Climate exiting with a report of an error due to this situation." >> $LOGFILE
|
||||
fi
|
||||
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
;;
|
||||
3)
|
||||
echo "format_climate returned a value of 3, fatal database (dis)connect error." >> $LOGFILE
|
||||
echo "Halting the execution of climate.sh script." >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
;;
|
||||
5)
|
||||
echo "format_climate ran successfully, but RecordClimate returned errors within format_climate.">>$LOGFILE
|
||||
echo "Please see logfile for recordClimate under ${LOG_FILE}">>$LOGFILE
|
||||
|
||||
rm -f ${CLIMATE_TMP_DIR}/*.dat
|
||||
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "format_climate returned an unexpected value of $create_status." >> $LOGFILE
|
||||
echo "Halting the execution of climate.sh script." >> $LOGFILE
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
$CLIMATE_BIN_DIR/error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
85
nativeLib/files.native/adapt/climate/bin/Linux/climate_man
Executable file
|
@ -0,0 +1,85 @@
|
|||
#!/bin/csh
|
||||
# This is the script to execute the morning climate
|
||||
# summary.
|
||||
|
||||
#setenv DB_VERIFICATION verify41
|
||||
#setenv INFORMIXDIR /opt/informix
|
||||
#setenv INFORMIXSERVER ONLINE
|
||||
#setenv DBSERVERNAME ONLINE
|
||||
|
||||
# Set the paths
|
||||
|
||||
#echo ${CLIMATE_DIR} > tmp.txt
|
||||
|
||||
set CLIMATE_DATA_DIR=${CLIMATE_DIR}/data
|
||||
|
||||
#echo ${CLIMATE_DATA_DIR} >> tmp.txt
|
||||
|
||||
set CLIMATE_BIN_DIR=${CLIMATE_DIR}/bin
|
||||
|
||||
#echo ${CLIMATE_BIN_DIR} >> tmp.txt
|
||||
|
||||
set CLIMATE_TMP_DIR=${CLIMATE_DIR}/tmp
|
||||
|
||||
#######################################
|
||||
#
|
||||
# Change the directory to the temporary
|
||||
# climate directory
|
||||
|
||||
cd ${CLIMATE_TMP_DIR}
|
||||
|
||||
#######################################
|
||||
# Set the waiting times for the
|
||||
# create_climate and format_climate.
|
||||
# The waiting times determine the amount
|
||||
# of time the notification server will
|
||||
# wait before sending back a message that
|
||||
# the user didn't acknowledge the alert.
|
||||
|
||||
setenv DATA_WAIT_TIME 200
|
||||
|
||||
setenv PRODUCT_WAIT_TIME 100
|
||||
|
||||
# Copy the default versions of the main control
|
||||
# file for the morning run from the data directory
|
||||
# to the bin directory
|
||||
|
||||
# Copy the control file if it exists. Notify the user
|
||||
# if it doesn't
|
||||
|
||||
if (-e ${CLIMATE_DATA_DIR}/control_am) then
|
||||
echo "Copying "${CLIMATE_DATA_DIR}/control_am >> tmp.txt
|
||||
cp ${CLIMATE_DATA_DIR}/control_am ${CLIMATE_TMP_DIR}
|
||||
else
|
||||
echo "Problems with ${CLIMATE_DATA_DIR}/control_am in the climate/data directory" >> tmp.txt
|
||||
endif
|
||||
|
||||
|
||||
# Run create_climate
|
||||
|
||||
echo "Starting create_climate" >> tmp.txt
|
||||
|
||||
${CLIMATE_BIN_DIR}/create_climate auto am >> tmp.txt
|
||||
|
||||
echo "Starting display_climate" >> tmp.txt
|
||||
|
||||
#display_climate auto am $status
|
||||
${CLIMATE_BIN_DIR}/display_climate auto am >> tmp.txt
|
||||
|
||||
# Copy the files generated by set_up_climate from
|
||||
# the data directory to the bin directory. These
|
||||
# are necessary to run format_climate
|
||||
|
||||
cp ${CLIMATE_DATA_DIR}/*_am_* ${CLIMATE_TMP_DIR}
|
||||
|
||||
# Run format climate
|
||||
|
||||
echo "Starting format_climate" >> tmp.txt
|
||||
|
||||
${CLIMATE_BIN_DIR}/format_climate auto am >> tmp.txt
|
||||
|
||||
|
||||
# Remove all temporary files from the tmp directory
|
||||
|
||||
#clean_up_am
|
||||
|
1
nativeLib/files.native/adapt/climate/bin/Linux/create_climate
Symbolic link
|
@ -0,0 +1 @@
|
|||
_main.sh
|
422
nativeLib/files.native/adapt/climate/bin/Linux/create_f6_product
Executable file
|
@ -0,0 +1,422 @@
|
|||
#!/bin/sh
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# This is the script to create and wire f6 products
|
||||
# for the climate program.
|
||||
#
|
||||
# Modification History:
|
||||
# ---------------------
|
||||
# 12/06/2002 OB2 Bob Morris - Removed CLIMATE_BIN_DIR definition, it
|
||||
# is set in readenv.sh. General cleanup.
|
||||
# - Replace -a's in tests.
|
||||
# - Call "error.tcl &" if error in man. run
|
||||
# 01/27/2003 OB2 Bob Morris Changes so kill pid works for BASH and HP.
|
||||
# 02/28/2003 OB2 Bob Morris - Leave RecCli pipe files alone when
|
||||
# deleting old files from CLIMATE_TMP_DIR.
|
||||
# - Add tests/messages for f6 return status
|
||||
# - Add chmod block for tmp files at exit
|
||||
#
|
||||
# 12/13/2005 OB7 Greg Zylstra Added transmitting F-6s over WAN by
|
||||
# incorporating the script transmit_F6.sh
|
||||
# created by Virgil Middendorf.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# Cannot have gui's for automatic (cron) run. Automatic run corresponds
|
||||
# to $1=0.
|
||||
no_gui=$1
|
||||
|
||||
#
|
||||
# Set up the environment for generating and sending the F6 forms.
|
||||
# FXA_HOME needs to be defined before we can proceed.
|
||||
#
|
||||
FXA_HOME=/awips/fxa
|
||||
. $FXA_HOME/readenv.sh
|
||||
|
||||
#
|
||||
# Determine the directory containing the logs of
|
||||
# build_f6 and handleOUP runs.
|
||||
#
|
||||
day=`date +%Y%m%d`
|
||||
case "$HOST"
|
||||
in
|
||||
ws* | lx* )
|
||||
dsplywin=$DISPLAY
|
||||
[ "$dsplywin" = "" ] && dsplywin=":0"
|
||||
logdir=${LOG_DIR}/display/${dsplywin}/${day};;
|
||||
* )
|
||||
logdir=${LOG_DIR}/${day};;
|
||||
esac
|
||||
|
||||
#
|
||||
# Perform some gui stuff if manual run.
|
||||
#
|
||||
if [ "$no_gui" != "0" ]
|
||||
then
|
||||
# Set the following so that `ps -eo pid,args ...` in killpid works in HP-UX.
|
||||
export UNIX95=1
|
||||
#
|
||||
# This function will kill the process id of the "Climate is Running" gui
|
||||
# (wait.tcl). It is used throughout the scripts.
|
||||
#
|
||||
function killpid {
|
||||
pid_func=`ps -eo pid,args | grep -E 'wish[ ].*wait.tcl' | awk '{print $1}'`
|
||||
if test "$pid_func" != ""
|
||||
then
|
||||
kill $pid_func 2> /dev/null 1> /dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# Kill the prior "Climate has completed successfully" icon, if present.
|
||||
#
|
||||
succpid_func=`ps -eo pid,args | grep -E 'wish[ ].*success.tcl' | awk '{print $1}'`
|
||||
if test "$succpid_func" != ""
|
||||
then
|
||||
kill $succpid_func 2> /dev/null 1> /dev/null
|
||||
fi
|
||||
unset succpid_func
|
||||
fi
|
||||
|
||||
#
|
||||
# Set the file path environment variables
|
||||
#
|
||||
if [ "$CLIMATE_DIR" = "" ]
|
||||
then
|
||||
echo "Fatal error in create_f6_product: CLIMATE_DIR not defined in environment!"
|
||||
echo "Exiting script."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# CLIMATE_BIN_DIR is defined already from sourcing the readenv shell script.
|
||||
# Assume it exists, since this file is called from executables in that directory.
|
||||
CLIMATE_DATA_DIR=${CLIMATE_DIR}/data; export CLIMATE_DATA_DIR
|
||||
CLIMATE_TMP_DIR=${CLIMATE_DIR}/tmp; export CLIMATE_TMP_DIR
|
||||
|
||||
#if [ ! -d ${CLIMATE_BIN_DIR} ]
|
||||
#then
|
||||
# echo "Directory ${CLIMATE_BIN_DIR} does not exist."
|
||||
# echo "Check installation and setup of Climate routines."
|
||||
# echo "Halting create_f6_product script execution .... "
|
||||
# exit 1
|
||||
#fi
|
||||
|
||||
if [ ! -d ${CLIMATE_DATA_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_DATA_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting create_f6_product script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d ${CLIMATE_TMP_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_TMP_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting create_f6_product script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#
|
||||
# Clean the climate tmp directory.
|
||||
# Change to the temporary climate directory and clean out previous run's files,
|
||||
# making sure to leave the RecordClimate*.dat files in place
|
||||
#
|
||||
cd ${CLIMATE_TMP_DIR}
|
||||
ls * | grep -v .dat |
|
||||
while read fn
|
||||
do
|
||||
rm -f $fn
|
||||
done
|
||||
|
||||
# Remove old run's RecordClimate*1.dat regular files, which leaves only the
|
||||
# RecordClimate pipe files in CLIMATE_TMP_DIR
|
||||
#
|
||||
if [ -f ${CLIMATE_TMP_DIR}/RecordClimateRawData1.dat ]
|
||||
then
|
||||
rm ${CLIMATE_TMP_DIR}/RecordClimateRawData1.dat
|
||||
fi
|
||||
|
||||
if [ -f ${CLIMATE_TMP_DIR}/RecordClimateStationInfo1.dat ]
|
||||
then
|
||||
rm ${CLIMATE_TMP_DIR}/RecordClimateStationInfo1.dat
|
||||
fi
|
||||
|
||||
|
||||
# This starts the running clock GUI (wait.tcl) if it's a manual run.
|
||||
# If it's an automatic (cron) run, it will not appear.
|
||||
|
||||
if [ "$no_gui" != "0" ]
|
||||
then
|
||||
wait.tcl &
|
||||
fi
|
||||
|
||||
#
|
||||
# Set up local log file
|
||||
#
|
||||
LOGFILE=${CLIMATE_TMP_DIR}/tmp.txt
|
||||
echo "Create F6 Products run date/time: `date`" > $LOGFILE
|
||||
|
||||
#
|
||||
# Make sure that an executable build_f6 exists ....
|
||||
#
|
||||
if [ ! -s ${CLIMATE_BIN_DIR}/build_f6 ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/build_f6 executable does not exist!" >> $LOGFILE
|
||||
echo "Halting create_f6_product script execution .... " >> $LOGFILE
|
||||
if [ "$no_gui" != "0" ]
|
||||
then
|
||||
error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
else if [ ! -x ${CLIMATE_BIN_DIR}/build_f6 ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/build_f6 does not have execute permission!" >> $LOGFILE
|
||||
echo "Halting create_f6_product script execution .... " >> $LOGFILE
|
||||
if [ "$no_gui" != "0" ]
|
||||
then
|
||||
error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Make sure that the executable textdb exists ....
|
||||
#
|
||||
# comment out this section as this function is done
|
||||
# within build_f6. build_f6 stores nnnLCDmmm and CF6nnn
|
||||
# in the text database, where nnn is the icao_id and mmm
|
||||
# is the first three letters of the month's name.
|
||||
#
|
||||
#if [ ! -s ${FXA_HOME}/bin/textdb ]
|
||||
#then
|
||||
# echo "${FXA_HOME}/bin/textdb executable does not exist!" >> $LOGFILE
|
||||
# echo "Halting create_f6_product script execution .... " >> $LOGFILE
|
||||
# if [ "$no_gui" != "0" ]
|
||||
# then
|
||||
# error.tcl &
|
||||
# killpid
|
||||
# fi
|
||||
# exit 1
|
||||
#else if [ ! -x ${FXA_HOME}/bin/textdb ]
|
||||
# then
|
||||
# echo "${FXA_HOME}/bin/textdb does not have execute permission!" >> $LOGFILE
|
||||
# echo "Halting create_f6_product script execution .... " >> $LOGFILE
|
||||
# if { "$no_gui" != "0" ]
|
||||
# then
|
||||
# error.tcl &
|
||||
# killpid
|
||||
# fi
|
||||
# exit 1
|
||||
# fi
|
||||
#fi
|
||||
|
||||
#
|
||||
# Make sure that the executable handleOUP.pl exists ....
|
||||
#
|
||||
if [ ! -s ${FXA_HOME}/bin/handleOUP.pl ]
|
||||
then
|
||||
echo "${FXA_HOME}/bin/handleOUP.pl executable does not exist!" >> $LOGFILE
|
||||
echo "Halting create_f6_product script execution .... " >> $LOGFILE
|
||||
if [ "$no_gui" != "0" ]
|
||||
then
|
||||
error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
else if [ ! -x ${FXA_HOME}/bin/handleOUP.pl ]
|
||||
then
|
||||
echo "${FXA_HOME}/bin/handleOUP.pl does not have execute permission!" \
|
||||
>> $LOGFILE
|
||||
echo "Halting create_f6_product script execution .... " >> $LOGFILE
|
||||
if [ "$no_gui" != "0" ]
|
||||
then
|
||||
error.tcl &
|
||||
killpid
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Build F-6s and store F-6s in the text database
|
||||
# using executable build_f6.
|
||||
# Standard output and standard error streams
|
||||
# are redirected into the local log file.
|
||||
#
|
||||
${CLIMATE_BIN_DIR}/build_f6 $no_gui $2 1>> $LOGFILE 2>> $LOGFILE
|
||||
|
||||
#
|
||||
# check the return value of build_f6.
|
||||
# A non-zero value indicates trouble, but some F6 forms may have
|
||||
# been created before trouble was encountered. So we will not
|
||||
# exit at this time.
|
||||
#
|
||||
f6_status=$?
|
||||
echo -n "build_f6 status: " >> $LOGFILE
|
||||
case $f6_status in
|
||||
0 ) echo "Successful completion." >> $LOGFILE;;
|
||||
1 ) echo -n "Invalid input argument or " >> $LOGFILE
|
||||
echo " non-climate process error." >> $LOGFILE;;
|
||||
3 ) echo "Database connection error." >> $LOGFILE;;
|
||||
* ) echo "Unknown error ${f6_status}." >> $LOGFILE;;
|
||||
esac
|
||||
|
||||
#
|
||||
# Completed files will have the line "[REMARKS]" in it. Remove any
|
||||
# forms without this line and log the removal.
|
||||
#
|
||||
for file in `ls output_f6_*`
|
||||
do
|
||||
if ! grep REMARKS $file > /dev/null
|
||||
then
|
||||
rm $file
|
||||
echo "Removed incomplete F6 form ${file}." >> $LOGFILE
|
||||
fi
|
||||
done
|
||||
|
||||
#
|
||||
# Make the completed F6 forms writeable
|
||||
#
|
||||
chmod a+w ${CLIMATE_TMP_DIR}/output_f6_*
|
||||
|
||||
#
|
||||
# Compare the month and year of the F6 form with the
|
||||
# current month and year. If they differ, then add
|
||||
# the line "#FINAL-MM-YY#" to the form.
|
||||
#
|
||||
mon_cur=`date +%B | tr '[a-z]' '[A-Z]'`
|
||||
year_cur=`date +%Y`
|
||||
for file in `ls output_f6_*`
|
||||
do
|
||||
mon_f6=`awk '$1 ~ "MONTH" {month=$2};END{print month}' ${file}`
|
||||
year_f6=`awk '$1 ~ "YEAR" {year=$2};END{print year}' ${file}`
|
||||
if [ "$mon_f6" != "$mon_cur" -o "$year_f6" != "$year_cur" ]
|
||||
then
|
||||
mo=`echo ${mon_f6} | awk \
|
||||
'BEGIN{
|
||||
no["JANUARY"]="01";no["FEBRUARY"]="02";
|
||||
no["MARCH"]="03";no["APRIL"]="04"
|
||||
no["MAY"]="05";no["JUNE"]="06"
|
||||
no["JULY"]="07";no["AUGUST"]="08"
|
||||
no["SEPTEMBER"]="09";no["OCTOBER"]="10"
|
||||
no["NOVEMBER"]="11";no["DECEMBER"]="12"}
|
||||
{print no[$1]}'`
|
||||
yr=`echo ${year_f6} | cut -c3-4`
|
||||
echo "#FINAL-${mo}-${yr}#" >> $file
|
||||
fi
|
||||
cp -f ${CLIMATE_TMP_DIR}/${file} ${CLIMATE_DATA_DIR}
|
||||
done
|
||||
|
||||
#
|
||||
# Set write permissions on all files in /tmp except RecCli pipe files
|
||||
#
|
||||
ls * | grep -v .dat |
|
||||
while read file
|
||||
do
|
||||
chmod a+w $file
|
||||
done
|
||||
|
||||
#
|
||||
#Transmit those F6 forms listed in the afos2awips.txt file
|
||||
#
|
||||
xmt_status=0
|
||||
|
||||
#################################################################################
|
||||
# An awips_id does not necessarily start with "K". No env var associates with it
|
||||
# Determine the "prefix" as the following.
|
||||
#
|
||||
tmp_id_list=`cat ${FXA_HOME}/data/afos2awips.txt | awk '{print $3}' | grep ${FXA_LOCAL_SITE}`
|
||||
|
||||
for id in $tmp_id_list
|
||||
do
|
||||
tmp=`echo ${id} | cut -c2-4`
|
||||
if [ "${FXA_LOCAL_SITE}" = "${tmp}" ]
|
||||
then
|
||||
prefix=`echo ${id} | cut -c1`
|
||||
break;
|
||||
fi
|
||||
done
|
||||
################################################################################
|
||||
|
||||
awips_id=${prefix}${FXA_LOCAL_SITE}
|
||||
xmt_list=`grep ${NODE}CF6 ${FXA_HOME}/data/afos2awips.txt \
|
||||
| grep $awips_id | awk '{print $1}'`
|
||||
cf6_list=`ls output_f6_*`
|
||||
for file in $cf6_list
|
||||
do
|
||||
stn=`echo ${file} | cut -c12-14`
|
||||
cf6_file=${NODE}CF6${stn}
|
||||
transmit=1
|
||||
for xmt_file in $xmt_list
|
||||
do
|
||||
[ "${xmt_file}" = "${cf6_file}" ] && transmit=0
|
||||
done
|
||||
if [ "$transmit" = "0" ]
|
||||
then
|
||||
${FXA_HOME}/bin/handleOUP.pl -r ALL ${awips_id}CF6${stn} \
|
||||
${CLIMATE_DATA_DIR}/$file >> $LOGFILE 2>> $LOGFILE
|
||||
xmit_status=$?
|
||||
if [ "$xmit_status" = "0" ]
|
||||
then
|
||||
echo "${prefix}${cf6_file} sent out as CF6${stn}" >> $LOGFILE
|
||||
xmt_list=`echo ${xmt_list} | sed 's/${cf6_file}//'`
|
||||
else
|
||||
echo "Error in transmitting ${prefix}${cf6_file}." >> $LOGFILE
|
||||
fi
|
||||
else
|
||||
echo "${cf6_file} cannot be transmitted, because" >> $LOGFILE
|
||||
echo "it is not in the local (`hostname`) file: " >> $LOGFILE
|
||||
echo " ${FXA_HOME}/data/awips2afos.txt" >> $LOGFILE
|
||||
fi
|
||||
[ "$xmit_status" != 0 ] && xmt_status=1
|
||||
done
|
||||
|
||||
#
|
||||
# Note the CF6 forms listed in the afos2awips.txt file
|
||||
# that did not get transmitted for one reason or another.
|
||||
#
|
||||
echo " " >> $LOGFILE
|
||||
echo "The following F-6 forms listed in the afos2awips.txt file" >> $LOGFILE
|
||||
echo "were not transmitted over the WAN: " >> $LOGFILE
|
||||
for file in $xmt_list
|
||||
do
|
||||
echo " $file" >> $LOGFILE
|
||||
done
|
||||
|
||||
#
|
||||
# If manual run, remove the "Climate is Running" gui.
|
||||
# Then if the run was successful, put up the success gui
|
||||
# and the climate gui.
|
||||
# Otherwise put up the error gui and spit out an informative
|
||||
# blurb into the local log file about where to get information
|
||||
# about the error.
|
||||
#
|
||||
if [ "$no_gui" != "0" ]
|
||||
then
|
||||
killpid
|
||||
if [ "$f6_status" = "0" -a "$xmt_status" = "0" ]
|
||||
then
|
||||
success.tcl &
|
||||
exec ${CLIMATE_BIN_DIR}/climate &
|
||||
elif [ "$f6_status" != "0" ]
|
||||
then
|
||||
echo "build_f6 error." >> $LOGFILE
|
||||
echo "Check build_f6 log file in ${logdir}." >> $LOGFILE
|
||||
error.tcl &
|
||||
else #[ "$xmt_status" != 0 ]
|
||||
echo "handleOUP.pl error." >> $LOGFILE
|
||||
echo "Check handleOUP log file in ${logdir}." >> $LOGFILE
|
||||
error.tcl &
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Exit with the proper value (0=success, 1=problem)
|
||||
#
|
||||
[ "$f6_status" = 0 ] && [ "$xmt_status" = 0 ] && exit 0
|
||||
exit 1
|
342
nativeLib/files.native/adapt/climate/bin/Linux/display.sh
Executable file
|
@ -0,0 +1,342 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
# This is the script to display and create the public climate products. It
|
||||
# takes over from climate.sh if user responds to new data notification. It
|
||||
# runs in the background, as launched from hmMonitor.tcl
|
||||
#
|
||||
# Modification History:
|
||||
# ---------------------
|
||||
# 12/05/2002 OB2 Bob Morris - Removed CLIMATE_BIN_DIR definition, it
|
||||
# is set in readenv.sh.
|
||||
# - Replace -a's in tests.
|
||||
# - Replace /adapt_apps/ with /climate/
|
||||
# - Set env vars. IFPS_SITE_OFFICE_NAME
|
||||
# and IFPS_SITE_TIMEZONE for format_cli.
|
||||
# - General cleanup.
|
||||
# 01/27/2003 OB2 Bob Morris - Fix path to catRecordClimateData.sh
|
||||
# - Made killpid work in both BASH, HP
|
||||
# 02/03/2003 OB2 Bob Morris - Modified recordClimate remsh/rsh logic,
|
||||
# and pass log file as argument.
|
||||
# 02/11/2003 OB2 Bob Morris - Modified ifps env vars set logic, strip
|
||||
# quotes from IFPS_SITE_OFFICE_NAME
|
||||
# 03/28/2003 OB2 Bob Morris - Fix env var ID for IFPS_SITE_OFFICE_NAME
|
||||
# and modified recordClimate logic/messages
|
||||
# 04/04/2003 OB2 Bob Morris - Synchonize with climate.sh's messages
|
||||
#
|
||||
# 11/14/2003 OB4 Manan Dalal - Removed all occurences of r-commands
|
||||
# 10/28/2004 OB5 Manan Dalal - Removing everything, including pipe files
|
||||
# from CLIMATE_TMP_DIR. Pipe files are no
|
||||
# longer necessary.
|
||||
##############################################################################
|
||||
|
||||
# Set the following so that `ps -eo pid,args ...` in killpid works in HP-UX.
|
||||
export UNIX95=1
|
||||
|
||||
#
|
||||
# This function will kill the process id of the "Climate is Running" gui
|
||||
# (wait.tcl). It is used throughout the scripts.
|
||||
#
|
||||
function killpid {
|
||||
pid_func=`ps -eo pid,args | grep -E 'wish[ ].*wait.tcl' | awk '{print $1}'`
|
||||
#echo "pid_func in killpid is $pid_func"
|
||||
if test "$pid_func" != ""
|
||||
then
|
||||
kill $pid_func 2> /dev/null 1> /dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
#
|
||||
# Change the directory to the temporary
|
||||
# climate directory. But,
|
||||
# before trying to switch to the directory, first make sure that
|
||||
# it exists...
|
||||
#
|
||||
#
|
||||
# Set the file path environment variables
|
||||
#
|
||||
|
||||
if [ "$CLIMATE_DIR" = "" ]
|
||||
then
|
||||
echo "Fatal error in display.sh: CLIMATE_DIR not defined in environment! Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CLIMATE_DATA_DIR=${CLIMATE_DIR}/data; export CLIMATE_DATA_DIR
|
||||
CLIMATE_TMP_DIR=${CLIMATE_DIR}/tmp; export CLIMATE_TMP_DIR
|
||||
|
||||
if [ ! -d ${CLIMATE_DATA_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_DATA_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting display.sh script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d ${CLIMATE_TMP_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_TMP_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting display.sh script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd ${CLIMATE_TMP_DIR}
|
||||
LOGFILE=${CLIMATE_TMP_DIR}/tmp.txt
|
||||
|
||||
#
|
||||
# Display the running clock GUI which lets user know climate is running.
|
||||
#
|
||||
wait.tcl &
|
||||
|
||||
echo "" >> $LOGFILE
|
||||
echo "Starting display_climate $1 $2 in display.sh...... " >> $LOGFILE
|
||||
|
||||
# Make sure that the display_climate executable exists and can be run.
|
||||
|
||||
if [ ! -s ${CLIMATE_BIN_DIR}/display_climate ]
|
||||
then
|
||||
echo "The display_climate executable does not exist!" >> $LOGFILE
|
||||
echo "Halting display.sh script execution .... " >> $LOGFILE
|
||||
error.tcl &
|
||||
killpid
|
||||
exit 1
|
||||
else if [ ! -x ${CLIMATE_BIN_DIR}/display_climate ]
|
||||
then
|
||||
echo "display_climate does not have execute permission!" >> $LOGFILE
|
||||
echo "Halting display.sh script execution .... " >> $LOGFILE
|
||||
error.tcl &
|
||||
killpid
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
${CLIMATE_BIN_DIR}/display_climate $1 $2 0 >>$LOGFILE 2>>$LOGFILE
|
||||
|
||||
# Make sure that display_climate did its thing correctly
|
||||
|
||||
display_status=$?
|
||||
|
||||
if [ $display_status -ne 0 ]
|
||||
then
|
||||
# echo "display climate status =$display_status "
|
||||
echo "display_climate returned an error in display.sh. Stopping execution. " >> $LOGFILE
|
||||
error.tcl &
|
||||
killpid
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Returned from display_climate in display.sh $1 $2, continuing..." >> $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
|
||||
# Copy the files generated by set_up_climate
|
||||
|
||||
cp ${CLIMATE_DATA_DIR}/*_$2_* ${CLIMATE_TMP_DIR}
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "display.sh: The copy of the files generated by set_up_climate failed." >> $LOGFILE
|
||||
error.tcl &
|
||||
killpid
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#
|
||||
# Set the waiting times for format_climate. The waiting time determines the
|
||||
# amount of time the notification server will wait before sending back a
|
||||
# message that the user didn't acknowledge the alert. Ignore the first wait
|
||||
# time (don't set DATA_WAIT_TIME) except for value-checking file entries.
|
||||
#
|
||||
fileok="true"
|
||||
if [ -s ${CLIMATE_DATA_DIR}/wait_times.txt ]
|
||||
then
|
||||
if [ `wc -w <${CLIMATE_DATA_DIR}/wait_times.txt` -eq 2 ]
|
||||
then
|
||||
echo "display.sh: Reading from ${CLIMATE_DATA_DIR}/wait_times.txt" >> $LOGFILE
|
||||
read wait1 wait2 < ${CLIMATE_DATA_DIR}/wait_times.txt
|
||||
echo "wait1, wait2 = ${wait1}, ${wait2} after file read." >> $LOGFILE
|
||||
if [ ${wait1} -ge 0 -a ${wait2} -ge 0 ]
|
||||
then
|
||||
export PRODUCT_WAIT_TIME=$wait2
|
||||
echo "product wait = $PRODUCT_WAIT_TIME" >> $LOGFILE
|
||||
else
|
||||
echo "Warning: Improper entries in wait_times.txt file." >> $LOGFILE
|
||||
echo "Must contain exactly two positive integer values." >> $LOGFILE
|
||||
fileok="false"
|
||||
fi
|
||||
else
|
||||
echo "Warning: Improper number of entries in wait_times.txt file." >> $LOGFILE
|
||||
echo "Must contain exactly two positive integer values." >> $LOGFILE
|
||||
fileok="false"
|
||||
fi
|
||||
else
|
||||
echo "Problem: ${CLIMATE_DATA_DIR}/wait_times.txt file not found." >> $LOGFILE
|
||||
fileok="false"
|
||||
fi
|
||||
|
||||
if [ "$fileok" = "false" ]
|
||||
then
|
||||
echo "display.sh: Reverting to default time of 10 minutes:" >> $LOGFILE
|
||||
PRODUCT_WAIT_TIME=10
|
||||
export PRODUCT_WAIT_TIME
|
||||
echo "product wait = $PRODUCT_WAIT_TIME" >> $LOGFILE
|
||||
fi
|
||||
|
||||
# Prepare to run format_climate program
|
||||
#
|
||||
# Remove old run's RecordClimate*.dat files before running format_climate
|
||||
#
|
||||
|
||||
rm -f *.dat
|
||||
|
||||
#
|
||||
# Check to see if the new ifps-ccc.env site file exists and if so, extract the
|
||||
# necessary environment variables and set them for climate. If unavailable,
|
||||
# notify user and log errors.
|
||||
#
|
||||
echo "display.sh: Getting WFO Name and local Time Zone from IFPS file." >> $LOGFILE
|
||||
ifpsfile="/awips/adapt/ifps/localbin/ifps-${ICWF_SITE}.env"
|
||||
ourcopy="${CLIMATE_TMP_DIR}/ifps-${ICWF_SITE}.env"
|
||||
haveifps="true"
|
||||
|
||||
if [ -s $ifpsfile ]
|
||||
then
|
||||
export IFPS_SITE_OFFICE_NAME
|
||||
export IFPS_SITE_TIMEZONE
|
||||
cp $ifpsfile $ourcopy
|
||||
IFPS_SITE_OFFICE_NAME=`grep "IFPS_SITE_OFFICE_NAME=" $ourcopy | cut -f2 -d= | sed -e "s/\"//g" | sed -e "s/'//g"`
|
||||
echo "IFPS_SITE_OFFICE_NAME = $IFPS_SITE_OFFICE_NAME" >> $LOGFILE
|
||||
IFPS_SITE_TIMEZONE=`grep "IFPS_SITE_TIMEZONE=" $ourcopy | cut -f2 -d=`
|
||||
echo "IFPS_SITE_TIMEZONE = $IFPS_SITE_TIMEZONE" >> $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
|
||||
if [ "$IFPS_SITE_OFFICE_NAME" = "" -o "$IFPS_SITE_TIMEZONE" = "" ]
|
||||
then
|
||||
echo "WARNING! IFPS_SITE_OFFICE_NAME and/or IFPS_SITE_TIMEZONE not defined in file:" >> $LOGFILE
|
||||
echo " ${ifpsfile}" >> $LOGFILE
|
||||
echo "NWWS Climate products will have wrong time zone and/or WFO name!" >> $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
haveifps="false"
|
||||
fi
|
||||
else
|
||||
haveifps="false"
|
||||
echo "" >> $LOGFILE
|
||||
echo "IFPS environment file $ifpsfile not found." >> $LOGFILE
|
||||
echo "NWWS Climate products will have wrong time zone and/or WFO name!" >> $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
fi
|
||||
|
||||
|
||||
# Make sure that the format climate executable exists and has execute permission.
|
||||
|
||||
if [ ! -s ${CLIMATE_BIN_DIR}/format_climate ]
|
||||
then
|
||||
echo "The format_climate executable does not exist!" >> $LOGFILE
|
||||
echo "Halting script execution .... " >> $LOGFILE
|
||||
error.tcl &
|
||||
killpid
|
||||
exit 1
|
||||
else if [ ! -x ${CLIMATE_BIN_DIR}/format_climate ]
|
||||
then
|
||||
echo "Format_climate does not have execute permission!" >> $LOGFILE
|
||||
echo "Halting script execution .... " >> $LOGFILE
|
||||
error.tcl &
|
||||
killpid
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "" >> $LOGFILE
|
||||
echo "display.sh: Starting format_climate ....... " >> $LOGFILE 2>>$LOGFILE
|
||||
|
||||
format_flag=1
|
||||
#echo "format_flag = $format_flag"
|
||||
echo "" >> $LOGFILE
|
||||
|
||||
${CLIMATE_BIN_DIR}/format_climate $1 $2 $format_flag 0 >> $LOGFILE 2>&1
|
||||
|
||||
format_status=$?
|
||||
|
||||
echo "" >> $LOGFILE
|
||||
echo "Returned from format_climate in display.sh" >> $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
|
||||
echo "Climate has completed its run. Reporting status:" >> $LOGFILE
|
||||
echo "" >> $LOGFILE
|
||||
|
||||
# Check to make sure that format_climate ran to completion
|
||||
|
||||
case $format_status in
|
||||
0)
|
||||
killpid
|
||||
|
||||
if [ "$recordClimate" != "NO" -a "$haveifps" = "true" ]
|
||||
then
|
||||
success.tcl &
|
||||
echo "display.sh: format_climate returned a value of 0. Climate returned no errors." >> $LOGFILE
|
||||
echo "display.sh: recordClimate also returned a value of 0, for success." >> $LOGFILE
|
||||
else
|
||||
echo "display.sh: format_climate returned a value of 0, for success." >> $LOGFILE
|
||||
echo "display.sh: recordClimate also returned a value of 0, for success." >> $LOGFILE
|
||||
|
||||
# Remove *.dat file now that they are not needed.
|
||||
rm -f ${CLIMATE_TMP_DIR}/*.dat
|
||||
|
||||
if [ "$haveifps" = "false" ]
|
||||
then
|
||||
echo "However, IFPS environment file problems were encountered, see preceding messages." >> $LOGFILE
|
||||
fi
|
||||
|
||||
echo "Climate exiting with a report of an error due to this situation." >> $LOGFILE
|
||||
error.tcl &
|
||||
fi
|
||||
;;
|
||||
1)
|
||||
echo "format_climate returned a value of 1. This means the program" >> $LOGFILE
|
||||
echo "encountered an invalid input argument, was aborted by user, or" >> $LOGFILE
|
||||
echo "had problems invoking a non-climate process." >> $LOGFILE
|
||||
echo " - Check the format_climate log file for details." >> $LOGFILE
|
||||
|
||||
if [ "$haveifps" = "false" ]
|
||||
then
|
||||
echo "" >> $LOGFILE
|
||||
echo "Also, IFPS environment file problems were encountered, see preceding messages." >> $LOGFILE
|
||||
echo "Climate exiting with reported errors due to these situations." >> $LOGFILE
|
||||
fi
|
||||
|
||||
killpid
|
||||
error.tcl &
|
||||
;;
|
||||
3)
|
||||
echo "display.sh: format_climate returned a value of 3, fatal database (dis)connect error." >> $LOGFILE
|
||||
echo " - Check the format_climate log file for details." >> $LOGFILE
|
||||
killpid
|
||||
error.tcl &
|
||||
exit 1
|
||||
;;
|
||||
5)
|
||||
echo "RecordClimate returned error while running within format_climate." >> $LOGFILE
|
||||
echo "See preceding messages for details." >> $LOGFILE
|
||||
echo "This problem does not imply that RER would have been created - record" >>$LOGFILE
|
||||
echo "may have occurred only at station not in NWWS CLI setup." >> $LOGFILE
|
||||
echo "Climate exiting with a report of an error due to this situation." >> $LOGFILE
|
||||
|
||||
rm -f ${CLIMATE_TMP_DIR}/*.dat
|
||||
|
||||
if test "$1" != "auto"
|
||||
then
|
||||
error.tcl &
|
||||
killpid
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "display.sh: format_climate returned an unexpected value of $create_status."
|
||||
echo " - Check the format_climate log file for details." >> $LOGFILE
|
||||
killpid
|
||||
error.tcl &
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
1
nativeLib/files.native/adapt/climate/bin/Linux/display_climate
Symbolic link
|
@ -0,0 +1 @@
|
|||
_main.sh
|
1
nativeLib/files.native/adapt/climate/bin/Linux/do_all_climate
Symbolic link
|
@ -0,0 +1 @@
|
|||
_main.sh
|
121
nativeLib/files.native/adapt/climate/bin/Linux/error.tcl
Executable file
|
@ -0,0 +1,121 @@
|
|||
#!/bin/sh
|
||||
# the next line restarts using wish \
|
||||
exec wish "$0" "$@"
|
||||
#################################################################################
|
||||
#
|
||||
# error.tcl
|
||||
#
|
||||
# Purpose
|
||||
# This script notifies the user with a tcl button that climate has
|
||||
# ended with an error.
|
||||
#
|
||||
# BER January 2000
|
||||
#
|
||||
#################################################################################
|
||||
proc read_file {filename} {
|
||||
set data ""
|
||||
|
||||
if { [file readable $filename] } {
|
||||
|
||||
set fileid [open $filename "r"]
|
||||
set data [read $fileid]
|
||||
close $fileid
|
||||
}
|
||||
|
||||
return $data
|
||||
}
|
||||
###########################################
|
||||
proc read_into_text {textwidget filename} {
|
||||
set data [read_file $filename]
|
||||
$textwidget delete 1.0 end
|
||||
$textwidget insert end $data
|
||||
|
||||
}
|
||||
|
||||
############################################
|
||||
proc file_write { filename $data } {
|
||||
|
||||
return [catch {
|
||||
set fileid [open $filename "w"]
|
||||
puts -nonewline $fileid $data
|
||||
close $fileid
|
||||
}]
|
||||
}
|
||||
##############################################
|
||||
proc error_log_window {w} {
|
||||
|
||||
global env
|
||||
|
||||
wm withdraw $w
|
||||
toplevel .w
|
||||
wm overrideredirect .w 0
|
||||
|
||||
wm title .w "Climate"
|
||||
wm geometry .w +200+300
|
||||
frame .w.mbar -relief raised -bd 2
|
||||
pack .w.mbar -side top -fill x
|
||||
menubutton .w.mbar.file -text File -underline 0 \
|
||||
-menu .w.mbar.file.menu
|
||||
# menubutton .mbar.help -text Help -underline 0 \
|
||||
# -menu .mbar.help.menu
|
||||
pack .w.mbar.file -side left
|
||||
# pack .mbar.help -side right
|
||||
menu .w.mbar.file.menu
|
||||
# .mbar.file.menu add command -label "Save New Product" -command exit
|
||||
.w.mbar.file.menu add command -label "Close" -command exit
|
||||
|
||||
text .w.text -relief raised -bg white -bd 2 \
|
||||
-yscrollcommand ".w.scroll set" -fg black
|
||||
scrollbar .w.scroll -command ".w.text yview"
|
||||
pack .w.scroll -side right -fill y
|
||||
pack .w.text -side left
|
||||
|
||||
# cd /staging/bld50/adapt/adapt_apps/src/climate/work/tmp
|
||||
cd $env(CLIMATE_DIR)/tmp
|
||||
#CAN"T SEEM TO GET THIS LINE TO WORK!!!
|
||||
|
||||
# set hold
|
||||
|
||||
#exec tail -10 temp.txt < hold.txt
|
||||
#more hold.txt
|
||||
# set hold [read_file tmp.txt]
|
||||
|
||||
# puts $hold
|
||||
|
||||
read_file temp.txt
|
||||
read_into_text .w.text tmp.txt
|
||||
|
||||
return
|
||||
|
||||
}
|
||||
|
||||
################################################
|
||||
proc blink {w option value1 value2 interval} {
|
||||
$w config $option $value1
|
||||
after $interval [list blink $w $option\
|
||||
$value2 $value1 $interval]
|
||||
}
|
||||
################################################
|
||||
wm withdraw .
|
||||
toplevel .error
|
||||
wm title .error "Error"
|
||||
wm geometry .error +1000+400
|
||||
wm overrideredirect .error 1
|
||||
frame .error.nothing -bg black -bd 5 -relief groove
|
||||
pack .error.nothing
|
||||
button .error.nothing.clim -bd 5 -bg red\
|
||||
-image [image create photo -file $env(CLIMATE_DIR)/data/error_blast.gif]
|
||||
# blink .error.nothing -bg red black 500
|
||||
pack .error.nothing.clim
|
||||
button .error.nothing.ok -width 11 -text "View Log File" -bg white -fg black \
|
||||
-highlightcolor white -highlightbackground white -activebackground white\
|
||||
-activeforeground black -command {error_log_window {.error} }
|
||||
button .error.nothing.close -width 4 -text "Close" -bg white -fg black \
|
||||
-highlightcolor white -highlightbackground white -activebackground white\
|
||||
-activeforeground black -command exit
|
||||
pack .error.nothing.ok .error.nothing.close -side left -padx 1m -pady 1m
|
||||
|
||||
|
||||
|
||||
|
||||
|
1
nativeLib/files.native/adapt/climate/bin/Linux/format_climate
Symbolic link
|
@ -0,0 +1 @@
|
|||
_main.sh
|
676
nativeLib/files.native/adapt/climate/bin/Linux/free_text.tcl
Executable file
|
@ -0,0 +1,676 @@
|
|||
#!/bin/sh
|
||||
# the next line restarts using wish \
|
||||
exec wish "$0" "$@"
|
||||
#PROCEDURES
|
||||
#***************************************************************************
|
||||
# Procedure multi_scroll
|
||||
#
|
||||
# Purpose
|
||||
# To enable the scrollbar to be attached to several listboxes at the same
|
||||
# time
|
||||
#
|
||||
# Variables (I=Input) (G=Global) (O=output)
|
||||
# scroll_list (I) List of scroll paths
|
||||
# args (I) List specifying scroll design options
|
||||
#
|
||||
# Returns:
|
||||
# NULL ##!/usr/local/tk/bin/wish -f
|
||||
#
|
||||
# History:
|
||||
# 7/97 Mike Dutter: modified from Welch, Practical Programming in Tcl
|
||||
#
|
||||
# Notes:
|
||||
# None
|
||||
#
|
||||
#***************************************************************************
|
||||
proc multi_scroll {scroll_list args} {
|
||||
|
||||
foreach i $scroll_list {
|
||||
eval {$i yview} $args
|
||||
}
|
||||
return
|
||||
}
|
||||
#***************************************************************************
|
||||
# Procedure multi_scroll2
|
||||
#
|
||||
# Purpose
|
||||
# This allows a scrollbar that is attached to several listboxes to remain
|
||||
# in alignment no matter how the user scrolls.
|
||||
#
|
||||
# Variables (I=Input) (G=Global) (O=output)
|
||||
# scroll_path (I) Tk scroll paths
|
||||
# box_list (I) List of tk-listbox paths
|
||||
# args (I) List specifying scroll design options
|
||||
#
|
||||
# Returns:
|
||||
# NULL
|
||||
#
|
||||
# History:
|
||||
# 5/98 Howard Berger: created
|
||||
#
|
||||
# Notes:
|
||||
# None
|
||||
#
|
||||
#***************************************************************************
|
||||
proc multi_scroll2 {scroll_path box_list args} {
|
||||
|
||||
eval {$scroll_path set} $args
|
||||
foreach box $box_list {
|
||||
eval {$box yview moveto} [lindex $args 0]
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
#******************************************************************************
|
||||
# Procedure clear_Window
|
||||
#
|
||||
# Purpose:
|
||||
# This procedure deletes all of the information in the text window.
|
||||
#
|
||||
# Variables: (I=input) (O=output) (G=global)
|
||||
#
|
||||
# Returns:
|
||||
# NULL
|
||||
#
|
||||
# History:
|
||||
# 4/98 Teresa Peachey Created
|
||||
# 12/99 Dan Zipper Modified
|
||||
# Notes:
|
||||
# Modified from Teresa's clearWindow routine.
|
||||
#******************************************************************************
|
||||
proc clear_Window {} {
|
||||
|
||||
set t3 .f3.text
|
||||
|
||||
set result [tk_messageBox -parent . -title "Clear?" -type yesno -icon warning \
|
||||
-message "Clear the product?\
|
||||
Clear will not save changes."]
|
||||
|
||||
if {$result == "yes"} then {
|
||||
|
||||
# Delete the Text file information
|
||||
$t3 delete 1.0 end
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
#******************************************************************************
|
||||
# Procedure clean_Window
|
||||
#
|
||||
# Purpose:
|
||||
# This procedure deletes all of the information in the text window.
|
||||
#
|
||||
# Variables: (I=input) (O=output) (G=global)
|
||||
#
|
||||
# Returns:
|
||||
# NULL
|
||||
#
|
||||
# History:
|
||||
# 4/98 Teresa Peachey Created
|
||||
# 12/99 Dan Zipper Modified
|
||||
# Notes:
|
||||
# Modified from Teresa's clearWindow routine.
|
||||
#******************************************************************************
|
||||
proc clean_Window {} {
|
||||
|
||||
set t3 .f3.text
|
||||
|
||||
# Delete the Text file information
|
||||
$t3 delete 1.0 end
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
#******************************************************************************
|
||||
# Procedure deleteEntry
|
||||
#
|
||||
# Purpose:
|
||||
# Delete an entry in the selection box.
|
||||
#
|
||||
# Variables: (I=input) (O=output) (G=global)
|
||||
# selection (I) The index number of the list entry to be
|
||||
# deleted
|
||||
# llist (G) List of all listbox paths
|
||||
#
|
||||
# Returns:
|
||||
# NULL
|
||||
#
|
||||
# History:
|
||||
# 4/98 Teresa Peachey Created
|
||||
#
|
||||
# Notes:
|
||||
#
|
||||
#******************************************************************************
|
||||
proc deleteEntry {selection} {
|
||||
|
||||
global llist
|
||||
|
||||
foreach i $llist {
|
||||
if { $selection == ""} {
|
||||
toplevel .error
|
||||
tk_dialog .error "No product selected" \
|
||||
"Select an entry to delete from the list, and try again." \
|
||||
error 0 "OK"
|
||||
} else {
|
||||
$i delete [lindex $selection 0]
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
#****************************************************************************
|
||||
# Procedure delete_line
|
||||
#
|
||||
# Purpose:
|
||||
# Delete a file from the selection list.
|
||||
#
|
||||
# Variables: (I=input) (O=output) (G=global)
|
||||
# None
|
||||
#
|
||||
# Returns:
|
||||
# NULL
|
||||
#
|
||||
# History:
|
||||
# 4/98 Teresa Peachey Created
|
||||
# 12/99 Dan Zipper Modified
|
||||
# Notes:
|
||||
# Modified from Teresa's delete routine
|
||||
#****************************************************************************
|
||||
proc delete_line {} {
|
||||
|
||||
global filename1
|
||||
|
||||
set stnList .f2.frame2.list2
|
||||
|
||||
# Determine which entry has been selected by the user for deletion and
|
||||
# which station that entry represents
|
||||
|
||||
set selection [$stnList curselection]
|
||||
|
||||
if { $selection == ""} then {
|
||||
toplevel .error
|
||||
tk_dialog .error "No product selected" \
|
||||
"Select an entry to delete from the list, and try again." \
|
||||
error 0 "OK"
|
||||
return
|
||||
} else {
|
||||
set result [tk_messageBox -parent . -title "Delete?" -type yesno -icon warning \
|
||||
-message "Delete $filename1 from list?"]
|
||||
|
||||
if {$result == "yes"} then {
|
||||
|
||||
set File [$stnList get $selection]
|
||||
|
||||
deleteEntry $selection
|
||||
|
||||
exec rm $filename1
|
||||
|
||||
clean_Window
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
|
||||
}
|
||||
|
||||
#****************************************************************************
|
||||
# Procedure destory_message
|
||||
#
|
||||
# Purpose:
|
||||
# Delete a file from the selection list.
|
||||
#
|
||||
# Variables: (I=input) (O=output) (G=global)
|
||||
# None
|
||||
#
|
||||
# Returns:
|
||||
# NULL
|
||||
#
|
||||
# History:
|
||||
# 12/99 Dan Zipper Created
|
||||
# Notes:
|
||||
# Modified from Teresa's delete routine
|
||||
#****************************************************************************
|
||||
proc destroy_message {text} {
|
||||
|
||||
if {$text == "continue"} then {
|
||||
|
||||
# set result [tk_messageBox -parent . -title "Accept Climate Run?" \
|
||||
# -type yesno -icon warning ]
|
||||
|
||||
# if {$result == "yes"} then {
|
||||
destroy .tbar .f2 .f3 .buttons . "Review Climate Product"
|
||||
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
# set result [tk_messageBox -parent . -title "Abort Climate Run?" \
|
||||
# -type yesno -icon warning ]
|
||||
|
||||
# \
|
||||
# -message "Choosing 'Yes' will stop the current\
|
||||
# climate session without saving any added data."]
|
||||
|
||||
# if {$result == "yes"} then {
|
||||
|
||||
set return_value 1
|
||||
# destroy .tbar .f2 .f3 .buttons . "Review Climate Product"
|
||||
|
||||
exit 1
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
# return $return_value
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
#******************************************************************************
|
||||
# Procedure list_Press
|
||||
#
|
||||
# Purpose:
|
||||
# This procedure takes several actions when a user selects an entry in the
|
||||
# product list in the Free_text GUI. First it highlights all
|
||||
# items in the same row as that entry. It then places all related
|
||||
# data for the entry into the text box in the GUI.
|
||||
#
|
||||
# Variables: (I=input) (O=output) (G=global)
|
||||
# listbox (I) The name of the listbox that the user has selected
|
||||
# others (I) The names of all the listboxes containing notification
|
||||
# information
|
||||
#
|
||||
# Returns:
|
||||
# NULL
|
||||
#
|
||||
# History:
|
||||
# 4/98 Teresa Peachey Created
|
||||
# 12/99 Dan Zipper Modified
|
||||
# Notes:
|
||||
# Modified from teresa's listPress routine
|
||||
#******************************************************************************
|
||||
proc list_Press {listbox others} {
|
||||
|
||||
set newlist .f2.frame1.list1
|
||||
set index [$listbox curselection]
|
||||
|
||||
# Highlight the corresponding entry in every listbox
|
||||
foreach i $others {
|
||||
$i selection clear 0 end
|
||||
$i selection set $index
|
||||
}
|
||||
|
||||
clean_Window
|
||||
# Write all the related information into the GUI's text window
|
||||
putCliText $listbox
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
#****************************************************************************
|
||||
# Procedure read_file
|
||||
#
|
||||
# Purpose:
|
||||
# This procedure will read a selected output file.
|
||||
#
|
||||
# Variables: (I=input) (O=output) (G=global)
|
||||
# filename (I) The name of the listbox that the user has selected.
|
||||
#
|
||||
# Returns:
|
||||
# NULL
|
||||
#
|
||||
# History:
|
||||
# 12/99 Dan Zipper created
|
||||
#****************************************************************************
|
||||
proc read_file {filename} {
|
||||
|
||||
global filename1
|
||||
set data ""
|
||||
|
||||
if { [file readable $filename] } {
|
||||
|
||||
set fileid [open $filename "r"]
|
||||
set data [read $fileid]
|
||||
close $fileid
|
||||
|
||||
set filename1 $filename
|
||||
|
||||
}
|
||||
|
||||
return $data
|
||||
}
|
||||
|
||||
#****************************************************************************
|
||||
# Procedure read_into_text
|
||||
#
|
||||
# Purpose:
|
||||
# This procedure will read a selected output file into the window.
|
||||
#
|
||||
# Variables: (I=input) (O=output) (G=global)
|
||||
# textwidget (I) name of text_widget where file is being read into.
|
||||
# filename (I) The name of the listbox that the user has selected
|
||||
#
|
||||
# Returns:
|
||||
# NULL
|
||||
#
|
||||
# History:
|
||||
# 12/99 Dan Zipper created
|
||||
#****************************************************************************
|
||||
proc read_into_text {textwidget filename} {
|
||||
set data [read_file $filename]
|
||||
$textwidget insert end $data
|
||||
}
|
||||
|
||||
#****************************************************************************
|
||||
# Procedure file_write
|
||||
#
|
||||
# Purpose:
|
||||
# This procedure will save the new output file into the window.
|
||||
#
|
||||
# Variables: (I=input) (O=output) (G=global)
|
||||
# listbox (I) The name of the listbox that the user has selected
|
||||
# notifArray (G) An array of notification information for each station
|
||||
# w (G) top level for TAF Monitoring Window
|
||||
#
|
||||
# Returns:
|
||||
# NULL
|
||||
#
|
||||
# History:
|
||||
# 12/99 Dan Zipper PRC/TDL
|
||||
#****************************************************************************
|
||||
proc file_write { filename data } {
|
||||
|
||||
set fileid [open $filename "w"]
|
||||
puts -nonewline $fileid $data
|
||||
close $fileid
|
||||
|
||||
}
|
||||
|
||||
#****************************************************************************
|
||||
# Procedure file_save
|
||||
#
|
||||
# Purpose:
|
||||
# This procedure will save the new output file into the window.
|
||||
#
|
||||
# History:
|
||||
# 12/99 Dan Zipper PRC/TDL
|
||||
#****************************************************************************
|
||||
proc file_save {textwidget filename} {
|
||||
|
||||
set result [tk_messageBox -parent . -title "Save?" -type yesno -icon warning \
|
||||
-message "Save $filename?"]
|
||||
|
||||
if {$result == "yes"} then {
|
||||
|
||||
set data [$textwidget get 1.0 end ]
|
||||
file_write $filename $data
|
||||
}
|
||||
|
||||
|
||||
return
|
||||
}
|
||||
#****************************************************************************
|
||||
# Procedure wish_to_send
|
||||
#
|
||||
# Purpose:
|
||||
# This procedure will produce a warning message before saving the product.
|
||||
#
|
||||
# History:
|
||||
# 12/99 Dan Zipper PRC/TDL
|
||||
#****************************************************************************
|
||||
proc wish_to_send {} {
|
||||
|
||||
set result [tk_messageBox -parent . -title "Send?" -type yesno -icon warning \
|
||||
-message "Send the products?\
|
||||
This will send ALL products listed in the window."]
|
||||
|
||||
if {$result == "yes"} then {
|
||||
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
|
||||
#****************************************************************************
|
||||
# Procedure putCliText
|
||||
#
|
||||
# Purpose:
|
||||
# This procedure places detailed notification info into the text window
|
||||
# of the TAF Monitoring GUI when the user selects a particular notification
|
||||
# entry. The information includes the METAR and TAF values for all weather
|
||||
# elements with Amend/Alert notices, the entire TAF for the station ID, and
|
||||
# all the METARs from the past 3 hours.
|
||||
#
|
||||
# Variables: (I=input) (O=output) (G=global)
|
||||
# listbox (I) The name of the listbox that the user has selected
|
||||
# notifArray (G) An array of notification information for each station
|
||||
# w (G) top level for TAF Monitoring Window
|
||||
#
|
||||
# Returns:
|
||||
# NULL
|
||||
#
|
||||
# History:
|
||||
# 4/98 Teresa Peachey Created
|
||||
# 12/99 Dan Zipper Modified
|
||||
# Notes:
|
||||
# Modified from Teresa's putNotifText routine
|
||||
#******************************************************************************
|
||||
proc putCliText {listbox} {
|
||||
|
||||
global textwidget
|
||||
global file_name
|
||||
set t3 .f3.text
|
||||
|
||||
# Determine the station ID for the notification the user has selected
|
||||
set selection [$listbox curselection]
|
||||
set index [lindex $selection 0]
|
||||
set File [.f2.frame1.list1 get $index]
|
||||
|
||||
# Allow modification of text window
|
||||
$t3 config -state normal
|
||||
|
||||
read_into_text .f3.text $File
|
||||
tk_messageBox -icon info -message "This product is now ready to be edited." \
|
||||
-parent .f3.text -title "Edit" -type ok
|
||||
|
||||
|
||||
set textwidget $t3
|
||||
set file_name $File
|
||||
|
||||
return
|
||||
}
|
||||
#*****************************************************************************
|
||||
#
|
||||
#Proc web_page
|
||||
#
|
||||
# This procedure will call up the free_text GUI help page.
|
||||
#
|
||||
#proc web_page { program help_file } {
|
||||
proc web_page {} {
|
||||
|
||||
set err ""
|
||||
|
||||
catch {
|
||||
# eval exec $program $help_file &
|
||||
cd $env(CLIMATE_DIR)/data
|
||||
eval exec netscape help_climo.html 0 &
|
||||
} err
|
||||
|
||||
return $err
|
||||
}
|
||||
#******************************************************************************
|
||||
# MAIN BODY FOR NOW.........................
|
||||
#
|
||||
|
||||
set return_value 1
|
||||
|
||||
wm title . "Review Climate Product"
|
||||
|
||||
# Set up the menu bar with the "File", "Edit" & "Help" submenus
|
||||
frame .tbar -relief raised -bd 2
|
||||
pack .tbar -side top -fill x
|
||||
menubutton .tbar.file -text File -fg black -font -adobe-times-medium-r-normal--19-130-72-72-p-88-hp-roman8 -underline 0\
|
||||
-menu .tbar.file.menu
|
||||
menubutton .tbar.edit -text Edit -fg black -font -adobe-times-medium-r-normal--19-130-72-72-p-88-hp-roman8 -underline 0\
|
||||
-menu .tbar.edit.menu
|
||||
# menubutton .tbar.help -text Help -fg black -font -adobe-times-medium-r-normal--19-130-72-72-p-88-hp-roman8 -underline 0\
|
||||
# -menu .tbar.help.menu
|
||||
pack .tbar.file .tbar.edit -side left
|
||||
# pack .tbar.help -side right
|
||||
|
||||
# Allow the user close the window or stop execution of climate
|
||||
|
||||
set exit "exit"
|
||||
set continue "continue"
|
||||
|
||||
menu .tbar.file.menu -tearoff 0
|
||||
# .tbar.file.menu add separator
|
||||
.tbar.file.menu add command -label "Accept Climate Run" -font -adobe-times-medium-r-normal--17-130-72-72-p-88-hp-roman8 \
|
||||
-command {destroy_message $continue}
|
||||
.tbar.file.menu add command -label "Abort Climate Run" -font -adobe-times-medium-r-normal--17-130-72-72-p-88-hp-roman8 \
|
||||
-command {destroy_message $exit}
|
||||
|
||||
# Allow the user to load the TAF associated with a notification into one of
|
||||
# the editors, or to delete the notification from the GUI window
|
||||
menu .tbar.edit.menu -tearoff 0
|
||||
.tbar.edit.menu add command -label "Save" -font -adobe-times-medium-r-normal--17-130-72-72-p-88-hp-roman8 \
|
||||
-command {file_save $t3 $file_name}
|
||||
.tbar.edit.menu add command -label "Delete" -font -adobe-times-medium-r-normal--17-130-72-72-p-88-hp-roman8 \
|
||||
-command {delete_line}
|
||||
# .tbar.edit.menu add separator
|
||||
# .tbar.edit.menu add command -label "Import New product" \
|
||||
# -font Hel12 \
|
||||
# -command {delete_line}
|
||||
|
||||
# Allow the user to start the help screen in an html-like browser.
|
||||
# menu .tbar.help.menu -tearoff 0
|
||||
# .tbar.help.menu add command -label "Review product help" -font -adobe-times-medium-r-normal--17-130-72-72-p-88-hp-roman8 \
|
||||
# -command {web_page}
|
||||
|
||||
# netscape $env(CLIMATE_DIR)/data/help_climo.html}
|
||||
|
||||
# -command "load_html $env(CLIMATE_DIR)/data/help_climo.html 0"
|
||||
frame .f2
|
||||
# Set up sub-frames to hold each of 2 list boxes and their associated labels
|
||||
# The listboxes contain a "new" indicator, the station id, the time of the
|
||||
# notification, the level of notification, and the types of present conditions
|
||||
# that triggered the notification.
|
||||
|
||||
for {set j 1} {$j <= 2} {incr j} {
|
||||
set f2fr($j) .f2.frame$j
|
||||
set f2list($j) $f2fr($j).list$j
|
||||
set f2t($j) $f2fr($j).title$j
|
||||
lappend llist $f2list($j)
|
||||
}
|
||||
|
||||
|
||||
# THIS SECTION IS CREATING THE SCROLLBAR AND LISTBOXES
|
||||
# Create scrollbar to control all list boxes
|
||||
scrollbar .f2.scroll -command [list multi_scroll $llist]
|
||||
pack .f2.scroll -side right -fill y
|
||||
|
||||
for {set j 1} {$j <= 2} {incr j} {
|
||||
|
||||
# Set the width of the "new" indicator listbox to be narrower than the others
|
||||
if {($j == 1)} {
|
||||
set listwidth 35
|
||||
} else {
|
||||
set listwidth 10
|
||||
}
|
||||
|
||||
frame $f2fr($j)
|
||||
label $f2t($j) -width $listwidth
|
||||
listbox $f2list($j) -height 6 -exportselection off -fg black -bg white\
|
||||
-yscrollcommand [list multi_scroll2 .f2.scroll $llist] \
|
||||
-font Hel13 -width $listwidth -selectmode single -bd 0
|
||||
|
||||
pack $f2list($j) -side bottom -expand true -fill both
|
||||
pack $f2t($j) -side top
|
||||
|
||||
# Do not allow the "new" indicator listbox to expand
|
||||
if {($j == 1)} {
|
||||
pack $f2fr($j) -side left -fill both
|
||||
} else {
|
||||
pack $f2fr($j) -side left -expand true -fill both
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
# Set labels for listboxes
|
||||
set k 1
|
||||
foreach title "{NWWS Climate Reports} {Date} " {
|
||||
$f2t($k) config -text $title -fg black -font -adobe-times-medium-r-normal--19-130-72-72-p-88-hp-roman8
|
||||
incr k
|
||||
}
|
||||
|
||||
# Bind commands to all the listboxes. For the "new" indicator do not bind
|
||||
# the Double-Click.
|
||||
for {set j 1} {$j <= 2} {incr j} {
|
||||
bind $f2list($j) <ButtonRelease-1> [list list_Press $f2list($j) $llist]
|
||||
if { $j != 1} {
|
||||
bind $f2list($j) <Double-Button-1> {openEditor}
|
||||
}
|
||||
}
|
||||
|
||||
pack .f2 -fill x -side top
|
||||
|
||||
frame .f3
|
||||
|
||||
# Set up text window to hold more detailed notification information
|
||||
text .f3.text -state normal -relief raised -fg black -bg white -bd 2 \
|
||||
-width 69 -yscrollcommand ".f3.scroll set"
|
||||
|
||||
set t3 .f3.text
|
||||
|
||||
# Set up table to hold specific METAR and TAF values that are in discrepancy
|
||||
|
||||
|
||||
scrollbar .f3.scroll -command ".f3.text yview"
|
||||
|
||||
pack .f3.scroll -side right -fill y
|
||||
pack $t3 -side left -fill both -expand true
|
||||
|
||||
|
||||
pack .f3.scroll -side right -fill y
|
||||
|
||||
cd $env(CLIMATE_DIR)/tmp
|
||||
|
||||
set files [glob -nocomplain *.nwws]
|
||||
if {$files != ""} {
|
||||
foreach filename $files {
|
||||
$f2list(1) insert end "$filename"
|
||||
set info [file atime $filename]
|
||||
set date1 [clock format $info -format "%c"]
|
||||
$f2list(2) insert end "$date1"
|
||||
}
|
||||
}
|
||||
|
||||
# -state disabled DISABLES BUTTONS
|
||||
#THIS FRAME CREATES THE BUTTONS#
|
||||
|
||||
frame .buttons
|
||||
|
||||
button .buttons.b1 -text "CLEAR" -font -adobe-times-bold-r-normal--17-120-100-100-p-91-iso8859-1 \
|
||||
-fg black -command {clear_Window}
|
||||
button .buttons.b2 -text "DELETE" -font -adobe-times-bold-r-normal--17-120-100-100-p-91-iso8859-1 \
|
||||
-fg black -command {delete_line}
|
||||
button .buttons.b3 -text "SAVE" -font -adobe-times-bold-r-normal--17-120-100-100-p-91-iso8859-1 \
|
||||
-fg black -command {file_save $t3 $file_name}
|
||||
button .buttons.b4 -text "SEND" -font -adobe-times-bold-r-normal--17-120-100-100-p-91-iso8859-1 \
|
||||
-fg black -command wish_to_send
|
||||
pack .buttons.b1 .buttons.b2 .buttons.b3 .buttons.b4\
|
||||
-fill x -side left -padx 40 -expand true
|
||||
|
||||
pack .buttons -side bottom -pady 12
|
||||
|
||||
pack .f3 -side bottom -pady 12 -expand true -fill both
|
1
nativeLib/files.native/adapt/climate/bin/Linux/init_climate
Symbolic link
|
@ -0,0 +1 @@
|
|||
_main.sh
|
88
nativeLib/files.native/adapt/climate/bin/Linux/init_climate_db
Executable file
|
@ -0,0 +1,88 @@
|
|||
#!/bin/sh
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# init_climate_db
|
||||
#
|
||||
# This is the script to run the program to allow a user to manually
|
||||
# initialize historical climate data (records and normals) in database.
|
||||
#
|
||||
#
|
||||
# Modification History:
|
||||
# ---------------------
|
||||
# 12/05/2002 OB2 Bob Morris - Changed from csh to sh
|
||||
# - Removed CLIMATE_BIN_DIR definition, it
|
||||
# is set in readenv.sh. General cleanup.
|
||||
# - Replace -a's in tests.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
#
|
||||
# Set the file path environment variables
|
||||
#
|
||||
|
||||
if [ "$CLIMATE_DIR" = "" ]
|
||||
then
|
||||
echo "Fatal error in init_climate_db: CLIMATE_DIR not defined in environment! Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CLIMATE_DATA_DIR=${CLIMATE_DIR}/data; export CLIMATE_DATA_DIR
|
||||
CLIMATE_TMP_DIR=${CLIMATE_DIR}/tmp; export CLIMATE_TMP_DIR
|
||||
|
||||
if [ ! -d ${CLIMATE_DATA_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_DATA_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting init_climate_db script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d ${CLIMATE_TMP_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_TMP_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting init_climate_db script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#
|
||||
# Check that environment variable for path to climate executables is set
|
||||
#
|
||||
if [ "$CLIMATE_BIN_DIR" = "" ]
|
||||
then
|
||||
echo "In init_climate_db: CLIMATE_BIN_DIR not defined in environment! Exiting."
|
||||
exit 1
|
||||
else
|
||||
echo "In init_climate_db: CLIMATE_BIN_DIR = $CLIMATE_BIN_DIR \n"
|
||||
fi
|
||||
|
||||
#
|
||||
# Change the directory to the temporary climate directory
|
||||
#
|
||||
cd ${CLIMATE_TMP_DIR}
|
||||
|
||||
if [ ! -s ${CLIMATE_BIN_DIR}/init_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/init_climate executable does not exist!"
|
||||
echo "Halting init_climate_db script execution .... "
|
||||
exit 1
|
||||
else if [ ! -x ${CLIMATE_BIN_DIR}/init_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/init_climate does not have execute permission!"
|
||||
echo "Halting init_climate_db script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Execute init_climate
|
||||
#
|
||||
${CLIMATE_BIN_DIR}/init_climate
|
||||
|
||||
#
|
||||
# Restart the main climate menu and exit script
|
||||
#
|
||||
exec ${CLIMATE_BIN_DIR}/climate &
|
||||
|
||||
exit 0
|
1
nativeLib/files.native/adapt/climate/bin/Linux/qc_climate
Symbolic link
|
@ -0,0 +1 @@
|
|||
_main.sh
|
118
nativeLib/files.native/adapt/climate/bin/Linux/qc_climate_db
Executable file
|
@ -0,0 +1,118 @@
|
|||
#!/bin/sh
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# qc_climate_db
|
||||
#
|
||||
# This is the script to run the program to allow a user to manually
|
||||
# edit climate data (daily, monthly, seasonal, annual) in database.
|
||||
#
|
||||
# Modification History:
|
||||
# ---------------------
|
||||
# 12/05/2002 OB2 Bob Morris - Changed from csh to sh
|
||||
# - Removed CLIMATE_BIN_DIR definition, it
|
||||
# is set in readenv.sh. General cleanup.
|
||||
# - Replace -a's in tests.
|
||||
# 04/21/2003 OB2 Bob Morris - Check for global_day file existence in
|
||||
# CLIMATE_DATA_DIR before allowing run.
|
||||
#
|
||||
#
|
||||
# 09/04/2003 OB3 Mohammed Sikder A new segment of code is added in order
|
||||
# to explicitly pipe the generated outputs
|
||||
# from a set of climate scripts to a logfile.
|
||||
# Te reason behind that was some of the nested
|
||||
# GUIs in the climate was failing to get
|
||||
# displayed at NGIT OB3 test platform.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
#
|
||||
# Set the file path environment variables
|
||||
#
|
||||
|
||||
if [ "${CLIMATE_DIR}" = "" ]
|
||||
then
|
||||
echo "Fatal error in qc_climate_db: CLIMATE_DIR not defined in environment! Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CLIMATE_DATA_DIR=${CLIMATE_DIR}/data; export CLIMATE_DATA_DIR
|
||||
|
||||
if [ ! -d ${CLIMATE_DATA_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_DATA_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting qc_climate_db script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -s ${CLIMATE_DATA_DIR}/global_day ]
|
||||
then
|
||||
echo "File ${CLIMATE_DATA_DIR}/global_day does not exist or is empty."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting qc_climate_db script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
#
|
||||
#
|
||||
# The following code has been added in order to resolve the display
|
||||
# problem for some climate GUIs
|
||||
#
|
||||
#####################################################################
|
||||
|
||||
|
||||
if [ ! -d ${CLIMATE_TMP_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_TMP_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting qc_climate_db script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOGFILE=${CLIMATE_TMP_DIR}/tmp.txt
|
||||
echo "QC Climate Database run date/time: `date`" > $LOGFILE
|
||||
#
|
||||
######################################################################
|
||||
#
|
||||
# Check that environment variable for path to climate executables is set
|
||||
#
|
||||
if [ "$CLIMATE_BIN_DIR" = "" ]
|
||||
then
|
||||
echo "In qc_climate_db: CLIMATE_BIN_DIR not defined in environment! Exiting."
|
||||
exit 1
|
||||
else
|
||||
echo "In qc_climate_db: CLIMATE_BIN_DIR = $CLIMATE_BIN_DIR \n"
|
||||
fi
|
||||
|
||||
#
|
||||
# Change the directory to the climate/data directory
|
||||
#
|
||||
cd ${CLIMATE_DATA_DIR}
|
||||
|
||||
if [ ! -s ${CLIMATE_BIN_DIR}/qc_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/qc_climate executable does not exist!"
|
||||
echo "Halting qc_climate_db script execution .... "
|
||||
exit 1
|
||||
else if [ ! -x ${CLIMATE_BIN_DIR}/qc_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/qc_climate does not have execute permission!"
|
||||
echo "Halting qc_climate_db script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Execute qc_climate
|
||||
#
|
||||
${CLIMATE_BIN_DIR}/qc_climate $1 $2 >> $LOGFILE 2>> $LOGFILE
|
||||
|
||||
#
|
||||
# Restart the main climate menu and exit script
|
||||
#
|
||||
exec ${CLIMATE_BIN_DIR}/climate &
|
||||
|
||||
exit 0
|
1
nativeLib/files.native/adapt/climate/bin/Linux/recordClimate
Symbolic link
|
@ -0,0 +1 @@
|
|||
_main.sh
|
41
nativeLib/files.native/adapt/climate/bin/Linux/set_climate_env.sh
Executable file
|
@ -0,0 +1,41 @@
|
|||
#!/bin/bash
|
||||
|
||||
# locate EDEX_HOME
|
||||
if [ "${EDEX_HOME}" = "" ]; then
|
||||
default_edex_home=$(cd $(dirname $0)/../../../../edex;pwd)
|
||||
if test -d $default_edex_home; then
|
||||
export EDEX_HOME=$default_edex_home
|
||||
else
|
||||
echo "Unable to locate EDEX_HOME"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# source set_hydro_env since it sets up the environment for get_apps_defaults
|
||||
# and contains exports for the database connection
|
||||
|
||||
. ${EDEX_HOME}/data/hdf5/hydroapps/set_hydro_env
|
||||
|
||||
# return the variable's value if it is defined, otherwise return the given value
|
||||
get_default_value() { #(variable, value)
|
||||
if [ "$1" = "" ]; then
|
||||
echo $2
|
||||
else
|
||||
echo $1
|
||||
fi
|
||||
}
|
||||
|
||||
export ADAPT_SITE_ID=$(get_apps_defaults "ADAPT_SITE_ID")
|
||||
export FXA_LOCAL_TZ=$(get_apps_defaults "FXA_LOCAL_TZ")
|
||||
export TZ=$(get_apps_defaults "TZ")
|
||||
|
||||
export FXA_TEXT=$(get_default_value $(get_apps_defaults "FXA_TEXT") "fxatext")
|
||||
|
||||
# setup climate specific environment variables
|
||||
export DB_HM=$(get_default_value "$DB_HM" "hmdb")
|
||||
|
||||
export CLIMATE_DIR=$(get_default_value "$CLIMATE_DIR" "$(cd $(dirname $0)/../../;pwd)")
|
||||
export CLIMATE_DATA_DIR=${CLIMATE_DIR}/data
|
||||
export CLIMATE_TMP_DIR=${CLIMATE_DIR}/tmp
|
||||
export CLIMATE_BIN_DIR=${CLIMATE_DIR}/bin/Linux
|
||||
|
1
nativeLib/files.native/adapt/climate/bin/Linux/set_up_climate
Symbolic link
|
@ -0,0 +1 @@
|
|||
_main.sh
|
128
nativeLib/files.native/adapt/climate/bin/Linux/set_up_climate_runs
Executable file
|
@ -0,0 +1,128 @@
|
|||
#!/bin/sh
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# set_up_climate_runs
|
||||
#
|
||||
# This is the script to set up the climate runs for the climate program.
|
||||
#
|
||||
# Modification History:
|
||||
# ---------------------
|
||||
# 12/05/2002 OB2 Bob Morris - Changed from csh to sh
|
||||
# - Removed CLIMATE_BIN_DIR definition, it
|
||||
# is set in readenv.sh.
|
||||
# - Added file tests.
|
||||
# - General cleanup.
|
||||
# 01/27/2003 OB2 Bob Morris Changes so kill pid works in both BASH, HP
|
||||
#
|
||||
#
|
||||
#
|
||||
# 09/04/2003 OB3 Mohammed Sikder A new segment of code is added in order
|
||||
# to explicitly pipe the generated outputs
|
||||
# from a set of climate scripts to a logfile.
|
||||
# Te reason behind that was some of the nested
|
||||
# GUIs in the climate was failing to get
|
||||
# displayed at NGIT OB3 test platform.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
# Set the following so that `ps -eo pid,args ...` for kill pid works in HP-UX.
|
||||
export UNIX95=1
|
||||
|
||||
#
|
||||
# Set the file path environment variables
|
||||
#
|
||||
|
||||
if [ "${CLIMATE_DIR}" = "" ]
|
||||
then
|
||||
echo "\nFatal error in set_up_climate_runs: CLIMATE_DIR not defined in environment!"
|
||||
echo " - Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CLIMATE_DATA_DIR=${CLIMATE_DIR}/data; export CLIMATE_DATA_DIR
|
||||
|
||||
if [ ! -d ${CLIMATE_DATA_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_DATA_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting set_up_climate_runs script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
#
|
||||
#
|
||||
# The following code has been added in order to resolve the display
|
||||
# problem for some climate GUIs
|
||||
#
|
||||
#####################################################################
|
||||
|
||||
if [ ! -d ${CLIMATE_TMP_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_TMP_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting set_up_climate_runs script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOGFILE=${CLIMATE_TMP_DIR}/tmp.txt
|
||||
echo "Set Up Climate Runs run date/time: `date`" > $LOGFILE
|
||||
|
||||
#######################################################################
|
||||
#
|
||||
# Check that environment variable for path to climate executables is set
|
||||
#
|
||||
if [ "$CLIMATE_BIN_DIR" = "" ]
|
||||
then
|
||||
echo "In set_up_climate_runs: CLIMATE_BIN_DIR not defined in environment! Exiting."
|
||||
exit 1
|
||||
else
|
||||
echo "In set_up_climate_runs: CLIMATE_BIN_DIR = $CLIMATE_BIN_DIR \n"
|
||||
fi
|
||||
|
||||
#
|
||||
# Change the directory to the climate data directory
|
||||
#
|
||||
cd ${CLIMATE_DATA_DIR}
|
||||
|
||||
if [ ! -s ${CLIMATE_BIN_DIR}/set_up_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/set_up_climate executable does not exist!"
|
||||
echo "Halting set_up_climate_runs script execution .... "
|
||||
exit 1
|
||||
else if [ ! -x ${CLIMATE_BIN_DIR}/set_up_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/set_up_climate does not have execute permission!"
|
||||
echo "Halting set_up_climate_runs script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Call the wait GUI indicator (is this really necessary for just doing setup?)
|
||||
#
|
||||
$(dirname $0)/wait.tcl &
|
||||
|
||||
# Execute set_up_climate
|
||||
#
|
||||
# The generated outputs need to be explicitly piped in order to resolve
|
||||
# a potential display problem.
|
||||
#
|
||||
${CLIMATE_BIN_DIR}/set_up_climate $1 $2 >> $LOGFILE 2>> $LOGFILE
|
||||
|
||||
#
|
||||
# Restart the main climate menu and exit script
|
||||
#
|
||||
exec ${CLIMATE_BIN_DIR}/climate &
|
||||
|
||||
#
|
||||
# Set wait.tcl's process id to a variable 'pid' and kill the wait GUI.
|
||||
# Modified the ps options for OB2 for BASH; requires that $UNIX95 is set for HP.
|
||||
#
|
||||
pid=`ps -eo pid,args | grep -E 'wish[ ].*wait.tcl' | awk '{print $1}'`
|
||||
|
||||
if [ "$pid" != "" ]
|
||||
then
|
||||
kill $pid
|
||||
fi
|
||||
|
||||
exit 0
|
111
nativeLib/files.native/adapt/climate/bin/Linux/set_up_climate_stations
Executable file
|
@ -0,0 +1,111 @@
|
|||
#!/bin/sh
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# set_up_climate_stations
|
||||
#
|
||||
# This is the script to set up the stations for the climate program.
|
||||
#
|
||||
# Modification History:
|
||||
# ---------------------
|
||||
# 12/05/2002 OB2 Bob Morris - Changed from csh to sh
|
||||
# - Removed CLIMATE_BIN_DIR definition, it
|
||||
# is set in readenv.sh. General cleanup.
|
||||
# - Replace -a's in tests.
|
||||
#
|
||||
# 09/04/2003 OB3 Mohammed Sikder A new technique was adopted in order
|
||||
# to explicitly pipe the generated outputs
|
||||
# from a set of climate scripts to a logfile.
|
||||
# Te reason behind that was some of the nested
|
||||
# GUIs in the climate was failing to get
|
||||
# displayed at NGIT OB3 test platform.
|
||||
#
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
#
|
||||
# Set the file path environment variables
|
||||
#
|
||||
|
||||
if [ "$CLIMATE_DIR" = "" ]
|
||||
then
|
||||
echo "\nFatal error in set_up_climate_stations: CLIMATE_DIR not defined in environment!"
|
||||
echo " - Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CLIMATE_DATA_DIR=${CLIMATE_DIR}/data; export CLIMATE_DATA_DIR
|
||||
CLIMATE_TMP_DIR=${CLIMATE_DIR}/tmp; export CLIMATE_TMP_DIR
|
||||
|
||||
if [ ! -d ${CLIMATE_DATA_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_DATA_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting set_up_climate_stations script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d ${CLIMATE_TMP_DIR} ]
|
||||
then
|
||||
echo "Directory ${CLIMATE_TMP_DIR} does not exist."
|
||||
echo "Check installation and setup of Climate routines."
|
||||
echo "Halting set_up_climate_stations script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOGFILE=${CLIMATE_TMP_DIR}/tmp.txt
|
||||
echo "Set Up Climate Params run date/time: `date`" > $LOGFILE
|
||||
|
||||
#
|
||||
# Check that environment variable for path to climate executables is set
|
||||
#
|
||||
if [ "$CLIMATE_BIN_DIR" = "" ]
|
||||
then
|
||||
echo "\nIn set_up_climate_stations: CLIMATE_BIN_DIR not defined in environment!"
|
||||
echo " - Exiting script."
|
||||
exit 1
|
||||
else
|
||||
echo "In set_up_climate_stations: CLIMATE_BIN_DIR = $CLIMATE_BIN_DIR \n"
|
||||
fi
|
||||
|
||||
#
|
||||
# Change the directory to the temporary climate directory
|
||||
#
|
||||
cd ${CLIMATE_TMP_DIR}
|
||||
|
||||
if [ ! -s ${CLIMATE_BIN_DIR}/set_up_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/set_up_climate executable does not exist!"
|
||||
echo "Halting set_up_climate_stations script execution .... "
|
||||
exit 1
|
||||
else if [ ! -x ${CLIMATE_BIN_DIR}/set_up_climate ]
|
||||
then
|
||||
echo "${CLIMATE_BIN_DIR}/set_up_climate does not have execute permission!"
|
||||
echo "Halting set_up_climate_stations script execution .... "
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# All this copying back-and-forth looks bogus. Is this a remnant of a one-time
|
||||
# modification? Why wouldn't you just edit the file in ${CLIMATE_DATA_DIR}?
|
||||
# The run-time scripts copy it from DATA to TMP each time anyway. I'm not going
|
||||
# to f___ with it for now. - Morris, Dec. 2002, OB2 comment
|
||||
|
||||
# Added 6/18/99 for new global file
|
||||
cp ${CLIMATE_DATA_DIR}/global_day ${CLIMATE_TMP_DIR}
|
||||
|
||||
# 6/10/99 Changed to reflect new set_up_climate
|
||||
${CLIMATE_BIN_DIR}/set_up_climate params $1 $2 >> $LOGFILE 2>> $LOGFILE
|
||||
|
||||
# Added 6/18/99 for new global file
|
||||
cp ${CLIMATE_TMP_DIR}/global_day ${CLIMATE_DATA_DIR}
|
||||
|
||||
#
|
||||
# Restart the main climate menu and exit script
|
||||
#
|
||||
exec ${CLIMATE_BIN_DIR}/climate &
|
||||
|
||||
|
||||
exit 0
|
70
nativeLib/files.native/adapt/climate/bin/Linux/startRecordClimate.pl
Executable file
|
@ -0,0 +1,70 @@
|
|||
#!/usr/local/perl/bin/perl -w
|
||||
|
||||
use Env;
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# This script is called by startingest.
|
||||
# this script which is needed to start up a recordClimate process.
|
||||
# Before starting a recordClimate process, any leftover instances are terminated
|
||||
# by calling killProc.
|
||||
#
|
||||
# MODIFICATION HISTORY:
|
||||
# NAME DATE CHANGES
|
||||
# ---- ---- -------
|
||||
# Bob Morris 12/09/002 - Change path adapt_apps/bin to climate/bin/HP-UX
|
||||
# for OB2. Must change again once DS is Linux.
|
||||
# - Get env vars from ifps file for OB2. Failure to
|
||||
# find/set will be fatal after icwf_site.ccc file
|
||||
# is removed in later build.
|
||||
# Bob Morris 02/13/002 - Strip double quotes from $wfoname after grep.
|
||||
# Bob Morris 03/06/003 - Add " umask 000; " to startup command so that
|
||||
# pipe files are writeable by non-fxa after manual
|
||||
# restarts. OB2 DR_12281
|
||||
# Bob Morris 03/28/03 - Fix env var ID for IFPS_SITE_OFFICE_NAME
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
#system (" ${FXA_HOME}/bin/killProc recordClimate");
|
||||
|
||||
print "In startRecordClimate.pl, setting up partial IFPS environment:\n\n";
|
||||
print "ICWF_SITE = $ICWF_SITE\n\n";
|
||||
|
||||
$ifpsenvfile = "/awips/adapt/ifps/localbin/ifps-";
|
||||
$ifpsenvfile .= $ICWF_SITE;
|
||||
$ifpsenvfile .= ".env";
|
||||
if ( -s $ifpsenvfile )
|
||||
{
|
||||
$wfoname = `grep "IFPS_SITE_OFFICE_NAME=" $ifpsenvfile | cut -f2 -d=`;
|
||||
$wfoname =~ s/\"//g;
|
||||
$wfoname =~ s/'//g;
|
||||
$wfoname =~ s/\n//;
|
||||
if ($wfoname eq "") {
|
||||
print "In startRecordClimate.pl: WARNING!!\n";
|
||||
print "IFPS_SITE_OFFICE_NAME not set in $ifpsenvfile !!\n";
|
||||
print "RER products will have erroneous WFO name !!\n\n";
|
||||
}
|
||||
else {
|
||||
$ENV{'IFPS_SITE_OFFICE_NAME'} = $wfoname;
|
||||
system ("echo IFPS_SITE_OFFICE_NAME = \$IFPS_SITE_OFFICE_NAME");
|
||||
}
|
||||
|
||||
$wfotz = `grep "IFPS_SITE_TIMEZONE=" $ifpsenvfile | cut -f2 -d=`;
|
||||
$wfotz =~ s/\n//;
|
||||
if ($wfotz eq "") {
|
||||
print "In startRecordClimate.pl: WARNING!!\n";
|
||||
print "IFPS_SITE_TIMEZONE not set in $ifpsenvfile !!\n";
|
||||
print "RER products will have erroneous issue time !!\n\n";
|
||||
}
|
||||
else {
|
||||
$ENV{'IFPS_SITE_TIMEZONE'} = $wfotz;
|
||||
system ("echo IFPS_SITE_TIMEZONE = \$IFPS_SITE_TIMEZONE");
|
||||
}
|
||||
}
|
||||
else {
|
||||
print "In startRecordClimate.pl, setting up partial IFPS environment,\n";
|
||||
print "file empty or not found: $ifpsenvfile \n";
|
||||
}
|
||||
# Figure out which platform we are on and run that binary.
|
||||
#system("umask 000; /usr/bin/ddd /awips/adapt/climate/bin/`uname -s`/recordClimate");
|
||||
system("umask 000; /awips/adapt/climate/bin/`uname -s`/recordClimate");
|
||||
#system ("/awips/fxa/data/recordClimate > /dev/null 2>&1 &");
|
||||
|
8
nativeLib/files.native/adapt/climate/bin/Linux/stopRecordClimate.pl
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/usr/local/perl/bin/perl -w
|
||||
|
||||
use Env;
|
||||
|
||||
# This script is called by stopingest.
|
||||
# this script which is needed to stop a recordClimate process.
|
||||
|
||||
system (" ${FXA_HOME}/bin/killProc recordClimate");
|
27
nativeLib/files.native/adapt/climate/bin/Linux/success.tcl
Executable file
|
@ -0,0 +1,27 @@
|
|||
#!/bin/sh
|
||||
# the next line restarts using wish \
|
||||
exec wish "$0" "$@"
|
||||
#################################################################################
|
||||
#
|
||||
# success.tcl
|
||||
#
|
||||
# Purpose
|
||||
# This script notifies the user with a tcl button that climate has
|
||||
# successfully Finished
|
||||
#
|
||||
# BER February 2000
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
wm title . "Climate is Done"
|
||||
wm geometry . +1030+400
|
||||
wm overrideredirect . 1
|
||||
button .done -bd 4 -bg black -highlightbackground black \
|
||||
-activebackground black\
|
||||
-image [image create photo -file $env(CLIMATE_DIR)/data/climate_map.gif]\
|
||||
-command {
|
||||
destroy .
|
||||
}
|
||||
pack .done
|
||||
|
||||
|
63
nativeLib/files.native/adapt/climate/bin/Linux/textwsNotification.tcl
Executable file
|
@ -0,0 +1,63 @@
|
|||
#!/bin/sh
|
||||
# the next line restarts using wish \
|
||||
exec /usr/local/tcltk8.3.2/bin/wish "$0" "$@"
|
||||
|
||||
#exec textWish "$0" "$@"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
#
|
||||
# textwsNotification.tcl
|
||||
#
|
||||
# Author: Dan Martin
|
||||
#
|
||||
# Modification History:
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# --- module -----------------------------------------------------------------
|
||||
#
|
||||
#
|
||||
# --- implementation ---------------------------------------------------------
|
||||
#
|
||||
#
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
#
|
||||
# Collaborative scripts
|
||||
#
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
#
|
||||
# Module-global vars
|
||||
#
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
set TITLE "Climactic Record Notification"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
#
|
||||
# Global functions (called from outside this file)
|
||||
#
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
#
|
||||
# Procedure: main
|
||||
#
|
||||
# Purpose: create a notification box... this is temporary
|
||||
# should use Announcer
|
||||
#
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
#main
|
||||
|
||||
# don't show the parent
|
||||
wm withdraw .
|
||||
|
||||
# display a message box
|
||||
tk_messageBox -icon "info" -message "$argv" -title "$TITLE" -type "ok"
|
||||
|
||||
#destroy parent and return
|
||||
destroy .
|
||||
return 0
|
61
nativeLib/files.native/adapt/climate/bin/Linux/toggle_cli_vip.py
Executable file
|
@ -0,0 +1,61 @@
|
|||
#!/usr/local/python/bin/python
|
||||
import sys, os, glob, cmd, string, getpass
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# toggle_cli_vip.py Bob Morris, SAIC/MDL February 2002
|
||||
#
|
||||
# DESCRIPTION
|
||||
# -----------
|
||||
#
|
||||
# Modifies AWIPS Climate control files for NWR product creation. Sets the
|
||||
# Active/Inactive Switch, which controls the CRS voice selection, to the user's
|
||||
# choice of "voice". The AIS character is in position 4 in line 4 of the
|
||||
# control files: /awips/adapt/climate/data/header_*
|
||||
#
|
||||
# Modification History:
|
||||
# ---------------------
|
||||
# 12/05/2002 OB2 Bob Morris Changed path /adapt_apps/ to /climate/
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
me = getpass.getuser()
|
||||
if me != "fxa" and me != "awipsusr":
|
||||
print "\nSorry, you must be fxa or awipsusr to run this script. Exiting.\n"
|
||||
sys.exit()
|
||||
|
||||
print "\nPlease select a CRS Voice Type to be used for Climate NWR Products."
|
||||
ais = "X"
|
||||
while ais != "C" and ais != "A" and ais != "Q":
|
||||
ais = raw_input(" - Enter C for Concatenation, A for Synthesis, or Q to Quit: ")
|
||||
ais = string.capitalize(ais)
|
||||
|
||||
if ais == "C":
|
||||
print "Voice Concatenation Selected."
|
||||
elif ais == "A":
|
||||
print "Voice Synthesis Selected."
|
||||
|
||||
if ais != "Q":
|
||||
os.chdir('/awips/adapt/climate/data')
|
||||
filenames = glob.glob("header_*")
|
||||
for file in filenames:
|
||||
print "Modifying file: " + file
|
||||
fp=open(file)
|
||||
lines=fp.readlines()
|
||||
newlist = []
|
||||
n = 1
|
||||
|
||||
for line in lines:
|
||||
if n in [ 4 ]:
|
||||
nline = line[:3] + ais[0:1] + line[4:]
|
||||
newlist.append(nline)
|
||||
else:
|
||||
newlist.append(line)
|
||||
n = n + 1
|
||||
|
||||
fp.close()
|
||||
fp=open(file, 'w')
|
||||
fp.writelines(newlist)
|
||||
fp.close()
|
||||
else:
|
||||
print "Exiting, no changes."
|
32
nativeLib/files.native/adapt/climate/bin/Linux/wait.tcl
Executable file
|
@ -0,0 +1,32 @@
|
|||
#!/bin/sh
|
||||
# the next line restarts using wish \
|
||||
exec wish "$0"
|
||||
#################################################################################
|
||||
#
|
||||
# wait.tcl
|
||||
#
|
||||
# Purpose
|
||||
# This script notifies the user with a tcl button that climate is
|
||||
# running. When the processes have completed, the button will disappear
|
||||
# automatically.
|
||||
#
|
||||
# BER January 2000
|
||||
#
|
||||
#################################################################################
|
||||
|
||||
proc blink {w option value1 value2 interval} {
|
||||
$w config $option $value1
|
||||
after $interval [list blink $w $option\
|
||||
$value2 $value1 $interval]
|
||||
}
|
||||
wm title . "Running..."
|
||||
wm geometry . +1080+400
|
||||
wm overrideredirect . 1
|
||||
button .clim -bd 5\
|
||||
-image [image create photo -file $env(CLIMATE_DIR)/data/hour_clim.gif]\
|
||||
-command {
|
||||
destroy .
|
||||
}
|
||||
blink .clim -bg brown black 500
|
||||
pack .clim
|
||||
|
9
nativeLib/files.native/adapt/climate/data/clibrwse.conf
Normal file
|
@ -0,0 +1,9 @@
|
|||
# clibrwse.conf
|
||||
# configuration file for Climate NWR Browser transfer
|
||||
#
|
||||
GUI /awips/fxa/bin/NWRBrowser
|
||||
SCRIPT /awips/fxa/bin/transferNWR -a
|
||||
DESTDIR $FXA_DATA/workFiles/nwr/pending
|
||||
REVIEW 200
|
||||
# DO NOT modify the flags unless you know what you are doing
|
||||
# product list
|
9
nativeLib/files.native/adapt/climate/data/clinwws.conf
Normal file
|
@ -0,0 +1,9 @@
|
|||
# clinwws.conf
|
||||
# configuration file for Climate NWWS file transfer
|
||||
#
|
||||
TEXTDB textdb -w WRKALTCLI <
|
||||
SCRIPT $FXA_HOME/bin/transferNWWS.pl
|
||||
DESTDIR $CLIMATE_DIR/tmp/
|
||||
|
||||
#DESTDIR $FXA_DATA/workFiles/nwws
|
||||
# product list
|
BIN
nativeLib/files.native/adapt/climate/data/error_blast.gif
Normal file
After Width: | Height: | Size: 4 KiB |
18
nativeLib/files.native/adapt/climate/data/global_day
Normal file
|
@ -0,0 +1,18 @@
|
|||
use_valid_im
|
||||
T
|
||||
use_valid_pm
|
||||
T
|
||||
no asterisk
|
||||
T
|
||||
no colon
|
||||
T
|
||||
no minus
|
||||
F
|
||||
no small letters
|
||||
T
|
||||
Hour Min ampm zone
|
||||
9 00 AM EST
|
||||
Hour Min ampm zone
|
||||
17 00 PM EST
|
||||
T1 T2 T3 T4 T5 T6 P1 P2 S1
|
||||
99 95 90 60 32 20 1.00 2.00 1.0
|
After Width: | Height: | Size: 42 KiB |
BIN
nativeLib/files.native/adapt/climate/data/help/arrow.gif
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
nativeLib/files.native/adapt/climate/data/help/awip_ban.gif
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
nativeLib/files.native/adapt/climate/data/help/bc_storm.gif
Normal file
After Width: | Height: | Size: 10 KiB |
|
@ -0,0 +1,59 @@
|
|||
<HTML>
|
||||
<HEAD>
|
||||
<title>HWR NWR Broadcast Format Editor</title>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=left SRC="roundup_cloud.gif"</A><P>
|
||||
<center>
|
||||
<h3><b><a name=defin>HWR NWR Broadcast Format Editor</a></b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<A HREF="productnwr.html">Broadcast Format</A>,
|
||||
<a href="stationnwr.html">Station Format</a>,
|
||||
<a href="default.html">Default Format</a>,
|
||||
<a href="confignwr.html">Configuration</a>,
|
||||
<a href="threshnwr.html">Thresholds</a>,
|
||||
<a href="helpnwr.html">Home</a>
|
||||
<hr>
|
||||
<br>
|
||||
The weather element phrases for fixed stations and marine stations
|
||||
are defined in one or more broadcast records per product. Some of the phrases
|
||||
will only be formatted if threshold criteria for selected weather elements are met. Program hwrnwr will select the
|
||||
correct sky/weather format based on the current sky/weather condition.<br>
|
||||
<br>
|
||||
Product "CCCHWRXXX" contains a template for the broadcast format. You can copy and modify the template
|
||||
to meet your needs, or you may create your own broadcast records.<br>
|
||||
<br>
|
||||
/KDCA/At %ID%, { %SW% was falling; %SW% was reported; it was %SW% skies; %SW% were reported}<br>
|
||||
([VV], reducing the visibility to %VV%U).<br>
|
||||
The temperature was %TF%U, the dewpoint %DF%, and the relative humidity %RR% percent, <br>
|
||||
([HF], producing a heat index of %HF%). <br>
|
||||
([FF]The wind was %DD% at %FF%U([GG], gusting to %GG%),<br>
|
||||
([WF] producing a wind chill of %WF%).<br>
|
||||
The pressure was %PP%U and %PT%.$$<br>
|
||||
<br>
|
||||
%ID%, %SW%, %VV% are some of the symbolic words described in Figure 1-1 of the user documentation. For
|
||||
example %ID% will be replaced with the station name for the station identifier "KDCA"
|
||||
(e.g., Reagan National Airport).<br>
|
||||
<br>
|
||||
"{%SW% was falling; %SW% was reported; it was %SW%; %SW% were reported}" are four possible
|
||||
phrases for the program hwrnwr to output depending on the observed weather. The first phrase will be used when
|
||||
precipitation is falling (e.g., heavy snow was falling). The second phrase will be used generally for
|
||||
obstructions to vision (e.g., blowing snow was reported). The third phrase will be used to broadcast sky
|
||||
conditions (e.g., it was partly cloudy). The fourth phrase will be used to report weather conditions
|
||||
stated in the plural (e.g., drizzle and fog were reported).<br>
|
||||
<br>
|
||||
The phrases in parentheses (e.g., visibility) are threshold phrases will only be output if the weather element in the brackets
|
||||
reaches or exceeds a forecaster-specified threshold. The threshold is specified in the GUI.<br>
|
||||
<br>
|
||||
The above examples contain threshold phrases imbedded within other threshold phrases. Consequently, in the
|
||||
above example, the gust phrase will be broadcast only if the wind speed meets or exceeds
|
||||
the forecaster-specified threshold (e.g., [FF]) and if the gust speed meets or exceeds the forecaster-specified
|
||||
threshold (e.g., [GG]).<br>
|
||||
<br>
|
||||
"~$$" signifies the end of the station's phrases.<br>
|
||||
<br>
|
||||
<br>
|
||||
<center><a href="helpnwr.html">Home</a></center>
|
||||
</body>
|
||||
</HTML>
|
BIN
nativeLib/files.native/adapt/climate/data/help/calfrop.gif
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
nativeLib/files.native/adapt/climate/data/help/climate_map.gif
Normal file
After Width: | Height: | Size: 3 KiB |
After Width: | Height: | Size: 69 KiB |
|
@ -0,0 +1,32 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Climate Reports Setup</title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
|
||||
<center>
|
||||
<h3><b>SET UP CLIMATE RUNS HELP PAGE</b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<br>
|
||||
<b>Set Up Climate Runs</b> allows the user to set up and select the type of configuration report and also choose the parameters which will be output.<br>
|
||||
<br>
|
||||
<b>CLIMATE REPORTS SETUP GUI</b><a href = climate_reports_setup.gif> (Click here to see GUI)</a> - This GUI is used to select the report type (i.e.,NWR or NWWS) and climatological input type (i.e., daily morning or daily evening) for the set_up_climate program. It is initiated by selecting the Set Up Climate Runs from the Climate Master GUI. Upon selection of the Next button, the Configuration for NWR GUI or the NWWS Setup Configuration GUI is initiated.
|
||||
<br><br>
|
||||
The Climate Reports Setup GUI provides the forecaster with the option to select either a NOAA Weather Radio report (NWR) or a NOAA Weather Wire Service (NWWS) report. Depending on the selection, either the <a href = configs.html#NWR>NWR Setup Configuration </a> GUI or the <a href = configs.html#NWWS>NWWS Setup Configuration </a> GUI will be displayed when
|
||||
clicking the <b>NEXT...</b> button. <br><br>
|
||||
|
||||
<b>Set Up Climate Runs GUI's:</b><br><br>
|
||||
<a href = configs.html#NWR>NWR Setup Configuration</a><br>
|
||||
<a href = configs.html#NWWS>NWWS Setup Configuration</a><br>
|
||||
<a href = configs.html#select_products>Select Products</a><br>
|
||||
<a href = report_format.html>Report Format</a><br><br>
|
||||
|
||||
<center>
|
||||
<a href= climo_help.html>Return to Main Climate Help Page</a><br>
|
||||
</center>
|
||||
<hr><p>
|
||||
|
||||
</body>
|
||||
</HTML>
|
After Width: | Height: | Size: 16 KiB |
|
@ -0,0 +1,53 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>CLIMATE GUI HELP PAGE</title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
<center><h3><b>CLIMATOLOGY HELP PAGE</b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<IMG align=left SRC="arrow.gif"></A > Please look for special <a href = climo_help.html#climo_notes> <b>NOTES/CAUTIONS </b></a>when this arrow appears at the top of page.<br>
|
||||
|
||||
<br>
|
||||
<b>MASTER CLIMATE GUI</b> <a href = climate_master.gif> (Click here to see GUI)</a> Listed are options found on the Master Climate GUI. Please select from the following:<br>
|
||||
<br>
|
||||
<a href= climo_prefs.html>Configure Climate Parameters</a> - used to change parameters
|
||||
which affect all of climate. Editing of the Valid Time for evening reports, the Climate Master Station table,
|
||||
the Alternate Annual Periods, and the format of NWWS output products all occur via this option.<br><br>
|
||||
<a href= report_format.html>Set Up/Edit Climate Products</a> - allows the user to
|
||||
select the type of report and the parameters for the output product. This
|
||||
includes the product ID, periodicity, effective and expiration times, listening
|
||||
area code (LAC), the stations for which a product will be generated, and all of
|
||||
the output options for the product (i.e., weather elements and report periods). It is
|
||||
also used to view the properties of products which already exist and delete product
|
||||
ID's that are no longer needed.<br><br>
|
||||
<a href= execute_AM_PM_climate.html>Execute Climate</a> - Six run options exist: <i>Daily Morning, Daily Intermediate,
|
||||
Daily Evening, Monthly, Seasonal, and Annual</i>. Once one of these options is
|
||||
selected, an icon appears notifying that Climate is running. After the climate data is
|
||||
derived, an icon will appear next to <b>Edit Climate Data</b> on the Monitoring
|
||||
Control window. The user can then click 'Edit Climate Data' which will bring up
|
||||
the new climate data.<br><br>
|
||||
<a href= f6.html>Create F6 Products</a> - is used to create F6 output products for all stations
|
||||
in the master station list for a chosen month.<br><br>
|
||||
<a href= initialize_climate.html>Initialize Climate Database</a> - is used to manually enter or import recorded climatological data which includes both daily and monthly normal data.<br><br>
|
||||
<a href= edit_data.html>Quality Control Climate Database</a> - allows the user to edit climate data that is already stored in the database.<br><br><br>
|
||||
<b><I>Clicking the menu bar "help" on individual GUI's while running climate will give help for that particular GUI.</I></b>
|
||||
<br><br>
|
||||
<a name="climo_notes">
|
||||
<h3><b>NOTES/CAUTIONS</h3></b>
|
||||
<IMG align=left SRC="dotblue.gif"></a ><b> Please look for special notes/cautions at the bottom of all help pages in this format.</b><br>
|
||||
<br><br>
|
||||
<p>
|
||||
<hr><p>
|
||||
<address>
|
||||
<I>
|
||||
<IMG align=left SRC="tstm.gif"></A ><P>
|
||||
DJZ (PRC-contractor)<br>
|
||||
NWSHQ Techniques Development Laboratory<br>
|
||||
1/12/1999<br>
|
||||
</I>
|
||||
<i>(Updated 1/5/2000 - BER)</i>
|
||||
</address>
|
||||
</body>
|
||||
</HTML>
|
BIN
nativeLib/files.native/adapt/climate/data/help/climo_prefs.gif
Normal file
After Width: | Height: | Size: 83 KiB |
|
@ -0,0 +1,48 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Climate Preferences Configuration</title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
<center>
|
||||
<h3><b>CLIMATE PREFERENCES HELP PAGE</b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<br>
|
||||
|
||||
<b>Climate Preferences GUI</b>- <a href = climo_prefs.gif>(Click here to see
|
||||
GUI)</a><br><br>
|
||||
|
||||
The purpose of this interface is to configure the climate parameters which affect
|
||||
<i>all</i> products ouput by the application.<br><br>
|
||||
|
||||
The <a href = configs.html#valid>Valid Time for Daily Evening Reports</a> is used
|
||||
in daily evening reports only. It defines the latest hour for which data is parsed
|
||||
for the evening daily climatological reports.<br><br>
|
||||
|
||||
The <a href = configs.html#valid>Valid Time for Daily Intermediate Reports</a> is
|
||||
identical to the valid time for evening reports except that it applies
|
||||
to intermediate daily products.<br><br>
|
||||
|
||||
In the middle portion of the interface are three buttons:<br>
|
||||
<ul><li><a href = configs.html#stations>Set Up Climate Stations</a></li>
|
||||
<li><a href = configs.html#annual>Edit Alternate Annual (Seasonal) Periods</a></li>
|
||||
<li><a href = configs.html#threshold>Edit User-Defined Thresholds </a></li>
|
||||
</ul>
|
||||
|
||||
The <b>NWWS Product Format</b> section formats the appearance of all
|
||||
NOAA Weather Wire climate products.<br><br>
|
||||
|
||||
The <b>Save</b> button saves the NWWS format section and the valid times. <i>Any changes
|
||||
made to the station list or the alternate annual periods must be saved within
|
||||
their respective GUI's.</i><br><br>
|
||||
|
||||
Choosing <b>Cancel</b> from the preferences interface will not override changes
|
||||
made and saved for the station list or the annual periods.<br><br>
|
||||
|
||||
<center>
|
||||
<a href= climo_help.html>Return to Main Climate GUI Help Page</a><br>
|
||||
</center>
|
||||
<hr><p>
|
||||
</body>
|
||||
</HTML>
|
BIN
nativeLib/files.native/adapt/climate/data/help/column.gif
Normal file
After Width: | Height: | Size: 8.1 KiB |
|
@ -0,0 +1,54 @@
|
|||
<HTML>
|
||||
<HEAD>
|
||||
<title>HWR NWR Configuration Parameters</title>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=left SRC="roundup_cloud.gif"</A><P>
|
||||
<center>
|
||||
<h3><b><a name=defin>HWR NWR Configuration Parameters</a></b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<A HREF=productnwr.html>Product #</A>
|
||||
<a href=stationnwr.html>Station Format</a>,
|
||||
<a href=broadcast.html>Broadcast Format</a>,
|
||||
<a href=default.html>Default</a>,
|
||||
<a href=threshnwr.html>Thresholds</a>,
|
||||
<a href=helpnwr.html>Home</a>
|
||||
<hr>
|
||||
<br>
|
||||
<br>
|
||||
The Listening Area Code "<b>LAC</b>" field is a map to the broadcast towers. There must be
|
||||
corresponding CRS entries for the LACs used here. One product can go to multiple
|
||||
towers by putting in multiple LACs.<br>
|
||||
<br>
|
||||
The "<b>Expiration:</b>" field represents the number of minutes that are to be added to
|
||||
the nominal hour in order to determine the expiration time of the product.
|
||||
Enter the value by either directly typing it in or by incrementing/decrementing
|
||||
via the up and down arrows. The allowable range of this field and its default
|
||||
value used in the GUI are specified in the xhwrnwr.conf file.<br>
|
||||
<br>
|
||||
The "<b>Summary Format Temp Range</b>" field represents the range of
|
||||
temperatures at or below which the temperatures for a group of stations will be
|
||||
summarized in the output product. Enter the value by either directly typing it in
|
||||
or by incrementing/decrementing via the up and down arrows. The allowable range
|
||||
of this field and its default value used in the GUI are specified in the
|
||||
xhwrnwr.conf file.<br>
|
||||
<br>
|
||||
Use the "<b>Time Zone</b>" pushbutton to choose the time zone to be used in your product
|
||||
from a list of available time zones.<br>
|
||||
<br>
|
||||
Select the "<b>Std Time All Yr?</b>" field to prevent the product from switching to Daylight
|
||||
Savings Time during the year. <br>
|
||||
<br>
|
||||
By default, if observations are more than 1 hour old, they are considered invalid and are not
|
||||
used in the HWR. However, since C-MAN, buoy, and ship observations are not necessarily reported
|
||||
every hour, the number of hours prior to creation time over which marine observations
|
||||
are to be considered valid can be entered in the "<b>Window for Marine Obs</b>" field.<br>
|
||||
<br>
|
||||
Select the "<b>Express Sky as Fair when SCP Missing?</b>" field to have the word "FAIR" output
|
||||
when the SCP observation is missing and the ASOS observation is clear or partly cloudy.
|
||||
Otherwise, when the SCP is missing, the sky/weather will be output as missing.<br>
|
||||
<p>
|
||||
<center><a href=helpnwr.html>Home</a></center>
|
||||
</body>
|
||||
</HTML>
|
|
@ -0,0 +1,43 @@
|
|||
<HTML>
|
||||
<HEAD>
|
||||
<title>HWR NWWS Configuration Parameters</title>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=left SRC="roundup_cloud.gif"</A><P>
|
||||
<center>
|
||||
<h3><b><a name=defin>HWR NWWS Configuration Parameters</a></b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<a href=productnwws.html>Product #</a>,
|
||||
<a href=stationnwws.html>Station Format</a>,
|
||||
<a href=threshnwws.html>Thresholds</a>,
|
||||
<a href=helpnwws.html>HWR NWWS Home</a>
|
||||
<hr>
|
||||
<BR><BR>
|
||||
The "<b>Addressee</b>" field (e.g., ALL) is used to route the product to the specified addressee. <br>
|
||||
|
||||
Select the "<b>Include Temp in deg C?</b>" option to output the temperature in the Remarks field,
|
||||
in degrees Celsius. A "Y" selection does not necessarily result in the output of the temperature in degrees Celsius
|
||||
becasues the output "Remarks" section can contain a maximum of two weather elements
|
||||
based on a fixed priority order, with the temperature in degrees Celsius having the
|
||||
lowest priority. <br>
|
||||
<br>
|
||||
Select the "<b>Express Sky as Fair when SCP Missing?</b>" field to have the word "FAIR" output
|
||||
when the SCP observation is missing and the ASOS observation is clear or partly cloudy.
|
||||
Otherwise, when the SCP is missing, the sky/weather will be output as missing.<br>
|
||||
<br>
|
||||
Select the "<b>Time Zone</b>" pushbutton to choose from the list of available time zones one
|
||||
to be used in the product. <br>
|
||||
<br>
|
||||
Select the <b>"Std Time All Yr?</b>" field to prevent the product from switching to Daylight
|
||||
Savings Time during the year. <br>
|
||||
<br>
|
||||
By default, if observations are more than 1 hour old, they are considered invalid and are not
|
||||
used in the HWR. However, since C-MAN, buoy, and ship observations are not necessarily reported
|
||||
every hour, the number of hours prior to creation time over which marine observations
|
||||
are to be considered valid can be entered in the "<b>Window for Marine Obs</b>" field.
|
||||
<br>
|
||||
<p>
|
||||
<center><a href=helpnwws.html>HWR NWWS Home</a></center>
|
||||
</body>
|
||||
</HTML>
|
157
nativeLib/files.native/adapt/climate/data/help/configs.html
Normal file
|
@ -0,0 +1,157 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Climate Product Configuration</title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
<center>
|
||||
<h3><b>PRODUCT CONFIGURATION HELP PAGE</b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<br>
|
||||
|
||||
<a name="valid"><br>
|
||||
<h3><b>Valid Time</b></h3>
|
||||
The <b>Valid Time for Daily Evening Reports</b> and <b>Valid Time for Daily
|
||||
Intermediate Reports</b> are used to define a cut-off time for finding the
|
||||
maximums, minimums, and sums for their respective daily climatological report.
|
||||
There are two ways to define the valid times: use the product creation time or
|
||||
set a fixed local time. For example, if an evening report is desired and the
|
||||
valid time is set to "As Of 5 P.M.", data for the station(s) will be parsed
|
||||
beginning with midnight local time through 5 P.M. for the current day. On the
|
||||
other hand, if the "Time of Climate Run" is selected, the report will contain
|
||||
data from midnight through the time that climate is executed.<br><br>
|
||||
|
||||
<h3><b>NOTES/CAUTIONS</h3></b>
|
||||
<ul>
|
||||
<IMG align=left SRC="dotblue.gif"></a>Climate defaults to the "Time of Climate
|
||||
Run" for the valid time if climate is executed before the user-defined "As Of"
|
||||
time. For example, if the cron automatically runs at 3:30 PM and a valid time of
|
||||
5:00 PM is chosen, the product will state that the report is valid as of 3:00 PM
|
||||
(the latest hourly observations).</ul><br><br>
|
||||
|
||||
<br><br><br><br>
|
||||
|
||||
<a name="stations"><br>
|
||||
<h3><b>Station List</b></h3>
|
||||
<a href = select_stations.gif> (Click here to see GUI) </a><br><br>
|
||||
|
||||
<b>Station List</b>- This list contains the stations available for the
|
||||
climatological products.<br><br>
|
||||
|
||||
To edit the list, simply type a four-letter identifier in an empty station ID
|
||||
box. The name of the station will appear as stored in the database. If an
|
||||
identifier is not found, <i><b>Invalid ID</b></i> will appear in the associated
|
||||
name box.<br><br>
|
||||
|
||||
The <b>Std Time All Year</b> box should be checked if a station remains on
|
||||
standard time year-round.<br><br>
|
||||
|
||||
Oftentimes, long station names have been abbreviated in the database and ASOS
|
||||
stations appear with the word ASOS attached. These cause complications when
|
||||
used in a NOAA Weather Radio product to be read by the CRS. Therefore, the name
|
||||
fields are editable.<br><br>
|
||||
|
||||
<b>Save Stations</b> saves the stations and any changes made for use by the climate
|
||||
application only.<br><br>
|
||||
|
||||
One note, when a station with an edited name is deleted, if retrieval is desired
|
||||
again, the name will have to be edited again.<br><br>
|
||||
|
||||
<br><br><br><br>
|
||||
|
||||
<a name="report"><br>
|
||||
<h3><b>Reporting Periods</b></h3>
|
||||
<a href = report_periods.gif> (Click here to see GUI) </a><br><br>
|
||||
|
||||
<b>Reporting Periods</b> - These three fields determine the portion of the year
|
||||
that snow, heating degree days, and cooling degree days appear in the climate
|
||||
product.<br><br>
|
||||
|
||||
If the current date falls outside of the periods for any of these elements, it
|
||||
will override any selection made via the report format GUI. For example, if the
|
||||
heating degree days were chosen to be displayed for a product, the current date
|
||||
is July 1, and the reporting period is from Sep. 1 to May 1, the heating degree
|
||||
days will not appear in the final output since the current date falls outside the
|
||||
reporting period.<br><br>
|
||||
|
||||
The reporting periods are product specific, meaning they can be set to different
|
||||
dates for each climate product.<br><br>
|
||||
|
||||
<br><br><br><br>
|
||||
|
||||
<a name="annual"><br>
|
||||
<h3><b>Alternate Annual (Seasonal) Periods</b></h3>
|
||||
<a href = annual_periods.gif> (Click here to see GUI) </a><br><br>
|
||||
|
||||
<b>Alternate Annual Period (Season)</b> - This interface sets the begin date for
|
||||
the season-to-date totals of snow and liquid precipitation.<br><br>
|
||||
|
||||
Year-to-date totals for all elements are fixed and cannot be changed. They are
|
||||
as follows:<br><br>
|
||||
<center><table width="80%">
|
||||
<tr><td><b>Heating Degree Days:</b></td> <td>July 1 - June 30</td></tr>
|
||||
<tr><td><b>Cooling Degree Days:</b></td> <td>January 1 - December 31</td></tr>
|
||||
<tr><td><b>Snow:</b></td> <td>July 1 - June 30</tr></td>
|
||||
<tr><td><b>Precipitation:</b></td> <td>January 1 - December 31</tr></td>
|
||||
</table></center><br>
|
||||
|
||||
Some stations might be better suited by an alternate annual period. For example,
|
||||
a station's wet season might occur from the middle of December to the end of January.
|
||||
An alternate period of March to March might be better suited to keep breaking the wet
|
||||
season apart into two separate yearly sums.<br><br>
|
||||
|
||||
If this is not necessary, the other option is to use the <i><b>Current 3 Month Season</i></b>
|
||||
for a station. This results in season-to-date sums beginning with the first day
|
||||
of a defined season.<br><br>
|
||||
|
||||
<center><table width="80%">
|
||||
<tr><td><u>Current Month</u></td><td><u>Season Start Date</u></td></tr>
|
||||
<tr><td><b>Dec., Jan., or Feb.</b></td><td>December 1</td></tr>
|
||||
<tr><td><b>Mar., Apr., or May</b></td><td>March 1</td></tr>
|
||||
<tr><td><b>Jun., Jul., or Aug.</b></td><td>June 1</td></tr>
|
||||
<tr><td><b>Sep., Oct., or Nov.</b></td><td>September 1</td></tr>
|
||||
</table></center><br>
|
||||
|
||||
The seasonal sums for the degree days cannot be changed and are always summed in
|
||||
the three month intervals described above. Any changes made to the snow and
|
||||
precipitation dates made via this interface will only appear in the final output
|
||||
if the season-to-date total has been chosen.<br><br>
|
||||
|
||||
Note that any changes made will affect <i>all</i> products including those already
|
||||
created.<br><br>
|
||||
|
||||
<br><br><br><br>
|
||||
|
||||
<a name="thresholds"><br>
|
||||
<h3><b>Edit User-Defined Values / Change Threshold Values</b></h3>
|
||||
<a href = usr_defined_values.gif> (Click here to see GUI) </a><br><br>
|
||||
<B>Edit User-Defined Values</B> - This interface allows the user to set specific threshold values
|
||||
to Maximum and Minimum Temperature, Precipitation amount, and Snowfall amount.<br><br>
|
||||
|
||||
The number of days reaching or crossing the threshold value will be reported in the final
|
||||
output.<BR><BR>
|
||||
<b><i>Existing monthly, seasonal, and annual climate data will not be automatically
|
||||
regenerated with the new thresholds.</i></b><br><br>
|
||||
What in the world does this warning mean?! If new thresholds are entered and the
|
||||
<b><i>Save</i></b> button is pushed, this cryptic warning appears. It means that any
|
||||
existing monthly, seasonal, and annual data run with the previous threshold
|
||||
value will remain the same and not be automatically updated for the new value.
|
||||
This means that all monthly data will have to be regenerated if an end of the
|
||||
year report is desired and the threshold values have changed during the year.
|
||||
Likewise, if the values change during the middle of a season and a seasonal report
|
||||
is needed, the three months of data will have to be regenerated by the user.
|
||||
|
||||
|
||||
<br><br><br><br>
|
||||
|
||||
|
||||
<center>
|
||||
<a href= climo_prefs.html>Return to Climate Preferences Help Page</a><br>
|
||||
<a href= report_format.html>Return to Report Format Help Page</a><br>
|
||||
<a href= climo_help.html>Return to Main Climate GUI Help Page</a><br>
|
||||
</center>
|
||||
<hr><p>
|
||||
</body>
|
||||
</HTML>
|
||||
|
38
nativeLib/files.native/adapt/climate/data/help/default.html
Normal file
|
@ -0,0 +1,38 @@
|
|||
<HTML>
|
||||
<HEAD>
|
||||
<title>HWR NWR Default Format Editor</title>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=left SRC="bc_storm.gif"</A><P>
|
||||
<center>
|
||||
<h3><b><a name=defin>HWR NWR Default Format Editor</a></b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<a href=productnwr.html>Product #</a>,
|
||||
<a href=stationnwr.html>Station Format</a>,
|
||||
<a href=broadcast.html>Broadcast Format</a>,
|
||||
<a href=confignwr.html>Configuration</a>,
|
||||
<a href=threshnwr.html>Thresholds</a>,
|
||||
<a href=helpnwr.html>Home</a>
|
||||
<hr>
|
||||
<BR><BR>
|
||||
<IMG align=left SRC="calfrop.gif"</A><P>
|
||||
<p>
|
||||
Stations that require a fixed phrase broadcast format also require a default format.
|
||||
The fixed phrase format permits the user to compose output in an almost unlimited
|
||||
manner. Many phrases contain more than one weather element, some without punctuation marks
|
||||
after each weather element. Thus, the hwrnwr program won't necessarily be able to coherently drop
|
||||
missing weather elements from a
|
||||
fixed phrase. Default formats are output only when some of th forecaster-specified weather elements are
|
||||
missing. This format <I><B>requires</B></I> a punctuation mark after
|
||||
each phrase. The hwrnwr searches up to each punctuation mark and determines
|
||||
if the weather element is missing in the phrase up to that point. The default format may be modified by the user,
|
||||
and <I><B>must</B></I> be written so that it makes grammatical sense when any weather element is missing.<br>
|
||||
<br>
|
||||
The default format is basically the same as the fixed phrase format provided in the "Broadcast"
|
||||
Help Page.<br>
|
||||
<br>
|
||||
<br>
|
||||
<center><a href=helpnwr.html>Home</a></center>
|
||||
</body>
|
||||
</HTML>
|
|
@ -0,0 +1,87 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Delete Climate Products</title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
<center>
|
||||
<h3><b>EDIT CLIMATE PRODUCTS ID'S HELP PAGE</b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<br>
|
||||
<b>DELETE CLIMATE PRODUCTS GUI</b><a href = delete_products.gif> (Click here to see GUI)
|
||||
</a><br><br>
|
||||
The <b><u>F</u>ile</b> option opens to the <b>Close</b> toggle button which allows the user to
|
||||
close this GUI.<br><br>
|
||||
The <b><u>O</u>ptions</b> selection opens to the <b>Show Product Properties</b> toggle button
|
||||
which allows the user to view the properties of the selected product in the
|
||||
<i>Products</i> list.<a href = product_properties.gif> (Click here to see a Product Properties
|
||||
example.) </a> The
|
||||
following describes the fields associated with the Product Properties Window:<br><br>
|
||||
<ul type"disk>
|
||||
<li><b>Report Type</b> - The type of report the selected product would generate. The user selects
|
||||
the
|
||||
Report type in the <i>Climate Reports Setup GUI</i>.
|
||||
<p>
|
||||
<li><b>Stations</b> - The station identifiers of the stations that the user selected the <i>Select
|
||||
Stations GUI</i>.
|
||||
<p>
|
||||
<li><b>Effective Time</b> - The earliest allowable broadcast time of the Daily Climatological
|
||||
Report for the
|
||||
selected station. Effective time is declared in the <i>Configuration for NWR GUI</i>.
|
||||
<p>
|
||||
<li><b>Expiration Time</b> - The latest allowable broadcast time of the Daily Climatological
|
||||
Report for the
|
||||
selected station. Expiration time is declared in the <i>Configuration for NWR GUI</i>.
|
||||
<p>
|
||||
<li><b>Periodicity</b> - The amount of time between each broadcast of the selected product.
|
||||
Periodicity is displayed in days, hours, and minutes and is converted from the number of minutes
|
||||
entered in the <i>Configuration for NWR GUI</i>.
|
||||
<p>
|
||||
<li><b>Address</b> - The routing address for a NWWS product only. Address is declared in the
|
||||
<i>Configuration for NWWS GUI</i>.
|
||||
<p>
|
||||
<li><b>Reporting Periods</b> - The periods in which Snow, HDD, and CDD will be reported for the
|
||||
selected station.
|
||||
The user specifies the Reporting Periods in the <i> Report Format GUI</i>.
|
||||
<p>
|
||||
<li><b>Annual Periods</b> - The beginning date for the annual periods for precipitation and snow
|
||||
for the selected
|
||||
station. The user specifies the Annual Periods in the <i>Report Format GUI</i>.
|
||||
<p>
|
||||
<li><b>Valid Time for Evening Report</b> - The end time for the report period (local midnight to
|
||||
valid time) for
|
||||
the evening Daily Climatological Report for the selected station. Valid Time is specified in the
|
||||
<i>Report Format
|
||||
GUI</i>.
|
||||
<p>
|
||||
<li><b>Include Temp in deg C?</b> - <i>Yes</i>, if temp in deg C is included in the report for the
|
||||
selected
|
||||
station. <i>No</i>, if temp in deg C is not included in the report for the selected station. This
|
||||
option is
|
||||
specified in the <i>Report Format GUI</i>.
|
||||
<p>
|
||||
<li>The <b> table</b> at the bottom portion of the window displays the options the user selected
|
||||
in the <i>Report
|
||||
Format GUI</i> for the selected station.</ul>
|
||||
<br>
|
||||
If the Product Properties window is no longer needed, it can be closed by toggling off the same
|
||||
Show Product Properties toggle button under the <u>O</u>ptions selection in the <i>Delete Climate
|
||||
Products GUI</i>.
|
||||
<p><p>
|
||||
The <b>Product Time</b> buttons (AM/PM) are used to select whether the morning or evening Daily
|
||||
Climatological
|
||||
Report product is to be deleted.<br><br>
|
||||
The <b>Products</b> list contains all of the products which have been set up by the Weather
|
||||
Forecast Office (WFO).
|
||||
A product can be highlighted for deletion if it is no longer needed.<br><br>
|
||||
The <b>Delete Product</b> button removes the product highlighted in the Products list from the
|
||||
setup GUIs.<br><br>
|
||||
The <b>Close Window</b> button closes this GUI and returns to the <i>Master Climate
|
||||
GUI</i><br><br>
|
||||
<center>
|
||||
<a href= climo_help.html>Return to Climate GUI Help Page</a><br>
|
||||
</center>
|
||||
<hr><p>
|
||||
</body>
|
||||
</HTML>
|
After Width: | Height: | Size: 25 KiB |
BIN
nativeLib/files.native/adapt/climate/data/help/display.gif
Normal file
After Width: | Height: | Size: 172 KiB |
BIN
nativeLib/files.native/adapt/climate/data/help/dispmethods.gif
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
nativeLib/files.native/adapt/climate/data/help/dotblue.gif
Normal file
After Width: | Height: | Size: 204 B |
BIN
nativeLib/files.native/adapt/climate/data/help/edit_climate.gif
Normal file
After Width: | Height: | Size: 182 KiB |
BIN
nativeLib/files.native/adapt/climate/data/help/edit_data.gif
Normal file
After Width: | Height: | Size: 168 KiB |
|
@ -0,0 +1,72 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Edit Climate Help Page</title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
<center>
|
||||
<h3><b>QUALITY CONTROL CLIMATE DATABASE HELP PAGE</b></h3>
|
||||
<b>(Editing the climate database)</b>
|
||||
</center>
|
||||
<hr><br>
|
||||
<b>Quality Control Climate Database</b> allows the user to edit climate data that
|
||||
is already stored in the database.<br><br>
|
||||
<IMG align=left SRC="arrow.gif"></A > Please read <b>NOTES/CAUTIONS</B> at the
|
||||
bottom of this page.<br>
|
||||
<br>
|
||||
<B>Edit Climatological Data</B> - The GUI field displays Daily, Monthly, Seasonal, or
|
||||
Annual data to be edited.<br><br><center>
|
||||
<a href=edit_climate.gif> (GUI for <B>Daily</B> values)</a> |
|
||||
<a href=edit_data.gif> (GUI for <B>Period</B> values)</a>
|
||||
</center>
|
||||
<BR><BR>
|
||||
|
||||
|
||||
<b>Data Type</B> - This field allows the user to choose either <B>Daily</B>,
|
||||
<B>Monthly</B>, <B>Seasonal</B>, and <B>Annual</B> data to be displayed within the bottom
|
||||
portion of the GUI.<BR><BR>
|
||||
|
||||
<b>Station</b> - This field provides the user with the option to select the
|
||||
climatological station name for which data is to be displayed in this GUI.
|
||||
When this GUI is initiated, the first station in the list is automatically
|
||||
highlighted and its daily observations are loaded in the GUI.<br><br>
|
||||
<b>Modify Station Values</b> - This option provides the capability to update data in the
|
||||
Climate database for every field in the GUI.<br><br>
|
||||
<b>Cancel Station Changes</b> - This option cancels any changes that were made to the station
|
||||
values during the current session. This option does not affect data already stored in the
|
||||
Climate database.
|
||||
<br><br>
|
||||
<i>Depending on the type of data selected, different date navigation menus appear:</i><br>
|
||||
<B>Date</B> - Select the date for the Daily climatology data.<BR>
|
||||
<B>Month</B> - Select the month for the Monthly climatology data.<BR>
|
||||
<B>End Month of Season</B> - Select the ending month of the season for the Seasonal climatology data.
|
||||
<BR> (August would be selected for the three month season
|
||||
June/July/August.)<BR>
|
||||
<B>Year</B> - Select the year for the Annual climatology data.<BR><BR>
|
||||
|
||||
Click on <a href = missing.html> <b>MISSING</b></a> for more information on
|
||||
climate's handling of missing data.
|
||||
|
||||
<h3><b>Notes/Cautions</h3></b>
|
||||
<IMG align=left SRC="dotblue.gif"></a > <b>A maximum of 20 stations are allowable
|
||||
in the station list.</b><br><br>
|
||||
<IMG align=left SRC="dotblue.gif"></a > <b>Holding the right mouse button in
|
||||
any field containing a measured element displays how the value was obtained.
|
||||
<a href = retrieve.html>(More Detail)</a><br><br>
|
||||
<IMG align=left SRC="dotblue.gif"></a ><b>Basic error checking for the variables
|
||||
is provided. A warning message is displayed when values are entered that are
|
||||
outside of the allowable range. The warning message states Values out of bounds!
|
||||
Please enter last number again. . Missing data are represented as either "9999"
|
||||
or, for variables reported to the decimal amount, "9999.0". Missing times are
|
||||
represented as "99".<b><br><br>
|
||||
<IMG align=left SRC="dotblue.gif"></a ><b>If new daily values are saved for a
|
||||
station, Climate checks for existing monthly, seasonal, and annual data. A warning
|
||||
appears if data are present, and each existing record can be updated if desired.
|
||||
Changing monthly data results in updates of seasonal and annual data, and changes
|
||||
in seasonal data result in an update of annual data if desired.</b><br><br>
|
||||
<center>
|
||||
<a href= climo_help.html>Return to Main Climate GUI Help Page</a><br>
|
||||
</center>
|
||||
<hr><p>
|
||||
</body>
|
||||
</HTML>
|
BIN
nativeLib/files.native/adapt/climate/data/help/error_blast.gif
Normal file
After Width: | Height: | Size: 4 KiB |
|
@ -0,0 +1,93 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Execute Climate</title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
<center>
|
||||
<h3><b>EXECUTE CLIMATE HELP PAGE</b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<br>
|
||||
<br><IMG align=left SRC="arrow.gif"></A > Please read <a href = execute_AM_PM_climate.html#execute_notes><b>NOTES/CAUTIONS</B></a> at the bottom of this page.<br>
|
||||
<br>
|
||||
<B>Select Climate Run</B> - <a href = select_climate_run.gif> (Click here to see GUI).</a><BR>
|
||||
This GUI allows the user to select the date, month, season, or year (whether current or past) for the
|
||||
climatology report. Climate can be executed for the most recent completed period
|
||||
or any other chosen period.<BR><BR>
|
||||
<center><table width="80%">
|
||||
<tr><td><b>For example:</b> <i>Today is Feb. 7, 2000, selecting the Latest
|
||||
Climate period results in yesterday's climate for a daily morning run,
|
||||
today's climate through the designated valid time for daily intermediate and
|
||||
evening runs, Jan. 1-31 for a monthly run, Sept. 1-Nov. 30, 1999 for a seasonal
|
||||
run, and 1999 data for an annual run.</i></td></tr></table></center><br>
|
||||
<hr>
|
||||
<b>DAILY DISPLAY CLIMATE GUI</b> <a href = display.gif>(Click here to see GUI)</a><BR><BR>
|
||||
<b>Accept Values</b> - The displayed values are stored into the Verification database.<br><br>
|
||||
<b>Clear Values</b> - The displayed data is removed from the GUI so that the fields are blank. This option does not affect data already stored in the Verification database.<br><br>
|
||||
<b>Station</b> - This field provides the user with the option to select the climatological station for which data is to be displayed in this GUI. When this GUI is initiated, the first station in the list is automatically highlighted and its daily observations are loaded in the GUI.<br><br>
|
||||
<b>Date</b> - The field displays the observation date.<br><br>
|
||||
<b>Type of Summary</b> - This field displays either morning, intermediate, or evening daily climate summary. <br><br>
|
||||
The forecaster can change the values if needed but he/she must select <b>Accept Values</b> for each
|
||||
station edited before closing the GUI.<br><br>
|
||||
<hr>
|
||||
<b>PERIOD DISPLAY CLIMATE GUI</b> <a href = mon_disp.gif> (Click here to see GUI)</a><br><br>
|
||||
This GUI is used for monthly, seasonal, and annual climate runs. The type of summary
|
||||
and the dates of inclusion for the run are displayed in the upper right portion
|
||||
of the interface.<br><br>
|
||||
For monthly runs, data are retrieved/calculated from both the ASOS Monthly Summary
|
||||
Message (MSM) and the existing daily database values. If an element does not
|
||||
display an option menu, it means that the value has been retrieved from the
|
||||
daily database. If an MSM exists, it will be the default value of choice. The
|
||||
daily database value can be chosen, but the <b>Save Station Values</b> button has
|
||||
to be selected to override the default. If both are missing, a value can be
|
||||
entered and the option menu displays "Other". Again, the values then have to be
|
||||
saved.
|
||||
|
||||
Hopefully, the MSM and daily database values are equal. In the case that they
|
||||
are not, the offending elements will be displayed in reverse color.<br><br>
|
||||
<center><IMG SRC="notequal.gif"></center><br>
|
||||
<center><i>Example where the MSM and daily database maximum temperatures do not agree
|
||||
<br>for Pittsburgh. Also, at least one of the precipitation elements do not agree.</i></center><br><br>
|
||||
|
||||
<b><i>Do you want to update the daily database with the MSM values?</i></b><br>
|
||||
This warning appears when mismatched values are detected (as described above).
|
||||
Choosing <i>Yes</i> results in Climate replacing the maximum temperature,
|
||||
minimum temperature, and snow depth values in the daily database with the MSM values
|
||||
for the given dates of occurrence (where they do not equal the daily database values).
|
||||
Choosing <i>No</i> does not update the daily database.<br><br>
|
||||
Seasonal and annual values are compiled from the monthly records. Monthly,
|
||||
seasonal, and annual records are only saved to the database when a complete
|
||||
period is run. A monthly report for Jan.1-31 will be saved while a month to
|
||||
date run for Jan. 1-15 will not.<br><br>
|
||||
|
||||
<hr>
|
||||
<b>EDIT NWWS PRODUCTS GUI</b> <a href = editNWWS.gif>(Click here to see GUI)</a><BR><BR>
|
||||
After display climate is closed, Climate formats the output products. If any NWWS
|
||||
products are set up, the <b><i>Review Climate Product</i></b> interface appears.
|
||||
This allows an opportunity to edit the report before it is sent over the Weather
|
||||
Wire.<br><br>
|
||||
<b>Clear</b> - This button simply clears the display field.<br><br>
|
||||
<b>Delete</b> - This button removes a product from the list of reports.<br><br>
|
||||
<b>Save</b> - This saves any changes made to a product in the edit window.<br><br>
|
||||
<b>Send</b> - Transmits the output products over the NOAA Weather Wire.<br><br>
|
||||
<hr>
|
||||
|
||||
<h3><b>Treatment of Missing</h3></b>
|
||||
Click on <a href = missing.html> <b>MISSING</b></a> for more information on climate's handling of missing data.
|
||||
<a name="execute_notes">
|
||||
<h3><b>NOTES/CAUTIONS</h3></b>
|
||||
<IMG align=left SRC="dotblue.gif"></a ><b> Punctuation is very important, since the voice synthesizer will be confused by spaces preceding commas and periods. Therefore, be sure to check the printout when initially setting up and testing your files.</b><br><br>
|
||||
<IMG align=left SRC="dotblue.gif"></a > <b>In the Daily Display Climate GUI, holding
|
||||
the right mouse button in any field containing a measured element displays how
|
||||
the value was obtained.<a href= retrieve.html>(More Detail)</a><br><br>
|
||||
<IMG align=left SRC="dotblue.gif"></a ><b> If a daily value ties or breaks a record,
|
||||
the record will automatically be updated in the historical database.</b><br><br>
|
||||
<IMG align=left SRC="dotblue.gif"></a ><b> If the forecaster wishes to view the NWWS product after it has been distributed for broadcast on the wide area network (WAN), the file will be located in a text window under the product ID of "WRKALTCLI".</b><br><br>
|
||||
<br><center>
|
||||
<a href= climo_help.html>Return to Main Climate Help Page</a><br>
|
||||
</center>
|
||||
<hr><p>
|
||||
</body>
|
||||
</HTML>
|
||||
|
29
nativeLib/files.native/adapt/climate/data/help/f6.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>F6 CREATION HELP PAGE</title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
<center><h3><b>F6 CREATION HELP PAGE</b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
|
||||
<center><IMG SRC="f6date.gif"></center><br><br>
|
||||
This option provides a tabular depiction of the climate data for a chosen month.
|
||||
The first option is to create the F6 product for the current month through the
|
||||
current day. The other option is to create a product for a previous month by
|
||||
selecting the desired month from the option menu and entering the year into
|
||||
the year field.
|
||||
<br><br>
|
||||
|
||||
From the station list on the right, select the stations for which an F6 is to be
|
||||
generated. They can be printed to the local printer by checking the <b>Print
|
||||
selected F6s</b> button. The products will be output into the text database
|
||||
with the PIL SSSLCDMMM, where SSS represents the three-letter station id and MMM
|
||||
is the three-letter month <i>(ex. Pittsburgh's F6 for the month of March would
|
||||
be saved as PITLCDMAR)</i>
|
||||
<br><br>
|
||||
<center>
|
||||
<a href= climo_help.html>Return to Main Climate GUI Help Page</a><br>
|
||||
</center>
|
||||
<hr>
|
BIN
nativeLib/files.native/adapt/climate/data/help/f6date.gif
Normal file
After Width: | Height: | Size: 111 KiB |
39
nativeLib/files.native/adapt/climate/data/help/helpnwr.html
Normal file
|
@ -0,0 +1,39 @@
|
|||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>HWR NWR GUI Help Page</TITLE>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
|
||||
<P><IMG SRC="awip_ban.gif" HEIGHT=125 WIDTH=450 ALIGN=CENTER></P>
|
||||
|
||||
<H3 ALIGN=CENTER><B>HWR NWR Help Page</B></H3>
|
||||
|
||||
<CENTER><P>
|
||||
<HR><A HREF="productnwr.html">Product #</A>, <A HREF="stationnwr.html">Station
|
||||
Format</A>, <A HREF="broadcast.html">Broadcast Format</A>, <A HREF="default.html">Default
|
||||
Format</A>, <A HREF="confignwr.html">Configuration</A>, <A HREF="threshnwr.html">Thresholds</A>
|
||||
|
||||
<HR></P></CENTER>
|
||||
|
||||
<UL>
|
||||
<P><A NAME="station"></A>Welcome to the help page for the Hourly Weather
|
||||
Roundup for the NOAA Weather Radio. The <B><I>hwrnwr</I></B> program creates
|
||||
voice-ready products for broadcast over the NWR. Please refer to the users
|
||||
documentation, "Hourly Weather Roundup Formatter For The NOAA Weather
|
||||
Radio And Weather Wire Service" for a thorough description of this
|
||||
program. </P>
|
||||
|
||||
<P>You can use these pages for guidance with site-initialization of the
|
||||
program.</P>
|
||||
|
||||
<P>
|
||||
<HR></P>
|
||||
|
||||
<ADDRESS><I>Gary Battel (GSC-contractor)<BR>
|
||||
NWSHQ Techniques Development Laboratory<BR>
|
||||
9/3/1998</I><BR>
|
||||
</ADDRESS>
|
||||
</UL>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
33
nativeLib/files.native/adapt/climate/data/help/helpnwws.html
Normal file
|
@ -0,0 +1,33 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>HWR NWWS GUI Help Page</title>
|
||||
</head>
|
||||
<body bgcolor="#ffffff">
|
||||
<IMG align=center SRC="awip_ban.gif"</A ><P>
|
||||
<center><h3><b>HWR NWWS GUI Help Page</b></h3></center>
|
||||
<center><hr>
|
||||
<A HREF=productnwws.html>Product #</A>,
|
||||
<a href=stationnwws.html>Station Format</a>,
|
||||
<a href=confignwws.html>Configuration</a>,
|
||||
<a href=threshnwws.html>Thresholds</a></center>
|
||||
<hr><p><ul>
|
||||
<a name=station>Welcome</a>
|
||||
to the help page for the Hourly Weather Roundup for the NOAA Weather Wire
|
||||
Service. The program creates a tabular product consisting
|
||||
of weather observations for land and marine stations which is disseminated over
|
||||
the NWWS. Please refer to the users documentation, "NOAA Hourly
|
||||
Weather Roundup Formatter For The NOAA Weather Radio And Weather
|
||||
Wire Service" for a thorough description of this program.
|
||||
<p>
|
||||
You can use these pages for guidance with site-initialization of the program.
|
||||
<p>
|
||||
<hr><p>
|
||||
<address>
|
||||
<I>
|
||||
Sal Romano (GSC-contractor)<br>
|
||||
NWSHQ Techniques Development Laboratory<br>
|
||||
9/3/1998<br>
|
||||
</I>
|
||||
</address>
|
||||
</body>
|
||||
</html>
|
BIN
nativeLib/files.native/adapt/climate/data/help/hour_clim.gif
Normal file
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 135 KiB |
|
@ -0,0 +1,52 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>IMPORT CLIMATE GUI HELP PAGE</title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
<center><h3><b>IMPORT CLIMATE HELP PAGE</b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<IMG align=left SRC="arrow.gif"></A > Please read <b>NOTES/CAUTIONS</B> at the bottom of this page.<br>
|
||||
<br>
|
||||
<b>IMPORT CLIMATE GUI</b> <a href = import_climate.gif> (Click here to see GUI)</a> Listed are options found on the Master Climate GUI. Please select from the following:<br>
|
||||
<br><br>
|
||||
<b>Station Name</b> - This field displays the stations currently in the database.<br><br>
|
||||
<b>Station Name(s) in Header(s)</b> - This button allows the forecaster to specify that the station name(s) appears in the header(s) of the import file. This is useful when the file contains more than one stations data separated by headers.<br><br>
|
||||
<b>Station Name(s) in Data</b> - This button allows the forecaster to specify that the station name(s) appears in the data of the import file.<br><br>
|
||||
<b>Enter Data Delimiters</b> - This field allows the forecaster to insert any delimiter that appears in the imported climatology file. The delimiter defaults are * , space , and / . If any other delimiter is used, the forecaster must enter the appropriate character(s) into the field. There is no specific format for this; if entering more than one delimiter, neither spaces nor commas are needed.<br><br>
|
||||
<b>File Name</b> - This field displays the name of the import file. The file name will only appear after the forecaster goes through the process of Getting a New Data File Name.<br><br>
|
||||
<b>Get New Data File Name</b> - This button generates the <b>Choose File to be Imported</b> GUI which allows the forecaster to browse the directories for the import file.<br><br>
|
||||
<b>Data Type</b> - The <b>Daily</b> button and the <b>Monthly</b> button specifies whether the import file is daily climatology or monthly climatology.<br><br>
|
||||
<b>Data Format</b> - This field lists the months January through December and allows the forecaster to specify what month(s) the file(s) pertains to.<br><br>
|
||||
<b>Month Name(s) in Header(s)</b> - This button allows the forecaster to specify if the month name(s) appears in the header(s). This is useful when a file contains more than one month's data separated by headers.<br><br>
|
||||
<b>Month Located in Data field</b> - This button allows the forecaster to specify whether the month name is located in the data field. If so, the forecaster must select <b>Month first</b> if the format for the date places the month first, <b>Day first</b> if the format for the date places the day first, or <b>Julian Days</b> if the date is recorded in Julian days.<br><br>
|
||||
<b>Arrange Order</b> - This button allows the forecaster to specify the format of each data file. Once activated, this button will bring up the <b>Import Daily or Monthly Climatology Data</b> GUI where the forecaster arranges the climatology data according to the order of the data in the import file. <b>NOTE:</b> The format must be arranged before the file can be imported.<br><br>
|
||||
<b>Add File to List</b> - This button adds the specified file to the pending list onthe right. The specific file name, station, data type, data format and delimiter values become visible.<br><br>
|
||||
<b>Save New Values for File</b> - This button saves any format changes made to the highlighted file already in the pending list.<br><br>
|
||||
<b>Delete From List</b> - This button deletes the highlighted file from the import list.<br><br>
|
||||
<b>Import Data From File(s)</b> - This button imports the data from all of the files contained in the import list.<br><br>
|
||||
<b>Cancel</b> - The cancel button makes no changes and closes the Import Climate GUI. <b>NOTE:</b> The same effect is achieved by toggling off the </b>Import Climate Window</b> option in the File menu of Climatology Normals, Means, Extremes GUI.<br><br>
|
||||
<b>Choose File to be Imported</b> - This button will call up a GUI that enables the forecaster to import a file from a specified directory.<br><br>
|
||||
<br><a name="import_daily">
|
||||
<B>IMPORT DAILY OR MONTHLY CLIMATOLOGY DATA GUI</B><a href= imported_data.gif> (Click here to see GUI) </a><br><br>
|
||||
<b>Climatology Data Options</b> - Includes a list of variables that may be contained in the WFO's daily or monthly climatology, dependent upon the format chosen for the file (daily or monthly).<br><br>
|
||||
<b>Order of Data in File</b> - Once a data variable is selected in the Climatology Data Options list it is displayed with its associated column number in this field. A variable may be selected by double-clicking the left mouse button or by highlighting the variable and single-clicking the <b>Append</b> button.
|
||||
<b>Append</b> - Moves selected variable from Climatology Data Options to Order of Data in File. Append can also be activated by double-clicking the left mousebutton.<br><br>
|
||||
<b>Place</b> - Opens the <b>Column Placement GUI</b> <a href = column.gif> (Click here to see GUI)</a> and allows the forecaster to move the selected variable from Climatology Data Options to a specific column number in the Order of Data in File field. This is helpful if the forecaster leaves a variable out in the initial configuration. The addition of that variable can be made without starting over. <b>NOTE</b>: The variable placed will not remove any other elements, but will push the remaining list down one column.<br><br>
|
||||
<b>Append All</b> - Moves all of the remaining variables in Climatology Data Options to the Order of Data in File field. The variables will keep the order in which they appear under Climatology Data Options. <b>NOTE:</b> Other data not listed will not move unless directly selected and appended.<br><br>
|
||||
<b>Remove</b> - Takes the selected variable in the Order of Data in File and places it back in the Climatology Data Options field shifting the list up one place. If no variable is selected, the variable listed with column 1 is the default and will be removed. Remove can also be activated by double-clicking the left mouse button.<br><br>
|
||||
<b>Remove All</b> - Selects all of the variables in the Order of Data in File field and places them in the Climatology Data Options field.<br><br>
|
||||
<b>Accept</b> - Saves the changes and returns the forecaster to the Import Climate GUI.<br><br>
|
||||
<b>Cancel</b> - Closes the GUI without saving the values and returns forecaster to the Import Climate GUI.<br><br>
|
||||
|
||||
<h3><b>NOTES/CAUTIONS</h3></b>
|
||||
<IMG align=left SRC="dotblue.gif"></a ><b>If using 'arrange order', the format must be arranged before the file can be imported.</b><br>
|
||||
<br><IMG align=left SRC="dotblue.gif"></a ><b>After clicking 'Import Data from File(s)', in order to view the new imported data, the forecaster must double click on the correct station found on the Climatology Normals, Means, Extremes GUI. </b><br>
|
||||
<br><br>
|
||||
<center>
|
||||
<a href= climo_help.html>Return to Main Climate Help Page</a><br>
|
||||
</center>
|
||||
<hr><p>
|
||||
</body>
|
||||
</HTML>
|
BIN
nativeLib/files.native/adapt/climate/data/help/imported_data.gif
Normal file
After Width: | Height: | Size: 187 KiB |
|
@ -0,0 +1,72 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Norms, Means, Extremes </title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
<center>
|
||||
<h3><b>INITIALIZE CLIMATE DATABASE HELP PAGE </b></h3>
|
||||
<a href = norms_extremes1.gif>Click here for Climatology Normals, Means, Extremes GUI </a><br>
|
||||
<a href = norms_extremes2.gif>Click here for Climatology Normals, Means, Extremes GUI -
|
||||
<B>Daily</B></a><br>
|
||||
<a href = norms_extremes_mon.gif>Click here for Climatology Normals, Means, Extremes GUI
|
||||
- <B>Period</B></a><br>
|
||||
</center>
|
||||
<hr>
|
||||
<br>
|
||||
<IMG align=left SRC="arrow.gif"></A > Please look for special <a href = initialize_climate.html#initialize_notes> <b>NOTES/CAUTIONS </b></a>when this arrow appears at the top of page.<br>
|
||||
<br>
|
||||
Under the <b>FILE</b> option you will find an option to Import data. You can use this option to populate the climate database from a file. Click on <a href= import_climate.html>Import Climate Data</a> for more information. <br>
|
||||
<br>
|
||||
<b>Station</b> - This GUI field provides the user with the option to select the climatological station name for which data is to be immediately displayed in the Daily Normals, Means, Extremes GUI. The station name must be double clicked in order for the Daily Normals, Means, Extremes GUI to respond. <br><br>
|
||||
<b>Normals Period</b> - The starting year and ending year of the period over which climatological normal values were determined can be entered in these two fields.<br><br>
|
||||
<b>Records Period</b> - The starting year and ending year of the period of record for extreme values can be entered in these two fields.<br><br>
|
||||
<b>Save Years</b> - Selecting this button stores the years entered for the Normals Period and Records Period for the selected station.<br><br>
|
||||
<b>Climatological Input Type</b> - This field provides the option to select the climatological reports input data type template that will be displayed in the Daily Normals, Means, Extremes GUI. The choices listed are Daily, Monthly, Seasonally, Yearly, and Display Dailys by Month.<br><br>
|
||||
<b>Close</b> - Selecting this field closes the init_climate application and all GUIs associated with it. It then returns the user to the Master Climate GUI<br><br>
|
||||
|
||||
The <b>Daily Normals, Means, Extremes</b> GUI is used to manually enter into the database the
|
||||
daily normals, means, and record values for each day of the year, for a station. The <B>Monthly
|
||||
Normals and Extremes</B> GUI is used to manually enter into the database the monthly, seasonal,
|
||||
and annual normals and record values for a station. Basic error checking for the variables is
|
||||
provided. A warning message is displayed when values
|
||||
are entered that are outside of the allowable range. The warning message states Values out of bounds! Please enter last number again. Click on <a href = missing.html> <b>MISSING</b></a> for more information on climate's handling of missing data. The GUIs fields are explained below:<br><br>
|
||||
<b>Station</b> - This field displays the station name that was selected by the forecaster in the previous GUI, Climatology Normals, Means, Extremes.<br><br>
|
||||
<b>Month and Day</b> - The observation month and day can be entered in these two fields by two methods. The forecaster can either make a selection from the pull-down menus or increment these fields using the up and down arrows.<br><br>
|
||||
<b>First</b> - This option displays the first record in the database that contains data for the selected station.<br><br>
|
||||
<b>Add Record</b> - This button saves the changes to the database only if the record has been modified for the first time.<br><br>
|
||||
<b>Modify Record</b> - This button saves the changes to the database only if changes have been made to a record that previously contained data.<br><br>
|
||||
<b>Delete Record</b> - The displayed day s data are deleted from the Verification database when this field is selected. The user is prompted to confirm the deletion.<br><br>
|
||||
<b>Last</b> -This option displays the last record in the database that contains data for the selected station. It is difficult to type in a station s data for the entire year at once. Thus, data entry can be quickly resumed with this option since it returns to the last entry.<br><br>
|
||||
<b>Temperature</b> - Please refer to users manual for description on individual items.<br><br>
|
||||
<b>Precipitation</b> - Please refer to users manual for description on individual items.<br><br>
|
||||
<b>Heating/Cooling Degree Days</b> - Please refer to users manual for description on individual items.<br><br>
|
||||
<b>Snowfall</b> - Please refer to users manual for description on individual items.<br><br>
|
||||
<hr>
|
||||
<i><b>Why can't some of the fields be edited in the period GUI?</b></i><br>
|
||||
Some of the monthly, seasonal, and annual normals and extremes can be determined
|
||||
from daily values which are stored in the database. Normal average maximum and
|
||||
minimum temperatures, normal mean temperature, record maximum and minimum
|
||||
temperatures, normal total precipitation, normal daily average precipitation,
|
||||
normal total snowfall, heating degree days, and cooling degree days can be
|
||||
derived from daily historical data which is present. Any time a <b><u>daily</u></b>
|
||||
record is modified, these values will be recalculated.<br><br>
|
||||
<i><b>How are values already stored for monthly, seasonal, and annual if this is the first
|
||||
time 5.0 Initialize has been run?</b></i><br>
|
||||
If no monthly, seasonal, or annual records exist in the historical database, all of the
|
||||
values described in the previous question are generated. There probably was a delay
|
||||
between the time that the Climate Master GUI disappeared and the Initialize Climate
|
||||
interfaces appeared. This was because the period historical database was being
|
||||
initialized automatically. Subsequent runs of initialize climate will not have
|
||||
the delay.
|
||||
<a name="initialize_notes">
|
||||
<h3><b>NOTES/CAUTIONS</h3></b>
|
||||
<IMG align=left SRC="dotblue.gif"></a ><b>Do not enter data into year 2 or year 3 if there is not a record for year 1. It creates bad output.</b><br>
|
||||
<br><br>
|
||||
|
||||
<center>
|
||||
<a href= climo_help.html>Return to Main Climate Help Page</a><br>
|
||||
</center>
|
||||
<hr><p>
|
||||
</body>
|
||||
</HTML>
|
37
nativeLib/files.native/adapt/climate/data/help/missing.html
Normal file
|
@ -0,0 +1,37 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>CLIMATE GUI HELP PAGE</title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
<center><h3><b>TREATMENT OF MISSING HELP PAGE</b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
|
||||
<b>Treatment of Missing</b><br><br>
|
||||
|
||||
The Climatological Reports Formatter will display missing data in the GUIs as follows: <br><br>
|
||||
|
||||
- Missing data values (i.e., temperature) are represented by 9999.<br><br>
|
||||
|
||||
- Missing amounts (i.e., snowfall) are represented by 9999.0. <br><br>
|
||||
|
||||
- Missing degree days are represented by -9999. <br><br>
|
||||
|
||||
- Missing hours and minutes are represented by 99. <br><br>
|
||||
|
||||
- Missing pressure values are repressented by 99.99. <br><br>
|
||||
|
||||
- Trace precipitation is reported as "T". It is stored as a -1 in the database.<br><br>
|
||||
|
||||
The Climatological Reports Formatter will not include any missing values in the NWR product output.<br><br>
|
||||
|
||||
The NWWS product output does include missing values and represents them with MM.<br><br>
|
||||
|
||||
<b><I>*Click Netscape back to return to previous page.</I></b><br><br>
|
||||
<center>
|
||||
<a href= climo_help.html>Return to Main Climate Help Page</a><br>
|
||||
</center>
|
||||
<hr><p>
|
||||
</body>
|
||||
</HTML>
|
BIN
nativeLib/files.native/adapt/climate/data/help/mon_disp.gif
Normal file
After Width: | Height: | Size: 158 KiB |
After Width: | Height: | Size: 85 KiB |
After Width: | Height: | Size: 149 KiB |
After Width: | Height: | Size: 164 KiB |
BIN
nativeLib/files.native/adapt/climate/data/help/notequal.gif
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
nativeLib/files.native/adapt/climate/data/help/nwr_config.gif
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
nativeLib/files.native/adapt/climate/data/help/nwws_config.gif
Normal file
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 118 KiB |
|
@ -0,0 +1,48 @@
|
|||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>HWR NWR Product</TITLE>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
|
||||
<P><IMG ALIGN=LEFT SRC="bc_storm.gif" </A><br>
|
||||
<CENTER>
|
||||
<H3><B><A NAME=defin>HWR NWR Product</A></B></H3>
|
||||
</CENTER>
|
||||
<HR><A HREF="stationnwr.html">Station Editor</A>, <A HREF="broadcast.html">Broadcast
|
||||
Editor</A>, <A HREF="default.html">Default Editor</A>, <A HREF="confignwr.html">Configuration</A>,
|
||||
<A HREF="threshnwr.html">Thresholds</A>, <A HREF="helpnwr.html">Home</A>
|
||||
|
||||
<HR><BR>
|
||||
<IMG ALIGN=LEFT SRC="calfrop.gif" </A HEIGHT=216 WIDTH=147 ALIGN=LEFT></P>
|
||||
|
||||
<P> </P>
|
||||
|
||||
<UL>
|
||||
<UL TYPE=I>
|
||||
<LI>Before you use the GUI, edit the xhwrnwr.conf file product list. </LI>
|
||||
|
||||
<UL TYPE=I>
|
||||
<LI>Change all the "CCCHWRNWx" entries to 9-character product
|
||||
IDs. </LI>
|
||||
|
||||
<LI>Keep "CCCHWRXXX" in the list, since this serves as a template.
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<LI>Edit the hwrnwr.conf file. Change the output product names to match
|
||||
those in the xhwrnwr.conf file. </LI>
|
||||
|
||||
<LI>Use the xhwrnwr GUI to select the product ID that you wish to edit.
|
||||
</LI>
|
||||
|
||||
<LI>You can launch another GUI and select Product # in order to cut and
|
||||
paste from the Station Editor or Broadcast Editor to your new product.
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<CENTER><P><BR>
|
||||
<A HREF="helpnwr.html">Home</A> </P></CENTER>
|
||||
</UL>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
|
@ -0,0 +1,49 @@
|
|||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>HWR NWWS Product</TITLE>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
|
||||
<P><IMG ALIGN=LEFT SRC="bc_storm.gif" </A><br>
|
||||
<CENTER>
|
||||
<H3><B><A NAME=defin>HWR NWWS Product</A></B></H3>
|
||||
</CENTER>
|
||||
<HR><A HREF="stationnwws.html">Station Editor</A>,
|
||||
<A HREF="confignwws.html">Configuration</A>,
|
||||
<A HREF="threshnwws.html">Thresholds</A>,
|
||||
<A HREF="helpnwws.html">Home</A>
|
||||
|
||||
<HR><BR>
|
||||
<IMG ALIGN=LEFT SRC="calfrop.gif" </A HEIGHT=216 WIDTH=147 ALIGN=LEFT></P>
|
||||
|
||||
<P> </P>
|
||||
|
||||
<UL>
|
||||
<UL TYPE=I>
|
||||
<LI>Before you use the GUI, edit the xhwrnwws.conf file product list. </LI>
|
||||
|
||||
<UL TYPE=I>
|
||||
<LI>Change the "CCCSWRXX" entry to an 8 or 9-character product
|
||||
ID. </LI>
|
||||
|
||||
<LI>Keep "CCCSWRXX" in the list, since this serves as a template.
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<LI>Edit the hwrnwws.conf file. Change the output product names to match
|
||||
those in the xhwrnwws.conf file. </LI>
|
||||
|
||||
<LI>Use the xhwrnwws GUI to select the product ID that you wish to edit.
|
||||
</LI>
|
||||
|
||||
<LI>You can launch another GUI and select Product # in order to cut and
|
||||
paste from the Station Editor to your new product.
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<CENTER><P><BR>
|
||||
<A HREF="helpnwws.html">Home</A> </P></CENTER>
|
||||
</UL>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
BIN
nativeLib/files.native/adapt/climate/data/help/qcmethods.gif
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
nativeLib/files.native/adapt/climate/data/help/report_format.gif
Normal file
After Width: | Height: | Size: 206 KiB |
|
@ -0,0 +1,121 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Report Format</title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
<center>
|
||||
<h3><b>REPORT FORMAT HELP PAGE</b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<br>
|
||||
<b>Report Format</b> serves as the central hub for the set_up_climate application.
|
||||
All formatting of climate can be set via this interface. Most importantly,
|
||||
new products are created, and existing products are edited.<br><br>
|
||||
<IMG align=left SRC="arrow.gif"></A > Please read <a href = report_format.html#report_notes><b>NOTES/CAUTIONS</B></a>
|
||||
at the bottom of this page.<br>
|
||||
<br>
|
||||
<b>REPORT FORMAT GUI</b><BR>
|
||||
<a href = report_format.gif>(Click here to see sample GUI for <B>Daily</B> Climate)</a> -
|
||||
This applies to Morning, Intermediate, and Evening Climate.<BR>
|
||||
<a href = report_format_MON.gif>(Click here to see sample GUI for <B>Period</B> Climate)</a> -
|
||||
This applies to Monthly, Seasonal, and Annual Climate.
|
||||
<br><br>The GUI is broken into four main sections:<ul>
|
||||
<li><a href = report_format.html#report_type>Report Type</a></li>
|
||||
<li><a href = report_format.html#report_config>Report Configuration</a></li>
|
||||
<li><a href = report_format.html#report_stns>Select Stations</a></li>
|
||||
<li><a href = report_format.html#report_elems> Weather Elements</a></li></ul>
|
||||
|
||||
<a name = "report_type"><b><u>Report Type:</u></b><br><br>
|
||||
This section provides the forecaster with the option to select
|
||||
a NOAA Weather Radio (NWR) or a NOAA Weather Wire Service (NWWS) report. A daily
|
||||
morning, daily intermediate, daily evening, monthly, seasonal, or annual report is also selected
|
||||
in this section.<br><br>
|
||||
|
||||
<a name = "report_config"><b><u>Report Configuration:</u></b><br><br>
|
||||
A three-letter product identifier must be entered into the <b>Product ID</b> field
|
||||
before the product can be saved. The same identifier can be used for a morning and
|
||||
an evening product, but cannot be used for both an NWR and an NWWS product of one
|
||||
time type. For example, PIT can be used for a morning daily NWR report and an evening
|
||||
NWR report, but different identifiers have to be used for a morning daily NWR report
|
||||
and a morning daily NWWS report. <i>(For more information on how to open existing
|
||||
products, see the <a href = report_format.html#report_menu>menu bar description</a>)</i><br><br>
|
||||
<i>NWR PRODUCTS</i><br><br>
|
||||
The number of minutes in between broadcasts of the Climatological Report can be entered into the <b>Periodicity</b> field by two methods. The forecaster can either directly type in the time or can increment/decrement using the up and down arrows to reach the value.<br><br>
|
||||
The <b>Effective Time</b> is the earliest allowable broadcast time of the Climatological Report. The forecaster can either directly type in the time or can increment/decrement using the up and down arrows to reach the value. <br><br>
|
||||
The <b>Expiration Time</b> field is the latest allowable broadcast time of the Climatological Report. The forecaster can either directly type in the time or can increment/decrement using the up and down arrows to reach the value. <br><br>
|
||||
The <b>LAC</b> is the Listening Area Code (LAC) field. The forecaster can enter the zones over which the product must be transmitted in this field. The CRS then maps these zones to the correct transmitter. <br><br>
|
||||
<i>NWWS PRODUCTS</i><br><br>
|
||||
The <b>Address</b> field is for the entry of the local CRS or another addressee,
|
||||
perhaps a backup office to be used during a CRS failure. <br><br>
|
||||
|
||||
<a name = "report_stns"><b><u>Select Stations:</u></b><br><br>
|
||||
This section is used to select the stations for inclusion in the Climatological
|
||||
Report.<br><br>
|
||||
|
||||
<a name = "report_elems"><b><u>Weather Elements:</u></b><br><br>
|
||||
This section which occupies the bottom half of the GUI is used to select which
|
||||
elements are to be included in the climatological report. When an element is
|
||||
selected from the list under <b><i> Categories</i></b>, all of the options available
|
||||
for that element are displayed in the field to the right. The desired options
|
||||
for the final product are then checked off.<br><br>
|
||||
|
||||
Description of the options available:<br><ul>
|
||||
The first choice in each column represents the <b>Observed</b> values.<br>
|
||||
<b>Time/Date of Occurrence</b> is the time of day when an extreme value occurred.<br>
|
||||
<b>Record</b> is the historical extreme recorded for the period.<br>
|
||||
<b>Date/Year</b> is the year which the historical record occurred.<br>
|
||||
<b>Normal</b> is the historically averaged normal value.<br>
|
||||
<b>Departure</b> is the departure of the current period's value from the historical normal.<br>
|
||||
<b>Last Year's</b> is the value one year prior.<br>
|
||||
<b>Month to Date</b>, <b>Season to Date</b>, and <b>Year to Date</b> options also exist for some elements.<br>
|
||||
</ul>
|
||||
|
||||
The <b>Include All/None</b> check boxes are provided as a shortcut for selecting or
|
||||
deselecting all options of an element.<br><br>
|
||||
<hr><br>
|
||||
|
||||
<b>Buttons</b><br><br>
|
||||
<ul><li><a href = configs.html#report><b>Edit Reporting Periods</b></a></li>
|
||||
<li><a href = configs.html#annual><b>Edit Annual Periods</b></a></li>
|
||||
<li><a href = configs.html#thresholds><b>Change Threshold Values</b></a></li>
|
||||
<li><a href = configs.html#stations><b>Edit Station List</b></a></li>
|
||||
<li><b>Save Product</b>- saves a new product or the changes made to an existing product.</li>
|
||||
<li><b>Delete Product</b>- deletes an existing product.</li>
|
||||
<li><b>Close</b>- closes the GUI and returns to the main climate menu.</li>
|
||||
</ul>
|
||||
|
||||
<a name = "report_menu"> <b>Menu Bar Description</b><br><br>
|
||||
The menu bar provides the same functionality as the buttons with the addition of
|
||||
four functions which cannot be accessed by a push button.<br><br>
|
||||
<b>New Product</b> can be selected from the <b><i>File</i></b> menu to create a
|
||||
product using the default values as a foundation.<br><br>
|
||||
Under the <i><b>File</b></i> menu, when selecting <b>Open Existing Product</b>,
|
||||
another menu appears prompting for the type of report desired. Once the type has
|
||||
been selected, a list of previously created products appears. Choosing one results
|
||||
in the properties of the product to be displayed.<br><br>
|
||||
Under the <i><B>Edit</B></I> menu, <B>Edit Reporting Periods</B>, <B>Edit Annual Periods</B>,
|
||||
<B>Change Threshold Values</B>, and <B>Edit Station List</B> can be selected and their respective
|
||||
GUI's will be invoked. <B>Select All Elements</B> and <B>Deselect All Elements</B> can be chosen
|
||||
to quickly select or deselect every reportable option within each category.<BR><BR>
|
||||
Under the <i><b>Options</b></i> menu, <b>Current Products Window</b> opens up a new window that
|
||||
displays the current products for the selected Report Type. It can also be
|
||||
used to open a product by double-clicking on a product ID.<BR><BR>
|
||||
|
||||
<h3><b>NOTES/CAUTIONS</h3></b>
|
||||
<a name = "report_notes">
|
||||
<IMG align=left SRC="dotblue.gif"></a><b>The 'Daily Snow' and 'Daily Precip'
|
||||
normal and departure check boxes control the output for the MTD, STD and YTD.
|
||||
For example, if you toggle off 'Daily Precip' normal, you will not get the daily
|
||||
normal, Month to Date normal, Season to Date normal, or Year to Date
|
||||
normal.</b><br><br>
|
||||
<IMG align=left SRC="dotblue.gif"><b>For an NWR report, the normal of a weather element
|
||||
must be selected before the departure from normal can be selected. If the departure
|
||||
is selected, the normal is automatically selected.</b><br><br>
|
||||
|
||||
<center>
|
||||
<a href= climo_help.html>Return to Main Climate GUI Help Page</a><br>
|
||||
</center>
|
||||
<hr><p>
|
||||
</body>
|
||||
</HTML>
|
After Width: | Height: | Size: 191 KiB |
After Width: | Height: | Size: 59 KiB |
89
nativeLib/files.native/adapt/climate/data/help/retrieve.html
Normal file
|
@ -0,0 +1,89 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Quality Control Help Page</title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
<center>
|
||||
<h3><b>VIEWING THE METHOD OF RETRIEVAL</b></h3>
|
||||
</center>
|
||||
<hr><br>
|
||||
|
||||
This feature can be used to view how certain data was obtained. All of the daily
|
||||
elements that are measured are either retrieved from the Daily Summary Message or METAR
|
||||
data, while the monthly is taken from the Monthly Summary Message or Daily Database.
|
||||
Both the <i>Edit Climatological Data GUI</i> and the <i>Display Station Daily
|
||||
Climate Values GUI</i> are equipped to display this retrieval information.<br><br>
|
||||
|
||||
In either case, holding down the right mouse button over a measured element's
|
||||
value or label results in a pop-up displaying the value along with how it was
|
||||
retrieved.<br><br>
|
||||
|
||||
<b>Retrieval methods can be viewed for the following elements:</b><br><br>
|
||||
<center><table width="100%">
|
||||
<tr><td><u><i>Daily Reports</i></u><ul></td><td><u><i>Monthly Reports</i></u></td></tr>
|
||||
<tr><td><ul><li>Maximum Temperature</li></ul></td>
|
||||
<td><ul><li>Numerous elements</li></ul></td></tr>
|
||||
<tr><td><ul><li>Minimum Temperature</li></ul></td></tr>
|
||||
<tr><td><ul><li>Maximum Wind Direction and Speed</li></ul></td></tr>
|
||||
<tr><td><ul><li>Maximum Gust Direction and Speed</li></ul></td></tr>
|
||||
<tr><td><ul><li>Daily Precipitation</li></ul></td></tr>
|
||||
<tr><td><ul><li>Daily Snowfall</li></ul></td></tr>
|
||||
<tr><td><ul><li>Possible Sunshine</li></ul></td></tr>
|
||||
<tr><td><ul><li>Sky Cover</li></ul></td></tr>
|
||||
<tr><td><ul><li>Observed Weather</li></ul></td></tr>
|
||||
</table></center><br><br>
|
||||
|
||||
<b>Possible methods of retrieval</b><br><br>
|
||||
<u><i>Daily Reports</i></u><br>
|
||||
While the decoded <i>Daily Summary Message</i> is the first option of retrieval
|
||||
for all of the elements below, alternate options from the METAR observations
|
||||
are utilized when it is not
|
||||
available:<br><br>
|
||||
<center><table width="100%">
|
||||
<tr><td>
|
||||
<li>Temperature -<ul>
|
||||
24-Hour Temperature Group<br> 6-Hour Temperature Group<br>
|
||||
Hourly Temperature<br> Rounded Hourly Temperature<br></ul></li></td>
|
||||
<td>
|
||||
<li>Precipitation -<ul>
|
||||
6-Hour Amount Reports<br> 3-Hour Amount Reports<br>
|
||||
Hourly Amount Reports<br> Any Combination of the Three<br></ul></li></td>
|
||||
</tr><tr><td>
|
||||
<li>Maximum Wind -<ul>
|
||||
Special Wind Report<br> Hourly Wind Report<br></ul></li></td>
|
||||
<td>
|
||||
<li>Wind Gust -<ul>
|
||||
Peak Wind Report<br> Hourly Gust Report<br></ul></li></td>
|
||||
</tr><tr><td>
|
||||
<li>Snowfall -<ul>
|
||||
Supplemental Climate Data<br></ul></li></td>
|
||||
<td>
|
||||
<li>Possible Sunshine -<ul>
|
||||
Calculated<br></ul></li></td>
|
||||
</tr><tr><td>
|
||||
<li>Sky Cover -<ul>
|
||||
Calculated<br></ul></li></td>
|
||||
<td>
|
||||
<li>Observed Weather -<ul>
|
||||
Hourly and Special Observations<br>
|
||||
No Weather Reported<br></ul></li></td>
|
||||
</tr></center></table><br>
|
||||
<u><i>Monthly Reports</i></u><br>
|
||||
Two options exist for the monthly values. Either the ASOS <i>Monthly Summary Message</i>
|
||||
or the <i>Daily Database</i> is chosen at the time of the run.<br><br>
|
||||
<u><i>All Reports</i></u><br>
|
||||
<i>Missing</i> appears for the retrieval method when the value is recorded as
|
||||
missing and <i>Entered Manually</i> appears if the user has made changes to the
|
||||
value and saved the new value.<br><br>
|
||||
|
||||
<center><IMG SRC="qcmethods.gif"></center><br><br>
|
||||
<center><IMG SRC="dispmethods.gif"></center><br><br>
|
||||
|
||||
<center>
|
||||
<a href= edit_data.html>Return to Quality Control Climate GUI Help Page</a><br>
|
||||
<a href= climo_help.html>Return to Main Climate GUI Help Page</a><br>
|
||||
</center>
|
||||
<hr><p>
|
||||
</body>
|
||||
</HTML>
|
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 68 KiB |
|
@ -0,0 +1,47 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Select Stations</title>
|
||||
</head>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=center SRC="awip_ban.gif"></A ><P>
|
||||
<center>
|
||||
<h3><b>SET UP CLIMATE STATIONS HELP PAGE</b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<br>
|
||||
<b>Set Up Climate Stations</b> is used to set up the stations that will be added to the database table. The user has the option to add or delete stations and to specify if a station observes standard time all year.<br><br>
|
||||
<IMG align=left SRC="arrow.gif"></A > Please read <a href = select_stations.html#select_notes><b>NOTES/CAUTIONS</B></a> at the bottom of this page.<br>
|
||||
<br>
|
||||
<b>SELECT STATIONS GUI</b><a href = select_stations.gif> (Click here to see GUI)</a> - This GUI is used to add and delete climatological reporting
|
||||
stations from this applications subsequent GUIs. This GUI is a part of the set_up_climate
|
||||
program and is initiated from the Climate Master GUI by selecting the Set Up Climate Stations.
|
||||
<br><br>
|
||||
<b><I>To Add a Station?</I></b>
|
||||
A station can be added by typing its four-character METAR identifier using all uppercase letters
|
||||
into the blank rectangular field and then clicking the <b>Add</b> button. <br><br>
|
||||
<b><I>To Delete a Station?</I></b>
|
||||
A station can be deleted either by typing the stations four-character METAR identifier into the blank rectangular field or
|
||||
by highlighting the identifier in the Station field and then clicking the <b>Delete</b> button. When
|
||||
a station identifier is highlighted, it is automatically entered into the blank rectangular field.
|
||||
<br><br><b><I>Standard time all year for station?</I></b>
|
||||
This is an option for the products time to be reported in standard time all year as opposed to switching over to daylight
|
||||
savings time for part of the year. <b>NOTE:</b> This is useful for the parts of the U.S. that don't use daylight savings time in the summer.
|
||||
<br><br>
|
||||
<b>Save</b> - Selecting this button saves the changes that were made.
|
||||
<br>
|
||||
<b>Cancel</b> - Selecting this button disregards all of the changes made in this GUI and returns to the Master Climate GUI.
|
||||
<br>
|
||||
|
||||
<h3><b>NOTES/CAUTIONS</h3></b>
|
||||
<a name = "select_notes">
|
||||
<IMG align=left SRC="dotblue.gif"></a > <b>A maximum of 10 stations are allowable in the station list.</b><br>
|
||||
<br><IMG align=left SRC="dotblue.gif"></a ><b> Stations must be entered in uppercase.</b><br>
|
||||
<br><IMG align=left SRC="dotblue.gif"></a ><b> Use the 4 character ICAO for the product ID!</b><br>
|
||||
<br><br>
|
||||
<center>
|
||||
<a href= climo_help.html>Return to Main Climate Help Page</a><br>
|
||||
</center><hr>
|
||||
<br><br><br><br><br><br><br><br><br>
|
||||
<p>
|
||||
</body>
|
||||
</HTML>
|
|
@ -0,0 +1,98 @@
|
|||
<HTML>
|
||||
<HEAD>
|
||||
<title>HWR NWR Station List</title>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=left SRC="bc_storm.gif"</A><br>
|
||||
<center>
|
||||
<h3><b><a name=defin>HWR NWR Station List</a></b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<a href=stationnwr.html>Station Format</a>,
|
||||
<a href=helpnwr.html>HWR NWR Home</a>
|
||||
<hr>
|
||||
<BR>
|
||||
<IMG align=left SRC="calfrop.gif"</A><br>
|
||||
All of the stations to appear in the output product must be listed in the station list.<BR>
|
||||
<BR>
|
||||
<P>The station list may contain any combination of the following:<BR>
|
||||
* comment lines,<BR>
|
||||
* internal station list comment lines,<BR>
|
||||
* the broadcast frequency,<BR>
|
||||
* fixed phrase stations,
|
||||
* SCP stations, <BR>
|
||||
* marine stations, and<BR>
|
||||
* summary stations.<BR>
|
||||
<BR>
|
||||
Comment lines can be placed anywhere. They begin with a tilde "~" as is shown in
|
||||
the following example:<BR>
|
||||
~These are the %TIMEZ% observations for the local area, on ~%DAY%, %DATE% <BR><BR>
|
||||
%TIMEZ%, %DAY%, and %DATE% are symbolic words. <BR>
|
||||
<BR>
|
||||
Internal comment lines can be placed anywhere. They begin with a pound sign "#"
|
||||
as is shown in the following example:<BR>
|
||||
# Product TDLHWRNW1<BR>
|
||||
# Broadcast File Frequency section (optional).<BR>
|
||||
<BR>
|
||||
The broadcast frequency is identified as follows:<BR>
|
||||
!!!!!BDCST_FREQ<BR>
|
||||
40 30 30 <BR>
|
||||
where<BR>
|
||||
!!!!!BDCST_FREQ is the broadcast frequency identifier, and<BR>
|
||||
40 30 30 represent the broadcast frequencies (in percent) of each of the broadcast files associated with this product.<BR>
|
||||
<BR>
|
||||
Fixed phrase stations are identified as follows:<BR>
|
||||
!!!!!FF_STATIONS <BR>
|
||||
/KMKC/KMCI/+Downtown Kansas City<BR>
|
||||
/KBWI//*BWI Airport;/KADW/+Andrews<BR>
|
||||
where <UL TYPE=I>
|
||||
<LI>!!!!!FF_STATIONS identifies that fixed phrase land stations follow;
|
||||
|
||||
<LI>"KMKC" is the METAR identifier;
|
||||
|
||||
<LI>"KMCI" is the SCP station identifier (leave blank when same as METAR identifier);
|
||||
|
||||
<LI>"+" signifies that if the METAR is missing "The report from Downtown Kansas city was not available." will be broadcast. Other options
|
||||
are; <OL TYPE=1>
|
||||
|
||||
<LI>"-" (ignore the station when missing),
|
||||
<LI>"*" (use second station on this line when first station is missing)
|
||||
<LI>"&" (use second entry in broadcast file for this station. This is useful for recapping the weather conditions;</OL>
|
||||
|
||||
<LI>"+" before "Andrews" signifies that if METAR is missing for BWI Airport
|
||||
and for Andrews Air Force Base then "The report from BWI airport is not available." will be broadcast.
|
||||
</UL>
|
||||
Marine stations are identified as follows:<BR>
|
||||
!!!!!MAR_STATIONS<BR>
|
||||
/MISM1//+Matinicus Isle<BR>
|
||||
where <UL TYPE=I>
|
||||
<LI>!!!!!MAR_STATIONS identifies that marine stations follow;
|
||||
|
||||
<LI>All the rules above for FF_STATIONS applies to MAR_STATIONS;
|
||||
|
||||
</UL>
|
||||
Summary stations are identified as follows:<BR>
|
||||
!!!!!WX_CONDS<BR>
|
||||
SW TF<BR>
|
||||
!!!!!SUM_STATIONS<BR>
|
||||
@Throughtout the region,<BR>
|
||||
/KMRB//+Martinburg<BR>
|
||||
/KHGR//*Hagerstown;/KDOV/+Dover<BR>
|
||||
/KNHK//-Patuxent River<BR>
|
||||
where <UL TYPE=I>
|
||||
|
||||
<LI>"!!!!!WX_CONDS" identifies that the weather elements to be summarized follow on the next line.
|
||||
|
||||
<LI>"SW TF" signify that the weather elements -- sky/weather and temperature in degrees Fahrenheit, are to be summarized.
|
||||
|
||||
<LI>The "@" signifies that the comment "Throughout the region," will be broadcast whenever
|
||||
similarities of weather conditions force the creation of a summary phrase.
|
||||
|
||||
<LI>The stations to be summarized are listed on the remaining three lines. The symbols and words used on these lines
|
||||
have the same meaning as those in the fixed phrase station example already explained above.
|
||||
<p>
|
||||
|
||||
<br>
|
||||
<center><a href="stationnwr.html">Station</a></center>
|
||||
</body>
|
||||
</HTML>
|
|
@ -0,0 +1,88 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>HWR NWWS Station List</TITLE>
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/770) [Netscape]">
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=left SRC="bc_storm.gif"</A><P>
|
||||
<center>
|
||||
<H3><b><A NAME=defin>HWR NWWS Station List</A></B></H3>
|
||||
</center>
|
||||
<HR>
|
||||
<A HREF="stationnwws.html#stationnwws">Station Format</A>,
|
||||
<A HREF="helpnwws.html#helpnwws">HWR NWWS Home</A>
|
||||
<HR>
|
||||
<BR><BR>
|
||||
<IMG align=left SRC="calfrop.gif"</A><P>
|
||||
All of the stations to appear in the output product must be listed in the station list.<BR>
|
||||
<BR>
|
||||
<P>The station list may contain any combination of the following:<BR>
|
||||
<BR>
|
||||
* comment lines,<BR>
|
||||
* internal station list comment lines,<BR>
|
||||
* fixed phrase stations, <BR>
|
||||
* SCP stations, and<BR>
|
||||
* marine stations.<BR>
|
||||
<BR><BR>
|
||||
Comment lines can be placed anywhere. They begin with a tilde "~" as is shown in
|
||||
the following examples.<BR>
|
||||
~!MOZ005>007-011>016-020-021-028-029-037-043-%DDHHMM%<BR>
|
||||
~...West Central and Northwest Missouri... <BR>
|
||||
~$$<BR>
|
||||
%DDHHMM% is a symbolic word. This symbolic word
|
||||
will be replaced with the current date comprised of the month, nominal hour,
|
||||
and minute of the observation.<br>
|
||||
<BR>
|
||||
Internal comment lines can be placed anywhere. They begin with a pound sign "#"
|
||||
as is shown in the following example:<BR>
|
||||
# Product 1<BR><BR>
|
||||
<BR>
|
||||
Fixed phrase stations are identified as follows:<BR>
|
||||
!!!!!FF_STATIONS <BR>
|
||||
/KMKC/KMCI/+KC DOWNTOWN<BR>
|
||||
where <UL TYPE=DISC>
|
||||
<LI>!!!!!FF_STATIONS identifies that fixed phrase land stations follow;
|
||||
|
||||
<LI>"KMKC" is the METAR identifier;
|
||||
|
||||
<LI>"KMCI" is the SCP station identifier (leave blank when same as METAR identifier);
|
||||
|
||||
<LI>"+" signifies that if the METAR is missing, "KC DOWNTOWN NOT AVBL" will be output. Other options
|
||||
are: <UL TYPE=SQUARE>
|
||||
|
||||
<LI>"-" (ignore the station when missing),
|
||||
<LI>"=" (same as "+" but also output 6-hourly additive data), and
|
||||
<LI>"&" (ignore the station when missing, but also output 6-hourly additive data when station is not missing).</UL>
|
||||
|
||||
<LI>"~$$" signifies the end of a group of stations.
|
||||
|
||||
<LI>"KC DOWNTOWN" is the station name which is transferred to the output product.
|
||||
|
||||
</UL>
|
||||
<BR>
|
||||
Marine stations are identified as follows:
|
||||
!!!!!MAR_STATIONS
|
||||
/MISM1//+MATINICUS ISLE
|
||||
/41002//-%LATLON%
|
||||
~$$
|
||||
<BR>
|
||||
where <UL TYPE=DISC>
|
||||
<LI>!!!!!MAR_STATIONS identifies that marine stations follow;
|
||||
|
||||
<LI>"MISM1" and "41002" are the marine station identifiers;
|
||||
|
||||
<LI>"+" if marine observation is missing will output MATINICUS ISLE NOT AVBL.
|
||||
Other option when marine observation is missing is "-" (do not output station).
|
||||
|
||||
<LI>"MATINICUS ISLE" is the station name which is transferred to the output product.
|
||||
Use the ketword %LATLON% in order to output the latitude and longitude of a station instead
|
||||
of its name.
|
||||
|
||||
<LI>"~$$" signifies the end of a group of stations.
|
||||
</UL>
|
||||
<BR>
|
||||
<center><A HREF="stationnwws.html#stationnwws">Station</A></center>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
|
@ -0,0 +1,30 @@
|
|||
<HTML>
|
||||
<HEAD>
|
||||
<title>HWR NWR Station Format Editor</title>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=left SRC="bc_storm.gif"</A><P>
|
||||
<center>
|
||||
<h3><b><a name=defin>HWR NWR Station Format Editor</a></b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<A HREF="productnwr.html">Product #</A>,
|
||||
<a href="broadcast.html">Broadcast Format</a>,
|
||||
<a href="default.html">Default Format</a>,
|
||||
<a href="confignwr.html">Configuration</a>,
|
||||
<a href="threshnwr.html">Thresholds</a>,
|
||||
<a href="helpnwr.html">Home</a>
|
||||
<hr>
|
||||
<BR><BR>
|
||||
<IMG align=left SRC="calfrop.gif"</A><P>
|
||||
Select the "Product #" pushbutton to choose from the list of 9 character, AFOS-like product identifiers.
|
||||
The station list, configuration selections, and thresholds associated with the selected
|
||||
product identifier will be automatically inserted into the GUI fields. The list of product identifiers
|
||||
may be modified via the xhwrnwr.conf file.<br>
|
||||
<br>
|
||||
The "Station Format Editor" pushbutton displays the station list for review and edit. A brief overview
|
||||
follows in <a href="stationlistnwr.html">Station List</a>.<br>
|
||||
<br>
|
||||
<center><a href="helpnwr.html">Home</a></center>
|
||||
</body>
|
||||
</HTML>
|
|
@ -0,0 +1,32 @@
|
|||
<HTML>
|
||||
<HEAD>
|
||||
<title>HWR NWWS Station Format Editor</title>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=left SRC="bc_storm.gif"</A><P>
|
||||
<center>
|
||||
<h3><b>HWR NWWS Station Format Editor</b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<center>
|
||||
<a href="productnwws.html">Product #</a>,
|
||||
<a href="stationnwws.html">Station Format</a>,
|
||||
<a href="confignwws.html">Configuration</a>,
|
||||
<a href="threshnwws.html">Thresholds</a>,
|
||||
<a href="helpnwws.html">HWR NWWS Home</a>
|
||||
</center>
|
||||
<hr>
|
||||
<br><br>
|
||||
<IMG align=left SRC="calfrop.gif"</A><P>
|
||||
Select the "Product #" pushbutton to choose from the list of 8 or 9 character, AFOS-like product identifiers.
|
||||
The station list, configuration selections, and thresholds associated with the selected
|
||||
product identifier will be automatically inserted into the GUI fields. The list of product identifiers
|
||||
may be modified via the xhwrnwws.conf file.<br>
|
||||
<br>
|
||||
The "Station Format Editor" pushbutton displays the station list for review and edit. A brief overview
|
||||
follows in <a href=stationlistnwws.html>Station List</a>.<br>
|
||||
<br>
|
||||
<p>
|
||||
<center><a href="helpnwws.html">HWR NWWS Home</a></center>
|
||||
</body>
|
||||
</HTML>
|
|
@ -0,0 +1,36 @@
|
|||
<HTML>
|
||||
<HEAD>
|
||||
<title>HWR NWR Threshold Parameters</title>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<IMG align=left SRC="roundup_cloud.gif"</A><P>
|
||||
<center>
|
||||
<h3><b><a name=defin>HWR NWR Threshold Parameters</a></b></h3>
|
||||
</center>
|
||||
<hr>
|
||||
<A HREF=productnwr.html>Product #</a>,
|
||||
<a href=stationnwr.html>Station Format</a>,
|
||||
<a href=broadcast.html>Broadcast Format</a>,
|
||||
<a href=default.html>Default Format</a>,
|
||||
<a href=confignwr.html>Configuration</a>,
|
||||
<a href=helpnwr.html#helpnwr>HWR NWR Home</a>
|
||||
<hr>
|
||||
<p>
|
||||
The <B>"Wind Speed"</B> field represents the lower threshold wind speed that is necessary
|
||||
for a threshold broadcast or default phrase to be generated.<BR><BR>
|
||||
Similarly, the <B>"Wind Gust"</B> field represents the gust value that is required for a
|
||||
threshold phrase to be generated.<BR><BR><BR>
|
||||
Whenever the visibility is at or below the <B>"Visibility"</B> threshold, a visibility phrase
|
||||
may be generated, using the broadcast or default formats.<BR><BR>
|
||||
A heat index phrase will be generated whenever the calculated heat index exceeds or equals the
|
||||
<B>"Heat Index"</B> threshold.<BR><BR><BR>
|
||||
The wind chill threshold is more complex, since three threshold criteria need to be met
|
||||
for a broadcast of the wind chill index value:<BR>
|
||||
* The temperature must be at or below the <B>"Max Temp"</B> value.<BR>
|
||||
* The wind speed must be at or above the <B>"Min WS"</B> value. Do not choose a value less than 5
|
||||
mph, since the wind chill equation does not permit values below this threshold.<BR>
|
||||
* The calculated wind chill index must be at or below the <B>"WCI"</B> field.
|
||||
<p>
|
||||
<CENTER><a href=helpnwr.html>home</a></CENTER>
|
||||
</body>
|
||||
</HTML>
|