Data source licenses and attribution
Every data source, image, and embedded widget used by ionocast, with its license, required attribution string, and any constraints that affect how the site can be operated.
Operational status of ionocast: free, personal / hobby amateur-radio dashboard. No ads. No paywalls. No paid tiers. No commercial use. Five of the sources below forbid commercial use; any future ads, paywall, or paid tier would break all five simultaneously. See Commercial-use ban at the bottom.
1. NOAA SWPC - services.swpc.noaa.gov
Used for: 3-day forecast, 27-day outlook, solar regions, D-RAP grid, OVATION aurora, planetary Kp, F10.7 flux, GOES X-ray / protons / electrons, DSCOVR solar-wind mag + plasma, active alerts, animation frames.
- License: Public domain (17 USC § 105).
- Policy: weather.gov/disclaimer, swpc.noaa.gov/content/data-access
- Personal use: yes. Commercial use: yes.
- Attribution required: no. Best-practice credit:
Data: NOAA/SWPC. - Rate limits: no published hard limit. NWS monitors for abuse and can block IPs. Guidance: poll no faster than the product's refresh cadence (e.g. 60 s for 1-min products), back off 60 s on errors.
- Trademarks: NOAA / NWS names and logos are trademark-protected. Do not imply official endorsement.
2. NASA CCMC DONKI - kauai.ccmc.gsfc.nasa.gov/DONKI
Used for: CME catalog (CMEAnalysis) and coronal-hole high-speed stream catalog (HSS).
- License: Public domain (17 USC § 105). Data is labelled "experimental research", not an operational product.
- Policy: ccmc.gsfc.nasa.gov/data-policy
- Personal use: yes. Commercial use: yes.
- Attribution required: no. Best-practice credit:
Data courtesy of NASA CCMC DONKI. - Rate limits: not published. Keep polling conservative; DONKI is a lightly-resourced research service.
- Labelling duty: surface somewhere near the panel that this is preliminary NASA research data, not operational.
3. Andrew Rodland KC2G - prop.kc2g.com
Used for: real-time ionosphere station JSON (/api/stations.json) and the foF2 SVG render.
- License: not stated on the site. The site's code is open-source; the data itself is derived from GIRO ionosondes and therefore inherits GIRO's CC-BY-NC-SA 4.0 terms.
- Policy / acknowledgments: prop.kc2g.com/acknowledgments
- Personal / non-commercial: yes. Commercial use: no (NC flow-through from GIRO).
- Attribution required: yes (expected). Credit:
Ionospheric map by Andrew Rodland (KC2G), prop.kc2g.com, plus pass through GIRO's station-operator credits. - Rate limits: not published; 5 min edge cache is considerate.
4. wspr.live - db1.wspr.live
Used for: ClickHouse API calls: per-band aggregate counts for the last hour, and parameterized historical spot counts for prediction scoring.
- License / terms: wspr.live. "for your own research and projects, as long as the results are accessible free of charge for everyone." Commercial / profit-oriented use explicitly prohibited.
- Personal / non-commercial: yes. Commercial use: no.
- Attribution required: yes (expected). Credit:
WSPR data: wspr.live (sourced from wsprnet.org). - Rate limits: hard cap of 20 requests / minute (since Oct 2023). Burst briefly tolerated. GET only; only
?query=accepted. Headers filtered, POST blocked. - Constraint: the "free of charge for everyone" clause means if ionocast ever adds ads, paywalls, or any access restriction to WSPR panels, this license breaks.
5. GIRO / Lowell DIDBase - lgdc.uml.edu/common/DIDBGetValues
Used for: per-station digisonde characteristics (foF2, foE, foEs, hmF2, MUFD, MD) for the nearest ionosonde to the operator's QTH.
- License: CC-BY-NC-SA 4.0. Every GIRO response body carries this notice:
All GIRO measurements are released under CC-BY-NC-SA 4.0 license.
Please follow the Lowell GIRO Data Center RULES OF THE ROAD
ulcar.uml.edu/DIDBase/RulesOfTheRoadForDIDBase.htm
Requires acknowledgement of <URSI code> data provider.
- Personal / non-commercial: yes. Commercial use: no.
- Attribution required: yes, two-part:
GIRO: http://giro.uml.edu- The individual station operator for every station whose data is currently on display. Blanket "GIRO" is not sufficient.
- ShareAlike: any derivative data that ionocast redistributes (beyond simple re-display) must itself be licensed CC-BY-NC-SA 4.0.
- Rate limits: not numbered; be polite, cache for hours.
6. WDC Kyoto - wdc.kugi.kyoto-u.ac.jp
Used for: realtime Dst quicklook (presentmonth/dst*.for.request).
- License / rules: wdc.kugi.kyoto-u.ac.jp/wdc/Sec3.html. ICSU-WDS Data Sharing Principles.
- Personal / scientific use: yes. Commercial use: explicitly not allowed for geomagnetic indices.
- Attribution required: yes. Credit:
Dst: WDC for Geomagnetism, Kyoto (quicklook / provisional). For publications: contact[email protected]before use and include the DOI. - Quicklook caveat: the
dst*.for.requestfeed is quicklook, not final. WDC asks that this be surfaced in the UI. - Rate limits: not specified; be conservative.
7. SIDC SILSO - www.sidc.be/SILSO/DATA/EISN/EISN_current.csv
Used for: estimated International Sunspot Number (EISN).
- License: CC-BY-NC 4.0 (verified at sidc.be/SILSO/datafiles).
- Personal / non-commercial: yes. Commercial use: no.
- Attribution required: yes. Exact text:
Source: WDC-SILSO, Royal Observatory of Belgium, Brussels (DOI 10.24414/qnza-ac80). - Rate limits: none stated; small static CSV.
8. GFZ Potsdam - kp.gfz.de
Used for: Hp30 / ap30 nowcast (and by extension the Kp index family).
- License: CC-BY 4.0 (kp.gfz.de).
- Personal use: yes. Commercial use: yes.
- Attribution required: yes. Credit:
Kp / Hp30: GFZ Potsdam (DOI 10.5880/Kp.0001). - Rate limits: not published. Official Web Service API is available.
9. University of Wyoming - weather.uwyo.edu/cgi-bin/sounding
Used for: upper-air radiosonde soundings (HTML parsed for temperature / dewpoint / pressure rows, converted to refractivity ΔN).
- License / terms: no published ToS. Public US state-university research service. HTML scraping is tolerated but not formally blessed.
- Personal use: yes (by convention).
- Attribution: courteous:
Soundings: University of Wyoming, Dept. of Atmospheric Science. - Rate limits: not published. Contact:
[email protected]. They have historically asked heavy scrapers to throttle. - Guidance: cache for ≥ 6 h per station/time (soundings update twice daily at 00 Z / 12 Z). Send a distinctive User-Agent so they can reach the operator.
10. NASA SDO imagery - sdo.gsfc.nasa.gov/assets/img/latest/*.jpg
Used for: HMI visible (sunspots), 193 Å corona, 304 Å chromosphere latest frames, loaded directly as <img src>.
- License: not copyrighted unless noted (sdo.gsfc.nasa.gov/data/rules.php).
- Personal use: yes. Commercial use: yes.
- Attribution required: yes. Exact text:
Courtesy of NASA/SDO and the AIA, EVE, and HMI science teams. - Hotlinking: permitted. Server sets
X-Frame-Options: SAMEORIGIN(affects iframes only, not<img>).
11. International Meteor Organization - imo.net
Used for: meteor-shower calendar (peak date, ZHR, window) for the 9 major showers, baked into src/derive/showers.js as a static lookup. Drives the "active showers" outlook panel and the VHF meteor-scatter verdict floor.
- License / terms: the IMO publishes the annual shower calendar as public reference material for amateur observers. No formal redistribution license; attribution is the convention across the meteor-observing community.
- Personal use: yes. Commercial use: yes (the parameters are observational facts; calendar entries are not copyrightable on their own).
- Attribution: courteous, in the page credits:
Meteor-shower calendar - International Meteor Organization, imo.net. - Hotlinking: N/A. The catalog is embedded statically; no live fetches.
- Maintenance: peak dates drift by a day or two year-to-year as the IMO refines models; re-check
imo.net/calendar/annually.
12. NOAA NCEP / NOMADS - nomads.ncep.noaa.gov
Used for: 13-level pressure profile (T, RH, geopotential height, 1000-500 hPa) plus 2 m temperature, 2 m dewpoint, skin temperature, land-sea mask, surface pressure, orography, boundary-layer height, and 10 m winds from the GFS 0.25° forecast. Computed into the global tropospheric ducting heatmap (per-cell tropo_index per ITU-R P.453 and P.834).
- License: Public domain (17 USC § 105). GFS is a NOAA NCEP operational product.
- Policy: nomads.ncep.noaa.gov, nco.ncep.noaa.gov/pmb/products/gfs
- Personal use: yes. Commercial use: yes.
- Attribution required: no. Best-practice credit:
Forecast data: NOAA GFS via NOMADS. - Rate limits: no published hard cap; NCEP monitors for abuse. We refresh 4× daily on the GFS cycle (00 / 06 / 12 / 18 z + ~5 h to clear publish lag) via a GitHub Actions workflow that downloads a NOMADS subset URL (~21 MB filtered to the variables and levels we need, vs ~500 MB unfiltered).
- Trademarks: NOAA / NCEP names and logos are trademark-protected. Do not imply official endorsement.
13. Natural Earth - naturalearthdata.com
Used for: 110m / 50m / 10m coastline, country, and state-province outline vectors layered on top of the tropo heatmap. Three-tier LOD with cross-fade transitions between scales as the user zooms.
- License: Public domain. naturalearthdata.com/about/terms-of-use.
- Policy: naturalearthdata.com
- Personal use: yes. Commercial use: yes.
- Attribution required: no, but the project asks for the courtesy credit:
Made with Natural Earth. - Hotlinking: N/A; the GeoJSON files are vendored locally (slimmed and rounded to per-tier coordinate precision via
src/tropo/slim-outlines.mjs).
14. MapLibre GL JS - maplibre.org
Used for: WebGL pan-zoom rendering of the tropo heatmap (filled-contour band layers + isolines) and the Natural Earth outline overlays. Vendored locally rather than served from a CDN; CSP connect-src stays at 'self'.
- License: BSD-3-Clause. github.com/maplibre/maplibre-gl-js LICENSE.txt.
- Personal use: yes. Commercial use: yes.
- Attribution: retain the BSD-3-Clause copyright notice in the redistributed file. The notice is preserved at the top of
src/tropo/vendor/maplibre-gl.js. - Hotlinking: N/A; vendored locally at
src/tropo/vendor/maplibre-gl.{js,css}. Update by re-downloading from unpkg.com/[email protected]/dist/.
15. d3-contour, d3-array - d3js.org
Used for: marching-squares contour generation that converts the per-cell tropo_index grid into the filled-band polygons MapLibre paints. d3-array is a transitive dependency.
- License: ISC. github.com/d3/d3-contour LICENSE, d3-array LICENSE.
- Personal use: yes. Commercial use: yes.
- Attribution: retain the ISC copyright notice in the redistributed file. The notices are preserved at the top of
src/tropo/vendor/d3-contour.min.jsandsrc/tropo/vendor/d3-array.min.js. - Hotlinking: N/A; vendored locally.
Commercial-use ban
ionocast must stay free and non-commercial. Adding ads, a paywall, or a paid tier breaks all of these licenses at once:
| Source | Clause |
|---|---|
| wspr.live | "accessible free of charge for everyone" |
| GIRO / Lowell DIDBase | CC-BY-NC-SA 4.0 |
| KC2G | CC-BY-NC-SA 4.0 (NC flow-through from GIRO) |
| SIDC SILSO | CC-BY-NC 4.0 |
| WDC Kyoto | "no commercial applications" |
If ionocast ever needs to become commercial, every one of these sources needs an alternate license or removal from the site.
Source code
The full ionocast implementation - browser code, Cloudflare Pages Functions for the upstream proxies, the offline calibration harness, and the LaTeX whitepaper - is open at github.com/topklc/ionocast.
The site has no build step and no bundler. Everything served to the browser is plain HTML, ES modules, and CSS. The only third-party JavaScript is MapLibre GL JS + d3-contour + d3-array (used solely by the tropospheric ducting heatmap), all vendored locally. No CDN, no telemetry, no analytics, no tracking.
Issues, pull requests, or questions can be opened on the GitHub repository.
ionocast itself is licensed under the GNU General Public License, version 3 or any later version (GPL-3.0-or-later). See the LICENSE file in the repository for the full text.
Privacy
ionocast keeps operator data on the device wherever possible. The QTH is one exception: two panels send it to ionocast's own proxies for nearest-station lookups, detailed below. Beyond that, no location, settings, or telemetry leaves the device. Specifically:
- The QTH (Maidenhead grid square) is stored in the browser's
localStorageand read only by the page's own JavaScript. The Ionosphere and VHF tropospheric panels send the QTH to ionocast's/api/giroand/api/tropoCloudflare Pages Functions so each can find the nearest digisonde / radiosonde station. The proxy uses the QTH only to compute distances and never persists or forwards it to the upstream service. Cloudflare's edge logs may briefly capture the request URL per their standard privacy policy. - Operator settings (transmit power, antenna type, antenna gain, antenna height, mode, noise environment) live in the same
localStorageand never leave the device. - Theme preference (light / dark / auto) and selected language live in
localStorage. - WSPR queries to
db1.wspr.liveare global hourly aggregates with no grid field; the operator's location is never transmitted to the WSPR service. - Upstream queries to giro.uml.edu and weather.uwyo.edu identify the nearest station by code only; the QTH-to-code translation happens on the ionocast proxy, so the upstream services never receive QTH coordinates.
No cookies. No analytics. No third-party tracking pixels. No advertising networks. The page does not register a service worker.
Cloudflare Pages serves the static files and proxies the upstream API requests through edge functions. Cloudflare's privacy and logging policies apply to that layer; ionocast does not add its own logging on top.
Acknowledgments
ionocast would not exist without the open-data infrastructure built and maintained by the people behind every source listed at the top of this page. Sincere thanks to:
- The operators of every individual GIRO digisonde station - the per-station provider list is fetched live alongside the data so each station is credited at the point of use, but the network as a whole is the foundation of the foF2 climatology.
- NOAA SWPC for keeping decades of space-weather products, alerts, and imagery freely accessible to anyone.
- Andrew Rodland (KC2G) for the kc2g real-time ionosphere maps and the open station JSON.
- Tobias Wellnitz (DH7TW) and the broader WSPR community for the wspr.live infrastructure and the raw spot archive.
- GFZ Potsdam, WDC for Geomagnetism (Kyoto), SIDC at the Royal Observatory of Belgium, and the University of Wyoming Department of Atmospheric Science for their long-running open-data services.
- NASA SDO and the AIA, EVE, and HMI science teams for the latest solar imagery, and NASA CCMC for the DONKI catalogs.
- The amateur radio community at large - the operators who tested early versions, reported when verdicts disagreed with what they were hearing on the air, and helped close the gap between the model and reality.
Development transparency
Implementation and calibration sweeps were AI-assisted: large language models accelerated the code-side work and the validation harness loops. All physics, data-source choices, calibration anchors, and operational decisions are operator-reviewed and operator-approved; the AI accelerates implementation without replacing the domain judgment that anchors the model's calibration and known limitations. The whitepaper is the canonical record of those judgments.
If your name or organization should be on this page and is missing, please open an issue on the repository or contact the author at the email below.