reskit.wind.core.logarithmic_profile#

Attributes#

Functions#

apply_logarithmic_profile_projection(...[, ...])

Estimates wind speeds at a target height based on measured wind speeds values at a known measurement height.

roughness_from_levels(low_wind_speed, low_height, ...)

Computes a roughness factor from two windspeed values at two distinct heights.

roughness_from_clc(clc_path, loc[, window_range])

Estimates a roughness factor according to suggestions by Silva et al. [1] by the prominent land cover at given locations according to the Corine Land Cover dataset [2].

roughness_from_land_cover_classification(classification)

Estimates roughness value from land cover classifications

roughness_from_land_cover_source(source, loc[, ...])

Estimate roughness value from a given land cover raster source

Module Contents#

reskit.wind.core.logarithmic_profile.apply_logarithmic_profile_projection(measured_wind_speed, measured_height, target_height, roughness, displacement=0, stability=0)#

Estimates wind speeds at a target height based on measured wind speeds values at a known measurement height. Estimation is subject to surface roughness, displacement height, and a stability factor.

Parameters:
  • measured_wind_speed (numeric or array-like) – The input wind speeds in m/s that are going to be adjusted If an array is given with a single dimension, it is assumed to represent timeseries values for a single location If multidimensional array is given, the assumed dimensional context is (time, locations).

  • measured_height (numeric or array-like) – The measurement height in m of the input wind speeds. Must either be a single value, or an array of values with the same length as the “locations” dimension of measured_wind_speed

  • target_height (numeric or array-like) – The height in m to project each wind speed timeseries to. Must either be a single value, or an array of values with the same length as the “locations” dimension of measured_wind_speed

  • roughness (numeric or array-like) – The roughness value used to project each wind speed timeseries. Must either be a single value, or an array of values with the same length as the “locations” dimension of measured_wind_speed

  • displacement (numeric or array-like, optional) – The displacement value used to project each wind speed timeseries, by default 0. Must either be a single value, or an array of values with the same length as the “locations” dimension of measured_wind_speed

  • stability (numeric or array-like, optional) – The stability value used to project each wind speed timeseries, by default 0. Must either be a single value, or an array of values with the same length as the “locations” dimension of measured_wind_speed

Returns:

Wind speed values in m/s at target height with of the same dimensions as measured_wind_speed.

Return type:

multidimensional array-like

Notes

Roughness values can be generated by the following functions: roughness_from_levels(low_wind_speed, low_height, high_wind_speed, high_height) roughness_from_clc(clc_path, loc, window_range) roughness_from_land_cover_classification(classification, land_cover_type) roughness_from_land_cover_source(source, loc, land_cover_type)

reskit.wind.core.logarithmic_profile.roughness_from_levels(low_wind_speed, low_height, high_wind_speed, high_height)#

Computes a roughness factor from two windspeed values at two distinct heights.

Parameters:
  • low_wind_speed (numeric or numpy.ndarray) – The measured wind speed in m/s at the lower height.

  • low_height (numeric or numpy.ndarray) – The lower height in m.

  • high_wind_speed (numeric or numpy.ndarray) – The measured wind speed in m/s at the higher height.

  • high_height (numeric or numpy.ndarray) – The higher height in m.

Returns:

Roughness factor

Return type:

numeric or arrray-like

reskit.wind.core.logarithmic_profile.clcCodeToRoughess#
reskit.wind.core.logarithmic_profile.clcGridToCode_v2006#
reskit.wind.core.logarithmic_profile.roughness_from_clc(clc_path, loc, window_range=0)#

Estimates a roughness factor according to suggestions by Silva et al. [1] by the prominent land cover at given locations according to the Corine Land Cover dataset [2].

Parameters:
  • clc_path (str) – The path to the Corine Land Cover (CLC) raster file on the disk. This function currently only works for CLC versions before 2018.

  • loc (Anything acceptable to geokit.LocationSet) – The locations for which roughness should be estimated. Arguments accepted include: str, OGR point object (must have an SRS within the object, default = 4326 (for Europe)), lat and lon coordinates tuple (lat,lon). Refers to FZJ-IEK3-VSA/geokit for more information.

  • window_range (int; optional) – An extra number of pixels to extract around the indicated locations, by default 0. A window_range = 0 means that only the CLC pixel value for each location is returned. A window_range of 1 means an extra pixel is extracted around each location in all directions. Leading to a 3x3 matrix of roughness values Use this if you need to do some operation on the roughnesses found around the indicated location

Returns:

Roughness lengths factors A single float is returned in the event that a single location is specified in locations. A one-dimensional Numpy array is returned in the event that multiple locations are specified in locations.

