I love playing around with natural earth data and was inspired by this blog post by CartoDB to map NOAA NEXRAD data using technologies I use often: JavaScript, Python, and D3.js.

The original blog post explains how to retrieve the data from S3 and also provided a script to export a CSV file containing radar coordinates from the compressed radar files. If you want a better understanding of the about the radar file formats and the original Python script, I highly recommend reading the original post.

I displayed base reflectivity, which can be explained here. This blog post by The Climate Corporation provides an informative guide to working with NEXRAD data with Python.

Rather than use SVG to display each reflectivity value at a specific location, I used Canvas for faster rendering, since I knew each radar scan had many points I needed to display. This was my first attempt using Canvas instead of SVG, and I learned that D3.js v4.0 has great support for drawing Canvas objects.

This project is not finished yet. My next goal is to find better ways to compress the CSVs of the radar scans and display different radar levels.

The source code for this project is on my GitHub.