Skip to content

HuidaeCho/meufl

Repository files navigation

Memory-Efficient Upstream Flow Length (MEUFL)

Part of the Memory-Efficient I/O-Improved Drainage Analysis System (MIDAS)

Citation: Huidae Cho, September 2026. Flow in Float: Memory-Efficient Upstream Flow Length Parallel Computation Using an IEEE-754-Based Union Encoding. Environmental Modelling & Software 204, 107045. doi:10.1016/j.envsoft.2026.107045. Author's Version.

Predefined flow direction encodings in GeoTIFF: power2 (default, r.terraflow, ArcGIS), taudem (d8flowdir), 45degree (r.watershed), degree
image image image image

Custom flow direction encoding is also possible by passing -e E,SE,S,SW,W,NW,N,NE (e.g., 1,8,7,6,5,4,3,2 for taudem).

Test data

You can find test data at https://data.isnew.info/meufl.html.

How to build on Linux

  1. First, install the GDAL library.
  2. Build meufl
make

or

mkdir build
cd build
cmake ..
make

How to build on Windows

  1. Install Visual Studio Community Edition. Select these two components:
    • MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)
    • Windows 11 SDK (10.0.26100.0)
  2. Install Git for Windows
  3. Install Miniconda
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
Miniconda3-latest-Windows-x86_64.exe /S /D=C:\opt\miniconda
C:\opt\miniconda\condabin\conda.bat init
  1. Start Developer Command Prompt for VS 2022
  2. Setup Conda for MEUFL build
conda config --add channels conda-forge
conda config --set channel_priority strict
conda create -n meufl cmake libgdal
conda activate meufl
  1. Download the source code
cd \opt
git clone git@github.com:HuidaeCho/meufl.git
cd meufl
mkdir build
cd build
  1. Build meufl
cmake ..
msbuild meufl.sln -p:configuration=release

or

cmake ..
cmake --build . --config Release

or

cmake -DCMAKE_CONFIGURATION_TYPES=Release
msbuild meufl.sln
  1. Find meufl.exe in Release\meufl.exe

About

Memory-Efficient Upstream Flow Length (MEUFL)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors