[general]
name=Terrain2Flow - Terrain & Drainage Conveyance
qgisMinimumVersion=3.44
qgisMaximumVersion=3.99
description=Terrain and drainage cross-sections, longitudinal slope analysis, Manning conveyance, rating curves, engineering QA/QC, unit/CRS provenance, and reproducible hydraulic exports for QGIS.
version=0.33.12
author=M. Weier; QGIS 3 modernization and enhancements by Raza Ali
email=razaali10@yahoo.com

about=Terrain2Flow is an open-channel hydraulics plugin for QGIS. It supports interactive DEM cross-section extraction, direction-aware longitudinal slope estimation, steady uniform-flow calculations using Manning's equation, rating-curve generation, bank-station and maximum-stage controls, NoData and monotonicity QA checks, and timestamped CSV/PNG/JSON engineering outputs. Requires NumPy and Matplotlib. Results are engineering calculation aids and should be independently reviewed before design or regulatory use.

changelog=
    0.33.12 - QGIS repository security-scan compliance update: removed four silent broad try/except/pass patterns flagged by Bandit; UI precision setup now executes directly and optional rubber-band methods are feature-checked with hasattr. No hydraulic equations, unit handling, QA/QC logic, or engineering results changed.
    0.33.11 - Documentation and narrative update: renamed plugin to Terrain2Flow - Terrain & Drainage Conveyance; replaced legacy Flow Estimator documentation with current workflows, unit integrity, CRS/vertical-unit provenance, WSE initialization, QA/QC, reproducible exports, and engineering scope. Hydraulic equations unchanged.
    0.33.10 - User Defined unit-integrity release: imported CSV/TXT units are no longer inferred from the m/ft radio button; engineer must explicitly assign source units (m or ft) and confirm them; raw source profile remains unchanged while a converted analysis/display copy follows the selected output units; source and analysis profiles are both exported; automatic-WSE 0.01 margin is converted from source units for unit-invariant behavior. Hydraulic equations unchanged.
    0.33.9 - Trapezoidal unit-semantics release: changing m/ft now numerically converts existing water depth and bottom width so the same physical trapezoidal geometry is preserved; dimensionless side slopes, Manning n, and hydraulic slope remain unchanged. DEM conversion behavior from v0.33.8 is preserved, and User Defined imported profiles remain non-converting with explicit unit confirmation. Hydraulic equations unchanged.
    0.33.8 - DEM unit-integrity release: keeps DEM samples and map geometry in native raster/CRS units while converting hydraulic/profile display and output quantities between metres and feet; converts DEM station/elevation, WSE and bank controls; hydraulic geometry/results follow the selected unit system; native sample CSVs and GeoJSON remain unchanged for parity testing; metadata records conversion factors and explicit vertical-unit provenance. Hydraulic equations unchanged.
    0.33.7 - Workflow slope-state release: DEM, User Defined, and Trapezoidal workflows now retain independent hydraulic slopes; User Defined defaults to its own manual slope and no longer inherits the DEM-derived value; optional explicit reuse of an accepted DEM-derived slope is available and recorded; provenance controls remain disabled until a user profile is loaded. Hydraulic equations unchanged.
    0.33.6 - User-defined provenance release: adds profile source classification (survey, previous DEM/terrain, design/proposed, external hydraulic model, other), optional source description, explicit non-spatial provenance, corrected User Defined metadata export, and distinct profile-derived WSE provenance. Hydraulic equations unchanged.
    0.33.5 - User-defined units safeguard: explicit confirmation is required that imported station and elevation values match the selected m/ft units; changing units invalidates confirmation; Save Data is blocked until reconfirmed; JSON metadata records selected units, user confirmation, and that no unit inference/conversion was performed. Hydraulic equations unchanged.
    0.33.4 - User-defined section usability release: separates DEM and user-defined profile state so tab switching cannot reuse the DEM section; adds CSV/tab/semicolon/whitespace import with optional header; validates strictly increasing stationing; shows loaded profile summary; records user-defined source provenance. Hydraulic equations unchanged.
    0.33.3 - Hotfix for v0.33.2 method binding regression: `_set_hydraulic_slope` restored as an instance method and `_analysis_unit_matches_raster` restored as a static method. Fixes slope-selection and Save Data TypeErrors. Hydraulic equations unchanged.
    0.33.2 - Slope precision hotfix: hydraulic slope control increased to 10 decimals; accepted DEM-derived slope retained and used exactly independent of GUI display; metadata records exact derived/display/used slopes and source; near-zero slope QA wording improved to avoid misleading huge percentages. Hydraulic equations unchanged.
    0.33.1 - Hotfix: initializes saved map-point state to prevent Save Data AttributeError; makes output export defensive when no longitudinal line exists; clarifies automatic WSE as a terrain-derived analysis initialization and reports when unbounded road/hillslope sections cannot support automatic WSE. Adds WSE provenance to run metadata. Hydraulic equations unchanged.
    0.33.0 - Interaction/terminology release: persistent cyan drainage cross-section and blue longitudinal flow-path graphics remain visible after digitizing; reversed-slope prompt now offers Reverse+Use / Keep Geometry / Redraw; slope-path QA is shown immediately; DEM mode terminology generalized from channel-only to terrain/drainage conveyance. Hydraulic equations unchanged.
    0.32.0 - Engineering QA release: adds longitudinal slope-path QA, selected-unit vs raster-horizontal-unit screening, regression/end-to-end slope comparison, thalweg-to-slope-path distance and line-intersection checks, adverse-rise metrics, and ArcMap 3D Analyst comparison exports/documentation. Hydraulic equations remain unchanged.
    0.31.2 - Parity cleanup: runtime JSON version follows a shared version module; rating-curve CSV precision increased to 12 decimals; rating ordinates export WSE crossing count; hydraulic JSON adds wetted perimeter and crossing count; DEM sample CSVs add raster row/column for direct QGIS-vs-headless cell audits.
    0.31.1 - Hotfix: preserves raster-space cross-section/longitudinal geometry, full-precision samples, and CRS records after slope estimation so GeoJSON and sample CSV parity outputs are written correctly.
    0.31 - Preserves exact cross-section/longitudinal LineStrings and unrounded DEM samples for QGIS-to-LLM parity; records project/native raster CRS and selected WSE; transforms map-canvas coordinates to raster CRS before sampling; moves rating/profile QA into a QGIS-free core; adds explicit open/incomplete-section warnings.
    0.30 - Resolved QGIS Bandit B110 security findings by replacing silent exception handlers with explicit QGIS logging.
    0.29 - Rebranded as Terrain2Flow; new plugin icon; added required GPL LICENSE; refreshed metadata and documentation for QGIS repository submission.
    0.28 - Timestamped persistent run packages, direction-aware DEM slope sampling with reverse-direction option, saved slope plot/metadata, and automatic rating-curve monotonicity QA.
    0.26 - Engineering QA controls: long constant-elevation-run warning, explicit NoData diagnostics, optional bank-station limits, optional maximum rating-curve WSE, and CSV rating-curve export.
    0.25 - Rating curve spans the full valid DEM/user-defined bankfull WSE range and uses 51 evenly spaced ordinates.
    0.24 - Modeless QGIS window and canvas-capture workflow.
    0.23 - Removed stale map-tool QToolButton references.
    0.22 - Fixed QGIS 3.44 map-tool shutdown error.
    0.21 - Ported to QGIS 3 / Python 3 / Qt 5 and removed the Shapely runtime dependency.

homepage=https://github.com/razaali10/Terrain2Flow
tracker=https://github.com/razaali10/Terrain2Flow/issues
repository=https://github.com/razaali10/Terrain2Flow

tags=hydraulics,civil engineering,manning,open channel,DEM,cross section,slope,rating curve,drainage,river
category=Raster
icon=icon.png
experimental=False
deprecated=False
