Tools for screening of bluespots and water flow between bluespots.
Malstrøm is based on the ideas presented by Balstrøm and Crawford (2018).
Balstrøm, T. & Crawford, D. (2018): Arc-Malstrøm: A 1D hydrologic screening method for stormwater assessments based on geometric networks-. Computers & Geosciences vol. 116, July 2018, pp. 64-73., doi:10.1016/j.cageo.2018.04.010
This is a fork of the original malstroem repository. It seems like the original malstroem repo is not maintained anymore. This repo is intended to be a maintained version of malstroem.
malstroem provides command line tools and a python api to calculate:
malstroem makes some assumptions to simplify calculations. The most important ones which you must be aware of:
Calculate all derived data for 20mm rain incident ignoring bluespots where the maximum water depth is less than 5cm and using 20cm statistics resolution when approximating water level of partially filled bluespots:
malstroem complete -mm 20 -filter 'maxdepth > 0.05' -dem dem.tif -outdir c:\outputdirectory -zresolution 0.2
It is a bit tricky to get malstroem correctly installed. Use the precompiled Windows binary if you are on Windows, otherwise install using Anaconda.
If you are not going to write your own python program using malstroem you can just download the precompiled standalone executable.
Download malstroem.exe
from releases.
This file includes everything needed to run malstroem from a command prompt. You don't need to install anything else. Not even python.
Install Microsoft Visual C++ 14.2 standalone: Build Tools for Visual Studio 2019
as described here.
Download and install miniconda3 64bit for you Windows. (If you have other versions of python installed on your system, make sure to untick Register Anaconda as my default Python
)
Download the malstroem dependencies file environment.yml. Note the path to the downloaded file like C:\Users\asger\Downloads\environment.yml
.
From the start menu, search for and open Anaconda Prompt
.
In the Anaconda Prompt run
conda env create -f C:\Users\asger\Downloads\environment.yml
Where C:\Users\asger\Downloads\environment.yml
is the path to your downloaded copy of environment.yml
.
In the Anaconda Prompt run
conda activate malstroem
This activates the malstroem
environment in the current prompt. Your prompt should show something like
(malstroem) C:\Users\asger>
Indicating that malstroem
is the currently active environment.
Install malstroem
into the environment by running
pip install https://github.com/Septima/malstroem/archive/master.zip#[speedups]
Still in the Anaconda Prompt check that malstroem responds to
malstroem --help
Download and install miniconda3 64bit.
Download the malstroem dependencies file environment.yml.
in a terminal run
conda env create -f path/to/environment.yml
Where path/to/environment.yml
is the path to your downloaded copy of environment.yml
.
Run
conda activate malstroem
This activates the malstroem
environment in the current prompt. Your prompt should show something like
(malstroem) ~$
Indicating that malstroem
is the currently active environment.
Install malstroem
into the environment by running
pip install https://github.com/Septima/malstroem/archive/master.zip#[speedups]
Still in the Anaconda Prompt check that malstroem responds to
malstroem --help
Theoretically it should be possible to install malstroem using pip:
pip install cython numpy scipy gdal
pip install https://github.com/Septima/malstroem/archive/master.zip#[speedups]
Unfortunately the above doesn't work on all platforms as malstroem uses som third party libraries and has some optimized code which needs to be compiled for each platform.
If you are not familiar with GitHub please read this short guide.
Copyright (c) 2020
Developed by Septima.dk and Thomas Balstrøm (University of Copenhagen) for the Danish Agency for
Data Supply and Efficiency. This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by the Free Software Foundation,
either version 2 of the License, or (at you option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Gene-
ral Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not,
see http://www.gnu.org/licenses/.