Skip to content

ML system for identifying atmospheric teleconnection patterns and extreme weather precursors from reanalysis data

Notifications You must be signed in to change notification settings

Sakeeb91/climate-pattern-recognition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Climate Pattern Recognition

An ML system for identifying atmospheric teleconnection patterns and extreme weather precursors from reanalysis data.

Overview

This project applies machine learning techniques to recognize and classify large-scale atmospheric patterns from ERA5 and NCEP/NCAR reanalysis datasets. The system identifies teleconnections (El Nino-Southern Oscillation, North Atlantic Oscillation, Arctic Oscillation, Pacific Decadal Oscillation) and their relationships to extreme weather events.

Features

  • Automated download and preprocessing of ERA5 reanalysis data via CDS API
  • Sea level pressure and geopotential height pattern extraction
  • Unsupervised pattern discovery using clustering algorithms
  • Supervised classification of known teleconnection phases
  • Extreme event correlation analysis using EM-DAT disaster records
  • Interactive visualization of atmospheric patterns

Project Structure

climate-pattern-recognition/
├── src/
│   ├── data/           # Data download and preprocessing
│   ├── features/       # Feature extraction and engineering
│   ├── models/         # ML model implementations
│   └── visualization/  # Plotting and interactive displays
├── tests/              # Unit and integration tests
├── notebooks/          # Exploratory analysis notebooks
├── docs/               # Documentation and implementation plans
└── data/
    ├── raw/            # Original downloaded data
    ├── processed/      # Cleaned and transformed data
    └── external/       # Climate indices and validation data

Data Sources

Dataset Description Access
ERA5 Gridded atmospheric variables (0.25 deg, 1950-present) Copernicus CDS
NCEP/NCAR Coarser reanalysis (1948-present) NOAA PSL
NOAA Climate Indices Pre-computed ONI, NAO, AO, PDO NOAA PSL
EM-DAT International disaster database EM-DAT

Requirements

  • Python 3.9+
  • xarray, dask (NetCDF handling)
  • cdsapi (ERA5 access)
  • scikit-learn (ML algorithms)
  • matplotlib, cartopy (visualization)

Installation

git clone https://github.com/Sakeeb91/climate-pattern-recognition.git
cd climate-pattern-recognition
pip install -r requirements.txt

Quick Start

from src.data.download import ERA5Downloader
from src.features.patterns import PatternExtractor

# Download monthly mean sea level pressure
downloader = ERA5Downloader()
data = downloader.get_monthly_slp(years=[2020, 2021, 2022])

# Extract dominant patterns
extractor = PatternExtractor(n_components=10)
patterns = extractor.fit_transform(data)

License

MIT License

Contributing

Contributions welcome. Please read the implementation plan in docs/IMPLEMENTATION_PLAN.md before starting.

About

ML system for identifying atmospheric teleconnection patterns and extreme weather precursors from reanalysis data

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages