DOI: 10.5281/zenodo.15173984
title: Westerly Moisture Transport Events: A flexible framework for studying intraseasonal variability in East Africa

description: Westerly Moisture Transport Events (WMTEs): A flexible framework for studying intraseasonal variability in East Africa

Robert Peal and Emily Collier

Department of Atmospheric and Cryospheric Sciences (ACINN) University of Innsbruck.

Contact: robert.peal@uibk.ac.at

This repository contains the data and code used in "Drivers and impacts of westerly moisture transport events in East Africa" by Robert Peal and Emily Collier (submitted to Weather and Climate Dynamics)

Version 3: Code and figures for the revised mauscript submitted on 2025-08-14

What's inside?

The data




wmteMasks.tar
The WMTE masks used in the paper, derived from ERA5 daily average 700 hPa moisture transport


precipMasks.tar
The precipitation masks identified in ERA5 daily precipitation totals using the method of Konstali et al. (2024), implemented in the dynlib package (Spensberger (2021))


attributedPrecipMasks.tar
Masks showing the precipitation polygons that overlapped with WMTEs




Code




utils.tar
Utility programs used for data processing and for generating the WMTE masks


figures.tar
Data and code for generating the figures in "Drivers and impacts of westerly moisture transport events in East Africa" by Robert Peal and Emily Collier (submitted to Weather and Climate Dynamics)




Code inside utils.tar

Utility programs used for data processing and for generating the WMTE masks

NOTE: Nearly all the code requires the scripts tctools2.py, cartopy_local.py, and pytime.py  and the folder cartopyData to be in the python path in order to run. These are all in utils.tar. If you want to run the code, I recommend to unpack utils.tar and then copy tctools2.py, cartopy_local.py, pytime.py  and cartopyData into the folder of the script you are running so that they can definitely be imported. Otherwise you can edit the path using sys.path.append() to add the appropriate location.






wmte_detector

    --->detectorData

    --->event_detector3.py

    --->run_westerly_detector3.sh

    --->detector2d.py



The WMTE detector code is in this folder

detectorData is a folder with the specs of the filters used to generate the masks

User options should be specified in the bash script.

detector2d provides utility functions for the detector



tctools2.py
Module with utility functions used extensively in the project. IMPORTANT: Most of the files will require tctools2.py, cartopy_local.py, and pytime.py to be in the path in order to run




cartopy_local.py

cartopyData



Module for making cartopy plots using local shapefiles so it can be run without internet connection

Folder containing some cartopy shapefile data for plots



pytime.py
Module with some clock functions




calculate_moist_adv.py

gen_daily_moisture_transport.sh

Python code for calculating daily average moisture transport from files with hourly wind and specific humidity, and a bash script running the python code


nctools
Folder containing some useful functions for calculating daily climatologies and anomalies of netcdf files




run_swio_state

swio_state.py

swio_state5.csv

swio_state.py generates the csv file with information about the MJO phase and TCs present in SWIO on each day


MJO.csv
Australian Bureau of meteorology (BOM) MJO indices


ibtracs.since1980.list.v04r00.csv


International Best Track Archive for Climate Stewardship (IBTrACS) Tropical cyclone locations from Knapp et. al., 2010



plotExamples


code for plotting WMTE masks



featureTracking
Feature tracking code repo




Code inside figures.tar

each folder contains the code and data for a different figure from the paper. Processing is done by the python script inside, and the figure is generated in the notebook.




detectorOverview
fig. 1 code repo. Plotting detection on an example day


persistence_stats
fig. 2 code repo. Calculating and plotting basic statistics of WMTEs


moistureComposite


fig. 3 code repo. Plotting the composite moisture transport with and without WMTEs

Needs the timeseries of days with a WMTE crossing the EEA line generated in tcWesterlyDays



mjoWesterlyDays
fig. 4 code repo. Calculating and plotting the number of WMTE days in each season in each MJO phase


tcWesterlyDays
fig. 5 code repo. Calculating the number of days with WMTE crossing the EEA line and plotting risk ratio to TCs. Also contains sensitivity analysis of the WMTE algorithm


precipDays
fig. 6 code repo. Precipitation aggregation + supplement precipitation plots




References

Bureau of Meteorology (BoM).: Real-time Multivariate MJO (RMM) Phase Index, https://iridl.ldeo.columbia.edu/SOURCES/.BoM/.MJO/.RMM/phase/index.html, available from IRI/LDEO Climate Data Library, Accessed 06.02.2024.

Knapp, K. R., Kruk, M. C., Levinson, D. H., Diamond, H. J., and Neumann, C. J.: The International Best Track Archive for Climate Stewardship (IBTrACS): Unifying Tropical Cyclone Data, Bulletin of the American Meteorological Society, 91, 363 – 376, https://doi.org/https://doi.org/10.1175/2009BAMS2755.1, 2010

Konstali, K., Spensberger, C., Spengler, T., and Sorteberg, A.: Global Attribution of Precipitation to Weather Features, Journal of Climate, 37, 1181 – 1196, https://doi.org/10.1175/JCLI-D-23-0293.1, 2024.

Spensberger, C.: Dynlib: A library of diagnostics, feature detection algorithms, plotting and convenience functions for dynamic meteorology. https://doi.org/10.5281/zenodo.4639624, 2021.