deformed-offering

Weather station scripts - Forecast Canada

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 Thursday, 18-May-2023 9:22 AM

Environment Canada forecast script (for www.weatheroffice.gc.ca)

This script is along the lines of the carterlake.org NOAA 5-day script especially for the Canadian stations using Environment Canada as the source of the data. It uses a new set of customized icons with PoP displayed like the www.crh.noaa.gov website used by Tom's script. Examples:

Partly Cloudy PoP: 40% ==> Partly Cloudy
Rain and snow PoP: 100% ==> Rain and snow
Thunderstorm PoP: 70% ==> Thunderstorm

To use it, you need to download the ec-forecast-V5-06.zip file and unzip, then upload to your website. The scripts and GIF icons are included in the zip file. The script also requires the URL for the printable forecast for your area. Instructions are included with the source file and the ec-forecast-README.txt for the script.

As of V2.16, ec-forecast.php now supports the new transparent PNG icons created by Thayer Fox who has kindly permitted distribution from this site.
As of V3.00, the ZIP version contains these PNG icons.

Partly Cloudy PoP: 40% ==> Partly Cloudy
Rain and snow PoP: 100% ==> Rain and snow
Thunderstorm PoP: 70% ==> Thunderstorm

Download and unpack the ec-icons-png.zip and configure the ec-forecast.php to use the .png images in the settings area.

The script supports both English and French languages via the lang=en or lang=fr parameter. A live example of the French version (with lang=fr) is shown below.

FOG ADVISORY

Observed at: Hamilton Munro Int'l Airport
Date: Sunday December 03, 2023 at 03:00 EST
Light Drizzle and Fog
Light Drizzle and Fog
Temp.: 2.1 °C
Wind: NE 32 gust 42 km/h
Humidity: 100 %
Dew point: 2.1 °C
Pressure: 101.4 kPa
Tendency: falling
Visibility: 0.2 km
Sunrise: 07:34
Sunset: 16:45
Normals:
Max 3°C Min -4°C
Yesterday
  Max: 2.5 °C
  Min: 1.6 °C
  Rainfall: 1.5 mm

 Extended Forecast - Environment Canada
  Sunday
Periods of rain or drizzle
Periods of rain or drizzle
Max: 3°C
Monday
Chance of rain showers or flurries (40%)
Chance of rain showers or flurries
Max: 2°C
Tuesday
Chance of rain showers or flurries (40%)
Chance of rain showers or flurries
Max: 2°C
Wednesday
A mix of sun and cloud
A mix of sun and cloud
Max: 0°C
Thursday
Chance of flurries or rain showers (30%)
Chance of flurries or rain showers
Max: 3°C
Friday
Cloudy
Cloudy
Max: 4°C
Saturday night
Drizzle or rain
Drizzle or rain
Min: 2°C
Sunday night
Chance of flurries or rain showers (60%)
Chance of flurries or rain showers
Min: 1°C
Monday night
Cloudy
Cloudy
Min: -1°C
Tuesday night
Cloudy periods
Cloudy periods
Min: -3°C
Wednesday night
Chance of flurries (30%)
Chance of flurries
Min: -3°C
Thursday night
Chance of showers (30%)
Chance of showers
Min: 2°C

Forecast

Hamilton, ON (Issued: Saturday December 02, 2023 at 20:11 EST)

