OpenStorm radar is a free and open source 3d radar viewer. It uses Unreal Engine 5 as the base. Using a custom volumetric ray marching shader, entire radar volumes can be displayed.
You can find a pre-built download here
Discord server invite https://discord.gg/K3aU2hEYvJ
- Full 3D level 2 radar
- Multithreaded data loading
- No limit on number of files it can browse through
- Load files in real time as they are updated
- Display base radar products (Reflectivity, Radial Velocity, Spectrum Width, Correlation Coefficient, Differential Reflectivity, Differential Phase Shift)
- Display derived products (De-aliased Velocity, Storm Relative Velocity, Rotation)
- Interpolation in space and time
- Linux and Windows support
- NEXRAD and ODIM H5 radar data support
- VR headset viewing
- 3D globe map with elevation
- GIS boundaries and roads
- Real-time data downloading
- 2D slices of 3D data
NEXRAD and European ODIM H5 radar data are currently supported.
You can get NEXRAD data from
- Click on or select a radar and hit the start button under download in OpenStorm.
- https://github.com/JordanSchlick/radar-data to download data in real time outside OpenStorm.
- https://s3.amazonaws.com/noaa-nexrad-level2/index.html for historical data.
- Install Unreal Engine 5.2 and its dependencies. Newer engine version should work if you don't intend to modify the scene or materials.
- Clone the repo
git clone https://github.com/JordanSchlick/OpenStorm.git
- Get submodules
git submodule update --init --recursive
- Right click on the uproject file and generate visual studio project files
- Open the visual studio solution file
- Build the project in visual studio by hitting ctrl+shift+b
- Open the project in unreal engine
To build a standalone build, select package project within the desired platform under the Platforms dropdown.
To pull the latest changes to an existing copy of the repo use git pull --recurse-submodules
Some of the larger data files are not included in the repository. They can be retrieved out of the latest release. The files can be found in the OpenStorm folder inside the release builds. Currently you can copy the entire Content/Data
folder into the project to get the data. The files are in the following locations in this project.
Elevation data: Content/Data/Map/elevation.bin.gz
Satellite imagery: Content/Data/Map/Tiles/ImageryOnly.tar
GIS map data files: Content/Data/Map/GIS/
The demo radar files in: Content/Data/Demo/
The source code for reading HDF5 files and by extension european ODIM radar data is stored in a separate repository. It can be optionally installed by cloning https://github.com/JordanSchlick/hdf5
into OpenStorm/Source/OpenStorm/Radar/Deps
with cd Source/OpenStorm/Radar/Deps
and then git clone https://github.com/JordanSchlick/hdf5.git
It has around 375 c files that will increase compile time. Due to the significant increase in compile time and the chances for incompatibilities, it is completely optional.
Create a symlink to your Unreal Engine installation beside this repository to enable intellisense and building from vs code. The link should be placed one folder up from this readme.
Windows example(needs admin privileges): mklink /D UnrealEngine "C:\files\Epic\UE_5.2\"
Linux example: ln -s "/path/to/UnrealEngine" UnrealEngine
The linked folder should contain the Engine
folder.
In general just try to be consistent with existing code. The following guidelines should be followed. You may be asked to conform if your code significantly violates them.
- The Radar source directory and everything under it must be self contained and can not have dependencies on Unreal Engine. It is meant to be a separable library that can be used outside of OpenStorm. There are currently node and python bindings available for it.
- Indentation uses tabs.
- Class functions are upper case while variables are lower case.
- Try to keep as few includes as possible in .h files to reduce compile times.