prop.kc2g.com provides near-realtime maps and data about ionospheric conditions, for the use of amateur radio operators.
The near-real-time ionospheric data that powers the site is collected by ionosondes (ionospheric radars) around the world, and compiled by the Lowell Global Ionospheric Radio Observatory (GIRO). GIRO provides me access to their data to produce these maps, for which we are very grateful.
The ionospheric phyiscal model for the "IRI" plots is the International Reference Ionosphere 2016, produced by a joint task group of the Committee on Space Research (COSPAR) and International Union of Radio Science (URSI).
The GIRO data fetcher and contour mapper were originally written by Matthew Smith AF7TI and hosted at af7ti.com. Later they were removed from that site, and the code was placed on GitHub. In January of 2019, Andrew KC2G forked the code on GitHub, started making some improvements to the interpolation algorithm, and put the results up on this site.
The code is a bunch of python, making use of NumPy, SciPy, Pandas, Cartopy, and a bunch of other stuff.
A new map is generated every 15 minutes (at 10, 25, 40, and 55 minutes past the hour), from data which is usually between 5 and 20 minutes old. Therefore, on average, you're looking at the state of the ionosphere about half an hour ago.
The MUF map shows the Maximum Usable Frequency using colors and contour lines. For example, if a given area on the map is greenish and lies between the contours labeled "15" and "17", then the MUF is around 16MHz in that location. The readings from each individual station are shown as colored dots with numbers inside them, so you can see where the information is coming from. If a dot is faded out, then that station currently has a low "confidence score".
MUF is the highest frequency that is expected to bounce off of the ionosphere on a path 3000km long. So the MUF along a path between two points shows the possibility of long-hop DX between those points on a given band. If the MUF is 12MHz, then 30 meters and longer will work, but 20 meters and shorter won't. For long multi-hop paths, the worst MUF anywhere on the path is what matters. For single-hop paths shorter than 3000km, the usable frequency will be less than the MUF, because higher-angle signals "punch through" the ionosphere more easily. As you get closer to vertical, the usable frequency drops to the Critical Frequency (foF2).
The foF2 page shows a map similar to the MUF map, except that it displays the Critical Frequency (foF2). This one is simpler: it's the highest frequency that you can use for NVIS (skywave communication "in your own backyard"). When foF2 gets up to 7MHz and above then 40 meters "goes short" and can be used for local contacts; if it goes down below 3MHz then 80 meters "goes long" and local stations disappear but far-away ones can still be reachable.
Finally, both maps show which parts of the Earth are in daylight, and which are in the night. Pay special attention to the line dividing day and night (the terminator, or as hams call it, the "greyline"). Unique propagation opportunities are often available when one station, or both, are sitting nearly under this line.
More information about ionospheric propagation can be found in most decent books about amateur radio.
Despite the best efforts of the researchers, there are only so many ionosondes in the world making measurements. Most of these are clustered in a few areas of the world, with large areas that are far from any ionosonde. Because of this, the map you see is an interpolation. That is, my code does its best to look at the MUF (or FoF2) at these scattered points on the globe and figure out what it probably is in every other location. I do my best to tweak the algorithm to make it well-behaved, but coming up with an algorithm that can extrapolate from few data points, without getting unreasonable values every now and then, is a difficult problem. While the guessing process is pretty good in areas that are closer to the measurement stations, the uncertainty is much higher in areas that are far away from any measurements. Only the numbers inside colored dots scattered around the map represent actual measured data.
Sometimes the stations themselves provide data that is inaccurate, or disagree with each other. It's not really practical to guess who is right and who is wrong, so the map will show some funny results in an effort to agree with all of the measurements.
Sometimes a station will go off-line and stop providing data, and sometimes a station that was off-line will re-appear. The addition or subtraction of a single data point can cause the model to make some surprising changes in its global picture. This is because it's working with not that many data points to begin with.
The spherical-harmonic fit produces smooth results that capture the general difference between day-side and night-side, north and south, and equator vs. poles. However, it's unable to capture fine detail, and sometimes produces predictions that are well outside the range of any of the input data. The RBF fit is better at producing small features to go through the individual data points, and is much less likely to produce out-of-range values, but has much less idea of global uniformity or plausibility. Combining the two gives a decent result, and the scaling factors ssph and srbf control how much each model contributes to the final output. As of this writing, the parameters are ssph = 0.8 and srbf = 0.9, which means that the spherical harmonic fit is included in the output at 80% intensity; the remainder of the variations from the global mean are left to be fit by the RBF model; and 90% of that difference is included in the result.
Please send feedback to firstname.lastname@example.org.