Interactive radar viewer for multiple frequencies
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


The radar lab viewer is an interactive viewer of simulated radar reflectivities of a model simulation. Initially designed for an undergraduate radar and satellite course, this applet provides the capability to display vertical and horizontal cross sections of a weather scene.


To download this applet, either for development purposes or to host it yourself, first clone the repository and its submodules:

$ git clone --recursive

This applet is generated using the Jekyll framework, which is used to generate the case pages from the template. While Jekyll is not required to serve the website, it is still necessary for the generation of the rendered web pages locally. However, because this is a static site, you can upload the repository (without rendered web pages) to GitHub to host the website. Do ensure that GitHub Pages is enabled for the repository in the settings.

Generating the applet figures and geospatial information requires Python with a few modules. These are listed in the requirements.txt file to aid in installation using pip, but they can also be installed manually.

$ pip install -r requirements.txt

After the Python modules are installed, you need to download the data, either using the script if you have curl installed or manually from The five data files must go in the data directory.


The figures and geospatial information can be generated by calling python on the supplied script:

$ python

To only generate the rendered pages (which can then be served by other web server software such as Apache or nginx):

$ jekyll build --destination _site

To generate rendered pages and serve the website:

$ jekyll serve --watch --destination _site

The --watch flag regenerates the pages when any files have been modified.


Additional cases can be included by following the template of one of the scenes in cases/. Namely, a custom javascript defining a few variables (like the directory location of new images and the specific crosses for case studies) as well as a markdown file are required. This hasn't really been done much, so contact for more information.

Map and Libraries

Included in this repository is a version of the Leaflet library to display the slippy map. Map tiles are available for the Western Hemisphere in zooms from 3 to 7 at (Note that if you use git clone --recursive, the tiles should have been already downloaded to the proper directory.) These tiles have all country borders, only have North American roads included, and only display United States city names. They are standard map tiles, so you can render custom tiles and add them to the map images directory or alternatively modify the map tile variable in js/map.js.


Model data were taken from a Regional Atmospheric Modeling System cloud allowing simulation:

  • Igel AL, van den Heever SC, Naud CM, Saleeby SM, and Posselt DJ (2013): Sensitivity of warm-frontal processes to cloud-nucleating aerosol concentrations. Journal of the Atmospheric Sciences, 70 (6), 1768--1783.

Radar observations were simulated using the Quickbeam simulator:

  • Haynes JM, Marchand RT, Luo Z, Bodas-Salcedo A, and Stephens GL (2007): A multipurpose radar simulation package: QuickBeam. Bulletin of the American Meteorological Society, 88, 1723--1728.

All plots were generated with Python matplotlib:


The applet code is (c) 2015 Ethan Nelson under the MIT License. See the license file for more information. Please visit the map tiles repository for license and acknowledgement information with respect to the map.


The development of this module was possible thanks to generous funding by NASA Headquarters under the Earth and Space Science Fellowship #NNX14AL35H. An associated learning activity sheet was developed under the auspices of the University of Wisconsin Delta Program for Research, Teaching, and Learning, a project of the Center of the Integration of Research, Teaching, and Learning (NSF Grant #0227592).