Skip to content

In this repo we will analyse X-Band and C-Band weather radar for nowcasting using Pysteps libraries

Notifications You must be signed in to change notification settings

AVI68/radar_nowcasting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

radar_nowcasting

Radar Animation – Gavino Radar Animation – Perser Radar Animation – Civil Protection

This repository provides tools and reproducible workflows for precipitation nowcasting using weather radar data collected from multiple sources. The focus is on processing and forecasting with Single-Polarization X-Band, Dual-Polarization X-Band, and C-Band radar data, utilizing the open-source Python framework Pysteps (Probabilistic Short-Term Ensemble Prediction System).

Data originates from a network of radars managed by University of Cagliari, covering:

  • 30 km radius of the Cagliari metropolitan area (X-Band, Single Pol.) with a spatial resolution of 60 meters.
  • 120 km radius across Southern Sardinia (X-Band, Dual Pol.) with a spatial resolution of 250 meters.
  • National Italian Radar Network (C-Band) provided by the Italian Civil Protection agency, cropped to Southern Sardinia with a spatial resolution of 1 km.

Core Methodologies

This repository implements a suite of techniques for radar data processing and nowcasting:

Motion Estimation

  • Lucas-Kanade (LK)
  • Variational Echo Tracking (VET)
  • Dynamic and Adaptive Radar Tracking of Storms (DARTS)
  • Anisotropic Diffusion (Proesmans et al., 1994)

Nowcasting Schemes

Verification Metrics

  • Mean Absolute Error (MAE)
  • Critical Success Index (CSI)
  • Probability of Detection (POD)
  • False Alarm Ratio (FAR)
  • Fractional Skill Score (FSS)

Additionally, the repository includes analysis of Power Spectral Density (PSD) to examine the spectral properties of precipitation fields and forecasts.

This repository contains code and resources for radar-based precipitation nowcasting. Follow the steps below to clone the repository and set up the required environment on your local system.


Table of Contents

  1. Prerequisites
  2. Installation
  3. Setting Up the Environment
  4. Usage
  5. Sample Data
  6. Contributing
  7. Funding
  8. References

Prerequisites

Before you begin, ensure you have the following installed on your system:


Installation

Step 1: Clone the Repository

To clone this repository to your local directory, open a terminal and run the following command:

git clone https://github.com/AVI68/radar_nowcasting.git

Step 2: Navigate to the Repository

Change the directory to the cloned repository:

cd radar_nowcasting

Setting Up the Environment

Step 1: Create the Conda Environment

The environment.yml file is provided in the repository to create a Conda environment with all the necessary dependencies. Run the following command to create the environment:

conda env create -f environment.yml

Step 2: Activate the Environment

Activate the newly created environment:

conda activate radar_nowcasting_env

Usage

Step 3: Run the Jupyter Notebook

Run the provided Jupyter Notebook to reproduce the results:

jupyter notebook

Data Structure

The repository includes a Data directory containing radar datasets from various sources, used to run the notebooks for precipitation nowcasting analysis. Each dataset corresponds to a specific radar system with its own folder structure. The notebook is configured to automatically load data from this directory. Make sure the Data directory is in the root of the repository after cloning.

Data/
├── Data_UNICA_SG/                       # X-Band radar from UNICA (extracted eventwise)
│   └── yyyymmdd_HHMM/
│       └── *.png
│
├── Data_Civil_Protection/              # National Radar Network (C-Band)
│   ├── geodata/
│   │   └── *.tif                       # Geographic base data
│   └── VMI/
│       └── yyyy/mm/dd/
│           └── VMI_<timestamp>.h5
│
├── Data_perser/                        # Perser X-Band radar (CZW & OZW)
│   ├── CZW/
│   │   └── CZW<station_id>/
│   │       └── *.h5
│   └── OZW/
│       └── OZW<station_id>/
│           └── *.h5
│
├── Data_gavino/                        # Single Pol. X-Band radar
│   ├── data/
│   │   └── yyyy/mm/dd/
│   │       └── *.png
│   └── geodata/
│       └── radarmappatipo.tif

Data Description

UNICA_SG

  • Radar Type: Single-Polarization X-Band
  • Source: DICAAR, University of Cagliari
  • Structure:
    • Subfolders (refers to events) follow timestamp format: yyyymmdd_HHMM
    • Each subfolder contains .png reflectivity images

Data_Civil_Protection

  • Radar Type: National Radar Network (C-Band)
  • Source: Italian Civil Protection agency
  • Structure:
    • File path format: Data_Civil_Protection/VMI/yyyy/mm/dd/VMI_<timestamp>.h5
    • Geographic base map stored in: Data_Civil_Protection/geodata/

Data_perser

  • Radar Type: Dual-Polarization X-Band
  • Source: DICAAR, University of Cagliari
  • Structure:
    • File naming convention:
      • CZW<date information><timestamp>L.805.h5
      • OZW<date information><timestamp>L.810.h5
  • CZW and OZW are two radar products representing Vertical Maximum Intensity (VMI) and Constant Altitude Plan Position Indication (CAPPI), respectively.

Data_gavino

  • Radar Type: Single-Polarization X-Band
  • Source: DICAAR, University of Cagliari
  • Structure:
    • Image data path: data/yyyy/mm/dd/yyyymmdd_HHMM.png
    • Geographic base map: geodata/radarmappatipo.tif

Usage Notes

  • Each radar dataset is processed using a dedicated Jupyter Notebook.
  • All datasets are harmonized internally to ensure compatibility with Pysteps.
  • Maintain the described folder structure to prevent data path issues during execution.

Data Sources

  • UNICA_SG and Gavino radar data: Provided by Envisens Technologies s.r.l., managed by DICAAR, UNICA. You can also view real-time radar scans updated every minute here Meteo Radar – UnicaWATER.
  • Civil Protection radar data: available from Italian Civil Protection agency portal.
  • Perser radar data: Provided by ELDES s.r.l., managed by DICAAR, UNICA

Contributing

Created by Meteo Radar, UnicaWATER, Hydraulic Division, Department of Civil, Environmental and Architectural Engineering, University of Cagliari.

Working Team:

Contributions are welcome! Feel free to fork this repository, make your changes, and submit a pull request.

Funding

Developed under the GeoSciences IR, WP4, UNICA 03 - Risk monitoring and management project funded by NRRP, European Union – NextGenerationEU.

  • Title of the Project: Precipitation ensemble nowcasting procedures
  • Ministerial Code: IR0000037
  • CUP: I53C22000800006
  • Principal Investigator: Prof. Roberto Deidda

Reference publications

Pulkkinen, S., D. Nerini, A. Perez Hortal, C. Velasco-Forero, U. Germann, A. Seed, and L. Foresti, 2019: Pysteps: an open-source Python library for probabilistic precipitation nowcasting (v1.0). Geosci. Model Dev., 12 (10), 4185–4219, doi:10.5194/gmd-12-4185-2019, https://gmd.copernicus.org/articles/12/4185/2019/

About

In this repo we will analyse X-Band and C-Band weather radar for nowcasting using Pysteps libraries

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published