Skip to content
✈️ Parse METAR information into structured JavaScript object
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
.editorconfig
.eslintrc.yaml
.gitattributes
.gitignore
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
LICENSE.txt
README.md
gulpfile.js
package.json

README.md

✈️ METAR parser

Parse METAR information into structured JavaScript object. The structure of the returned object is closely related to the API response of CheckWX.

Installation: npm install aewx-metar-parser --save

Functionality

This METAR parser returns the following parts of a METAR string:

  • ICAO code
  • Date / time
  • Wind speed (in kts, mps) & direction
  • Visibility (in meters and miles)
  • Weather phenomena
  • Clouds
  • Temperature (in °C & °F) & humidity
  • Barometer pressure (in InHg, kpa & mb)

Code example

'use strict';
const metarParser = require('aewx-metar-parser');
const metarObject = metarParser('KSFO 070121Z 19023KT 1 1/2SM R28R/6000VP6000FT -RA BKN004 BKN013 OVC035 15/12 A2970 RMK AO2 T01500122 PNO $');

…returns:

{
  raw_text: 'KSFO 070121Z 19023KT 1 1/2SM R28R/6000VP6000FT -RA BKN004 BKN013 OVC035 15/12 A2970 RMK AO2 T01500122 PNO $',
  raw_parts: [
    'KSFO',
    '070121Z',
    '19023KT',
    '3/2SM',
    'R28R/6000VP6000FT',
    '-RA',
    'BKN004',
    'BKN013',
    'OVC035',
    '15/12',
    'A2970',
    'RMK',
    'AO2',
    'T01500122',
    'PNO',
    '$'
  ],
  icao: 'KSFO',
  observed: Date('2019-01-07T01:21:03.232Z'),
  wind: {
    degrees: 190,
    speed_kts: 23,
    speed_mps: 11.832222176208026,
    gust_kts: 23,
    gust_mps: 11.832222176208026
  },
  visibility: {
    miles: "1.5",
    miles_float: 1.5,
    meters: "2500",
    meters_float: 2414.016
  },
  conditions: [
    { code: '-'},
    { code: 'RA'}
  ],
  clouds: [
    { code: 'BKN', base_feet_agl: 400, base_meters_agl: 121.92 },
    { code: 'BKN', base_feet_agl: 1300, base_meters_agl: 396.24 },
    { code: 'OVC', base_feet_agl: 3500, base_meters_agl: 1066.8 }
  ],
  ceiling: {
    code: 'OVC',
    feet_agl: 3500,
    meters_agl: 1066.8
  },
  temperature: {
    celsius: 15,
    fahrenheit: 59
  },
  dewpoint: {
    celsius: 12,
    fahrenheit: 53.6
  },
  humidity_percent: 82.26135295757305,
  barometer: {
    hg: 29.7,
    kpa: 100.57572661390854,
    mb: 1005.7572661390855
  },
  flight_category: 'VFR'
}

More information on METAR

Wikipedia has an article on METAR information explaining the very basics.

These sites make METAR information publicly available:

Status

npm version Build Status devDependency Status

Legal stuff

Author: Frank Boës

Copyright & license: See LICENSE.txt

You can’t perform that action at this time.