OpenWeather 2.0.0

.NET 6.0
dotnet add package OpenWeather --version 2.0.0
NuGet\Install-Package OpenWeather -Version 2.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OpenWeather" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OpenWeather --version 2.0.0
#r "nuget: OpenWeather, 2.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install OpenWeather as a Cake Addin
#addin nuget:?package=OpenWeather&version=2.0.0

// Install OpenWeather as a Cake Tool
#tool nuget:?package=OpenWeather&version=2.0.0

This project has been quiet for a while, but I am working on udpates now.

Welcome to OpenWeather.

Open Weather is a simple library designed to take a coordinate (latitude and longitude) and find the closest weather station to that coordinate while also getting the current METAR or TAF weather data and parsing it. It has other features like being cross-platform (Windows/Linux/Android), searching by ICAO codes, automatic update intervals, and unit conversions. We hope to be adding more and more features as development continues!

Pre-Compiled Packages

You can get a pre-compiled nuget package by searching OpenWeather in NuGet or going directly to our NuGet page: https://www.nuget.org/packages/OpenWeather/

The Data

All the METAR data is obtained through NOAA and the Aviation Weather Center. Our weather station lookup list is adapted from Greg Thompson's station list which can be found here.

Getting Started

It's easy to search for a station and start getting weather data!

 private static void Main(string[] args)
    {
        //Optional, build the StationDataTable without any actions, otherwise it will be built upon first loopkup like below.
        //On average, increases the first lookup time by 5 times. Obviously it's of no use in this application, but for an
        //application that runs lookups at a later time, you could build the table at the start and have it ready for later 
        (assuming you even want persistant lookup).
        //StationLookup.ZeroActionInitialize();

        var station = MetarStationLookup.Instance.Lookup(-90, -180);

        Console.WriteLine($"Station: {station.GetStationInfo.Name}\n" +
                          $"ICAO: {station.GetStationInfo.ICAO}\n" +
                          $"Temperature: {station.Weather.Temperature} {station.Units.TemperatureUnit}\n" +
                          $"Pressure: {station.Weather.Pressure} {station.Units.PressureUnit}\n" +
                          $"Wind Speed: {station.Weather.WindSpeed} {station.Units.WindSpeedUnit}");

        Console.ReadLine();
    }

License

OpenWeather is under the BSD 3-Clause License.

Product Versions
.NET net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.0 462 1/18/2022
1.2.0 3,032 6/13/2016
1.1.3 1,005 6/11/2016
1.1.2 1,013 6/9/2016
1.1.1 1,000 6/8/2016
1.1.0 1,008 6/8/2016