Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wflow SBM Bangladesh: Sylhet–Upper Meghna Hydrological Model

  • Repository name: wflow_sbm_BD
  • Main outlet: BWDB SW273 at Bhairab Bazar, Bangladesh
  • Current status: Research model under development; not an operational forecasting system

This repository contains the reproducible workflow, configuration, and documentation for building a daily, approximately 1 km Wflow Soil Bucket Model (SBM) of the Sylhet–Upper Meghna basin. The modeled contributing area includes northeastern Bangladesh and upstream catchments in India. It is delineated from the SW273 outlet using MERIT Hydro flow directions.

The current model uses Wflow's kinematic-wave routing for land and river flow. It does not explicitly simulate two-dimensional floodplain hydraulics or individual haor, lake, and pond storage. Twenty-eight internal BWDB gauges and the SW273 outlet are configured as discharge reporting locations.

Documentation

  • TECHNICAL_MANUAL.md: installation, data sources, preparation, model setup, execution, outputs, and troubleshooting.
  • RUN_ORDER.md: concise command sequence for rebuilding and running the model.
  • data_raw/README.md: required source-data inventory, filenames, variables, units, and provenance.
  • data_processed/README.md: generated dataset inventory and validation details.

Model summary

Item Current configuration
Hydrological model Wflow SBM 1.0.3
Model builder HydroMT 1.4.0 with HydroMT-Wflow 1.0.2
Spatial grid 30 arc-seconds (approximately 1 km)
Hydrography input MERIT Hydro v1.0.1 at 3 arc-seconds, upscaled 10x
Routing Kinematic wave on land and in rivers
Main outlet BWDB SW273, Bhairab Bazar
Reporting locations SW273 plus 28 internal BWDB gauges
Current run period 2020-01-01 through 2024-12-31
Forcing time step Daily
Primary discharge output model/run_default/output/discharge_gauges.csv

All commands are run in WSL. The Windows project root E:\wflow\sylhet_model is /mnt/e/wflow/sylhet_model in Python, YAML, and shell commands.

Required directory layout

E:\wflow\sylhet_model\
├── README.md
├── LICENSE
├── RUN_ORDER.md
├── TECHNICAL_MANUAL.md
├── environment.yml
├── prepare_forcing.py
├── prepare_hydrography.py
├── prepare_sylhet_static_data.py
├── validate_sylhet_inputs.py
├── build_sylhet_model.py
├── hydromt_data_sylhet.yml
├── wflow_build_sylhet.yml
├── data_raw\
│   ├── README.md
│   ├── boundary\
│   ├── hydrography\merit_hydro_3sec\
│   ├── rivers\lin2019\
│   ├── landcover\
│   ├── lai\
│   ├── soil\soilgrids_2020\
│   ├── soil\soilgrids_2017\
│   ├── forcing\
│   └── observations\
├── data_processed\
│   ├── README.md
│   ├── boundary\
│   ├── hydrography\
│   ├── rivers\
│   ├── landcover\
│   ├── lai\
│   ├── soil\
│   ├── observations\
│   └── forcing\
├── model\
│   ├── wflow_sbm.toml
│   ├── staticmaps.nc
│   ├── forcing.nc
│   ├── gauge_output_mapping.csv
│   ├── staticgeoms\
│   ├── instate\
│   └── output\
├── backup\
└── logs\

The scripts create the data_processed subdirectories. Raw files are never overwritten. build_sylhet_model.py --overwrite moves an existing model to a timestamped folder under backup before rebuilding it.

Software

The configuration was prepared for:

  • HydroMT 1.4.0
  • HydroMT-Wflow 1.0.2
  • Wflow.jl 1.0.3
  • Python packages: xarray, rioxarray, rasterio, geopandas, pandas, numpy, netCDF4, pyflwdir, PyYAML and dask

Activate the existing environment before running Python:

conda activate hydromt
cd /mnt/e/wflow/sylhet_model

For a new installation, create the pinned Conda environment from the repository file:

mamba env create -f environment.yml
conda activate hydromt

Important modelling choices

  • Hydrography source: native MERIT Hydro 3 arc-seconds (nominal 92.77 m), upscaled 10x with IHU to a 0.008333333333333333 degree model grid (30 arc-seconds, about 1 km). The Wflow simulation is not run at 3 seconds.
  • The model domain is delineated upstream from BWDB station SW273 at Bhairab Bazar (90.9911 E, 24.0455 N). The buffered basin polygon is retained for preparation and comparison, but is not used as a geom model region.
  • Gauge definitions come from data_raw/observations/discharge_stations.csv. The current file contains SW273 plus 28 internal gauges. HydroMT snaps all 29 points to unique modeled river cells and stores the snapped locations in model/staticgeoms/gauges_bwdb.geojson and staticmaps.nc variable gauges_bwdb.
  • Wflow writes one station-named discharge column per gauge to model/run_default/output/discharge_gauges.csv. The correspondence between raw and snapped coordinates is recorded in model/gauge_output_mapping.csv.
  • Flow direction, elevation, upstream area and source river width come from GEE MERIT/Hydro/v1_0_1. Land slope, stream order and basin IDs are derived on the unchanged native grid; HydroMT derives model river slope during setup_rivers. The old meghna_dem_90m.tif is not used.
  • River threshold: 160 km2. Review this against mapped rivers and observed gauges; lower it if important headwater channels disappear.
  • River widths and bankfull discharges come from the clipped Lin et al. river geometry. No deprecated setup_riverwidth step is used.
  • The land-cover raster is the Esri / Impact Observatory Sentinel-2 10 m Land Use/Land Cover Time Series. Its 1--11 classes use the custom esri_sentinel2_lulc_mapping.csv; it is not ESA WorldCover. The existing TIFF filename is retained only for compatibility.
  • Snow, glaciers, reservoirs and water demand are disabled for the initial Meghna setup.
  • Temperature forcing is mean daily temperature named temp in degrees C. tmax and tmin are not used because PET is already supplied.
  • The supplied build file runs 2020-01-01 through 2024-12-31. After the model passes a short verification run, change the start date to 2000-01-01 to use the complete 2000--2024 forcing record.

Runtime TOML

HydroMT writes /mnt/e/wflow/sylhet_model/model/wflow_sbm.toml during the build. That generated file is authoritative because its static-map variable mappings match the actual build. The TOML supplied with this package is a complete reference/fallback. If HydroMT has generated a TOML successfully, do not replace it with the fallback.

Forcing source metadata

The embedded metadata identifies precipitation as MSWEP V2.8. Mean temperature identifies ECMWF as the institution, but the exact product and version are not recorded. The ET0 file retains CPC Global Temperature metadata, but its derivation method is not recorded. Resolve the temperature product/version and ET0 method before publication.

Repository and data policy

The Git repository tracks source code, configuration, documentation, and the project-authored land-cover lookup tables. Raw source datasets, processed rasters and NetCDF files, built model files, simulation outputs, backups, and logs are intentionally excluded by .gitignore.

This separation keeps the repository small and avoids redistributing datasets whose licenses and access conditions differ. Users must obtain the required datasets from the sources documented in data_raw/README.md and then recreate the processed data and model locally. Do not force-add ignored data until its license, attribution, privacy, and GitHub file-size implications have been reviewed.

The project source code and accompanying documentation are licensed under the MIT License; see LICENSE. The license does not grant redistribution rights for third-party source datasets. Each dataset remains subject to its original provider's license and access conditions.

About

Reproducible HydroMT and Wflow SBM model for the Sylhet-Upper Meghna basin, Bangladesh, with MERIT Hydro hydrography and BWDB discharge gauges.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages