Giter Club home page Giter Club logo

aeromet-py's Introduction

Aeromet-Py

Contributors Forks Stargazers Issues codecov MIT License

Inspired from python-metar, a library writed in Python language to parse Meteorological Aviation Weather Reports (METAR and SPECI).

This library will parse meteorological information of aeronautical land stations. Supported report types:

  • METAR
  • SPECI
  • TAF

Current METAR reports

The current report for a station is available at the URL

http://tgftp.nws.noaa.gov/data/observations/metar/stations/<station>.TXT

where station is the ICAO station code of the airport. This is a four-letter code. For all stations at any cycle (i.e., hour) in the last hours the reports are available at the URL

http://tgftp.nws.noaa.gov/data/observations/metar/cycles/<cycle>Z.TXT

where cycle is the 2-digit cycle number (00 to 23).

Usage

A simple usage example:

from aeromet_py import Metar

code = 'METAR MROC 071200Z 10018KT 3000 R07/P2000N BR VV003 17/09 A2994 RESHRA NOSIG'
metar = Metar(code)

# Get the type of the report
print(f"{metar.type}")  # Meteorological Aerodrome Report

# Get the wind speed in knots and direction in degrees
print(f"{metar.wind.speed_in_knot} kt")       # 18.0 kt 
print(f"{metar.wind.direction_in_degrees}°")  # 100.0°

# Get the pressure in hecto pascals
print(f"{metar.pressure.in_hPa} hPa")  # 1014.0 hPa

# Get the temperature in Celsius
print(f"{metar.temperatures.temperature_in_celsius}°C")  # 17.0°C

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Roadmap

  • Add parsers for TAF and METAR reports
  • Add functions to verificate the TAF with the observations
  • Add a CLI API to interact with the verification functions
  • Add parser for SYNOPTIC reports
  • Add functions to verificate reports with rules of Annex 3
  • Multi-language Support
    • Portuguese
    • Spanish

Features and bugs

Please file feature requests and bugs at the issue tracker.

Current Sources

The most recent version of this package is always available via git, only run the following command on your terminal:

git clone https://github.com/TAF-Verification/aeromet-py.git

Authors

The python-metar library was originaly authored by Tom Pollard in january 2005. This package aeromet-py for is inspired from his work in 2021 by Diego Garro.

Versioning

This project uses Bump2version tool for versioning, so, if you fork this repository remember install it in your environment.

pip install bump2version

License

Distributed under the MIT License. See LICENSE for more information.

aeromet-py's People

Contributors

diego-garro avatar

Stargazers

 avatar

aeromet-py's Issues

Variable wind parsing

This is a METAR for Brussels Airport: EBBR 081050Z 24005KT 200V280 8000 SCT018 BKN025 17/13 Q1022 NOSIG
When I parse this, the wind.direction_in_degrees quite rightly indicates 240, but wind.variable is False and the 200V280 is nowhere to be found.

Is there a rationale behind this, or is this simply not implemented?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.