Work began on the Fiji Tropical Cyclone AA Pilot in June 2023.
The tropical cyclone (TC) trigger has been developed with Fiji Meteorological Services (FMS, operators of RSMC Nadi) in consultation with the National Disaster Management Office (NDMO).
Over August 28-29 2023, a workshop was held by OCHA in Suva to build understanding of the framework and finalize the trigger mechanism.
The proposed trigger has two stages, based on FMS's forecasts:
- Readiness: unofficial internal 120-hr forecast
- Action: official 72-hr forecast
The proposed trigger threshold is a TC that forecast to either:
- Be at Category 4 or greater while within 250 km of any point in Fiji, or
- Be at Category 3 or greater while making landfall in Fiji
The anticipatory action framework was formally endorsed by the Emergency Relief Coordinator on Nov 13, 2023.
The trigger is continuously monitored with the process:
- FMS produces a new 120-hr forecast of the cyclone track (typically every 6 hours).
- FMS emails a CSV of the 120-hr forecast to the Centre for Humanitarian Data.
- A Power Automate flow sends the forecast via a POST request to the
check-trigger.yml
GitHub Action on this repo. - The
check-trigger.yml
runs thesrc/update_trigger.py
script, which:- Processes the forecast, checking it against the trigger.
- If either the readiness or action triggers have been met, send an email to activate the framework.
- Produces basic plots of the forecast, and sends them in an informational email (regardless of whether the trigger has been met).
Key analysis in analysis/
:
01_returnperiod.md
: Calculates return period of TCs by strength and distance to Fiji02_historicaltriggers.md
: Checks historical forecasts against trigger03_forecastplots.md
: Creates interactive plots of historical forecasts for simulation exercises04_distances.md
: Calculates distance of historical forecasts and actual tracks to administrative divisions
Datasets:
- FMS historical best tracks (private)
- analysis in this repo is based on file received from FMS, but the historical tracks are also publicly available on IBTrACS
- FMS historical official 72-hr forecasts (private)
- for Yasa, Harold, and Evan
- NDMO impact data (private)
- housing destroyed / damaged
- geolocated infrastructure damage
- Desinventar impact data (public)
- ECMWF track hindcasts (public)
The code in this repository is organized as follows:
├── analysis # Main repository of analytical work for the AA pilot
├── docs # .Rmd files or other relevant documentation
├── exploration # Experimental work not intended to be replicated
├── src # Code to run any relevant data acquisition/processing pipelines
|
├── .gitignore
├── README.md
└── requirements.txt
Create a directory where you would like the data to be stored,
and point to it using an environment variable called
AA_DATA_DIR
.
Next create a new virtual environment and install the requirements with:
pip install -r requirements.txt
Finally, install any code in src
using the command:
pip install -e .
If you would like to instead receive the processed data from our team, please contact us.
All code is formatted according to black and flake8 guidelines. The repo is set-up to use pre-commit. Before you start developing in this repository, you will need to run
pre-commit install
The markdownlint
hook will require
Ruby
to be installed on your computer.
You can run all hooks against all your files using
pre-commit run --all-files
It is also strongly recommended to use jupytext
to convert all Jupyter notebooks (.ipynb
) to Markdown files (.md
)
before committing them into version control. This will make for
cleaner diffs (and thus easier code reviews) and will ensure that cell outputs
aren't
committed to the repo (which might be problematic if working with sensitive
data).