[general]
name=Velantis Wind
qgisMinimumVersion=3.28
qgisMaximumVersion=3.99
description=Wind-farm pre-assessment in QGIS: Energy/AEP, Noise and Shadow Flicker workflows.
version=0.1.17
author=VelantisWind Project
email=info@velantiswind.com
license=GPL-3.0-or-later

about=Open-source QGIS plugin for early-stage wind-farm pre-assessment. It includes Energy/AEP workflows, wind-turbine noise screening and shadow flicker analysis. This stable package targets QGIS 3.28 through 3.x. QGIS 4 requires further manual validation and is not declared for this build. Important installation note: the Energy/AEP module requires PyWake to be installed separately in the same Python environment used by QGIS. PyWake is not a QGIS plugin and will not appear in the QGIS plugin manager. On Windows, open OSGeo4W Shell and run: python -m pip install py_wake==2.6.18 "h5netcdf>=1.8". Then restart QGIS. Since version 1.8, h5netcdf no longer depends on h5py, so this command does not install h5py through h5netcdf. h5py is needed by the GaussianOverlapAvgModel rotor average; see the OSGeo4W installation guide for the untested OSGeo4W package option. XML turbine imports (.wtg and .owtg) use a bundled safe XML parser and need no additional package. Noise and Shadow Flicker can be tested independently without PyWake. This release is intended for screening, layout comparison, workflow testing and technical feedback. It is not certified regulatory or bankable assessment software. Full installation instructions, documentation and troubleshooting are available on the project website and GitHub repository.

tracker=https://github.com/Velantis-Wind/VelantisWind/issues
repository=https://github.com/Velantis-Wind/VelantisWind
homepage=https://www.velantiswind.com/qgis

category=Raster
tags=wind energy,AEP,PyWake,QGIS,noise,shadow flicker,renewables,GIS,pre-assessment,i18n,multilingual,French,German,Spanish,English
icon=icon.png
experimental=False
deprecated=False
hasProcessingProvider=False
server=False
changelog=0.1.17 - Extends Energy/AEP with predefined PyWake models (NOJ on a new installation, including TurbOPark among the choices) and manual class selection with editable parameters, blockage and executed-configuration reporting. Manual defaults use Bastankhah with LinearSum and the PyWake signature values.
    WRG resource parameters use sector-subdivision centres, nearest or linear directional interpolation, Speedup none and wind speeds covering the turbines' operating bands; WRG and GRD use 8766 h/year. Adds bin-mean power, density-tabulated .wtg/.owtg curves, validated CSV/TXT curves and per-row turbine layers; fixes mixed-model hub heights, resource coverage, coordinate precision and spacing-envelope persistence. Default AEP results change compared with 0.1.16.
    Negative effective speeds no longer stop density-tabulated curves at their axis boundary; results report negative and non-finite values and partial totals. WeightedSum handles the 0 m/s node separately where applicable. Wake rasters use the current dialog inputs, record differences from the last AEP, retain custom and derived CRS and are not loaded into another project after a project change.
    The reference air density, new in this version, is stored in each project; a project without one starts undefined, with the density adjustment off. Known Merge resource problems: it can write grids PyWake cannot read and discards turbulence intensity and speed factors of the merged resource.
    Install py_wake==2.6.18, h5py and h5netcdf>=1.8 with pip on Linux/macOS. On Windows with QGIS from OSGeo4W, install py_wake==2.6.18 and h5netcdf>=1.8 with pip; do not install h5py with pip. Its HDF5 conflict is expected but not reproduced on Windows; python3-h5py from the OSGeo4W installer is an untested option. The dialog does not warn about a different PyWake version.
    When GaussianOverlapAvgModel needs its table and h5py or h5netcdf is unavailable, the dialog asks before using CGIRotorAvg(7), records the adaptation, and lets a predefined model remember that decision. An applicable saved decision is applied without asking and stated in the result.
    Noise and Shadow Flicker accept XLSX layouts and any valid CRS; Noise isophones retain derived CRS and their failure does not discard other results. Exactly 30 h/year of shadow flicker does not exceed the annual limit; the summary, fields and map agree, and the raster legend uses red only above 30 h.
    Adds minimize, maximize/restore and close controls, a shared Sponsors button and clearer support links. Corrects ES/EN/FR/DE translations, speeds up translation and preserves user data and edits during live language changes. MW and MWh in the text and tables of the Energy results and report follow the plugin language; other numbers, such as the chart axes, may still use a decimal point, and CSV numeric formats are unchanged. Fixes a crash from background-task messages.
    0.1.16 - Adds per-model elliptical spacing envelopes with automatic WRG orientation, cross-model conflict validation, CSV auto-refresh and screen-defined per-turbine overrides.
    Adds a 42-candidate turbine screening catalogue with explicit provenance: 4 public/reference curves, 8 spec-based approximations and 30 manufacturer-neutral generic classes.
    Improves Noise/Shadow raster compatibility, replaces the Noise XLSX export path to prevent affected Windows/QGIS crashes and adds per-model AEP symbology.
    Completes Interactive Map and spacing-envelope localization in ES/EN/FR/DE and refines the Hub and Noise technical reporting.
    0.1.15 - Translation polish for ES/EN/FR/DE, stable Hub language switching, OEM spectrum workflow and improved Energy/AEP, Noise and Shadow Flicker wording.
    0.1.14 - Adds multilingual interface coverage, including French and German, and improves Energy/AEP, Noise and Shadow Flicker localization.
    0.1.13 - Adds independent turbine layout import from Noise and Shadow Flicker modules and improves cross-module layer detection.
