Global hydroclimatic controls on multithread river dynamics
Data files
Feb 04, 2026 version files 486.21 MB
-
CODE.zip
2.62 MB
-
DATA.zip
483.56 MB
-
ebi_combined_statistics_clean.csv
29.11 KB
-
README.md
6.87 KB
Abstract
Most large rivers in densely populated areas split flow into multiple channels, forming interconnected pathways called threads. Multithread rivers are sensitive to hydroclimatic changes, yet understanding their dynamics is challenging due to the lack of robust metrics to characterize their evolution. To investigate the drivers of river evolution, we analyze 38 years of Landsat imagery alongside discharge records for 97 multithread reaches worldwide spanning diverse climates and both wandering and braided morphologies. We quantify the number of active threads and their allocated discharge through space and time using the entropic Braiding Index (eBI), coupled with metrics for bank migration rate, floodplain reworking, and channel-belt size. Data reveal that multithread river dynamics are strongly controlled by flow intermittency—expressed as the dimensionless ratio of long-term mean discharge to bankfull discharge. Rivers with lower flow intermittency (i.e., higher discharge relative to bankfull conditions) exhibit more active threads, decelerated thread migration, prolonged floodplain reworking timescales, and smaller channel-belt area normalized by channelized area. Lower flow intermittency also results in preferential flow routing among threads (lower eBI relative to thread count). Channel-belt area relative to channelized area exponentially declines with thread count, potentially reflecting a greater propensity for reconfiguration over lateral migration in braided rivers. Furthermore, multithread rivers in cold climates exhibit slower evolution rates across scales, likely due to permafrost influence. Together, results suggest that future increases in discharge variability could cause multithread rivers to split into more active threads and accelerate movement within channel belts, potentially impacting livelihoods and ecosystems along river corridors.
This repository contains the code and data used in the publication:
Global Hydroclimatic Controls on Multithread River Dynamics
Authors: Feifei Zhao, Vamsi Ganti, Austin Chadwick, Evan Greenberg, Jonah McLeod, Yinxue Liu, Louise Slater, and Efi Foufoula-Georgiou
Corresponding author: Feifei Zhao: xiafeizhao@ucsb.edu
Repository Structure
The archive consists of the following main components:
├── CODE.zip/
│ ├── eBIcalculator/
│ ├── misc/
│ ├── figures/
├── DATA.zip/
│ ├── [Data folders described below]
├── ebi_combined_statistics_clean.csv
CODE.zip/eBIcalculator/
Contains scripts and notebooks for computing the cross-sectional entropic Braiding Index (eBI) and Braiding Index (BI) from a time series of river masks.
- mesh_maker.ipynb
Generates evenly spaced cross sections perpendicular to a river centerline using rivgraph. These cross sections are used to calculate a reach-averaged entropic braiding index. - preprocess_images.py
Preprocesses binary river masks derived from Landsat imagery. This includes removing empty (blank) masks from the time series, cropping images to remove edge artifacts, and using rivgraph functionalities to remove speckle. - rivgraph_eBI.py
Main script to compute a reach-averaged entropic Braiding Index (eBI) using topological network outputted from mesh_maker.ipynb. Outputs eBI, BI, and wetted area.
CODE.zip/misc/
Utility scripts for summarizing outputs and generating bulk metrics.
- generate_hist_csv.py
Aggregates eBI histogram statistics across sites into a single CSV for comparative analysis. - generate_stat_csv.py
Generates summary statistics (e.g., average eBI, migration rate, mobility metrics) per site from processed time series data. - RF_model.py
Trains and evaluates a random forest regression model to evaluate discharge controls on channel planform and kinematics. - [Other scripts may exist in this folder for plotting, testing, or exploratory analysis.]
CODE.zip/figures/
Contains scripts used to generate the figures included in the published manuscript.
These scripts rely on precomputed summary statistics and regression results (ebi_combined_statistics_clean.csv)
Requirements
- Python ≥ 3.8
- Required packages:
- numpy, pandas, rasterio, matplotlib, geopandas
- rivgraph (https://github.com/VeinsOfTheEarth/rivgraph)
RivGraph is not redistributed in this archive. Users wishing to reproduce the analysis should obtain RivGraph directly from the original repository and comply with its license.
DATA.zip/
Contains all input and output data referenced in the study (excluding Landsat images due to file size constraints). Each subfolder within DATA.zip corresponds to one river reach, and all river folders follow the same internal file structure. [Site_Name] corresponds to the "River" field in ebi_combined_statistics_clean.csv. Below is the file structure for each reach:
[Site_Name]/
├── [Site_Name]_cropped.tif
│ - Preprocessed DSWE-derived binary channel mask used to extract the river centerline and generate cross sections.
├── [Site_Name]_dem.tif
│ - DEM raster used to delineate channel-belt extent.
├── [Site_Name]_cb.gpkg
│ - Vector polygon defining the mapped channel-belt extent, derived from NASA DEM products.
├── output_annual/
│ └── masks/
│ - Binary water masks generated from Landsat median annual composites.
├── preparedimagery_annual/
│ - RGB versions of annual images prepared for visualization and presentation purposes.
├── rivgraph/
│ ├── nodes/
│ ├── links/
│ └── centerline.shp
│ - River network topology outputs generated using the RivGraph Python package
│ (https://github.com/VeinsOfTheEarth/RivGraph).
│ - Includes annual reach-averaged eBI, BI, and wetted area metrics used in this study.
For a subset of river reaches, the files [Site_Name]_cb.gpkg and [Site_Name]_dem.tif are not included in this archive. These reaches overlap with a previously published channel-belt dataset produced by our research group. For those sites, the corresponding channel-belt polygons and DEM-derived products are archived separately and are publicly available at:
https://datadryad.org/dataset/doi:10.5061/dryad.wm37pvmvf
All other files within each river reach folder follow the same structure and naming convention described above.
ebi_combined_statistics_clean.csv
Summary csv file contains compiled site-level statistics used in the analysis. Each row represents a river reach analyzed in the study.
Column descriptions:
- River: Name of the river reach, matches with [site_name] of each river folder in DATA/
- Width(m): Average channel-belt width in meters.
- Stream Power (W/m): Stream power per unit channel length, calculated from discharge and slope.
- Classification: Channel pattern classification — either Braided (B), HSW (High Sinuosity Wandering), or LSW (Low Sinuosity Wandering).
- Sinuosity: Centerline sinuosity of the reach.
- Slope (cm/km): Reach-scale slope of the river, in centimeters per kilometer.
- Qm: Mean discharge (in m³/s).
- Qmax(m3/s): Maximum discharge across the time series.
- Qmin(m3/s): Minimum discharge across the time series.
- Climate Zone: Köppen–Geiger climate classification for the region.
- CB/Aw: Normalized channel-belt area.
- T_R: Floodplain reworking timescale (in years).
- average_discharge_annual: Annual average discharge.
- median_discharge_annual: Annual median discharge.
- cov_discharge_site: Coefficient of variation in discharge over time.
- wetted_area_avg_subannual: Average wetted area.
- mean_ebi_site: Time- and reach-averaged eBI
- median_ebi_site: Median eBI across time and reach.
- std_ebi_site: Standard deviation of reach-averaged eBI.
- cov_ebi_site: Coefficient of variation of reach-averaged eBI
- 95_ebi_site: 95th percentile of eBI.
- 5_ebi_site: 5th percentile of eBI.
- mean_bi_site: Time- and reach-averaged BI
- median_bi_site: Median BI across time and reach.
- std_bi_site: Standard deviation of reach-averaged BI.
- cov_bi_site: Coefficient of variation of reach-averaged BI
- 95_bi_site: 95th percentile of BI.
- 5_bi_site: 5th percentile of BI.
- eBI_BI_ratio_site: Ratio of eBI to BI
- Qbf point: bankful discharge derived from a machine learning model.
- Iw: Intermittency factor.
- dim_Q: Dimensionless discharge metric.
- mean_migration_rate: Mean riverbank migration rate (in m/year).
- std_migration: Standard deviation of migration rate.
- norm_migration_rate: Normalized riverbank migration rate.
- norm_error: Error in normalized migration rates.
