Current Weather Project

The aim of the project was to develop an XML data exchange format to (1) transfer a weather observation that could include both automatically and manually observed data, and (2) display the combined weather observation in HTML using XSL transformation (XSLT).

The new XML data exchange format would be based on the XML Data Transfer Document that was developed as an experimental data exchange format for automatic weather data. The display would ideally include graphical representation of the weather data in the form of a station weather plot.

Project Stages

The stages of the project, some occurring simultaneously, were as follows:

  1. Match variables with the required station details, automatic weather data and manually observed weather data,
  2. Create an XML Schema Definition (XSD) document specifying the structure of the new XML Weather Obs Document (or wx-obs-xml),
  3. Investigate the feasibility of creating a station weather plot from the XML document using XSLT,
  4. Create graphics to represent the weather data,
  5. Create a style document (XSL document) specifying how the XML data would be displayed in HTML:
  6. Finalise the template files for (1) routine XSLT, and (2) XML validation, and
  7. Create HTML pages to describe a station weather plot and the weather symbols and code figures.

Project Variables

The variables used in this project are listed below. Select a variable to view the complete XML element definition, including: the element name and description, the expected data type, the permitted values where explicitly defined, and whether the element is mandatory or optional.

The variables in the template file are replaced with the equivalent output tags from the PWS software. If a variable has no equivalent output tag from the PWS software, the options are to: (1) create a user-defined output tag for the PWS software containing the appropriate value, or (2) replace the variable in the template file with the appropriate value. If an optional variable is permanently unavailable, the template file is edited as per this example - replace <foo>%variable%</foo> with <foo />.

Top of page up arrow

XML Schema Definition

View the XSD diagram for this project.

Weather Graphics

More than 500 graphics were created for the graphical representation of the weather data. This includes over 400 graphics to replicate the WMO weather symbols, including symbols for: total cloud cover, types of low cloud/middle cloud/high cloud, wind direction & wind speed both separately and combined, past weather, present weather and pressure trend, and about 100 graphics to show descriptive text corresponding to the WMO code figures for visibility and base of lowest cloud.

More information: weather symbols and code figures

Data Display

The combined weather observation can comprise a mix of raw values and WMO code figures. Some of the raw values are plotted as they are reported, whilst others must be coded for the purposes of plotting. All of the code figures, with the exception of visibility, are represented by the appropriate weather symbols in the station plot.

The evolution of the XSL document that specifies how the XML data are displayed in HTML is described below:

See an example of a full manual and automatic observation using the latest XSL version with plain vanilla styling.

Project Status

The wx-obs-xml is routinely generated by our PWS software to display the TrugWX Live Weatherwall. The observation includes an occasional manual weather report.

The TrugWX Live Weatherwall uses the latest XSL version with additional styling to match the other webpages, and also includes these additional features:

This 2020 project successfully achieved its stated aim but remains open and active.

Top of page up arrow