[general]
name=SOLWEIG
qgisMinimumVersion=3.28
description=Calculate Mean Radiant Temperature & UTCI thermal comfort using the SOLWEIG model.
version=0.1.0-beta12
author=SOLWEIG Development Team
email=gareth.simons@ucl.ac.uk

about=SOLWEIG (Solar and Longwave Environmental Irradiance Geometry) is a high-performance urban microclimate model for calculating Mean Radiant Temperature and thermal comfort indices.

    Features:
    - Single timestep and timeseries Tmrt calculations
    - UTCI (Universal Thermal Climate Index) computation
    - PET (Physiological Equivalent Temperature) computation
    - Sky View Factor (SVF) preprocessing
    - EPW & SUEWS weather file import
    - Support for large rasters via tiled processing and GPU

    Requirements:
    - The SOLWEIG Python library must be installed separately.
    - The plugin will offer to install it automatically on first use.
    - To install manually, run this in the QGIS Python Console:
      import pip; pip.main(["install", "solweig"])

    This plugin provides QGIS Processing algorithms that wrap the SOLWEIG Python library. This version of Solweig is currently in testing as a proof of concept for Rust + GPU + tiled processing to handle large rasters.

    Adapted from UMEP (Urban Multi-scale Environmental Predictor) by Fredrik Lindberg, Sue Grimmond, and contributors. If you use this plugin in research, please cite:

    Lindberg F, Grimmond CSB, Gabey A, Huang B, Kent CW, Sun T, Theeuwes N, Järvi L, Ward H, Capel-Timms I, Chang YY, Jonsson P, Krave N, Liu D, Meyer D, Olofson F, Tan JG, Wästberg D, Xue L, Zhang Z (2018) Urban Multi-scale Environmental Predictor (UMEP) - An integrated tool for city-based climate services. Environmental Modelling and Software 99, 70-87 https://doi.org/10.1016/j.envsoft.2017.09.020

tracker=https://github.com/UMEP-dev/solweig/issues
repository=https://github.com/UMEP-dev/solweig
homepage=https://umep-docs.readthedocs.io/

hasProcessingProvider=yes
tags=urban climate, thermal comfort, mean radiant temperature, UTCI, PET, microclimate, heat stress, urban planning

category=Analysis
icon=icon.png

experimental=True
deprecated=False

changelog=
    0.1.0-beta12
    - CI: create GitHub Release with wheels on tag push
    0.1.0-beta11
    - Fix PyPI upload: include LICENSE file in sdist (maturin include directive)
    0.1.0-beta10
    - Auto-fill NaN in DSM/CDSM/TDSM with DEM ground reference (fill_nan)
    - Clamp near-ground noise (< 0.1 m tolerance) to avoid shadow/SVF artefacts
    - QGIS plugin uses SurfaceData library methods for masking/cropping (single source of truth)
    - Only honor negative nodata sentinel values at raster load time
    0.1.0-beta9
    - Fix numpy dtype crash in QGIS: rasterio is no longer imported in OSGeo4W environments
    - Consolidate geospatial backend detection into shared _compat module
    0.1.0-beta8
    - Fix plugin not appearing in Processing Toolbox when solweig library is missing
    - Defer install prompt so it no longer blocks provider registration
    0.1.0-beta7
    - Publish workflow gates on passing tests before building wheels
    0.1.0-beta6
    - Auto-detect outdated solweig library and prompt to upgrade
    - Plugin version synced automatically from pyproject.toml
    0.1.0-beta5
    - Fixed CI: simplified QGIS plugin build workflow (removed stale --universal flag)
    - CI: tags no longer trigger redundant test/docs workflows
    0.1.0-beta4
    - Solweig library installed via pip (auto-prompted on first use)
    - EPW download uses QgsNetworkAccessManager (proxy support)
    - Removed bundled binaries for QGIS Plugin Repository compliance
    0.1.0-beta1 - First public beta
    - Memory optimizations for QGIS timeseries (~3 GB savings)
    - Cancellable wall aspect and SVF computations
    - Input height validation warnings (DSM/CDSM sanity checks)
    - Surface preprocessing algorithm
    - Anisotropic sky model with Rust acceleration
    - GPU-accelerated shadow computation
    0.1.0-alpha1 - Internal alpha
    - Single timestep Tmrt calculation
    - Timeseries Tmrt calculation with thermal state
    - SVF preprocessing
    - UTCI and PET post-processing
    - EPW weather file import
    - Tiled processing for large rasters
