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.

Many of these scripts are now available on GitHub at

Buy Me A Coffee 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.

Note: Twitter widget has been disabled 3-Jul-2023 since it no longer displays the recent update Tweets.

This page was updated Tuesday, 28-Jul-2020 2:45 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 042358

Area Forecast Discussion
National Weather Service San Francisco CA
358 PM PST Mon Mar 4 2024


Issued at 100 PM PST Mon Mar 4 2024

Unsettled conditions expected to persist through midweek, yet no
widespread flooding concerns. Warmer and drier weather finally
returns late week followed by a return to unsettled weather.


(This evening through Tuesday)
Issued at 100 PM PST Mon Mar 4 2024

Rain showers have about all ended as of early this afternoon except
for the North Bay. Rain chances return to the North Bay later this
afternoon and into tomorrow as another short-wave trough approaches
the region. Rainfall amounts will be light and mostly beneficial.

Tomorrow will be slightly warmer across the Bay Area and more so
over the Central Coast and Santa Clara Valley. Temperatures will
range from the upper 50s in the North Bay to mid 60s across the
interior. Light rain will continue over the North Bay and may drop
as far south as the Santa Cruz Mountains.


(Tuesday night through Sunday)
Issued at 232 AM PST Mon Mar 4 2024

The low pressure system looks to come ashore somewhere along the
Central Coast on Wednesday, which may trigger a few stronger
showers. As the low continues to push inland, the southerly winds
will flip back to northerly as subtropical high pressure slides
into the driver`s seat. Thursday and Friday look to be the nicest
days of the week with clear skies, mild temperatures and a
moderate northerly breeze. The clouds and rain return with a cold
front expected over the weekend. The current guidance suggest rain
will be light to moderate, and mostly confined to the North Bay.
All rain this week looks to be mostly beneficial, with no
widespread flooding concerns.

Looking way ahead, ensemble guidance and the Climate Prediction
Center are both suggesting we will move out of this cold wet
pattern in mid-March.


(00Z TAFS)
Issued at 347 PM PST Mon Mar 4 2024

A disturbance over the Eastern Pacific is resulting in cloudy
skies across the region as well as light to breezy southwesterly
winds. As this low approaches the NorCal coastline tonight into early
Tuesday morning, VCSH will be possible across North Bay terminals
and OAK/SFO, but precip will be very light and unimpactful. VFR
is expected to persist with the exception of KSTS where reduced
cigs are more likely overnight tonight. Winds shift S/SE overnight
tonight, becoming light. SW winds increase again Tuesday
afternoon with sustained speeds of 8 to 12 knots expected across
the region.

Vicinity of SFO...Southwest winds of 10 knots expected to linger
at SFO through at least 04z before turning more southerly and
reducing into the overnight hours. Light SE winds expected early
Tues morning before SW winds increase again by the afternoon
hours. VFR is expected to persist through the TAF period with
cloud decks potentially reaching 3500 feet overnight into early
Tues morning during periods of light, sporadic rain.

SFO Bridge Approach...Satellite imagery shows cumulus deck around
3500 feet is starting to scatter out over the bridge approach.

Monterey Bay Terminals...Breezy NW winds with VFR conditions.
Winds shift SE overnight tonight, becoming breezy across the
Salinas Valley by early morning. Winds shift SW/W tomorrow


(Tonight through next Saturday)
Issued at 347 PM PST Mon Mar 4 2024

Generally benign marine weather conditions as the moderate period
northwesterly swell continues to diminish. Shower activity will
increase in coverage Tuesday through Wednesday as a low pressure
system approaches from the Pacific. As this low pressure system
approaches, winds will shift to become a moderate southwesterly
breeze. Northwesterly winds will increase Thursday through the
coastal waters, which will result in elevated seas.




LONG TERM....Flynn

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 World Extremes

This script was originated by Michael of and has been rewritten to use the NWS Climate Prediction Center's CSV file for world observations. 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 variables:

$omittedCountry (text list of countries excluded from $world high/low/precip scans)
Note: the setting $ignoreCountrys is the array of country names to to exclude

$selectedCountry (setting: country name for selected country high/low/precip)
Note: run to see the list of country names to use

$usahigh (Note: for lower-48 USA states)
$usalow (Note: for lower-48 USA states)
$usaprecip (Note: for lower-48 USA states)

$selectedState (setting: USA state 2-character name abbreviation in settings area)
$selectState (a copy of $selectedState for compatibility with old stateextremes.php)

$reportDate (nicely formatted date of the report)
$stateReportDate (a copy of $reportDate for compatibility with old stateextremes.php)

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 courtesy of <a href=\"";
print "";
print "\">NWS-CPC</a></small></p>\n";


which produces this result (with live data):

USA Extremes for Sunday, March 3, 2024

High Temperature

94°F at Jesse Viertel Memorial Airport, MO

Low Temperature

-13°F at Mike (moore), MT
-13°F at Stanley Ranger Station, ID

High Precipatation

4.09in at Bridgeport Sonora Junction, CA

Data courtesy 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.

$cacheFileDir = './'; // directory to store cache file in.
$cacheFile2 = "worldextremesCache.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 (display in C is default)
$rUOM = 'in';     // or ='' for no rain unit display (display in mm is default)
$ignoreCountrys = array('Antarctica','Greenland');     // for world extremes - exclude these country(s)
$ignoreStations = array('99KLRJ');     // list of stn_id (field 0) to ignore for bogus data
$tempDiffAllowed = 40; // max difference Tmax-Tmin (C) for valid data
$selectedCountry = 'Canada'; // for country max/min/precip in $country* variables
// note: the $usa* variables will have the min/max/precip for the lower-48 states
$selectedState   = 'CA';  // for USA state max/min/precip in $state* variables

Note that $cacheFileDir, $tUOM, $rUOM will use the Saratoga template Settings.php values if used in a Saratoga template.

NWS CPC One Day Extremes PHP script Download (5.04 - 28-Jul-2020 see history).