Repository for my 2025–2026 MSc Data Science dissertation at the University of Leeds: Meteorological Variable Importance Analysis and Spatial Prediction of West African Monsoon Rainfall Using ERA5 Reanalysis Data.
# West African Monsoon Rainfall Analysis
This repository contains the code for my 2025-2026 MSc Data Science dissertation at the University of Leeds:
Meteorological Variable Importance Analysis and Spatial Prediction of West African Monsoon Rainfall Using ERA5 Reanalysis Data
The project uses ERA5 reanalysis data to analyse which meteorological variables are most related to West African monsoon rainfall, and then compares several models for spatial rainfall prediction.
## Notebooks
The original notebook was too large, so I split it into smaller notebooks:
1. 00_data_preprocessing_study_area.ipynb
Loads the ERA5 data and defines the study area, time period, and variables.
2. 01_chapter4_mean_fields_and_correlations.ipynb
Produces the mean spatial fields and correlation analysis used in Chapter 4.
3. 02_chapter4_ridge_variable_importance.ipynb
Runs the Ridge-based variable importance experiments, including single-variable and leave-one-variable-out analysis.
4. 04_chapter5_model_comparison_spatial_prediction.ipynb
Trains and compares Linear Regression, Ridge Regression, Simple CNN, Residual CNN, and CBAM-Residual CNN models.
5. 03_appendix_geographical_regional_analysis.ipynb
Contains extra regional and geographical analysis for the appendix.
## Data
The notebooks expect ERA5 .npy files stored locally. The paths in the notebooks currently point to my local folders, so they may need to be changed before running on another computer.
Main data folders used in the notebooks:
/Users/camus/Desktop/dissertation/variable/npy
/Users/camus/Desktop/dissertation/variable/npy_21x37_mean
## Requirements
The main Python libraries used are:
- numpy
- pandas
- matplotlib
- scikit-learn
- scipy
- torch
- seaborn
- cartopy
- shapely
## Notes
All notebook outputs were cleared to keep the repository small and easier to upload to GitHub.