metaf2xml Changelog

New in version 1.57

July 13th, 2015
  • parser, bufr, src2raw,, cgi,,
  • require Perl 5.10.1+ (use state, //, \K)
  • parser:
  • SYNOP section 5: process 4 more groups (for NL)
  • SYNOP section 1: fix ranges for VV=9* for US
  • parser, bufr, xsl, dtd:
  • extend BUFR parsing
  • parser, xsl, xsl-sum, dtd:
  • remove report/@query_start, add it and Perl version as comments
  • cgi:
  • adapt to new URLs for Ogimet, recognise quota reached
  • ui, cgi:
  • use operational (version 1.3) instead of experimental (1.5, to be shutdown) NOAA/ADDS dataserver (partially revert 69efd22)

New in version 1.56 (January 27th, 2015)

  • parser, xsl, dtd:
  • add range for table 1677. use @rne/@rpi instead of @rn/@rp with @q=exclLower
  • parser, xsl, dtd, metaf-sum:
  • TAF: trendType: use FM instead of PROB. summary: show probability
  • metaf-sum:
  • SYNOP cloudInfo: omit if type and height are N/A. show VV
  • cgi:
  • use the list form of "open" for pipes if platform supports it parser, bufr, xsl, metaf-ui.xsl, dtd,, cgi,
  • prepare for BUFR processing
  • Makefile:
  • just pass variables to
  •, cgi,,
  • use Pod::Usage::pod2usage
  • allow scripts to be loaded as library
  • use default if variable is empty
  • add options -v, -n
  • remove option -O

New in version 1.54 (December 30th, 2013)

  • parser, src2raw,, cgi,
  • make message prefixes SYNOP and BUOY deprecated
  • parser, xsl, dtd, lang:
  • TAF: recognise QNH and temperature forecast
  • metaf-sum, cgi:
  • summary: fetch and display TAF, too

New in version 1.53 (September 30th, 2013)

  • parser, xsl, dtd, lang:
  • SYNOP section 3: process groups 918sqDp, 919MwDa, 97[5-9]vpDp, 959vpDp
  • parser, xsl, metaf-sum, dtd:
  • SYNOP section 9: process group 0dxdxfxfx for DE
  • metaf-add, ui, dtd, lang, cgi:
  • distinguish SYNOP by station type (wmo,ship,mobil) instead of source (land,ship)
  • xsl, metaf-sum:
  • SYNOP: show offset to actual obs. time
  • support GUI demo with browsers based on WebKit
  • metaf-sum, lang:
  • improve handling of summary header
  • metaf-sum:
  • wind: show direction for gusts, use 1 column instead of 2
  • mark derived humidity
  • parser, src2raw,, cgi,
  • allow and make check for exact Perl module version
  • xsl, ui, cgi, css,
  • move style to CSS file to allow stricter CSP directives
  • parser, xsl, metaf-sum, lang, cgi:
  • if data source is DB: also get station info from DB
  • parser:
  • SYNOP section 3: allow ///// as 5j1j2j3j4 group. process tempMax, tempMin for MOBIL
  • parser,
  • allow character data in "empty" nodes
  • settings can be provided as arguments. extend description of installation
  • fix installation of files having CRLF as end-of-line
  • improve installation of man pages
  • metaf-add:
  • adapt to changes in DTD, stations.xml. improve namespace handling

New in version 1.51 (February 21st, 2013)

  • parser, xsl, dtd:
  • METAR/TAF: use code table 1690 for heights and vert. vis. except for US
  • parser, xsl, metaf-sum, dtd:
  • SYNOP US: use FMH-2 instead of code table 1600 for base of lowest cloud
  • parser, xsl, dtd, lang:
  • extend processing of SAO
  • parser, XML, xsl, dtd:
  • METAR: 5 groups handled as extensions become remarks

New in version 1.50 (November 2nd, 2012)

  • dtd, ui, cgi:
  • new data source: SQL database
  • parser, XML, src2raw, xsl, dtd, lang:
  • extend processing of SAO
  • xsl, ui, metaf-sum, dtd, lang, cgi:
  • prepare translations for pl, pt-br
  • xsl, ui, metaf-sum, lang,
  • split metaf-lang-{de,en,es,pl,pt-br,ru}.xsl from metaf-lang.xsl
  • lang:
  • improve Russian translation (thanks to Roman Nikitin)

New in version 1.49 (July 21st, 2012)

  • The number of errors raised for invalid groups in METAR and TAF was reduced significantly: more groups and variants are recognized, and certain unrecognized groups are skipped.
  • The processing of BUOY messages is now complete, and Canadian automatic SAO are also processed.
  • The option -x for was renamed to -o; the option is also honored by the example callback functions.
  • A few minor bugs were fixed.

New in version 1.47 (January 5th, 2012)

  • This version extends parsing for BUOY and SYNOP messages.
  • There are many smaller changes and other extensions.

New in version 1.46 (October 27th, 2011)

  • Starting with this release, the parsed data can be accessed via a callback function. Releases are now installed with a Perl script.
  • The hourly temperature in METAR remarks is processed as an observed value, not a 1 hour average.
  • Missing data for weather history (RABMM) and 24h min./max.
  • temperature in METAR remarks is recognized.
  • Many smaller changes and bugfixes have been made.

New in version 1.45 (July 25th, 2011)

  • Two small but nasty bugs were fixed.

New in version 1.44 (July 22nd, 2011)

  • and now use the module; less forking is now required. The source "Ogimet ship" can now be used to fetch ship data.
  • The display of wind, pressure (change), and temperature in the summary was extended.
  • Many smaller improvements and bugfixes were made.

New in version 1.43 (April 11th, 2011)

  • add processing of BUOY messages sections 0, 1, 2
  • do not make text of report a link or provide station info as hint if called from command line or for format=text,
  • extend option -H to 5: with optional group BBB
  • add parameter "end_date" for Ogimet (usable from command line, only)

New in version 1.42 (February 8th, 2011)

  • 2011-02-06 release 1.42
  • XML, dtd, xsl, ui, metaf-sum:add namespace for XML and translation data, plus minor changes
  • parser, dtd, xsl, lang:
  • TAF: add trendType "FM" to clearly distinguish it from "BECMG FM" (thanks to Jesse (angelldev))
  • SYNOP section 3: process groups 92[01]SFx, 923S'S, 924SVs, 925TwTw, 927S6Tw, 941CDp, 943CLDp, 950Nmn3, 951Nvn4, 989VbDa, 991ADa
  • improve processing of SYNOP sections 1, 2 and 3: allow more variants for several groups; improve processing for countries CN, FR, TV; ...
  • SYNOP section 3: correct periods for region VI, MG, MZ
  • improve parsing of visibility and weather for METAR and TAF
  • parser, XML, dtd, xsl, metaf-sum, lang:
  • change period handling
  • parser:
  • METAR: forward 'isGrid' to all winds if specified; use existing patterns for additional countries
  • XML,, gui:
  • remove option -X for, tag is mandatory
  • ui, gui:
  • use explicit link for favicon
  • gui:
  • tipo=SN is not supported for src_synop=ogimet; disallow tipo=SI for now, filter is broken and returns no reports check if input parameter hours is a number
  • metaf-sum:
  • make text of report a link to show it in mode=detailed

New in version 1.41 (October 18th, 2010)

  • The ice/icing groups of SYNOP section 2 are now processed as well as groups in SYNOP section 5 from US sea station reports.
  • The determination of the country of the issuer of the SYNOP report (required to apply national decoding rules) was improved.
  • The display of past weather in the summary was extended.
  • Several minor corrections and extensions were implemented.

New in version 1.35 (March 1st, 2009)

  • This release adds the processing of SYNOP groups in section 5 for stations operated by the USA (land) and Canada.
  • The dependency on XML::Writer was removed.
  • There are also a number of smaller improvements for the parser and a few bugfixes.

New in version 1.34 (January 5th, 2009)

  • parser:
  • METAR: recognise new format for runway state
  • TAF: recognise new date/time formats also for max./min. temperature
  • SYNOP: tolerate invalid values for table 4377

New in version 1.33 (November 5th, 2008)

  • This release adds the processing of the new TAF date/time formats. SYNOP groups 95[01]xx are also processed.
  • There are also a number of smaller additions, changes, and a few bugfixes.

New in version 1.32 (September 9th, 2008)

  • This release adds the processing of SYNOP groups in section 3 for the Antarctic.
  • The tags for the visibility and the wind direction contain information about rounding offsets.
  • Some more SYNOP groups deviating from the standard are tolerated.
  • The summary format for SYNOP now shows the present weather (in METAR coding) and the highest gust (from section 3).
  • The data source NOAA/NWS (ships) was added.
  • There are also a number of smaller changes in the parser and a few bugfixes.