General Purpose Satellite Data Processor
Toggle Light/Dark
[Internal link]SatDump Home [Internal link]What is SatDump? [Internal link]Download SatDump [Internal link]Getting Started [Internal link]Documentation [Internal link]Articles / Blog [Internal link]Satellite List [Internal link]Contributors [Internal link]Matrix Chat [Internal link]Live Satellite Data [Internal link]GGAK Live Data

Release 1.2.0


Release 1.2.0

Uh oh, it looks like we got a little out-of-control again and changed... well, we changed a lot in SatDump. But never fear, this update contains a lot of great features that many of our users will appreciate - whether you are an amateur, or work in the professional space.

Please note, this is a major update from 1.1.4 - many internal systems have been reworked, and new products may not load in older versions. Saved products might be arranged differently, and there are compatibility problems when mixing/matching versions of the SDR Server and SatDump GUI/CLI as well. As a general rule, it's a good idea to update all your systems to SatDump 1.2.0 at the same time.

Additionally, we've had some reports of issues updating to the latest build on Linux (self-built) and Windows (portable only). Windows Portable users should not simply extract the .zip into their current program directory; instead, they should extract it into a new directory, and copy the config folder over. Linux users should uninstall before pulling and re-building, or delete their /usr/lib/satdump folder and re-install.

With that out of the way, let's get to the good stuff!

New Features

Geostationary Satellite Products

One of the core features of SatDump is its product system - along with calibration for accurate, useful information. For a long time, you could load imagery from LEO satellites into the viewer and make all kinds of composites and projections - but the same could not be said for any Geostationary Satellites. Raw data would be saved and some basic false-color composites would be auto-generated, but... that was about it. And that changes with this release.

In SatDump 1.2.0, Geostationary Satellites now support the product system similar to LEOs. To facilitate this, imagery from select Geostationary satellites is now organized in dated subfolders, with an associated product.cbor file, like this:

Just like its LEO counterparts, the geo cbor file contains data such as calibration, projection, and timestamp info. If enabled, SatDump will automatically use this data to generate RGB composite imagery. You can also generate imagery manually by loading the product.cbor file in the viewer, and creating a custom-made composite.

This change opens the door to many possibilities when processing Geostationary satellite data with SatDump. Instead of simply saving raw data, we can now make composites such as the standard "Enhanced IR" and "Water vapor" composites found in other programs. On GOES HRIT, we have made them match the products available on NOAA STAR

However, we can do better than these basic LUT-based composites. SatDump's composite system can create advanced equation-based composites, enabling us to produce incredible composites such as Nighttime Microphysics and Split Window Difference, which again match the output of NOAA STAR/CIRA:

Some additional composites are provided with this release that are not generated by NOAA/CIRA, but are specified in the GOES-R Quick Guides, such as Fog Brightness Temperature Difference. Here you can see fog over Cuba:

Its not all GOES - many of these composites work on Himawari, GK-2A, and Elektro as well. However, there is more work to do on this front.

Further, we can now make more appealing day/night composites, such as this False Color/IR merge that is available with several Geostationary satellites:

Finally, a helper function has been added to the composite system that can remove the background from behind your imagery. This can be especially appealing for products where the background is not already black.

Himawari Day Cloud Convection

Geo Products support has been added for the following satellites, with potentially more to come:

METEOR KMSS Support

All METEOR-M satellites have several downlinks. LRPT and HRPT are fully supported in SatDump, but the X-Band links have until now been more evasive. However, recent discoveries thanks to monitoring by Fred Jansen and Andrew (@MrFentazis) have revealed METEORs, at least M2-2 and M2-4 operate KMSS at 60m/px resolution in direct broadcast mode while in range of most of Europe & Russia. After a lot of reverse-engineering work, initial support to dump the imagery was implemented. Support for QPSK replay modes is also implemented, but this will require larger dishes in comparison to the direct broadcast mode current being received quite well even on 120cm.
Do note this is not as simple of an instrument to process as many others, so proper channel alignement, projections and so on will most likely be refined in later releases.

As of now, exclusing Proba-1 and TUBIN which both only dump select areas when commanded - this is the highest resolution decodable by SatDump at the moment with such a large swath! :-)

Example images

Sample KMSS projection, extremely experimental!

New Projection System and GeoTIFF

As we said earlier, things changed. A lot. But why projections?

One feature that was being requested very often was the ability to export the data SatDump can generate into formats other software could work with, in order to use it in GIS programs and so on. Unfortunately, most standard file formats for this purpose are messy, to say the least and pretty much non-starters just due to their complexity and poor documentation. That is (somewhat) except for GeoTIFF, which is at the very least mostly standard (though... PROJ likes to take liberties in writing custom strings that are NOT in the official standard).

However, this raised a major problem : the projections implemented in SatDump until now were not exactly like the accepted "standard" used in most situations. This made writing/reading geotiffs and converting them to/from SatDump's formats very complicated, and it would have been a poor approach either way.

Therefore, rather all of SatDump's internals were re-wrote in order to match the usual standards, which made implementing GeoTIFF a whole lot easier. Hence now it is possible to export or import GeoTIFF by simple saving a Stereo/Equirectangular/UTM projection as .tif in the viewer.

Example reprojecting GeoTIFF data from the BPP (Meteor products)

This major rework initially for GeoTIFF also brought an initial "automatic" mode, where SatDump will automatically determine the projection required to cover whatever you are trying to re-project. (Do note this is still somewhat experimental, especially on Stereo)

