windwhisper.noisepropagation
Attributes
Classes
Model sound propagation and attenuation for wind turbine layouts. |
Functions
|
Derive latitude and longitude axes for the simulation grid. |
Module Contents
- windwhisper.noisepropagation.NOISE_MAP_RESOLUTION
- windwhisper.noisepropagation.NOISE_MAP_MARGIN
- windwhisper.noisepropagation.define_bounding_box(wind_turbines)
Derive latitude and longitude axes for the simulation grid.
- Parameters:
wind_turbines (dict) – Turbine specifications including
positiontuples.- Returns:
Tuple
(latitudes, longitudes)defining the rectangular grid.- Return type:
tuple[numpy.ndarray, numpy.ndarray]
- class windwhisper.noisepropagation.NoisePropagation(wind_turbines, humidity=70, temperature=20, elevation_data=None)
Model sound propagation and attenuation for wind turbine layouts.
- Parameters:
wind_turbines (dict)
humidity (float)
temperature (float)
elevation_data (xarray.Dataset)
- incr_noise_att = None
- noise_attenuation = None
- elevation_grid = None
- haversine_distances = None
- listeners = 70
- wind_turbines
- elevation_data = None
- noise_level_at_wind_speeds
- hourly_noise_levels
- l_den
- l_night
- incr_noise_att_night
- calculate_hourly_noise_levels()
Interpolate hourly emission levels for each turbine.
- compute_lden()
Calculate the day-evening-night noise level from hourly levels.
- Returns:
Lden noise level raster.
- Return type:
xarray.DataArray
- compute_lnight()
Calculate the night noise level from hourly levels.
- Returns:
Lnight noise level raster.
- Return type:
xarray.DataArray
- calculate_incremental_noise_attenuation(noise)
Apply successive attenuation terms to the emission raster.
- Parameters:
noise (xarray.DataArray) – Base noise level raster to which attenuations are applied.
- Returns:
Dataset containing intermediate attenuation stages.
- Return type:
xarray.Dataset
- get_noise_emissions_vs_time_or_speed(noise, coord_name, coord_value)
Aggregate turbine emissions along the requested dimension.
- Parameters:
noise (numpy.ndarray) – Noise levels per turbine for each coordinate value.
coord_name (str) – Name of the output coordinate (
"wind_speed"or"hour").coord_value (numpy.ndarray) – Coordinate values associated with the emissions.
- Returns:
Noise levels summed over all turbines for each grid cell.
- Return type:
xarray.DataArray
- noise_map_at_wind_speeds(noise)
Backward compatible alias for
get_noise_emissions_vs_time_or_speed().- Parameters:
noise (numpy.ndarray) – Noise levels per turbine for each wind speed.
- Returns:
Noise map aggregated across turbines for each wind speed.
- Return type:
xarray.DataArray
- abstract calculate_sound_level_at_distance(*args, **kwargs)
Deprecated compatibility wrapper for legacy APIs.
- Raises:
NotImplementedError – Always raised to direct users to
get_noise_emissions_vs_time_or_speed().
- superimpose_wind_turbines_noise()
Deprecated alias returning the aggregated wind speed noise map.
- calculate_noise_attenuation_terms()
Compute distance, atmospheric, ground and obstacle attenuation.
- plot_noise_map(dimension='wind_speed')
Display interactive contour plots of turbine noise levels.
- Parameters:
dimension (str) – Dimension to explore (
"wind_speed"or"hour").