What's new in metaf2xml 2.9
Jan 22, 2024
- src2raw, dtd, lang, ui, cgi:
- adapt to new NOAA AWC Data API
- parser, xsl, dtd, lang:
- METAR remarks NZxx: process surface / horizon definition
- parser, src2raw, dtd, lang:
- recognise "ADV" (METAR), "ADVISORY OFFSITE" (TAF) as advisory
New in metaf2xml 2.8 (Sep 26, 2022)
- parser, src2raw, metaf2xml.pl, cgi:
- AMDAR: messages from SBAO start with "ARP" instead of "AMDAR"
- xsl, metaf-sum, lang:
- define and apply decimal separator
- xsl, lang:
- improve display of value ranges
- parser, bufr, dtd:
- BUOY (BUFR), AMDAR: process precision of temperature observation
- BUOY (BUFR): omit method of salinity/depth measurement if not available or salinity not measured
- parser, bufr, xsl, dtd:
- tempChange: use tempChangeVal instead of temp
- parser, xsl, dtd:
- METAR remarks: put consecutive clouds into one remark
- METAR remarks: use separate remark for embedded/associated cloud types
- parser:
- METAR remarks EGxx: move colour codes with trend to main/trend section
- cgi:
- data source can have username and password
New in metaf2xml 2.7 (Apr 11, 2021)
- parser, metaf-sum, ui, lang, cgi:
- summary: temperatures can also be shown in °F
- parser, xsl, metaf-sum, dtd:
- TAF: distinguish trend types "FM" and "PROB"
- src2raw:
- require Geo::BUFR 1.37+ and use ECC BUFR table files
- metaf2xml.pl, cgi, metafsrc2raw.pl:
- force layer :bytes for input (in case :utf8 is the default)
- parser, xsl, dtd, lang:
- METAR/TAF: use trendType/@q as duration of variation
- METAR: use trend/@q as trend period
- METAR/TAF: improve warnings
- xsl:
- MSXML2.XSLTemplate processor does not transform call-template defined via ENTITY (gui.js)
New in metaf2xml 2.6 (Dec 23, 2019)
- xsl, metaf-sum, ui, sum-ui, fullhtml, lang, cgi, css:
- use HTML5. do not use HTML generation functions of CGI.pm
- parser, xsl, dtd, lang:
- TAF: extend parsing for amendment info
- metaf-sum, lang:
- BUOY summary: show seaSurfaceTemp
- parser, xsl, dtd:
- SYNOP section 2: allow displacement
New in metaf2xml 2.5 (Jul 21, 2019)
- parser, xsl, dtd, lang:
- use @rn/@rp for temperature, avoid "-0"
- METAR: use timePeriod=synopMainHour if obs hour is unknown
- parser, xsl, dtd:
- SYNOP code table 0700: Da=9 means locationSpec=allDirections
- SYNOP section 3: remove from
- parser, bufr, xsl, metaf-sum, dtd, lang:
- AMDAR (BUFR): process obsTime with seconds and 5 more groups
- parser:
- METAR Cxxx cloud height, vert. vis.: use correct deviation
- METAR temperature: allow spaces around slash, allow missing air temperature
- SYNOP code table 0700: Dp must be 1..8
- remove dependency on POSIX (floor)
- cgi:
- switch tgftp.nws.noaa.gov to HTTPS
- src2raw, dtd, cgi:
- FSU data service was removed from public access
New in metaf2xml 2.4 (Sep 3, 2018)
- The period g0 for the SYNOP group 54g0sndT (section 3) defaults to the W1W2 period; timeBeforeObs is used instead of hoursFrom, hoursTill (not backwards compatible). Various additional METAR, SYNOP and BUFR groups are recognised, changes for FMH-1 (2017) were incorporated, and a few bugs.
New in metaf2xml 2.3 (Mar 21, 2018)
- parser, bufr, src2raw, metaf2xml.pl, cgi, metafsrc2raw.pl, install.pl:
- require Perl 5.14.4+ (use "package NAME VERSION", implicit strictures, -'-1' is no longer '+1' but 1)
- parser, bufr, dtd:
- add XML attributes part, parts, s_all if original message has multiple observations
- install.pl:
- add option -P (comments out "use lib ..." in installed scripts)
- remove install to HTDOCS_DIR, CGI_BIN_DIR
- remove installation variables CGI_BIN_DIR, HTDOCS_DIR, USE_CP
- describe only installation from sources
- cgi, install.pl:
- configuration/installation variables: add CURL_PATH, CURL_OPTS, XSLTPROC_PATH; rename METAF2XML_XSL -> METAF2XML_SHARE
- Makefile:
- remove
- metaf-sum:
- show compass direction for clouds
New in metaf2xml 2.2 (Jun 19, 2017)
- parser, bufr:
- split BUFR messages with multiple observations parser, bufr, xsl, metaf-sum, dtd:
- SYNOP: allow multiple past weather (not backwards compatible)
- cgi:
- test for local files/DB only if messages need to be fetched
- ui, cgi, css:
- allow longer messages
- change page top to match home page install.pl,
- Makefile:
- make path for Perl binary configurable
- metaf2xml.pl:
- remove code for deprecated option -TBUFR
- option -D takes an argument
New in metaf2xml 2.1 (Nov 1, 2016)
- cgi:
- adapt to new URLs for NOAA/IWS and NOAA/NWS
- optimise and/or fix file search and server queries parser, xsl, dtd, lang:
- METAR runway state: allow friction coefficient 00; decode all values (not backwards compatible)
- bufr:
- omit associated field if significance is missing
- Git commits:
- 936383f: METAR runway state: allow friction coefficient 00; decode all values
- Decoding: The value for the friction coefficient is divided by 100, the value for the braking action is BA_POOR, BA_POOR_MED, ... instead of 91, 92, ... These changes are not backwards compatible.
- 943e61e: cgi: adapt NOAA URLs. optimise and/or fix file search and server queries
- 292f843: minor changes including:
- bufr: omit associated field if significance is missing
- ui, cgi: avoid leading blank for example messages
New in metaf2xml 2.0 (Aug 22, 2016)
- extend BUFR processing src2raw, metaf2xml.pl metafsrc2raw.pl:
- decode binary BUFR in metaf2xml::src2raw, deprecate "metaf2xml.pl -TBUFR" parser, xsl, dtd, lang:
- METAR remarks: recognise Ihnnn (ice accretion) parser, xsl, metaf-sum, dtd, lang:
- group AMDAR measurements in metaf-sum:
- show precipitation and cloudInfo as lists in one field
- SYNOP, BUOY: show wave data
- SYNOP: separate lowest cloud base from total cover with comma cgi:
- allow selection by report type for BUOY (SS|IOB), AMDAR (UD|IUA)
- recognise report type IS[IMN] for (BUFR) SYNOP cgi, install.pl:
- change default CGI_{DATA,LOG}_DIR from /var/tmp to /var/opt/metaf2xml as required by the FHS
- change default log file name from metaf2xml.log to metaf.log install.pl:
- change default METAF2XML_{MAN,DOC,XSL} as required by the FHS xsl, ui, metaf-sum, dtd, cgi:
- remove unused translation stubs for pl, pt-br parser, dtd:
- 70HwaHwaHwa (SYNOP) and 20PwaPwaPwa 21HwaHwaHwa (BUOY) are more exact values, not additional measurements
New in metaf2xml 1.55 (Jun 3, 2014)
- xsl, metaf-sum, ui, lang, install.pl:
- rename metaf-lang*.xsl to what they are: .xml
- parser, metaf2xml.pl, cgi:
- replace metaf2xml::parser::finish_* by metaf2xml::parser::finish
- parser, xsl, metaf-sum, dtd, lang:
- TAF: use tag minQNH for forecast lowest altimeter setting
- xsl, lang:
- METAR/TAF: improve weather translation. show CNL in title, NIL as group
- parser, xsl, dtd:
- TAF: add volcanic ash forecast
- parser:
- temperature: do not omit '-' for M00 (METAR,TAF) and x1000 (SYNOP,BUOY)
- METAR/TAF visibility: add range only for reportable values
- parser, src2raw, metaf2xml.pl, cgi, metafsrc2raw.pl, install.pl:
- use L for Pod links to manuals
New in metaf2xml 1.53 (Sep 30, 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, metaf2xml.pl, cgi, metafsrc2raw.pl:
- allow and make check for exact Perl module version
- xsl, ui, cgi, css, install.pl:
- 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, metaf2xml.pl:
- allow character data in "empty" nodes
- install.pl:
- 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 metaf2xml 1.51 (Feb 21, 2013)
- 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 metaf2xml 1.50 (Nov 1, 2012)
- 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, install.pl:
- 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 metaf2xml 1.49 (Jul 20, 2012)
- parser, xsl, dtd, lang:
- complete processing of BUOY sections 3 and 4
- XML, metaf2xml.pl:
- use option -o instead of -x; option -x will become obsolete
- metaf2xml.pl:
- example callback functions: honor option -o, add filter
- parser, src2raw:
- process (canadian AUTO) SAO
- parser:
- METAR, TAF: tolerate one previously unrecognized group before a recognized mandatory group
New in metaf2xml 1.47 (Jan 5, 2012)
- BUOY sections 1, 2: process quality control indicators for section
- BUOY: process quality control indicators for position and time
- SYNOP section 5: add processing for country BE
- parser, xsl, dtd, metaf-sum:
- use instead of
- cloudTypes: improve display of oktas
- xsl, lang:
- mark derived values
- xsl, metaf-sum, lang:
- move country name translations to station.xml
- cgi:
- if HTTP header DNT (Do Not Track) is 1: log only x's as IP address
- parser, XML, src2raw:
- improve version string handling
- ui, cgi:
- use HTTP method GET instead of POST (no data is changed on the
- server)
- INSTALL, install.pl:
- generate INSTALL from POD in install.pl
New in metaf2xml 1.43 (Apr 8, 2011)
- add processing of BUOY messages sections 0, 1, 2
- install.sh, INSTALL, Makefile:
- minor changes to how and which files are installed
- install.sh: set CGI_LOG_FILE from $CGI_LOG_DIR/$CGI_LOG_NAME
- install.sh: install metaf.pl also to METAF2XML_BIN,
- install metafsrc2raw.pl only for "cgi"
- install.sh: install example configuration for Apache
- INSTALL: adapted to above changes
- Makefile: avoid duplicate shell commands, use install.sh instead
- metaf-sum, cgi:
- do not make text of report a link or provide station info as hint if
- called from command line or for format=text
- metaf2xml.pl, metafsrc2raw.pl:
- extend option -H to 5: with optional group BBB
- cgi:
- add parameter "end_date" for Ogimet (usable from command line, only)
New in metaf2xml 1.42 (Feb 7, 2011)
- 11 more groups in SYNOP section 3 are now processed, processing of some other groups in sections 1, 2 and 3 has been improved.
- There is a new trend type "FM" for TAF reports.
- The XML nodes "reports" and below now have a non-empty namespace.
- The handling of time periods was improved.
- The option -X for metaf2xml.pl was removed. Many smaller improvements and a few bugfixes were made.
New in metaf2xml 1.41 (Oct 16, 2010)
- SYNOP section 2: process groups 6IsEsEsRs/ICING, ICE ciSibiDizi
- SYNOP section 5: fix and extend processing of US sea reports
- SYNOP section 2: allow 99 for direction and period of swell
- parser, dtd, xsl:
- SYNOP section 2: allow missing speed for displacement
- parser:
- SYNOP section 0: determine country for mobile land stations
- SYNOP section 2: improve determination of country from call sign
- metaf-sum, lang:
- pressure tendency is for station level if provided
- improve display of past weather
New in metaf2xml 1.40 (May 22, 2010)
- cgi:
- don't print any HTML if called from command line and format=text
- set TZ=GMT0 to prevent offsets from mktime()
- NOAA/IWS has only 24 files, don't download any of them twice
- only return valid names for file list from NOAA/NWS
- xsl, metaf-sum:
- revert commit a434444 (xsl cleanup: use ...) to avoid excessive
- memory usage by xsltproc
- if $lang is set but invalid: use default language instead of @lang
- parser:
- process SYNOP group 00fff (wind speed >99) even if speed unit is unknown
- minor bugfixes: reject invalid code 05 for SYNOP additional weather,
- always include all available decimal places
- xsl:
- minor bugfix: show direction of cloud for SYNOP group 57CDaeC
- metaf-sum:
- improve output for gusts
New in metaf2xml 1.39 (Apr 21, 2010)
- SYNOP section 3: process groups 926S0i0 (hoar frost/coloured precip.),
- 929S8S'8 (drift snow), 93[2-7]RR (deposits), 928S7S'7 (snow cover), and
- 940Cn3 (evolution of clouds)
- METAR: improve parsing for remarks
- parser, dtd, xsl:
- METAR runway state: allow (and mark invalid) states U, D, N
- SYNOP section 1: allow /// for geopotential
- TAF periods: process but warn about mixed pre/post August 2007 format and
- ambiguous period (pre August 2007 format)/wind groups
New in metaf2xml 1.34 (Jan 7, 2009)
- 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