windwhisper.ground_attenuation

Estimate ground and obstacle attenuation following ISO 9613-2.

Attributes

NOISE_MAP_RESOLUTION

Functions

compute_turbine_attenuation(args)

Compute ground and obstacle attenuation for a single turbine.

calculate_ground_attenuation(haversine_distances, ...)

Calculate ground and obstacle attenuation layers.

Module Contents

windwhisper.ground_attenuation.NOISE_MAP_RESOLUTION
windwhisper.ground_attenuation.compute_turbine_attenuation(args)

Compute ground and obstacle attenuation for a single turbine.

Parameters:

args (tuple) – Tuple containing the turbine identifier, specification, latitude/longitude grids, elevation data, interpolator and distances.

Returns:

Tuple (ground_attenuation, obstacles_attenuation) storing the attenuation per grid cell.

Return type:

tuple[numpy.ndarray, numpy.ndarray]

windwhisper.ground_attenuation.calculate_ground_attenuation(haversine_distances, longitudes, latitudes, wind_turbines, elevation_data)

Calculate ground and obstacle attenuation layers.

Parameters:
  • haversine_distances (xarray.DataArray) – Surface distances between each turbine and grid cell.

  • longitudes (numpy.ndarray) – Longitudes defining the interpolation grid.

  • latitudes (numpy.ndarray) – Latitudes defining the interpolation grid.

  • wind_turbines (dict) – Turbine specifications keyed by turbine identifier.

  • elevation_data (xarray.DataArray | None) – Optional elevation dataset used instead of remote downloads.

Returns:

Tuple containing the interpolated elevation grid, ground attenuation layer and obstacle attenuation layer.

Return type:

tuple[xarray.DataArray | None, xarray.DataArray | None, xarray.DataArray | None]