Weather station scripts

They're free, but use at your own risk

The scripts referenced here are used in the operation of this weather station, and may be freely copied and used to support your station. Please note that you use these scripts at your own risk. No warranty is expressed or implied. I accept no liability for any damages that may ensue from their use.
You will need to configure them for your own particular weather station website.
RSS feed for Scripts Updates A RSS Feed is available to help keep you informed on updates to the scripts.

If you find one or more of the scripts useful to you, please consider making a donation to help offset the routine expenses of operation of this website.
Thanks for your kind support!

A Version History is available -- check back from time to time to see if there are updates to scripts you have downloaded earlier. Announcements of version updates and new scripts are made on and Weather-Watch forums and saratogaWXPHP Twitter account as they become available.

This page was updated Sunday, 10-Feb-2019 7:10 PM

PHP for NWS Area Forecast Discussion

This PHP script will fetch and cache the Forecast Area Discussion issued by your local NWS office.
Thanks to Mike Challis of Long Beach, WA for the inspiration for and enhancement of this script.

FXUS66 KMTR 231733

Area Forecast Discussion
National Weather Service San Francisco Bay Area
1033 AM PDT Thu May 23 2019

.SYNOPSIS...Temperatures will remain near to slightly below seasonal
averages through late week with mainly dry weather conditions.
Unseasonably cool and unsettled conditions return late in the
weekend with chances for rain showers as a weather system drops down
the West Coast.