Return type:

float or numpy.ndarray

Sources#

[1] Silva, J., Ribeiro, C., & Guedes, R. (2007). Roughness length classification of corine land cover classes. European Wind Energy Conference and Exhibition 2007, EWEC 2007. [2] Copernicus (European Union’s Earth Observation Programme). (2018). Corine Land Cover (CLC) 2000, Version 2018. Copernicus. http://land.copernicus.eu/pan-european/corine-land-cover/clc-2000/view

Roughness values [1]#

Continuous urban fabric : 1.2 Broad-leaved forest : 0.75 Coniferous-leaved forest : 0.75 Mixed-leaved forest : 0.75 Green urban areas : 0.6 Transitional woodland/shrub : 0.6 Burnt areas : 0.6 Discontinuous urban fabric : 0.5 Construction sites : 0.5 Industrial or commercial units : 0.5 Sport and leisure facilities : 0.5 Port areas : 0.5 Agro-forestry areas : 0.3 Complex cultivation patterns : 0.3 Land principally occupied by agriculture, with significant areas of natural vegetation : 0.3 Annual crops associated with permanent crops : 0.1 Fruit trees and berry plantations : 0.1 Vineyard : 0.1 Olive groves : 0.1 Road and rail networks and associated land : 0.075 Non-irrigated arable land : 0.05 Permanently irrigated land : 0.05 Rice fields : 0.05 Inland marshes : 0.05 Salt marshes : 0.05 Sclerophylous vegetation : 0.03 Moors and heathland : 0.03 Natural grassland : 0.03 Pastures : 0.03 Dump sites : 0.005 Mineral extraction sites : 0.005 Airports : 0.005 Bare rock : 0.005 Sparsely vegetated areas : 0.005 Glaciers and perpetual snow : 0.001 Peatbogs : 0.0005 Salines : 0.0005 Intertidal flats : 0.0005 Beaches, dunes, and sand plains : 0.0003 Water courses # SUSPICIOUS : 0.001 Water bodies # SUSPISCIOUS : 0.0005 Costal lagoons # SUSPISCIOUS : 0.0005 Estuaries # SUSPISCIOUS : 0.0008 Sea and ocean # SUSPISCIOUS : 0.0002

reskit.wind.core.logarithmic_profile.globCoverCodeToRoughess#
reskit.wind.core.logarithmic_profile.modisCodeToRoughess#
reskit.wind.core.logarithmic_profile.cciCodeToRoughess#
reskit.wind.core.logarithmic_profile.roughness_from_land_cover_classification(classification, land_cover_type='clc')#

Estimates roughness value from land cover classifications

Parameters:
  • classification (int) – land cover classification

  • land_cover_type (str, optional) – Accepted arguments are ‘clc’, ‘clc-code’, ‘globCover’, ‘modis’, or ‘cci’, by default ‘clc’ ‘clc’: Corine Land Cover (CLC) ‘clc-code’: Corine Land Cover (CLC) codes values ‘globCover’: Global Wind Atlas roughness lengths values ‘modis’: Modis number for “no data” points of Global Wind Atlas (mostly in areas North of 60°) ‘cci’: Climate Change Initiative land cover classification

Returns:

Roughness lengths factors A single int is returned in the event that a single location is specified in locations. A one-dimensional Numpy array is returned in the event that multiple locations are specified in locations.

Return type:

int or numpy.ndarray

reskit.wind.core.logarithmic_profile.roughness_from_land_cover_source(source, loc, land_cover_type='clc')#

Estimate roughness value from a given land cover raster source

Parameters:
  • source (str) – The path to the Corine Land Cover raster file on the disk.

  • loc (Anything acceptable to geokit.LocationSet) – Arguments accepted include: str, OGR point object (must have an SRS within the object, default = 4326 (for Europe)), lat and lon coordinates (tuple (lat,lon)). Refers to FZJ-IEK3-VSA/geokit for more information.

  • land_cover_type (str, optional) – Accepted arguments are ‘clc’, ‘clc-code’, ‘globCover’, ‘modis’, or ‘cci’, by default ‘clc’ ‘clc’: Corine Land Cover (CLC) ‘clc-code’: Corine Land Cover (CLC) codes ‘globCover’: Global Wind Atlas ‘modis’: Modis number for “no data” points of Global Wind Atlas (mostly in areas North of 60°) ‘cci’: Climate Change Initiative land cover classification

Returns:

Roughness lengths factors A single int is returned in the event that a single location is specified in locations. A one-dimensional Numpy array is returned in the event that multiple locations are specified in locations.

Return type:

int or numpy.ndarray