Tonight
A few showers or drizzle changing to drizzle near midnight. Fog patches. Wind becoming east 20 km/h gusting to 40 near midnight. Low plus 2.
Sunday
Cloudy. 40 percent chance of drizzle early in the morning. Periods of rain beginning in the morning. Fog patches dissipating in the morning. Wind east 20 km/h gusting to 40. High plus 3.
Sunday night
Periods of rain or snow ending in the evening then cloudy with 60 percent chance of flurries. Wind becoming west 30 km/h gusting to 50 in the evening. Low plus 1.
Monday
Cloudy with 40 percent chance of rain showers or flurries. High plus 2.
Monday night
Cloudy. Low minus 1.
Tuesday
Cloudy with 40 percent chance of rain showers or flurries. High plus 2.
Tuesday night
Cloudy periods. Low minus 3.
Wednesday
A mix of sun and cloud. High zero.
Wednesday night
Cloudy with 30 percent chance of flurries. Low minus 3.
Thursday
Cloudy with 30 percent chance of flurries or rain showers. High plus 3.
Thursday night
Cloudy with 30 percent chance of showers. Low plus 2.
Friday
Cloudy. High plus 4.
Averages and extremes
Highest temperature(1959-2011)20.7 °C1982
Lowest temperature(1959-2011)-20.5 °C2002
Average high3.1 °C 
Average low-3.8 °C 
Average-0.4 °C 
Greatest rainfall(1959-2011)21.6 mm1970
Greatest snowfall(1959-2011)8.2 cm1990
Greatest precipitation(1959-2011)24.4 mm1990
Most snow on the ground(1970-2010)13.0 cm1974
Monthly frequency of precipitation51.0 % 

24 Hour Forecast - Hamilton, ON

Date/Time
(EST)
Temp.
(°C)

Weather Conditions

LOP †
Wind
(km/h)
3 December 2023
04:00 2 Drizzle (80%)  Drizzle High E 20 gust 40
05:00 2 Drizzle (80%)  Drizzle High E 20 gust 40
06:00 2 Chance of drizzle (40%)  Chance of drizzle Low E 20 gust 40
07:00 2 Chance of drizzle (40%)  Chance of drizzle Low E 20 gust 40
08:00 2 Chance of drizzle (40%)  Chance of drizzle Low E 20 gust 40
09:00 2 Periods of rain (100%)  Periods of rain High E 20 gust 40
10:00 2 Periods of rain (100%)  Periods of rain High E 20 gust 40
11:00 2 Periods of rain (100%)  Periods of rain High E 20 gust 40
12:00 2 Periods of rain (100%)  Periods of rain High E 20
13:00 2 Periods of rain (100%)  Periods of rain High E 20
14:00 2 Periods of rain (100%)  Periods of rain High E 20
15:00 3 Periods of rain (100%)  Periods of rain High E 20
16:00 3 Periods of rain (100%)  Periods of rain High E 20
17:00 3 Periods of rain (100%)  Periods of rain High VR 10
18:00 3 Periods of rain mixed with snow (100%)  Periods of rain mixed with snow High VR 10
19:00 3 Periods of rain mixed with snow (100%)  Periods of rain mixed with snow High VR 10
20:00 3 Periods of rain mixed with snow (100%)  Periods of rain mixed with snow High SW 20 gust 40
21:00 2 Chance of flurries (60%)  Chance of flurries Medium SW 20 gust 40
22:00 2 Chance of flurries (60%)  Chance of flurries Medium SW 20 gust 40
23:00 2 Chance of flurries (60%)  Chance of flurries Medium SW 20 gust 40
4 December 2023
00:00 1 Chance of flurries (60%)  Chance of flurries Medium W 30 gust 50
01:00 1 Chance of flurries (60%)  Chance of flurries Medium W 30 gust 50
02:00 1 Chance of flurries (60%)  Chance of flurries Medium W 30 gust 50
03:00 1 Chance of flurries (60%)  Chance of flurries Medium W 30 gust 50
 
† Likelihood of Precipitation (LOP) as described in the public forecast as a chance of measurable precipitation for a period of time.
  Nil: 0%
  Low: 40% or below
  Medium: 60% or 70%
  High: Above 70%

Environment Canada

With Version 1.08, a new $currentConditions string is formatted with the current conditions of the selected city. If the city's conditions are based on a nearby airport, then a current conditions icon and short weather description are included. You can enable automatic printout by using $showConditions = true; in the ec-forecast.php script which will cause it to print before the alerts and forecast section. If you're 'quitely' including the script on your page, you can still print $currentConditions; where you'd like the conditions display to appear.

Version 2.00 brings a major rewrite of the script to accomodate a major change in the EC Forecast pages. Included with the .ZIP distribution are the new icons now in use by EC for the forecast site. The V2.00 script is compatible with the prior icon set distributed with the Version 1.nn script.

