Issue #1872 - extracted i386-pc-linux-gnu.tar and removed

Former-commit-id: 9032595675e422148bea5f5b77e54a305545757c
This commit is contained in:
Steve Harris 2013-04-29 14:15:24 -05:00
parent f242fb592e
commit 113dda443f
1123 changed files with 92271 additions and 1 deletions

View file

@ -1 +0,0 @@
19110f42806e0a8013fb465f0397de4147d8e17d

View file

@ -0,0 +1 @@
_main.sh

View 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

View 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 $@

View file

@ -0,0 +1 @@
_main.sh

View 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

View 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

View 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

View 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

View 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

View file

@ -0,0 +1 @@
_main.sh

View 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

View 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

View file

@ -0,0 +1 @@
_main.sh

View file

@ -0,0 +1 @@
_main.sh

View 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

View file

@ -0,0 +1 @@
_main.sh

View 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

View file

@ -0,0 +1 @@
_main.sh

View 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

View file

@ -0,0 +1 @@
_main.sh

View 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

View file

@ -0,0 +1 @@
_main.sh

View 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

View file

@ -0,0 +1 @@
_main.sh

View 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

View 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

View 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 &");

View 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");

View 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

View 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

View 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."

View 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

View 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

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View file

@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

View file

@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

View file

@ -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>

View file

@ -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>

View 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>

View 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>

View file

@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

View file

@ -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>&nbsp;&nbsp;|&nbsp;
<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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

View file

@ -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>

View 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

View 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, &quot;Hourly Weather Roundup Formatter For The NOAA Weather
Radio And Weather Wire Service&quot; 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>

View 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

View file

@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

View file

@ -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>

View 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

View file

@ -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 &quot;CCCHWRNWx&quot; entries to 9-character product
IDs. </LI>
<LI>Keep &quot;CCCHWRXXX&quot; 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>

View file

@ -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 &quot;CCCSWRXX&quot; entry to an 8 or 9-character product
ID. </LI>
<LI>Keep &quot;CCCSWRXX&quot; 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

View file

@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View 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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

Some files were not shown because too many files have changed in this diff Show more