[general]
name=BlueMesh2D
qgisMinimumVersion=3.34
description=Generate unstructured triangular meshes from bathymetry rasters (BlueMesh2D)
about=Wraps the BlueMesh2D meshing library as QGIS Processing algorithms: from a bathymetry GeoTIFF to an unstructured triangular mesh, written as a UGRID NetCDF that loads directly as a QGIS mesh layer. The workflow runs as six stages:
    • 1 - Extract the water polygon (coastline and domain) from the raster.
    • 2 - Build a gradient-limited element-size raster: depth polynomial, wavelength (Hunt 1979) or a custom Python function, with optional finer detail regions.
    • 3 - Resample the boundary to the element size, as an editable line layer.
    • 4 - Generate the mesh: Delaunay or Frontal-Delaunay refinement, optional smoothing and smood orthogonalisation for Delft3D-FM.
    • 5 - Classify the boundary nodes into open, closed and island, editable in QGIS.
    • 6 - Export: UGRID NetCDF, Delft3D-FM open-boundary files (.pli / .bc / .ext) or ADCIRC .grd.
    Each stage produces an ordinary QGIS layer, so every intermediate result can be inspected and hand-edited before the next step; an all-in-one algorithm is also available for a single-dialog run.
    Step-by-step tutorial (PDF): https://github.com/GeoOcean/BlueMesh2D/blob/develop/docs/Tuto_BlueMesh2D_Santander.pdf
    Dependencies need no manual setup. On first load the plugin detects what is missing and installs it in one click (Plugins ▸ BlueMesh2D ▸ Check / install dependencies). pip runs in QGIS's own interpreter; on Debian/Ubuntu system Python (PEP 668) the packages go into a plugin-managed virtual environment instead, leaving the system Python untouched. Installing bluemesh2d brings numpy, scipy, shapely, rasterio, matplotlib, netCDF4, xarray and triangle with it.
version=0.1.3
author=Geomatics and Ocean Engineering Group
email=faugeree@unican.es
tracker=https://github.com/GeoOcean/BlueMesh2D/issues
repository=https://github.com/GeoOcean/BlueMesh2D
homepage=https://github.com/GeoOcean/BlueMesh2D/tree/develop/bluemesh2d_qgis
changelog=
    0.1.3
    - Stage 4 / all-in-one: new smood option "merge the remaining problematic
      elements during recovery", on by default from recovery cycle 2. A mesh
      whose last few small flow links sit on nodes smoothing may not move
      (fixed points, boundary vertices) now completes instead of failing with
      "mesh still violates dual criteria". The recovery cycle it starts at is
      an advanced setting; untick the option for the previous behaviour.
    - The smood progress table gained an N_MERGED column, so it is visible
      whether a recovery cycle merged anything.
    - Declares its Python dependencies (bluemesh2d, pyproj) in the metadata,
      so they are listed on the plugin page.
    - Clearer About text: the six stages as a bullet list.
    0.1.2
    - First public release.
    - The meshing library is installed from PyPI (bluemesh2d) instead of being
      bundled with the plugin: one dependency to install, and library fixes
      reach users without a plugin update.
    - One-click dependency installer: detects what is missing on load and
      installs it into QGIS's own Python, or into a plugin-managed virtual
      environment on PEP 668 systems (Debian/Ubuntu).
    - Qt6-compatible scoped enums throughout; requires QGIS 3.34 or newer.
    0.1.0
    - Initial release: 6-stage Processing workflow from bathymetry raster to
      UGRID NetCDF, plus an all-in-one algorithm.
category=Analysis
icon=icon.png
external_deps=bluemesh2d>=0.1.4,pyproj
experimental=False
deprecated=False
hasProcessingProvider=yes
tags=mesh,bathymetry,ocean,unstructured,ugrid,delft3d,adcirc,triangulation