Version 2.16 included multi-forecast capability, improved diagnostics, support for the new transparent PNG icons, and additional settings for display of date with icon and/or detail forecast legend.

Version 3.00 is a major rewrite to support the EC website changes in October, 2014. The .zip distribution now includes the current .PNG format weather icons with POP stamps.

Version 3.02 has a major change in display of the temperature forecasts with the icons. It is now done by an extract of the value from the detail text forecast instead of the old method of using the values from the icon HTML. This should provide a more consistent presentation of Min/Max values for the icons.

Version 4.02 now uses cURL functions and uses HTTPS to access the EC website.

Version 5.00 is a major rewrite of the script to use the EC XML data instead of page scraping the EC website. V5.00 includes an Almanac and a 24-hour rolling forecast that can be displayed via new settings (default is to display both). The XML parsing should insulate us from further tweaks with the EC website page design as the XML format is unchanged for many years.

Observed at: Hamilton Munro Int'l Airport
Date: Sunday December 03, 2023 at 03:00 EST
Light Drizzle and Fog
Light Drizzle and Fog
Temp.: 2.1 °C
Wind: NE 32 gust 42 km/h
Humidity: 100 %
Dew point: 2.1 °C
Pressure: 101.4 kPa
Tendency: falling
Visibility: 0.2 km
Sunrise: 07:34
Sunset: 16:45
Normals:
Max 3°C Min -4°C
Yesterday
  Max: 2.5 °C
  Min: 1.6 °C
  Rainfall: 1.5 mm

You can also access the 'maxmin' for the location (where available on the EC site) by using

 <?php
print "For this date:<br/>\n";
print $conditions['maxmin'] . "<br/>\n";
?>

which would show:

For this date:
Normals: Max 3°C Min -4°C

Environment Canada Forecast PHP script: demo, in-page demo, and download package ,
download ec-forecast.php source only
download required ec-forecast-lookup.txt source only [ see version history ].

Version history

  • Version 5.06 - 18-May-2023 - added 'advisory' alert display formatting to be same as 'statement' type display
  • Version 5.05 - 09-Feb-2023 - fixes for .png icons and PHP 8.2
  • Version 5.04 - 27-Dec-2022 - fixes for PHP 8.1
  • Version 5.03 - 16-Oct-2019 - change XML access URL to https on EC site
  • Version 5.02 - 20-Nov-2017 - added wind-gust display to conditions box and hourly display, fix no conds icon issue
  • Version 5.01 - 07-Nov-2017 - added windchill display to conditions box
  • Version 5.00 - 27-Sep-2017 - major rewrite of the script to use EC XML data instead of page scraping the EC website. Added Almanac and 24-hour rolling forecast displays.
  • Version 4.03 - 31-Aug-2017 - fixes for icons due to EC website changes
  • Version 4.02 - 22-Feb-2017 - force HTTPS to EC website, improved error handling
  • Version 4.01 - 27-Oct-2016 - fix for conditions icon extract, yesterday data, use curl fetch for URL
  • Version 4.00 - 22-Oct-2016 - rewrite for major EC website design changes
  • Version 3.05 - 16-Dec-2015 - fixes for temperature forecast wording changes+extraction
  • Version 3.04 - 14-Dec-2015 - fixes for change in EC website (chunked+gzipped response)
  • Version 3.03 - 01-Dec-2015 - fixes for current conditions due to EC website changes.
  • Version 3.02 - 29-Apr-2015 - fixes for major change in EC website. Temperatures now extracted from detailed text forecasts.
  • Version 3.01 - 23-Dec-2014 - fixes for 'Normals'/'Sun times' extracts, text forecast, and .png PoP icons
  • Version 3.00 - 17-Oct-2014 - major rewrite of the script to support major EC website structure changes.
  • Version 2.17 - 15-May-2013 - fixes for changes in EC website structure (again)
  • Version 2.16 - 13-May-2013 - added settings to display days of week w/o day month for icons and detail area;
    icon type selection for .gif/.png; added debugging code for EC website fetch; added multi-forecast capability
  • Version 2.15 - 17-Apr-2013 - fixes for $title display with new EC website structure

 

deformed-offering