The FLOod Mapping PYthon toolbox is a free and open-source python toolbox for mapping of floodwater. It exploits the dense Sentinel-1 GRD intensity time series and is based on four processing steps. In the first step, a selection of Sentinel-1 images related to pre-flood (baseline) state and flood state is performed. In the second step, the preprocessing of the selected images is performed in order to create a co-registered stack with all the pre-flood and flood images. In the third step, a statistical temporal analysis is performed and a t-score map that represents the changes due to flood event is calculated. Finally, in the fourth step, a multi-scale iterative thresholding algorithm based on t-score map is performed to extract the final flood map. We believe that the end-user community can benefit by exploiting the FLOODPY's floodwater maps.
This is research code provided to you "as is" with NO WARRANTIES OF CORRECTNESS. Use at your own risk.
The installation notes below are tested only on Linux. Recommended setup: Python 3.9+, SNAP 9.0+
Please download ESA-SNAP (All Toolboxes) from here and install it using the following commands:
chmod +x esa-snap_all_linux-10.0.0.sh
./esa-snap_all_linux-10.0.0.sh
Even though we offer credentials (for demonstration reasons), we encourage you to create your own account in order to not encounter any problems due to traffic.
- Please create an account at: Copernicus-DataSpace.
Currently, FloodPy is based on ERA-5 data. ERA-5 data set is redistributed over the Copernicus Climate Data Store (CDS). You have to create a new account here if you don't own a user account yet. After the creation of your profile, you will find your user id (UID) and your personal API Key on your User profile page.
- Option 1: create manually a
.cdsapirc
file under yourHOME
directory with the following information:
url: https://cds.climate.copernicus.eu/api/v2
key: UID:personal API Key
- Option 2: Run aux/install_CDS_key.sh script as follows:
chmod +x install_CDS_key.sh
./install_CDS_key.sh
You can download FLOODPY toolbox using the following command:
git clone https://github.com/kleok/FLOODPY.git
FLOODPY is written in Python3 and relies on several Python modules. We suggest to install them by using conda.
- Using conda Create a new conda environement with required packages using the the file FLOODPY_gpu_env.yml.
conda env create -f path_to_FLOODPY/FLOODPY_gpu_env.yml
Append to .bashrc file
export FLOODPY_HOME= path_of_the_FLOODPY_folder
export PYTHONPATH=${PYTHONPATH}:${FLOODPY_HOME}
export PATH=${PATH}:${FLOODPY_HOME}/floodpy
FLOODPY generates a map with flooded regions based on Sentinel-1 GRD products and meteorological data. Sentinel-1 orbits are downloaded using the sentineleof You can run FLOODPY using the following jupyter notebooks as templates.
Algorithms implemented in the software are described in detail at our publications. If FLOODPY was useful for you, we encourage you to cite the following work:
-
Karamvasis K, Karathanassi V. FLOMPY: An Open-Source Toolbox for Floodwater Mapping Using Sentinel-1 Intensity Time Series. Water. 2021; 13(21):2943. https://doi.org/10.3390/w13212943
-
Kuro Siwo: 33 billion m2 under the water. A global multi-temporal satellite dataset for rapid flood mapping. https://paperswithcode.com/paper/kuro-siwo-12-1-billion-m-2-under-the-water-a
You can also have a look at other works that are using FLOODPY:
-
Gounari 0., Falagas A., Karamvasis K., Tsironis V., Karathanassi V., Karantzalos K.: Floodwater Mapping & Extraction of Flood-Affected Agricultural Fields. Living Planet Symposium Bonn 23-27 May 2022.
https://drive.google.com/file/d/1HiGkep3wx45gAQT6Kq34CdECMpQc8GUV/view?usp=sharing -
Zotou I., Karamvasis K., Karathanassi V., Tsihrintzis V.: Sensitivity of a coupled 1D/2D model in input parameter variation exploiting Sentinel-1-derived flood map. 7th IAHR Europe Congress. September 7-9, 2022. Page 247 at https://www.iahreuropecongress.org/PDF/IAHR2022_ABSTRACT_BOOK.pdf
-
Zotou I, Karamvasis K, Karathanassi V, Tsihrintzis VA. Potential of Two SAR-Based Flood Mapping Approaches in Supporting an Integrated 1D/2D HEC-RAS Model. Water. 2022; 14(24):4020. https://doi.org/10.3390/w14244020
Feel free to open an issue, comment or pull request. We would like to listen to your thoughts and your recommendations. Any help is very welcome! ❤️