Get latest weather reports from weather stations worldwide
The information comes from the National Oceanic and Atmospheric Association's raw data source.
require'rubygems'ifRUBY_VERSION < '1.9'require'metar'This prints the latest weather report for Portland International Airport:
station=Metar::Station.find_by_cccc('KPDX')putsstation.report.to_sList countries:
putsMetar::Station.countriesFind a country's weather stations:
spanish=Metar::Station.find_all_by_country('Spain')station=Metar::Station.find_by_cccc('KPDX')parser=station.parserputsparser.temperature.valuemetar_string="KHWD 280554Z AUTO 29007KT 10SM OVC008 14/12 A3002 RMK AO2 SLP176 T01390117 10211\n"raw=Metar::Raw::Data.new(metar_string)parser=Metar::Parser.new(raw)Translations are available for the following languages (and region):
- :de
- :en
- :'en-US'
- :it
- :'pt-BR'
Thanks to the I18n gem's fallback mechanism, under regional locales, language generic translations will be used if a region-specific translation is not available. I.e.
I18n.locale = :'en-US'
I18n.t('metar.station_code.title') # station code
By default, the parser runs in 'loose' compliance mode. That means that it tries to accept non-standard input.
If you only want to accept standards-compliant METAR strings, do this:
Metar::Parse.compliance=:strictThis version introduces a major change to the Metar::Raw class.
Previously, this class downloaded METAR data from the NOAA FTP site. The old functionality has been moved to Metar::Raw::Noaa. The new class, Metar::Raw::Data accepts a METAR string as a parameter - allowing the user to parse METAR strings without necessarily contacting the NOAA.
Other Ruby libraries offering METAR parsing:
There are many reports (WMO) that these libraries do not parse.
There are two gems which read the National Oceanic and Atmospheric Association's XML weather data feeds:
