A native C++/OpenGL replacement for the RAMMB Slider satellite imagery browser. Faster, offline-capable, and built for power users who want smooth animation, export, and regional download control.
- Live + archive imagery — Latest-N frames mode or full date/time range picker with API-populated time dropdowns
- Smooth animation — Loop, rock, and once modes with adjustable FPS
- Tile region selector — Interactive grid overlay lets you download only the geographic region you care about
- Pause/resume downloads — Stop background tile downloads without losing loaded frames
- Scene tabs — Save and switch between multiple satellite/sector/product configurations, browser-tab style
- Export — MP4 (H.264 or NVENC), animated GIF, or PNG sequence with a draggable crop box
- Output resolution auto-matches the crop aspect ratio (Low / Medium / High / Custom presets)
- Notifications — Toast popups for load status, tile failures, and export completion
- Settings — VSync, memory cache limit, auto-reload timer, per-scene naming
| Satellite | Sectors |
|---|---|
| GOES-19 | Full Disk, CONUS, Mesoscale 1 & 2 |
| GOES-18 | Full Disk, CONUS, Mesoscale 1 & 2 |
| Himawari | Full Disk |
| JPSS | Various |
Products include GeoColor, individual ABI bands, derived products (sandwich RGB, fire temperature, etc.), and more — all sourced from the RAMMB Slider API.
- Linux (Ubuntu 22.04 / 24.04 tested; other distros should work)
- C++20 compiler (GCC 12+ or Clang 16+)
- CMake 3.24+
- GPU with OpenGL 4.5 support
sudo apt install \
build-essential cmake \
libglfw3-dev libglew-dev libglm-dev \
libcurl4-openssl-dev \
libavcodec-dev libavformat-dev libavutil-dev libswscale-dev \
nlohmann-json3-dev \
libsqlite3-dev \
zenity # optional: native file browser dialogsgit clone https://github.com/CrymsonDynamo/RAMMB-NEOVIS.git
cd RAMMB-NEOVIS
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
./build/rammb-neovisImGui and stb_image are fetched automatically by CMake at configure time (requires internet access on first build).
| Input | Action |
|---|---|
| Drag (viewport) | Pan |
| Scroll wheel | Zoom |
| Space | Play / Pause |
| ← / → | Step one frame |
| Home | Reset pan and zoom |
| R | Reload current source |
| Esc | Quit |
- Click Export... in the sidebar
- Drag the blue crop box corners or body to select your region — it snaps to world coordinates so it's frame-consistent
- Pick a format (MP4 / GIF / PNG sequence), resolution preset, and output path
- Click Export — progress is shown in the panel; the export runs in a background thread
For MP4, an NVENC checkbox is available if you have an NVIDIA GPU. Falls back to software x264 automatically.
Click the < tab on the right edge of the viewport to open the tile region selector. Each cell in the overlay corresponds to one tile at the current data zoom level. Click or drag to toggle tiles on/off. Only selected tiles are downloaded, and the progress counter reflects the selected count.
The bar at the top of the window works like browser tabs — each scene stores its own satellite, sector, product, date range, and zoom level. Use + to create a new scene, × to close one. Scene names can be edited in the Settings panel (gear icon, top-right).
src/
app.cpp / app.hpp — Main application loop, GLFW callbacks
animation.cpp / .hpp — Frame timing and playback modes
tile_manager.cpp / .hpp — Tile download, caching, and selection mask
thread_pool.hpp — Work queue with pause/resume
satellite_config.hpp — Satellite/sector/product definitions
renderer/ — OpenGL tile renderer
network/ — HTTP client (libcurl wrapper)
export/ — FFmpeg-based MP4/GIF/PNG exporter
ui/
sidebar.cpp — Left panel (source, animation, date range)
scene_bar.cpp — Top tab bar and settings panel
timeline.cpp — Bottom scrubber
export_panel.cpp — Export panel + crop overlay
tools_panel.cpp — Right-side tile region selector overlay
notifications.hpp — Toast notification system
shaders/
tile.vert / tile.frag — GLSL shaders for tile rendering
MIT — see LICENSE
Data is sourced from RAMMB Slider (Colorado State University / CIRA). All satellite imagery is property of NOAA/NASA. This tool is for research and educational use.