Additionally, the projection layer system has also been changed in its operation. Before, each instrument loaded could be "enabled" or "disabled" as a layer, but any changes to the composite would reflect in the projected layer instantly. This limited possible composites when it was about using the same instrument in different ways. Now, you can instead add the current state of a composite as a layer, which will be stored and not affected by further changes, even letting you add more than one.

Finally, a CLI tool is now available in order to reproduce anything you can achieve using the GUI. The documentation is not yet available for this command, but it will be soon. See below for an example of how to use the command, but do note all parameters from composites and map overlays.

satdump project -layer --type product --file http://192.168.1.71/2024-03-12_20-38_noaa_apt_137.1%20MHz/product.cbor --equation "ch4" --equalize -target --type stereo --center_lat 55 --center_lon 25 --scale 2400 --width 2048 --height 2048 --file test_proj_cli.png --draw_map_overlay

Fill Missing Lines

An often-requested feature is the ability to "heal" or "fill in" missing data caused by interference or signal drop-outs. Starting with SatDump 1.2.0, "Fill Missing Data" (or --fill_missing from the command line) is now available for GOES-R HRIT and METEOR LRPT pipelines! This feature will interpolate good data into missing/bad sections to "heal" the image. It must be explictly enabled at decode time as an acknowledgement that you are modifying decoded satellite data.

METEOR was a natural fit for fill missing, as we already had a good way to track which segments were good, and which were bad. Both the original image and the filled-in version are saved when using this feature. The results are pretty good with mild-moderate data loss:

GOES HRIT, on the other hand, required a little bit more work. Previous versions of SatDump would not track which lines in a segment were bad - meaning some lines would be saved in the wrong location if data was missing. After fixing this bug, adding the ability to fill in missing lines works much the same way as it does on METEOR. Only the filled-in version is saved.

As a note: we've already been asked if this feature will be seen with other satellite decoders. For right now, the answer is probably not - but maybe. Filling in missing data is a tricky problem to solve in many situations. Sometimes, you don't even have a way to know what data is bad, what is good, or if any lines were missed. If any situations arise where it is feasible/makes sense to implement it, we can certainly look into it, but no promises.

Orbcomm STX Plotter

Have you ever wanted to measure what parts of the sky you can see well with your 137 MHz antenna? Starting with SatDump 1.2.0, we've added a way to do this using Orbcomm satellites!

Orbcomm STX is the narrow yet strong signals you often see alongside NOAA APT and METEOR LRPT. There's no publicly accessible data in it, other than some basic positioning data - and we can use this to our advantage. By mapping out which Orbcomm satellites can be heard over time and their locations, you can draw a plot that shows which parts the your sky your antenna can "see". This information can be used to tune your antenna - or, just for fun!

METEOR Telemetry

In SatDump 1.1.3, support was added to decode telemetry from NOAA DSB, HRPT, and GAC. In this release, similar support has been added for METEOR M2-x LRPT and HRPT! On LRPT, telemetry is provided on what MSU-MR unit is in operation and the temperature/current of various parts of the instrument. The same information is available on HRPT, along with additional digital telemetry.

Added Composites

Nearly every team member pitched in this time around to add many great new composites - and improvements to old ones. Note many Geostationary Satellite composites have been added that are not listed here.

From left to right: SEVIRI processed by JA6UAR, AIRS processed by lego11, KMSS received by Andrew, and VIIRS processed by g5juergenm

Image System Rewrite

This is more of an under-the-scenes change for most if not all users, but the implications are pretty significant so it's worth explaining in a bit more detail.

SatDump needs to do a lot of image manipulation, and unavoidably these images need to be stored into RAM at some point. However, unlike your average picture, satellite imagery has to be stored with more than 8-bits of precision to take full advantage of it. It is very inefficient to, for example, store 12-bits data in RAM - so whenever more than 8 is needed, you have to store 16-bits instead - which twice as large already. The way things were written in SatDump until now meant that this choice of precision had to be done beforehand, and we had to chose between either writing code that could only handle 8-bits, and be more efficient memory-wise, or code that could 8 or 16 at the cost of 2x the memory utilization. This meant that very large parts of the code were stuck to 16-bits, especially the viewer.

Until now, this hadn't been a real problem as, in most cases, SatDump was being used on PCs with enough RAM for this to not even be noticed. But with the GEO products being re-written, this became an obvious problem when attempting to run on low-end hardware, such as a Raspberry Pi. This triggered a major rewrite affecting pretty much everything in SatDump to make image handling dynamic. Products can now load only load 8-bits if this was all that was needed, resulting in halved RAM utilization for GOES products and many others.

Considering the scale of these changes however, it's not unlikely some bugs have slipped through in the image system or other things as a result. If you find anything weird, please report!

Demonstration of memory reduction in GOES HRIT processing

Other Features

Some new features are small - but still important! Minor features added in this release include:

Photo courtesy of Scott Chapman

Performance Improvements

There was a big focus this time around on performance and memory optimization. Here is a sampling of optimizations we have done throughout the program:

Bugs Fixes

Spring has arrived, and with it all the bugs that love to start crawling around this time of year. In our software too - and we removed as many as we could. Here are the bugs we've fixed in SatDump 1.2.0.

Wrapping Up

As always, if you come across any bugs, feel free to open an issue on GitHub or reach out to us on Matrix!