SpaceWeather.NOAAClient
10.0.25-alpha1
dotnet add package SpaceWeather.NOAAClient --version 10.0.25-alpha1
NuGet\Install-Package SpaceWeather.NOAAClient -Version 10.0.25-alpha1
<PackageReference Include="SpaceWeather.NOAAClient" Version="10.0.25-alpha1" />
<PackageVersion Include="SpaceWeather.NOAAClient" Version="10.0.25-alpha1" />
<PackageReference Include="SpaceWeather.NOAAClient" />
paket add SpaceWeather.NOAAClient --version 10.0.25-alpha1
#r "nuget: SpaceWeather.NOAAClient, 10.0.25-alpha1"
#:package SpaceWeather.NOAAClient@10.0.25-alpha1
#addin nuget:?package=SpaceWeather.NOAAClient&version=10.0.25-alpha1&prerelease
#tool nuget:?package=SpaceWeather.NOAAClient&version=10.0.25-alpha1&prerelease
SpaceWeather.NoaaClient
Overview
SpaceWeather.NoaaClient is an unofficial .NET client for NOAA's Space Weather Prediction Center (SWPC) JSON services.
The library focuses initially on aurora monitoring (Kp index, short-term predictions, OVATION model), and expands gradually toward full SWPC JSON coverage.
Installation
dotnet add package SpaceWeather.NoaaClient
Basic Usage
using SpaceWeather.NOAAClient;
// 1. Create an instance of HttpClient to be used for making HTTP requests.
var httpClient = new HttpClient();
// 2. Create an instance of SpaceWeatherNoaaClient, passing in the HttpClient.
var spaceWeatherNoaaClient = new SpaceWeatherNoaaClient(httpClient);
// 3. Retrieve data using the SpaceWeatherNoaaClient methods.
var kpIndex1MinData = await spaceWeatherNoaaClient.GetKpIndex1MinAsync();
Console.WriteLine("Kp Index 1-Minute Data: ");
Console.WriteLine();
foreach (var item in kpIndex1MinData.KpData1MList)
{
Console.WriteLine($"\tTime: {item.Date}, Kp Index: {item.KpIndex}, Estimated Kp: {item.EstimatedKp}, Kp: {item.Kp}");
}
Console.WriteLine("-- End of Data --");
Console.WriteLine();
Console.WriteLine();
var kpIndexForecast = await spaceWeatherNoaaClient.GetKpIndexForecastAsync();
Console.WriteLine("Kp Index Forecast Data: ");
Console.WriteLine();
foreach (var forecast in kpIndexForecast.KpForecastList)
{
Console.WriteLine($"\tTime: {forecast.Date}, Forecast Kp Index: {forecast.Kp}, Observation Type: {forecast.ObservationType}, NOAA Scale: {forecast.NoaaScale}");
}
Console.WriteLine("-- End of Data --");
Console.WriteLine();
Console.WriteLine();
var ovationAuroraData = await spaceWeatherNoaaClient.GetOvationAuroraLatestDataAsync();
Console.WriteLine("OVATION Aurora Latest Data: ");
Console.WriteLine($"\t Forecast Time: {ovationAuroraData.ForecastTime}");
Console.WriteLine($"\t Observation Time: {ovationAuroraData.ObservationTime}");
Console.WriteLine();
foreach (var dataItem in ovationAuroraData.DataItems)
{
if(dataItem.Coordinates.Y > 66 || dataItem.Coordinates.Y < -66)
Console.WriteLine($"\tLatitude: {dataItem.Coordinates.Y}, Longitude: {dataItem.Coordinates.X}, Probability: {dataItem.Probability}");
}
Console.WriteLine("-- End of Data --");
Roadmap (Feature-Based)
Version 10.0.1 — Phase 1: Aurora Monitoring
Status: Completed
Endpoints
-
/json/planetary_k_index_1m.json -
/products/noaa-planetary-k-index-forecast.json -
/json/ovation_aurora_latest.json
Version 10.0.2 — Phase 2
Status: Completed
Endpoints
-
/json/rtsw/rtsw_mag_1m.json -
/json/rtsw/rtsw_wind_1m.json -
/json/rtsw/rtsw_ephemerides_1m.json(endpoint returns 404) -
/json/goes/primary/differential-alphas-1-day.json
Version 10.0.3 — Phase 3
Status: Completed
Endpoints
-
/json/goes/primary/differential-alphas-3-day.json -
/json/goes/primary/differential-alphas-6-hour.json -
/json/goes/primary/differential-alphas-7-day.json -
/json/goes/primary/differential-electrons-1-day.json
Version 10.0.4 — Phase 4
Status: Completed
Endpoints
-
/json/goes/primary/differential-electrons-3-day.json -
/json/goes/primary/differential-electrons-6-hour.json -
/json/goes/primary/differential-electrons-7-day.json -
/json/goes/primary/differential-protons-1-day.json
Version 10.0.5 — Phase 5
Status: Completed
Endpoints
-
/json/goes/primary/differential-protons-3-day.json -
/json/goes/primary/differential-protons-6-hour.json -
/json/goes/primary/differential-protons-7-day.json -
/json/goes/primary/euvs-1-day.json
Version 10.0.6 — Phase 6
Status: Completed
Endpoints
-
/json/goes/primary/euvs-3-day.json -
/json/goes/primary/euvs-6-hour.json -
/json/goes/primary/euvs-7-day.json -
/json/goes/primary/integral-electron-fluence-7-day.json -
/json/goes/primary/integral-proton-fluence-7-day.json
Version 10.0.7 — Phase 7
Status: Completed
Endpoints
-
/json/goes/primary/integral-electrons-1-day.json -
/json/goes/primary/integral-electrons-3-day.json -
/json/goes/primary/integral-electrons-6-hour.json -
/json/goes/primary/integral-electrons-7-day.json
Version 10.0.8 — Phase 8
Status: Completed
Endpoints
-
/json/goes/primary/integral-proton-fluence-7-day.json -
/json/goes/primary/integral-protons-1-day.json -
/json/goes/primary/integral-protons-3-day.json -
/json/goes/primary/integral-protons-6-hour.json
Version 10.0.9 — Phase 9
Status: Completed
Endpoints
-
/json/goes/primary/integral-protons-7-day.json -
/json/goes/primary/integral-protons-plot-1-day.json -
/json/goes/primary/integral-protons-plot-3-day.json -
/json/goes/primary/integral-protons-plot-6-hour.json
Version 10.0.10 — Phase 10
Status: Completed
Endpoints
-
/json/goes/primary/integral-protons-plot-7-day.json -
/json/goes/primary/magnetometers-1-day.json -
/json/goes/primary/magnetometers-3-day.json -
/json/goes/primary/magnetometers-6-hour.json
Version 10.0.11 — Phase 11
Status: Completed
Endpoints
-
/json/goes/primary/magnetometers-7-day.json -
/json/goes/primary/suvi-flares-7-day.json -
/json/goes/primary/suvi-flares-latest.json -
/json/goes/primary/xray-background-7-day.json
Version 10.0.12 — Phase 12
Status: Completed
Endpoints
-
/json/goes/primary/xray-flares-7-day.json -
/json/goes/primary/xray-flares-latest.json -
/json/goes/primary/xrays-1-day.json -
/json/goes/primary/xrays-3-day.json
Version 10.0.13 — Phase 13
Status: Completed
Endpoints
-
/json/goes/primary/xrays-6-hour.json -
/json/goes/primary/xrays-7-day.json -
/json/goes/primary/integral-electron-flueuce-7-day.json(endpoint returns 404) -
/json/discovr/scovr_mag_1s.json(endpoint returns 404)
Version 10.0.14 — Phase 14
Status: Completed
Endpoints
-
/json/ace/epam/ace_epam_32s.json -
/json/ace/epam/ace_epam_5m.json -
/json/ace/mag/ace_mag_1h.json -
/json/ace/sis/ace_sis_32s.json
Version 10.0.15 — Phase 15
Status: Completed
Endpoints
-
/json/ace/sis/ace_sis_5m.json -
/json/ace/swepam/ace_swepam_1h.json -
/json/solar-cycle/2019-predicted-solar-cycle.json -
/json/solar-cycle/cycle_update.png(image file, not JSON)
Version 10.0.16 — Phase 16
Status: Completed
Endpoints
-
/json/solar-cycle/f10-7cm-flux-smoothed.json -
/json/solar-cycle/f10-7cm-flux.json -
/json/solar-cycle/observed-solar-cycle-indices.json -
/json/solar-cycle/predicted-solar-cycle.json
Version 10.0.17 — Phase 17
Status: Completed
Endpoints
-
/json/solar-cycle/solar-cycle-25-f10-7cm-flux-predicted-high-low.json -
/json/solar-cycle/solar-cycle-25-predicted.json -
/json/solar-cycle/solar-cycle-25-ssn-predicted-high-low.json -
/json/solar-cycle/sunspots-smoothed.json
Version 10.0.18 — Phase 18
Status: Completed
Endpoints
-
/json/solar-cycle/sunspots.json -
/json/solar-cycle/swpc_observed_ssn.json -
/json/stereo/stereo_a_1m.json(response >5MB, skipped) -
/json/boulder_k_index_1m.json
Version 10.0.19 — Phase 19
Status: Completed
Endpoints
-
/json/edited_events.json -
/json/electron_fluence_forecast.json -
/json/enlil_time_series.json -
/json/f107_cm_flux.json
Version 10.0.20 — Phase 20
Status: Completed
Endpoints
-
/json/icao-space-weather-advisories.json -
/json/predicted_f107cm_flux.json -
/json/predicted_fredericksburg_a_index.json -
/json/predicted_monthly_sunspot_number.json
Version 10.0.21 — Phase 21
Status: Completed
Endpoints
-
/json/solar-radio-flux.json -
/json/solar_probabilities.json -
/json/solar_regions.json -
/json/sunspot_report.json
Version 10.0.22 — Phase 22
Status: Completed
Endpoints
-
/json/45-day-forecast.json -
/json/geospace/geospace_dst_1_hour.json -
/json/geospace/geospace_dst_7_day.json -
/json/geospace/geospace_pred_est_kp_1_hour.json -
/json/geospace/geospce_pred_est_kp_7_day.json
Version 10.0.23 — Phase 23
Status: Completed
Endpoints
-
/products/10cm-flux-30-day.json -
/products/alerts.json -
/products/kyoto-dst.json -
/products/noaa-planetary-k-index.json -
/products/noaa-scales.json
Version 10.0.24 — Phase 24
Status: Completed
Endpoints
-
/json/solar-cycle/solar-cycle-25-f10-7cm-flux-predicted-range.json -
/json/solar-cycle/solar-cycle-25-ssn-predicted-range.json -
/json/propagated-solar-wind/propagated-solar-wind-1-hour.json -
/json/propagated-solar-wind/propagated-solar-wind.json
Version 10.0.25 — Phase 25
Status: Completed
Endpoints
-
/products/summary/10cm-flux.json -
/products/summary/solar-wind-mag-field.json -
/products/summary/solar-wind-speed.json -
/json/lists/rgeojson/rgeojson.json
License
MIT
Disclaimer
This project is not affiliated with NOAA, NWS, or SWPC.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- NetTopologySuite (>= 2.6.0)
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 |
|---|---|---|
| 10.0.25-alpha1 | 96 | 5/9/2026 |
| 10.0.2-alpha2 | 119 | 11/29/2025 |
| 10.0.2-alpha1 | 180 | 11/27/2025 |
| 10.0.1-alpha3 | 191 | 11/26/2025 |
| 10.0.1-alpha2 | 184 | 11/25/2025 |
| 10.0.1-alpha | 183 | 11/25/2025 |
Changes
- Fixed timezone conversion issues in DateTimeOffset deserialization
- Normalized nullable types across data models for consistent JSON handling
- Implemented RtswWind1MinClient for real-time solar wind plasma data retrieval
- Resolved constructor parameter type mismatches causing deserialization failures
All integration tests now pass successfully.