University of Reading CCAI MSc Dissertation: Using machine learning to predict the intensification and propagation of East African storms
# Using machine learning to predict the intensification and propagation of East African storms
## Metadata
- **University**: University of Reading
- **Master's Program**: MSc Climate Change and Artificial Intelligence (CCAI) 2024-2025
- **Student**: Sean Kelley
- **Primary Supervisor**: Eliza Karlowska
- **Co-supervisors**: Kieran Hunt, Andy Turner
## Folder Structure
For the instructions below, the use of `REPO_ROOT` will refer to the fully qualified directory path where the repository is cloned.
- `REPO_ROOT/`
- `data`: Data files (see Data Description section for details)
- `std`: Standardized ERA5 data files
- `processed`: Processed dataset files (output from `src/create_dataset.py`)
- `figures`: Figures and table files generated by code
- `report`: Latex report files
- `src`: Python code and Jupyter notebooks
## Minimum Setup Instructions
The following instructions assume you have `python` installed.
### Conda
Recommended for complete python environment isolation.
1. Install conda
2. `conda env create -f environment.yml`
3. `conda activate uor-msc-dissertation-xai-african-storms`
### Venv
1. `pip install venv`
2. `python -m venv venv`
3. `source venv/bin/activate`
4. `pip install -r requirements.txt`
## Basic Usage Instructions
1. Adjust configuration in `src/config.py` as needed.
2. Create the dataset: `python src/create_dataset.py`
3. Create exploratory plots: `python src/create_figures.py`
4. Run the experiments:
- `./src/run_exps.sh`: runs all experiments sequentially
- `python src/run_exp.py --exp_name EXP_NAME`: run specific experiment
5. Evaluate the experimental results: `python src/eval_exps.py`
### Weights & Biases (W&B) setup
- Sign up for a free account at wandb.ai.
- Add your W&B API key to the environment:
- dotenv file: Create a `.env` file in the root directory with the line `WANDB_API_KEY=your_api_key`
- Command line: `export WANDB_API_KEY=your_api_key`
- Run either training scripts with W&B enabled using the `--wandb_mode online` …