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 121148

Area Forecast Discussion
National Weather Service San Francisco CA
448 AM PDT Fri Apr 12 2024

...New AVIATION...

Issued at 421 AM PDT Fri Apr 12 2024

Cooler and cloudier for Friday as highs fall back into average
range as the next rain-maker nears. Expect a breezy to gusty
afternoon with some light pre-frontal rain, with the main rain
band arriving overnight. Showers and storm chances are expected
through Saturday, with lingering showers Sunday.


(Today and tonight)
Issued at 421 AM PDT Fri Apr 12 2024

It`s weather whiplash as the region goes from warm and sunny to cool
and cloudy for the end of the work week.

Temperatures will top off in the 50s and 60s for most areas, with
only a few more interior areas venturing into the 70s, quite the
difference from yesterday.

This cool and cloudy change of pace is due to the trough building
along the west coast, which will have a cold front move through the
Bay Area and Central Coast tonight and the front`s parent low move
through over the weekend.

Southwest winds build ahead of the front this afternoon, along with
some light pre-frontal rain. Winds will be  breezy across the region
but will be particularly gusty on higher peaks in Monterey and San
Benito Counties.

The main rain band arrives along the cold front into the night,
bringing moderate rainfall, with shower activity lasting behind it,
and weakening winds. The most recent forecast updates have delayed
the time of arrival of the cold front, and signal that this could
still be a more late night/early morning set passage.


(Saturday through Thursday)
Issued at 421 AM PDT Fri Apr 12 2024

The weekend will see the cold front`s parent low focusing over the
Bay Area and Central Coast, providing scattered showers and storm
chances through Saturday, with some lingering showers into Sunday.
Storm chances will peak around 25% into Saturday evening and into
the early night, with the focus being off the coast of Santa Cruz Co
and the Monterey Bay.

While the cold front will offer most of the weekend rain fall, the
shower and storm activity behind will add up over time.

As of the current forecast, Rainfall totals from Friday through
Sunday afternoon look to range from:

-0.4" to 0.75" for most inland areas
-0.75" to 1.25" for coastal areas and higher elevations in the North
-1.25" to 2" Santa Cruz Mtns and the Santa Lucias.
- above 2" for the highest peaks along the Big Sur Coast

A ridge pattern builds in quickly behind the weekend`s rains,
allowing for dry weather to return into next week. This will also
put the region into another warming trend with widespread 60 and 70
degree highs expected in the middle of the work week.


(12Z TAFS)
Issued at 446 AM PDT Fri Apr 12 2024

Currently VFR with MVFR conditions to develop early this morning.
Night Fog product shows stratus entering the San Francisco
peninsula and developing along the Central Coast, reinforcing
confidence that lowered CIGs will occur within the next few hours.
VFR will return by the mid morning to late afternoon. An incoming
low pressure system will arrive late Friday bringing stronger
winds, lowered CIGs, and increasing rain. Rain chances will
increase moving into the evening hours with showers expected at
all airports overnight. Light, NW winds are expected through the
early morning with moderately gusty NW to SW returning moving into
the early afternoon hours. Thunderstorm chances look to increase
on Saturday just after the end of this TAF period.

Vicinity of SFO...Currently VFR expected to become MVFR within the
next few hours. Night fog shows stratus developing along the SF
peninsula and moving inland with CIGs expected to drop at SFO around
13Z. Moderate NW winds will continue through the morning before
gustier NW to SW winds develop this afternoon through the end of the
TAF period. As the low pressure system approaches, rain will reach
SFO by the late evening with rain continuing through the end of the
TAF period.

SFO Bridge Approach...Similar to SFO.

Monterey Bay Terminals...VFR transitioning to MVFR-IFR. IFR
conditions have been on and off again developing over MRY for the
last several hours. Night Fog shows stratus beginning to move
towards SNS and MRY again with MVFR-IFR conditions expected to
consistently be in place through the early morning hours. VFR
conditions will return by late morning before MVFR CIGs develop
overnight ahead of the incoming system. Breezy to gusty SW to NW
winds will develop throughout the TAF period with rain chances
increasing towards the end of the period.


(Today through Wednesday)
Issued at 421 AM PDT Fri Apr 12 2024

Moderate to fresh northwesterly breezes to continue into the
morning. During the afternoon, winds will strengthen to fresh to
strong and transition southwesterly ahead of an incoming low
pressure system. This system will bring rain, near gale force
gusts,  and a 20% chance for thunderstorms to the coastal waters
through  Saturday. A chance for occasional gale force gusts
remains possible  particularly in the southern coastal waters.
Moderate period  northwesterly swell will continue through the


PZ...Small Craft Advisory from 3 PM this afternoon to 3 PM PDT
     Saturday for Mry Bay-Pigeon Pt to Pt Pinos 0-10 nm-Pigeon
     Pt to Pt Pinos 10-60 NM-Pt Pinos to Pt Piedras Blancas 0-10

     Small Craft Advisory from 9 AM to 3 PM PDT Saturday for Pt Arena
     to Pt Reyes 0-10 nm-Pt Arena to Pt Reyes 10-60 NM.

     Small Craft Advisory from 9 PM this evening to 3 PM PDT Saturday
     for Pt Reyes to Pigeon Pt 0-10 nm.

     Small Craft Advisory until 9 AM PDT this morning for Pt Pinos to
     Pt Piedras Blancas 0-10 nm.



SHORT TERM...Murdock
LONG TERM....Murdock

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 Thursday, April 11, 2024

High Temperature

97°F at Palm Springs Asos, CA

Low Temperature

-4°F at Perryton Ochiltree County Airport, TX

High Precipatation

7.27in at Bay Bridge Airport, MD

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).