Skip to content

Repository files navigation

AeroML: Aerospace Machine-Learning Research Project

Atmospheric Prediction and Tropical Cyclone Analysis

A complete ML research project that learns relationships between large-scale atmospheric conditions and weather patterns, producing:

  1. Seasonal/regional wind-pattern predictions
  2. Tropical cyclone formation, track, and intensity predictions
  3. An experimental aerospace flight-path optimizer

Note: This project uses synthetic data for development and testing. The synthetic data generator produces scientifically-realistic patterns based on real-world climate statistics, but is NOT actual observational data.


Project Structure

Windy/
├── config/default.yaml          # Central configuration
├── data/                        # Raw + processed data
├── notebooks/                   # Jupyter notebooks
├── src/
│   ├── data/                    # Data pipeline (synthetic, IBTrACS, ERA5 loaders)
│   ├── preprocessing/           # Cleaning, normalization, spatial/temporal
│   ├── features/                # Wind, cyclone, atmospheric features
│   ├── models/                  # Baselines, linear, ensemble, neural nets
│   ├── evaluation/              # Metrics and evaluation
│   ├── visualization/           # Maps, tracks, time series
│   └── aerospace/               # Flight path optimization
├── experiments/                 # Experiment scripts
├── tests/                       # Unit tests
├── results/                     # Generated figures and results
├── models/                      # Saved model checkpoints
├── requirements.txt
├── setup.py
└── README.md

Research Questions

  1. Can ML identify atmospheric conditions associated with tropical cyclone formation?
  2. How accurately can ML predict regional wind patterns several weeks ahead?
  3. Can atmospheric reanalysis data improve cyclone track prediction?
  4. Can the model predict intensity changes from environmental conditions?
  5. How does ML compare against conventional baselines?

Setup

# Install dependencies
pip install -r requirements.txt

# Run all experiments
python experiments/run_all.py

# Run tests
pytest tests/ -v

Stages

Stage 1 — Data Pipeline

  • Synthetic data generator producing ERA5-like atmospheric fields and tropical cyclone tracks
  • Support for real IBTrACS and ERA5 data (opt-in)
  • Efficient storage in Parquet/Zarr/NetCDF

Stage 2 — Exploratory Analysis

  • Global wind maps with vector fields
  • SST anomaly composites (El Niño vs La Niña)
  • Cyclone track density maps
  • Seasonal wind variability
  • ENSO index time series
  • Cyclone frequency analysis

Stage 3 — Seasonal Wind Prediction

  • Models: Persistence, Climatology, Ridge, Random Forest, XGBoost, LSTM
  • Metrics: MAE, RMSE, R², vector wind error
  • Evaluation: Temporal train/val/test split

Stage 4 — Cyclone Formation Prediction

  • Models: Logistic Regression, Random Forest, XGBoost, MLP
  • Features: SST, wind shear, humidity, pressure, vorticity, temperature, lat/lon, month
  • Metrics: Precision, Recall, F1, ROC-AUC, PR-AUC, Brier score
  • Handles class imbalance via class weighting

Stage 5 — Cyclone Track Prediction

  • Models: Persistence, Mean Motion, Linear Extrapolation, LSTM
  • Predictions: Position at +6h, +12h, +24h, +48h, +72h
  • Metrics: Great-circle error (km) by lead time

Stage 6 — Intensity Prediction

  • Models: Persistence, Random Forest, LSTM
  • Predictions: Maximum wind and minimum pressure at +12h, +24h, +48h, +72h
  • Analysis: Errors during rapid intensification/weakening

Stage 7 — Uncertainty Quantification

  • Deep ensemble (N independent models)
  • Monte Carlo dropout
  • Quantile regression
  • Ensemble spaghetti plots and prediction intervals

Stage 8 — Aerospace Application

  • Simplified BADA-style aircraft performance model (B737/A320)
  • Wind-field interpolation along flight paths
  • Dynamic programming route optimizer
  • Comparison: no wind vs. true wind vs. ML-predicted wind
  • Fuel consumption, flight time, and route distance metrics

Key Technical Decisions

  • Synthetic data as default: All experiments run without downloading terabytes of real data
  • Temporal splitting: No future data leakage; train on past, test on future
  • Baseline comparisons: Every ML model is compared against at least one baseline
  • Uncertainty awareness: Predictions include confidence intervals, not point estimates
  • Scientific integrity: No fabricated results; all metrics are computed from actual model outputs

Limitations

  • Synthetic data does not capture real-world atmospheric complexity
  • No data assimilation or physics-based constraints
  • Limited to North Atlantic-like patterns
  • Flight optimizer is a research simulation, not an operational system
  • No ensemble weather model coupling

Technologies

Python, NumPy, pandas, xarray, PyTorch, scikit-learn, XGBoost, matplotlib, SciPy


License

Research project for educational purposes.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages