Skip to content

πŸ“‘ Cloud-native weather radar analysis demo showcasing NEXRAD data processing with Radar DataTree, QVP analysis, and distributed computing

Notifications You must be signed in to change notification settings

earth-mover/radar-data-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“‘ Radar DataTree Demo

A comprehensive demonstration of cloud-native weather radar analysis using modern Python data science tools and NEXRAD Level II radar data. This repository showcases the power of the Radar DataTree approach for transforming scattered radar files into unified, analysis-ready datasets.

🌟 Overview

This project demonstrates the transformation from scattered radar files to unified, analysis-ready datasets using the Radar DataTree approach. Instead of managing thousands of individual files, work with a single, time-aware, cloud-native structure for seamless radar data analysis.

Part of the Earth Mover ecosystem for cloud-native geoscience data.

πŸš€ Key Features

  • Cloud-native radar data processing with Zarr v3 and Icechunk
  • Distributed computing with Dask/Coiled for scalable analysis
  • Quasi-Vertical Profile (QVP) analysis following Ryzhkov et al. (2016)
  • Quantitative Precipitation Estimation (QPE) using Z-R relationships
  • Interactive visualizations with hvplot and datashader
  • Rainfall accumulation animations with time-series integration

πŸ“Š Demo Dataset

  • Radar: KVNX (Norman, Oklahoma)
  • Period: May 2011 (severe weather outbreak month)
  • Event: May 20, 2011 severe weather precursor
  • Data Size: ~765GB of analysis-ready radar data
  • Coverage: Multiple Volume Coverage Patterns (VCPs)

πŸ› οΈ Installation

Create the conda environment:

conda env create -f environment.yml
conda activate raw2zarr

πŸ“ Usage

Open and run the main demonstration notebook:

jupyter lab radar-demo.ipynb

The notebook demonstrates:

  1. Traditional vs DataTree approaches - file-by-file pain vs unified datasets
  2. Cloud platform connection - Arraylake/Earthmover authentication
  3. Distributed computing setup - Coiled cluster configuration
  4. Time-series navigation - effortless severe weather event extraction
  5. QVP analysis - storm structure and evolution visualization
  6. QPE computation - rainfall estimation using radar reflectivity
  7. Animation creation - temporal rainfall accumulation visualization

πŸ”¬ Scientific Applications

  • Storm structure analysis with polarimetric QVP profiles
  • Precipitation estimation for hydrological studies
  • Real-time monitoring of severe weather events
  • Climate-scale studies with multi-year radar datasets
  • Machine learning training data preparation

πŸ“ Project Structure

β”œβ”€β”€ radar-demo.ipynb          # Main demonstration notebook
β”œβ”€β”€ demo_functions.py         # Core radar analysis functions
β”œβ”€β”€ environment.yml           # Conda environment specification
β”œβ”€β”€ CLAUDE.md                # Project guidance for Claude Code
└── README.md                # This file

🎯 Performance Highlights

  • From 6,123 files β†’ 1 unified dataset
  • QVP computation: ~2.4 seconds (vs hours traditionally)
  • >100x speedup in radar data processing
  • 3 lines of code vs hundreds for traditional approaches

🀝 Contributing

This demonstration is part of ongoing research in cloud-native weather radar data processing. For questions or contributions, please open an issue.

πŸ“„ License

This project is released under the MIT License.


Powered by: Radar DataTree β€’ Xarray β€’ Zarr β€’ Icechunk β€’ Arraylake β€’ Dask/Coiled

About

πŸ“‘ Cloud-native weather radar analysis demo showcasing NEXRAD data processing with Radar DataTree, QVP analysis, and distributed computing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published