/mosmix

Read the mosmix Format from C#

Primary LanguageC#MIT LicenseMIT

Mosmix Reading Library

With this nuget package you can easy read MOSMIX data came from weather stations around the world. So if your service depends on weather data so why not read it out directly from your available weather stations

Have a look in the sample folder to see how to use it.

Add a package reference to your csproj like the following

<ItemGroup>
    <PackageReference Include="stefc.mosmix" Version="0.2.0" />
</ItemGroup>

After this you can create an IMosmixReader for kml or kmz files and read the complete weather station document out of it.

using (var stream = File.Open(Path.Combine(path, "MOSMIX_A762.kmz"), FileMode.Open))
{
    var reader = MosmixReaderFactory.CreateForKmz(stream);
    var document = reader.Read(stream);
    System.Console.WriteLine($"Issuer:{document.Definition.Issuer}");
    System.Console.WriteLine($"Name:{document.PlaceMark.Name}");
    System.Console.WriteLine($"Description:{document.PlaceMark.Description}");
}

For easy use the lib gives you also a class ForecastAdapter that gives you typed access to the raw timeseries values. The following figures at the moment available 1 :

Name Elementname Description Unit  
SurfacePressure PPPP Surface pressure Pa
Temperature TTT Temperature 2m above surface Celcius Degree
MaxTemperature TX Maximum temperature - within the last 12 hours Celcius Degree
MinTemperature TN Minimum temperature - within the last 12 hours Celcius Degree
DewPoint Td Dewpoint 2m above surface Celcius Degree
WindDirection DD Wind Direction 0..360°
WindSpeed FF Wind Speed m/sec
WindSpeed1h FX1 Maximum wind gust within the last hour m/sec
WindSpeed3h FX3 Maximum wind gust within the last 3 hours m/sec
WindSpeed12h FXh Maximum wind gust within the last 12 hours m/sec

To see for a format description habe a look on (German)

Mosmix

To see a list of the five thousand weather stations worldwide see:

List of Mosmix stations

Footnotes

  1. If you need more figures please entry an issuee or even better create a pull request.