The iMMAP Evidem project aims to calculate the overall risk of selected target municipalities by combining the susceptibility and the social vulnerability index. This github repository contains the generation and development of the susceptibility model and the social vulnerability index.
Before jumping into running these notebooks, make sure to follow and execute the sections below. It is advised to set up the local environment to properly run the notebooks.
This repo assumes the use of conda for simplicity in installing GDAL.
- Python 3.9
- make
- conda
Run this the very first time you are setting-up the project on a machine to set-up a local Python environment for this project.
- Install miniconda for your environment if you don't have it yet.
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
- Create a local conda env and activate it. This will create a conda env folder in your project directory.
make conda-env
conda activate ./env
- Run the one-time set-up make command.
make setup
The notebooks in this repository read files from a specified location in the data/
folder. To run these notebooks, we recommend to download the input data from the provided GDrive and place them in the location specified by each notebook. We provide input datasets for the starting notebooks in 01_susceptibility_model/
and 02_index_calculation/
.
Folders and notebooks are also prefixed by a number (i.e. 01_create_training_data_coordinate_labels.ipynb
, 02_feature_engineering.ipynb
, etc.) that indicate their intended order of execution. These notebooks should be run in sequence.
Over the course of development, you will likely introduce new library dependencies. This repo uses pip-tools to manage the python dependencies.
There are two main files involved:
requirements.in
- contains high level requirements; this is what we should edit when adding/removing librariesrequirements.txt
- contains exact list of python libraries (including depdenencies of the main libraries) your environment needs to follow to run the repo code; compiled fromrequirements.in
When you add new python libraries, please do the ff:
-
Add the library to the
requirements.in
file. You may optionally pin the version if you need a particular version of the library. -
Run
make requirements
to compile a new version of therequirements.txt
file and update your python env. -
Commit both the
requirements.in
andrequirements.txt
files so other devs can get the updated list of project requirements.
Note: When you are the one updating your python env to follow library changes from other devs (reflected through an updated requirements.txt
file), simply run pip-sync requirements.txt