DOCUMENTATION OF SOFTWARE CHANGES TO STRATUS

advertisement
DOCUMENTATION OF SOFTWARE CHANGES TO STRATUS FORECASTING
SYSTEM
1. Computer Naming Convention
The primary computer is a 64 bit Linux box named st1, which replaces the
decommissioned 32 bit Linux box also named st1. The backup computer is also
a 64 bit Linux box named st1-backup. This backup computer was formerly
named st1-new. Typing "hostname" at the command prompt will reveal which
box one is logged into. The naming script is
/ll/cv/web/params/host_computer.pm. The outside IP address of st1 is
64.175.253.249 while inside CWSU its local IP address is 192.168.1.2. The
outside IP address of st1-backup is 64.175.253.252 while inside CWSU its local
IP address is 192.168.1.6. These computers are software clones and perform
identical tasks with the exception of ASOS and DCP backup dialing (see next).
2. ASOS and DCP Backup Dialing
Since the 5 minute SFO ASOS data and the backup DCP data calls to the sodar
computers at SFO and SQL can only be retrieved by kermit dialup, only one of
the two stratus computers is designated to make the ASOS call every 5 minutes
and the backup DCP data calls when needed. The ASOS dialing computer is
designated by having the flag file /ll/cv/ASOS_DIALER. The ASOS dialing
computer can be switched between st1 and st1-backup by clicking the SWITCH
ASOS DIALER button in the lower right corner of the SFO Stratus website
associated with the ASOS dialing computer.
Currently st1 is the ASOS dialing computer. At the time of this writing, switching
the ASOS dialing computer requires a physical switch of the data and teleboot
phone lines from the data and teleboot modems of one computer to the other, but
in the future an external hardware switching device may be installed by NWS
personnel so that no physical phone line switching will be required to switch the
ASOS dialing computers.
On st1-backup the ASOS and DCP backup calls use the symbolic link
/ll/cv/dev/modem -> /dev/ttyS1 while the teleboot calls use the symbolic link
/ll/cv/modem1 -> /dev/ttyS2. Currently on st1 the ASOS call and DCP backup
calls use the symbolic link /ll/cv/dev/modem -> /dev/ttyn1a while the teleboot calls
use the symbolic link /ll/cv/dev/modem1 -> /dev/ttyn1b. The reason for using
symbolic links instead of the ports themselves in /dev is that the permissions to
the ports in /dev get written over by root on boot up while the symbolic links in
/ll/cv/dev remained unchanged after a reboot.
Except for the 5 minute SFO ASOS data and backup DCP telephone data calls,
both computers collect and receive all data independent of each other as well as
make automated forecasts independent of each other. The ASOS dialing
computer also is the only computer that makes teleboot calls to the SFO and
SQL sodar sites. The 5 minute SFO ASOS data file and backup DCP data files
are distributed to the non ASOS dialing computer by the
/ll/cv/cvRTCache/scripts/doEveryMinute script (see associated excel file
"affected_by_asosdialer.xlsx" accompanying this document).
3. CWSU Forecast and Data Entry
Only the website associated with the ASOS dialing computer at CWSU displays
the Rate Change, CWSU Forecast, and GDP Data buttons for the CWSU
forecasters to enter rate changes, forecasts, and GDP data. When the ASOS
dialing computer is switched, these buttons also switch to the new ASOS dialing
computer and are suppressed on the non ASOS dialing computer. The script
that controls this button switch is /ll/web/cgi-bin/cv_main/forecasts.pl by use of
the showbuttons variable.
The rate change, forecast, and GDP buttons and their associated files and
displays have been set to advance to the next day after midnight local time
instead of at 0000Z. This prevents premature data entry by the CWSU
forecasters between 0000Z and shift end at 0400Z (0500Z in winter) while
allowing for data entry during that period for the day just ending. The
existence/non-existence of the flag file /ll/cv/PACIFIC_TIME toggles the next day
advance between midnight local time and 0000Z.
The CWSU forecast form and associated displays were changed to
accommodate winter season forecast situations. User entered times were added
for the start of SOIA, 30-RATE, and SE-PLAN along with all day buttons for SOIA
and SE-PLAN. Additionally buttons were added to the forecast form for ceiling
and visibility.
4. Email Conventions
By convention email from user cv originating from the ASOS dialing computer
has ST1 in the subject line while email from user cv originating from the non
ASOS dialing computer has ST2 in the subject line. Email from user web
originating from st1 has st1: in the subject line while email from user web
originating from st1-backup has st1-backup: in the subject line. Email from user
apache, which is related to rate changes, CWSU forecasts, and GDP report
originates only from the ASOS dialing computer (see 3. above). Email originating
from SJSU, which monitors st1 and st1-backup, will have SJSU and ST1 in the
subject line for issues pertaining to st1 and will have SJSU and ST1-BACKUP in
the subject line for issues pertaining to st1-backup.
5. Compilation on 64 Bit Platform
Various C programs had to be recompiled for portability from the old 32 bit
platform to the new 64 bit platforms. Extra fclose (file pointer) statements had to
be removed and myvar='MALLOC_CHECK_=0'; export myvar; had to be added
to many of the lines in the cv crontab to circumvent the more stringent stack
overflow restrictions on the 64 bit platforms. Additionally, setenv
MALLOC_CHECK_ 0 was added to /ll/cv/.cshrc . Also export SHELL=/bin/csh
was added to /ll/cv/.profile to allow dialing out for crontab scripts on st1.
The C program unpack.c used for satellite file processing was recompiled to
/ll/cv/projects/goes/bin/i586/unpack (see /ll/cv/unpack_stuff/src/Makefile). Also
the C program RTZi7.c used for determining Zi (inversion height) in the sodar file
processing was recompiled to /ll/cv/cvRTCache/bin/i586/RTZi7 (see
/ll/cv/RTZ_stuff/src/Makefile).
6. Python Adjustment
The python version used by Red Hat Enterprise Linux (RHEL) 5 is python 2.4,
which has problems handling certain date/time functions such as strftime, which
was used in the consensus forecasting script /ll/cv/consensus/scripts/consio.py
on the old 32 bit platform running RHEL 4 and python 2.2. This script was
rewritten to perform identically without using strftime. When there's an upgrade
to RHEL 6, which runs python 2.5 or higher, the old consio.py script, which uses
strftime can be used.
7. Leading Zeroes Adjustment
Scripts in /ll/cv/cvRTCache/scripts had to be modified to prevent leading zeroes
from interfering with number comparisons. LLMIT wrote the script
/ll/cv/scripts/Misc/StripLeadingZeroes which had to be used more extensively to
fully enable the real time data processing system on 64 bit platforms.
8. GPSM Adjustments
Because both computers will be independently generating automated forecasts,
both computers will be receiving the ADL feed for the GPSM system. To account
for this, the scripts /ll/cv/scripts/Misc/makeDailyReportFiles.pl and
/ll/cv/scripts/Misc/makeYesterdaysReportFiles.pl were modified. Additionally,
monitoring with automated email notification of the ADL feed was added to the
System Status link as ADL DATA AGE.
9. Satellite Image File Name Change
On 12/6/11 the satellite file naming convention changed from
yyyymmdd.hhmm.g11.gz to yyyymmdd.hhmm.g15.gz. The script which retrieves
this file, /ll/cv/projects/goes/scripts/FtpGoes.csh, was modified to account for
naming convention changes from *.gmm.gz to *.gnn.gz.
10. Backup Telephone Data Retrieval from Sodar Computers
The sodar computers at SFO and SQL had a kermit server running on a 15
minute Windows task scheduler to receive backup kermit telephone calls for
sodar and pyranometer data retrieval when the primary DSL drops out. The
Windows task scheduler no longer functions so a C program,
/cygdrive/c/kermit/sleep32 runs on startup and brings up the kermit server every
15 minutes. Monitoring with automated email notification of the kermit servers at
SFO and SQL was added to the System Status link as SFO DCP KERMIT
SERVER and SQL DCP KERMIT SERVER.
11. Pressure Gradient Calculation
The pressure gradients for SFO - (all surface observing stations) is calculated
daily for each hour and then sent once per day to
http://www.met.sjsu.edu/~sinton/grads/gradsyyyymmdd.csv . The script that
does this is on the ASOS dialing computer: /ll/cv/src/scatterftp/grads/grad_daily.pl.
12. AWOS Data Check
The SMB AWOS data file awos_smo.dat should be 103 bytes but from time to
time the AWOS data file is corrupted and the file is > 105 bytes. The corrupt data
file crashes the real time data system cvRTCache requiring it to restart. The
program /ll/cv/src/scatter-ftp/afos/testawossize.c tests the file size and removes
the corrupted file before it can get into /ll/cv/data/SFXfer and crash cvRTCache.
13. AUTO Bogussing
Auto bogussing was modified so that only the Oakland 12Z sounding is used
after 12Z. The files that controls this are
/ll/ftp/pub/cv/data/SOUNDINGTIME.regular and
/ll/ftp/pub/cv/data/SOUNDINGTIME.short, which are read by /ll/cv/src/scatterftp/afosmaker_nws_usg.tcl. The fourth entry in each of these SOUNDINGTIME
files, Later sounding time, is set to 1858 compared to its old value of 1240 (see
/ll/ftp/pub/cv/data/SOUNDINGTIME.long).
Download