deformed-offering

Weather station scripts - NWS Forecast

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 WXForum.net and Weather-Watch forums and saratogaWXPHP Twitter account as they become available.

This page was updated Saturday, 07-Nov-2015 11:30 AM

Carterlake.org scripts with a few mods...

Tom at carterlake.org has done a great job generating and freely sharing his PHP scripts for other sites to use. I started my own journey with PHP programming by using his scripts (and Larry's at Anole Computer) as learning examples, and I can't thank them enough for their sharing! With Tom's permission (and some encouragement), I've set up this page to have links to the carterlake scripts that I've modified for various puposes. Most of the mods have to do with formatting for XHTML 1.0-Strict output (even when the source page was not).

advforecast.php (NOAA Forecast for all NWS areas)

Note: as of 12-Mar-2007, the Western Region website (www.wrh.noaa.gov) now offers the point-printable forecasts in the same format as the other regional websites, so this script now works for WRH, ERH, SRH and CRH websites.

Tom's advforecast.php script takes the point-printable forecast from NOAA for Western, Eastern, Southern and Central region NOAA websites, and converts to a set of icons/conditions/temperatures and text forecast for inclusion on your webpage. My mods add XHTML 1.0-Strict output and the ability to handle a redirection for county forecasts (offered by www.crh.noaa.gov) in case a point-printable forecast is not available. See these threads for the erh2crh version (http://www.wxforum.net/viewtopic.php?p=3768, and http://www.weather-watch.com/smf/index.php/topic,22504.0.html ) The latest version of this script also offers automatic failover to the Zone forecast if the point-printable forecast is not available. Set "$NOAAZone = 'ssZnnn';" in the code for your NOAA warning zone.

The script supports the ?force=1 parameter to reload the cache file, and also a ?force=2 to load the cache file from the backup County Zone forecast.

To use, you'll need an icon set uploaded in the /forecast/images directory on your website, and to set the $fileName variable inside the script to the URL for the point-printable forecast.

With V2.06 and up, the new parsing of the failover Zone forecast requires additional icons (available below) to be placed on your website.

The NOAA-NWS updated the icon set and provided a new dual-image icon to display 6-hour conditions for the 12-hour forecast icon. This icon is dynamically generated by a DualImage.php script (available below in the UPDATES file). With the DualImage.php script and associated icon templates installed, the V4.00+ version of advforecast2.php will support dynamic generation of dual images when needed. The script will fall-back to showing just the first 6-hour image if the DualImage.php is not available, OR if the meteotriviglio animated GIF images are used.

Sample included with:

<?php
$doIncludeNWS = true;
include("advforecast2.php"); ?>

will show

National Weather Service Forecast for: Saratoga CA
Issued by: National Weather Service San Francisco Bay Area/Monterey, CA
Updated: 1:08 pm PDT Aug 24, 2016

Saratoga
 
Tonight

Tonight: Mostly clear, with a low around 56. Northeast wind 3 to 6 mph.
Mostly Clear
Thursday

Thursday: Sunny, with a high near 84. Northeast wind 3 to 8 mph.
Sunny
Thursday
Night
Thursday Night: Partly cloudy, with a low around 56. Northeast wind around 6 mph.
Partly Cloudy
Friday

Friday: Partly sunny, then gradually becoming sunny, with a high near 83. Light east northeast wind.
Becoming
Sunny
Friday
Night
Friday Night: Partly cloudy, with a low around 57. South southwest wind 5 to 10 mph becoming light and variable  in the evening.
Partly Cloudy
Saturday

Saturday: Mostly sunny, with a high near 83.
Mostly Sunny
Saturday
Night
Saturday Night: Partly cloudy, with a low around 56.
Partly Cloudy
Sunday

Sunday: Mostly sunny, with a high near 85.
Mostly Sunny
Sunday
Night
Sunday Night: Partly cloudy, with a low around 56.
Partly Cloudy
Lo 56 °F Hi 84 °F Lo 56 °F Hi 83 °F Lo 57 °F Hi 83 °F Lo 56 °F Hi 85 °F Lo 56 °F

 

Tonight
 
Mostly clear, with a low around 56. Northeast wind 3 to 6 mph.
Thursday
 
Sunny, with a high near 84. Northeast wind 3 to 8 mph.
Thursday Night
 
Partly cloudy, with a low around 56. Northeast wind around 6 mph.
Friday
 
Partly sunny, then gradually becoming sunny, with a high near 83. Light east northeast wind.
Friday Night
 
Partly cloudy, with a low around 57. South southwest wind 5 to 10 mph becoming light and variable in the evening.
Saturday
 
Mostly sunny, with a high near 83.
Saturday Night
 
Partly cloudy, with a low around 56.
Sunday
 
Mostly sunny, with a high near 85.
Sunday Night
 
Partly cloudy, with a low around 56.
Monday
 
Mostly sunny, with a high near 84.
Monday Night
 
Partly cloudy, with a low around 56.
Tuesday
 
Mostly sunny, with a high near 84.
Tuesday Night
 
Partly cloudy, with a low around 57.
Wednesday
 
Mostly sunny, with a high near 85.

 

Forecast from NOAA-NWS for Saratoga CA.

You can also include it 'silently' and print just a few (or all) the contents where you'd like it on the page

<?php
$doPrintNWS = false;
require("advforecast2.php"); ?>

then on your page, the following code would display just the current and next time period forecast:

 <table>
<tr align="center" valign="top">
<?php print "<td>$forecasticons[0]</td><td>$forecasticons[1]</td>\n"; ?>
</tr>
<tr align="center" valign="top">
<?php print "<td>$forecasttemp[0]</td><td>$forecasttemp[1]</td>\n"; ?>
</tr>
</table>
Tonight

Tonight: Mostly clear, with a low around 56. Northeast wind 3 to 6 mph.
Mostly Clear
Thursday

Thursday: Sunny, with a high near 84. Northeast wind 3 to 8 mph.
Sunny
Lo 56 °FHi 84 °F

Or if you'd like to include the immediate forecast with text for the next two cycles:

<table>
<tr valign="top">
<?php print "<td align=\"center\">$forecasticons[0]<br />$forecasttemp[0]</td>\n"; ?>
<?php print "<td align=\"left\" valign=\"middle\">$forecasttext[0]</td>\n"; ?>
</tr>
<tr valign="top">
<?php print "<td align=\"center\">$forecasticons[1]<br />$forecasttemp[1]</td>\n"; ?>
<?php print "<td align=\"left\" valign=\"middle\">$forecasttext[1]</td>\n"; ?>
</tr>
</table>

Tonight

Tonight: Mostly clear, with a low around 56. Northeast wind 3 to 6 mph.
Mostly Clear

Lo 56 °F
Mostly clear, with a low around 56. Northeast wind 3 to 6 mph.
Thursday

Thursday: Sunny, with a high near 84. Northeast wind 3 to 8 mph.
Sunny

Hi 84 °F
Sunny, with a high near 84. Northeast wind 3 to 8 mph.

Download: advforecast2.php (V4.02 - 07-Nov-2015) (Special thanks to Curly from RicksTurf.com for the multi-zone forecast code!)
Download: Icon Set (V2 for NWS 55x55 icons) (upload to your website in the /forecast/images directory)
Download: Icon Set UPDATES July-2015 and DualImage.php script (upload to your website and preserve the directory names - included with Base-USA template)


advisory.php (NOAA Advisory/Warning script)

This is a small mod to Tom's advisory script to eliminate some strange characters that began appearing just before the first line of the script output. This script is meant to be included in a webpage, not run as a separate page. (See the discussion at http://www.wxforum.net/viewtopic.php?t=539

Download: testadvisory.php

deformed-offering