deformed-offering

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 https://github.com/ktrue

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 WXForum.net 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.

251
FXUS66 KMTR 201757
AFDMTR

Area Forecast Discussion
National Weather Service San Francisco CA
1057 AM PDT Fri Sep 20 2024

...New AVIATION...

.SYNOPSIS...
Issued at 350 AM PDT Fri Sep 20 2024

Warmer temperatures today mark the beginning of a steady warming
trend that will persist through the weekend into the beginning of
next week. Moderate heat risk conditions are still possible for many
interior locations Monday and Tuesday, but forecast trend has been
slightly cooler.

&&

.UPDATE...
Issued at 912 AM PDT Fri Sep 20 2024

Stratus is just starting to break up across the region, with the
interior East Bay and the Carmel Valley clearing out the most
visibly on satellite imagery. Some coastal drizzle was observed
earlier this morning, with accumulations ranging from a trace to a
few hundredths of an inch. Progressive clearing of stratus is
expected inland with the immediate coast and parts of Monterey Bay
remaining socked in through the day. No updates to the forecast at
this time.

DialH

&&

.SHORT TERM...
(Today and tonight)
Issued at 350 AM PDT Fri Sep 20 2024

Low stratus clouds have filled in along the coastline and interior
gaps and valleys overnight and will begin to erode by mid/late
morning except along the immediate coastline, especially Monterey
Bay, where the marine boundary layer is reestablished with light
onshore flow throughout the day. Gradual but steady H50 height
increases in the wake of the upper low moving inland over SOCAL this
afternoon will lift temperatures up about 5 degrees over inland
locations from yesterdays high temperatures. High pressure continues
to build offshore tomorrow, driving temperatures warmer on Saturday
to around normal values for this time of year.

&&

.LONG TERM...
(Saturday through Thursday)
Issued at 350 AM PDT Fri Sep 20 2024

Temperatures will gradually warm through the weekend into the
beginning of next week. The forecasted max temperatures have trended
slightly cooler but moderate heat risk across many inland locations
Monday and Tuesday may still lead to the need for a Heat Advisory
for those two days. There is poor consensus for the evolution of the
synoptic pattern west of the Rockies for the first half of next
week, as a weak upper level low develops off the coast of SOCAL.
Nonetheless, temperatures moderate somewhat for the second half of
next week from Monday and Tuesdays peak. We appear to remain dry
through the extended forecast after some welcomed rainfall over
southern Monterey County yesterday.

&&

.AVIATION...
(18Z TAFS)
Issued at 1057 AM PDT Fri Sep 20 2024

Mix of IFR and MVFR CIGs expected to gradually clear by late
morning. Stratus has started to recede from inland locations (LVK,
SJC, SFO) with all sites across the Bay Area to clear by 19-20Z.
Across the Central Coast, a healthy feed of stratus from Monterey
Bay may keep ceilings around longer with clearing tentatively
anticipated to occur around 20Z. Stratus will return again tonight
but is not expected to be quite as widespread. Confidence is low to
moderate that stratus will reach LVK and SJC overnight with current
thinking that clouds will be predominantly scattered and any lower
ceilings that do form will only be temporary in nature. Elsewhere,
stratus is expected to return slightly later tonight with most Bay
Area sites seeing returns between 06-10Z. Light, locally variable
winds continue through the remainder of the morning before more
moderate generally west to northwest winds return during the
afternoon.

Vicinity of SFO...VFR to persist through the afternoon/evening
before MVFR CIGs return overnight. CIGs look to stay on the MVFR-IFR
border but the NBM and GLAMP are in agreement that CIGs should stay
MVFR. Stratus is expected to return later tonight around 10Z
compared to around ~09Z yesterday. Light northwest winds are
expected to strengthen by early this afternoon with moderate west to
northwest winds persisting through the remainder of the day.

SFO Bridge Approach...Similar to SFO.

Monterey Bay Terminals...A healthy feed of stratus continues to move
into SNS and MRY which is pushing back the timing of clearing.
Moderate confidence that stratus will clear around 20-21Z for at
least a few hours this afternoon. The main uncertainty revolves
around how long stratus will continue feeding in from the Monterey
Bay and if a scenario similar to yesterday, where clearing did not
really happen, will occur. Assuming stratus does clear, an early
return around 00-01Z is expected at both MRY and SNS with MVFR-IFR
CIGs persisting through the rest of the TAF period. Moderate
northwest winds persist during the day before weakening overnight.


&&

.MARINE...
(Today through Wednesday)
Issued at 912 AM PDT Fri Sep 20 2024

Moderate northwesterly winds continuing through Monday, then
decrease to become gentle towards Tuesday. Seas will continue to
build through the weekend, with wave heights up to 13 feet in the
far northern outer waters as large, and shorter period
northwesterly swell continues to move into the waters. Seas begin
to abate Tuesday through the end of the forecast period.

&&

.MTR WATCHES/WARNINGS/ADVISORIES...
CA...None.
PZ...Small Craft Advisory until 9 PM PDT Saturday for Pt Arena to Pt
     Reyes 10-60 NM.

&&

$$

SHORT TERM...JM
LONG TERM....JM
AVIATION...Kennedy
MARINE...AC

Visit us at www.weather.gov/sanfrancisco

Follow us on Facebook, Twitter, and YouTube at:
www.facebook.com/nwsbayarea
www.twitter.com/nwsbayarea
www.youtube.com/nwsbayarea

NWS MTR Office Area Forecast Discussion

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

<?php
$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 www.weather.gov
  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::

inc=Y
Will return the contents without the surrounding <html><head></head><body> and </body></html> tags
cache=no
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 Relayweather.com 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
$worldhigh
$worldlow
$worldprecip

$selectedCountry (setting: country name for selected country high/low/precip)
Note: run http://your.site.com/worldextremes.php?list to see the list of country names to use
$countryhigh
$countrylow
$countryprecip

$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)
$statehigh
$statelow
$stateprecip

$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:

<?php
include_once("worldextremes.php");

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 "https://www.cpc.ncep.noaa.gov/products/cadb/";
print "\">NWS-CPC</a></small></p>\n";

?>

which produces this result (with live data):

USA Extremes for Thursday, September 19, 2024

High Temperature

104°F at Alva Regional Airport, OK
104°F at Blackwell Tonkawa Municipal Airport, OK
104°F at Enid Vance Afb, OK

Low Temperature

27°F at Big Piney Marbleton Ap, WY
27°F at Kremmling Mcelroy Airfield, CO
27°F at Walden Jackson County Airport, CO

High Precipatation

2.44in at Fort Lauderdale Executive Ap, FL

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

deformed-offering