Cavok
A METAR and TAF parser for .NET that treats the European ICAO format as a first-class citizen: CAVOK, QNH in hectopascals, NOSIG/BECMG/TEMPO trends, TAF change groups with PROB30/PROB40, and the missing values that automatic stations send. Reports are parsed into immutable records, problems are reported as precise diagnostics instead of exceptions, and every report can be described in English or Dutch.
dotnet add package Cavok
Metar metar = Metar.Parse("METAR EHAM 211125Z 24012G25KT 200V280 9999 -SHRA FEW012 BKN030CB 12/09 Q1013 TEMPO 4000 SHRA");
Console.WriteLine(metar.Station); // EHAM
Console.WriteLine(metar.Wind?.Direction); // 240
Console.WriteLine(metar.Wind?.Gust?.Value); // 25
Console.WriteLine(metar.Visibility?.Meters); // 10000 (9999 means 10 km or more)
Console.WriteLine(metar.Clouds[1].Type); // Cumulonimbus
Console.WriteLine(metar.Pressure?.Hectopascals); // 1013
Console.WriteLine(metar.FlightCategory); // Mvfr
Console.WriteLine(metar.Trends[0].Kind); // Temporary