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

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.

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.

000
FXUS66 KMTR 061207
AFDMTR

Area Forecast Discussion
National Weather Service San Francisco Bay Area
407 AM PST Mon Feb 6 2023

.SYNOPSIS...Quiet weather returns tomorrow and persists for the
remainder of the week. Expect cold to chilly mornings for interior
valleys during the first half of the week.

&&

.DISCUSSION...as of 12:10 AM PST Monday...

Today and Tonight:

Upper troughing will depart and allow deep ridging to take hold
across the region. This will lead to clearing skies and seasonally
cool temperatures today as readings climb into the mid 50s to lower
60s. Look for chilly conditions tonight with lows dropping into the
40s for coastal areas and 30s inland. These temperatures will be
hazardous to unsheltered or marginally sheltered populations.

Tuesday through Friday:

High pressure will dominate at the surface and aloft. This will
bring quiet and dry conditions with mild days and cool nights.

Next Weekend:

An upper trough will approach the region into this weekend bringing
a chance for showers. Otherwise seasonal temperatures will prevail
into early next week.

&&

.AVIATION...as of 4:07 AM PST Monday...For the 12Z TAFs.
Prevailing VFR conditions. Night satellite imagery shows mostly
clear skies, aside from some patchy stratus over the South Bay
hills and mountains around Monterey and San Benito. Some clouds
might reach the vicinity of KSJC/KMRY/KSNS but moderate to high
confidence in conditions remaining VFR. Light winds increasing
somewhat this afternoon, but generally AOB 15 kt, with light
northerly flow.

Mostly clear skies tonight with high clouds approaching near the
end of the TAF period. Low to moderate confidence in patchy fog
developing in the Sonoma Valleys late tonight as models are not
in good agreement.

Vicinity of KSFO...VFR at area terminals with low clouds in the
vicinity of KSJC. Otherwise, VFR likely to persist through the TAF
period. Moderate to breezy winds return this afternoon, peaking
around 15 kt at KSFO. Light winds overnight.

KSFO Bridge Approach...Similar to SFO.

Monterey Bay...VFR through the TAF period. Low clouds in the
surrounding hills are remaining just outside the vicinity of
KMRY/KSNS. Could see some clouds move over the terminals this
morning, but higher confidence in remaining VFR. Moderate NW
winds this afternoon, becoming light offshore overnight.

&&

.MARINE...as of 02:39 AM PST Monday...Strong northerly winds
today, diminishing slightly this afternoon, and more so tonight. A
large northwest swell has built into the waters, keeping
conditions hazardous for small craft as wave heights peak around
14 to 16 feet this morning. More moderate winds and seas expected
Tuesday, with another mid-period northwest swell arriving Tuesday
night.

&&

.MTR WATCHES/WARNINGS/ADVISORIES...
     .Tday...Frost Advisory...CAZ506
             SCA...Mry Bay until 9 AM
             SCA...Pt Arena to Pt Reyes 0-10 nm
             SCA...Pt Arena to Pigeon Pt 10-60 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
             SCA...Pigeon Pt to Pt Piedras Blancas 10-60 nm

&&

$$

PUBLIC FORECAST: SPM
AVIATION: Lorber
MARINE: Lorber

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 Sunday, February 5, 2023

High Temperature

86°F at Henry E. Rohlsen Airport, VI
86°F at Meridian Nas, MS

Low Temperature

-12°F at Frenchville Northern Aroostook Ap, ME

High Precipatation

5.07in at Miami Opa Locka 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