Wind Turbine Siting Analysis

Purpose

Wind Turbine Siting Analysis produces a siting score, confidence map, candidate points, high-confidence zones, and threshold-sensitivity diagnostics.

Typical Questions This Tool Helps Answer

  • Which candidate locations satisfy terrain and settlement-visibility constraints while maintaining strong confidence?
  • How sensitive is the shortlist to threshold changes and selected profile settings?
  • Where are high-score zones that are also confidence-stable for feasibility follow-up?

Background

Wind siting is a constrained screening process where physical suitability and uncertainty must be interpreted together. This workflow explicitly separates siting_score (suitability) and confidence (stability/reliability) so ranking decisions are easier to explain.

The output is designed for early-stage planning and prioritization. Final wind deployment decisions still require grid studies, land access confirmation, permitting, environmental review, and local policy compliance.

Methodological Considerations

  • Ensure DEM and settlement data are in aligned projected coordinates.
  • Keep profile selection (fast, balanced, quality) consistent across alternatives when comparing results.
  • Use threshold and sweep diagnostics to assess shortlist robustness before selecting field targets.

Practical Interpretation Pitfalls

Common mistakes include interpreting high score as high certainty, comparing runs with inconsistent profile/threshold settings, and skipping threshold-sensitivity diagnostics.

Inputs

InputRequiredNotes
demYesInput DEM raster with CRS metadata.
settlementsYesSettlement locations as vector or CSV.
settlements_epsgConditionalRequired for CSV settlements; optional override otherwise.
visibility_radius_metersNoVisibility radius (default 5000, range [1000, 50000]).
min_slope_degreesNoMinimum slope (default 5.0).
max_slope_degreesNoMaximum slope (default 35.0).
candidate_thresholdNoCandidate threshold in [0, 1] (default 0.7).
max_candidate_sitesNoCandidate cap (default 200).
min_candidate_separation_cellsNoCandidate spacing in cells (default 3, set 0 to disable).
transmission_regionNodense_grid, sparse_grid, or remote (default dense_grid).
profileNofast, balanced, or quality (default balanced).
sweep_specNoOptional JSON sweep specification. When supplied, the tool executes sweep runs and writes run-matrix and sensitivity outputs.
output_prefixNoOutput prefix (default wind_siting).

Outputs

Output KeyDescription
siting_scoreCombined siting score raster.
confidenceConfidence raster.
candidate_sitesRanked candidate points.
high_score_confident_zonesPolygon zones passing score and confidence rules.
threshold_sensitivity_summaryJSON threshold-sensitivity diagnostics.
run_matrix_summaryOptional CSV sweep run matrix.
sensitivity_reportOptional JSON sweep sensitivity report with normalized span and stability_class indicators.
sensitivity_report_htmlOptional HTML sweep sensitivity report.
stability_mapOptional GeoTIFF sweep stability classes (3=high, 2=medium, 1=low).
summaryJSON metrics and interpretation guidance.
html_reportOptional HTML report.

When sweep_spec is supplied, summary includes an executed sweep block and companion run-matrix/sensitivity artifacts for scenario traceability, including primary_relative_span and stability_class.

Example

import whitebox_workflows as wbw

env = wbw.WbEnvironment()
result = env.wind_turbine_siting(
        dem="dem.tif",
        settlements="settlements.shp",
        transmission_region="dense_grid",
        profile="balanced",
        output_prefix="wind_siting"
)

Common Questions

Q: Why is EPSG required for CSV settlements? A: CSV files do not carry CRS metadata, so EPSG is needed to align with the DEM.

Q: What is the difference between score and confidence? A: Score ranks suitability; confidence indicates how stable that score is across components.

Q: Where do I check threshold robustness? A: Review threshold_sensitivity_summary and the threshold_sensitivity section in summary JSON.