Giter Site home page Giter Site logo

thinkingmachines / immap-evidem-risk-mapping-public Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2.63 MB

Identifying landslides to create a susceptibility map and vulnerability index in select municipalities around Colombia.

License: MIT License

Makefile 0.01% Python 0.95% Jupyter Notebook 99.05%

immap-evidem-risk-mapping-public's Introduction

iMMAP EVIDEM Mass Movement Risk Mapping

Python Code style: black



๐Ÿ“œ Description

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.

Project Overview

Project Overview

Sample Output Maps

Project Outputs

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.



โš™๏ธ Local Setup for Development

This repo assumes the use of conda for simplicity in installing GDAL.

Requirements

  1. Python 3.9
  2. make
  3. conda

๐Ÿ One-time Set-up

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.

  1. 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
  1. 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
  1. Run the one-time set-up make command.
make setup

๐Ÿ“ฅ Input Data Location and Notebook Order

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.

๐Ÿ“ฆ Dependencies

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 libraries
  • requirements.txt - contains exact list of python libraries (including depdenencies of the main libraries) your environment needs to follow to run the repo code; compiled from requirements.in

When you add new python libraries, please do the ff:

  1. Add the library to the requirements.in file. You may optionally pin the version if you need a particular version of the library.

  2. Run make requirements to compile a new version of the requirements.txt file and update your python env.

  3. Commit both the requirements.in and requirements.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


immap-evidem-risk-mapping-public's People

Contributors

tm-jc-nacpil avatar

Watchers

Joshua Cortez avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.