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 Tuesday, 27-Feb-2018 1:47 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 161208

Area Forecast Discussion
National Weather Service San Francisco Bay Area
508 AM PDT Thu Aug 16 2018

.SYNOPSIS...High pressure over the Desert Southwest will gradually
build westward and across California over the next few days. This
will result in a warming trend through Saturday, especially across
the interior. Temperatures will warm above normal in the inland
valleys and hills by Friday and Saturday. Cooling is then expected
by early next week.


.DISCUSSION...As of 3:33 AM PDT Thursday...Satellite imagery
shows coastal low clouds have spread locally into the San
Francisco Bay area as well as the North Bay valleys and into the
Monterey Bay. Current temperature trends are running slightly
cooler than yesterday at this time with mid 50s to lower 60s most
areas. High pressure aloft will begin building westward into
California beginning today with a warming trend expected through
Saturday. Highs today are forecast to be slightly warmer than
yesterday. Additional warming is expected through Saturday with
warmest inland areas peaking in the upper 90s to around 101.

Beginning on Sunday, the upper level ridge is progged to edge
eastward as an upper level trough digs down from the Pacific
Northwest. This is expected to usher in a cooling trend through at
least midweek.

&& of 5:00 AM PDT Thursday...Less stratus in the Bay
Area compared to yesterday. Large holes are seen on satellite in
the approach. Marine inversion has been diffuse overnight but it
may be strengthening as the airmass aloft warms up. Stratus today
could burn off by 18Z in the Bay Area...possibly sooner...but
should be more widespread tonight.

HRRR Vertically Integrated Smoke Model indicates smoke over the
area will be light today.

Vicinity of KSFO...MVFR cigs through 18-19Z. West winds gusting
to 25 kt after 22Z.

SFO Bridge Approach...Similar to KSFO.

Monterey Bay Terminals...Stratus is patchy again this morning. The
Salinas Valley is seeing much less stratus this morning. Cigs at
MRY and SNS will occasionally be SCT at times but cigs should
clear out completely after 16Z at SNS and 17Z at MRY.

&& of 2:39 AM PDT Thursday...A 1025 mb high centered
850 miles west of Cape Blanco will shift slightly east through
Friday. This will result in increasing northwest winds over the
northern outer waters Friday. Elsewhere winds will remain light
except for locally gusty winds over outer Monterey Bay and along
the Big Sur Coast. A long period southerly swell will arrive along
the coast this weekend.


     .Tday...SCA...SF Bay from 2 PM
             SCA...Mry Bay from 2 PM
             SCA...Pigeon Pt to Pt Pinos 0-10 nm from 2 PM
             SCA...Pt Pinos to Pt Piedras Blancas 0-10 nm from 2 PM




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, August 15, 2018

High Temperature

109°F at Needles Airport, CA

Low Temperature

30°F at Stanley Ranger Stn, ID
30°F at West Yellowstone, MT

High Precipatation

3.62in at Ft Smith/Muni, AR

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.03 - 13-Oct-2016 see history).