&& of 8:46 AM PDT Thursday...Visible satellite
imagery shows both some low and high clouds over the San Francisco
Bay Area and central California coast this morning. Temperatures
are running about 2 to 5 degrees warmer compared to 24 hours ago
as the atmospheric column has moderated with the departing upper
level low. Despite the warmer temperatures expected this afternoon
(60s along the coast, 70s inland), we will still be running about
2 to 7 degrees below our middle to late May climatological normal
highs. Can`t rule out a stray shower developing this afternoon in
the Gabilan Range, but think the best chances for showers (and
thunderstorms) will be confined to our east in the Sierra Nevada.
No forecast updates are anticipated at this time. For additional
details, please refer to the previous discussion section.


.PREV of 03:26 AM PDT Thursday...High clouds continue
to stream over the region this morning as the core of an upper
level low spins over western Arizona. With the main trough axis
also well inland, low clouds have returned to many coastal areas
from the San Francisco Peninsula down along the Central Coast
penetrating inland into the Salinas Valley. With this and a
moderate air mass aloft, temperatures are slight warmer compared
to previous mornings. Looking for mainly dry conditions this
afternoon with temperatures warming into the 60s near the coast to
70s inland. However, cannot rule out an isolated shower or two
developing over the Gabilan Range this afternoon during peak
daytime heating as a weak disturbance rotates along the western
periphery of the trough.

Little change is anticipated for Friday and Saturday as a broad
trough remains over the western portion of the country. Should see
night/morning clouds near the coast working locally inland before
giving way to partly cloudy conditions in the afternoon. Again,
temperatures will remain slightly below seasonal averages with 60s
near the coast to 70s inland during the afternoon hours with
Saturday being slightly cooler than Friday.

Another mid/upper level low is then forecast to drop southward out
of Alaska and British Columbia late this weekend. As the low travels
down the West Coast chances for rain showers develop over the region
by Sunday. Systems such as this typically are moisture starved, so
widespread rainfall is unlikely. However, isolated to potentially
scattered showers cannot be ruled out late in the weekend and
potentially into early Monday. While a total "wash out" is unlikely
for the Memorial Day Holiday Weekend, unsettled conditions will
continue with unseasonably cool temperatures and potential for
lingering showers. Warmer and drier weather conditions are forecast
for the middle part of next week as the mid/upper level trough
finally shifts inland.

&& of 10:27 AM PDT Thursday...Morning low clouds were
slow to clear given high clouds overhead. Most terminals are VFR
now with the exception of Monterey Bay. MRY/SNS will gradually
clear late this morning. VFR this afternoon with high clouds.
Clouds return this evening. Some models suggest a semi-southerly
surge up the coast. Clouds inside SF Bay will be low confidence
forecast tonight.

Vicinity of KSFO...VFR as clouds clear. Breezy to gusty winds
possible this afternoon. Will bring a BKN deck back late tonight,
but confidence is marginal.

SFO Bridge Approach...Similar to KSFO. Possibly less clouds late
tonight compare to KSFO and KOAK.

Monterey Bay Terminals...IFR this morning with patchy drizzle
observed at the terminals. Expect IFR conditions to improve to
MVFR by late morning, and then VFR early this afternoon. MVFR cigs
returning early this evening.

&& of 10:23 AM PDT Thursday...Moderate to locally strong
winds will persist over the coastal waters today and early tonight
resulting in hazardous conditions. Winds will gradually decrease
late tonight and early Friday.  Gusty northwest winds will
redevelop over the coastal waters  Friday night through the
weekend. A large northwest swell will  persist through the end of
the week and into the weekend  particularly over the northern and
outer waters.


     .Tday...SCA...Pt Arena to Pt Reyes 0-10 nm
             SCA...Pt Reyes to Pigeon Pt 0-10 nm
             SCA...Pigeon Pt to Pt Pinos 0-10 nm
             SCA...Pt Pinos to Pt Piedras Blancas 0-10 nm
             GLW...Pt Arena to Pigeon Pt 10-60 nm until 3 PM
             SCA...Pigeon Pt to Pt Piedras Blancas 10-60 nm
             SCA...Rough Bar Advisory for SF Bar




Visit us at

Follow us on Facebook, Twitter, and YouTube at:

NWS MTR Office Area Forecast Discussion

To use, include the output of the script on your webpage by using

$doIncludeFD = true;
include("forecast-discussion.php"); ?>

to perform the include. Settings inside the script are:

// settings:
//  change myNWS to abbreviation for your local NWS office
//    other settings are optional
    $myNWS = 'MTR';   // San Francisco, NWS office
//  $myNWS = 'PQR';   // Portland, OR
//  $myNWS = 'OAX';   // Omaha, NE (Carter Lake, IA)
$cacheName = "forecast-discussion.txt"; // used to store the file so we don't have to // fetch it each time $refetchSeconds = 1800; // refetch every nnnn seconds
$cacheFileDir = './'; // default cache file directory // end of settings

The only required setting is for $myNWS which designates the local NWS office.
To find the 3-character abbreviation for your local NWS office for the $myNWS variable, follow these steps:

  1. Browse to
  2. Use the search box on the left to search for your city, state
  3. Look at the URL in the 'Forecast Discussion' link near the bottom of the page
  4. Use the 3-character abbreviation is in the &issuedby=XXX parameter on the Forecast Discussion link (XXX will be your local office)
  5. put the XXX in the $myNWS = 'XXX'; statement

The script has two optional parameters when you call it by URL from your website::

Will return the contents without the surrounding <html><head></head><body> and </body></html> tags
Will override the default $refetchSeconds=1800 so that the cache is refreshed immediately

NWS Area Forecast Discussion PHP script Demo and Download (1.06 - 27-Feb-2018 see history).

PHP for NWS CPC USA Extremes

This script was originated by Michael of and has been rewritten to use the NWS Climate Prediction Center's One Day Old Daily Data Summary text file for the USA. The script does not produce output (other than HTML comments for status), so you are free to include it in a page, and format the text output as you desire. The script returns data in four variables:

$usahigh - contains the text of the high temperature station(s) (value and station name from the NWS)
$usalow - contains the text of the low temperature station(s) (value and station name from the NWS)
$usaprecip - contains the text of the high precipitation station(s) (value and station name from the NWS)
$reportDate - contains the text of the date for the report (default format is 'Dayname, Month day, Year')

You can run the script by using:


print "<p>USA Extremes for $reportDate</p>\n";
print "<p>High Temperature<br/><br/>$usahigh</p>\n";
print "<p>Low Temperature<br/><br/>$usalow</p>\n";
print "<p>High Precipatation<br/><br/>$usaprecip</p>\n";
print "<p><small>Data courtsey of <a href=\"";
print "";
print "\">NWS-CPC</a></small></p>\n";


which produces this result (with live data):

USA Extremes for Wednesday, May 22, 2019

High Temperature

99°F at Laredo/Intl, TX
99°F at Cotulla Municipal, TX

Low Temperature

21°F at Mount Washington, NH

High Precipatation

1.72in at Bartlesville/Philli, OK

Data courtsey of NWS-CPC

The script has internal settings which you can adjust. If run in a Saratoga template, the cache file will be stored in the ./cache/ directory based on $SITE['cacheFileDir'] in Settings.php.

// Site to Parse
$url2 = "";
// Name of cache file  --  This file must be set to CHMOD-666
$cacheFileDir = './'; // directory to store cache file in.
$cacheFile2 = "usaextremesCache4.txt";  
// Age of cache file before re-fetch caching time, in seconds (3600 = 1 hour)
$cache_life = '3600';
$reportDateFormat = "l, F j, Y"; // Day, Month d, yyyy 
$tUOM = '&deg;F'; // or ='' for no temperature unit display
$rUOM = 'in';     // or ='' for no rain unit display
$ignoreStations = array('99NRB'); // Station numbers to ignore, Array of station numbers

NWS CPC One Day Extremes PHP script Download (4.03e - 09-Feb-2019 see history).