CLEO is a xarray-based Python library for converting data from the Global Wind Atlas to wind resource assessment. CLEO can produce data such as
- wind shear coefficient
- air density correction
- mean wind speed at various heights
- capacity factor of wind turbines at their hub height
- levelized cost of electricity (LCOE) of wind turbines with a given power curve
in the high, native spatial resolution of the Global Wind Atlas. CLEO also supports some geospatial operations such as reprojecting to EPSG-coordinate reference systems and clipping to geopandas geometries.
At the moment, CLEO is usable only from its GitHub repo.
pip install git+https://github.com/sebwehrle/cleo.git
In a later release we aim to improve installation.
CLEO's functions are documented in-line. We are working towards an improved documentation.
To get started, initialize a Atlas
-class object via
from cleo.classes import Atlas
atlas = Atlas("path/to/base/dir", "XYZ", "epsg:1234")
where XYZ
is a 3-digit ISO country code as used by the GWA API and epsg:1234
specifies a coordinate reference system.
Upon initialization, the class will download data for XYZ
.
The class wraps two xarray.Dataset
s, one for wind resources and one for further spatial characteristics.
The corresponding data is accessible through atlas.wind.data
and atlas.landscape.data
, respectively
An Atlas
-object has the following properties:
path
: the atlas base-pathcountry
: 3-digit ISO code of the country to assessregion
: (optional) the Latin name of a EU NUTS-region within acountry
.crs
: coordinate reference system of theWindResourceAtlas
' spatial data.wind_turbines
: list of wind turbine models to process. Must be set by the user to allow wind resource assessment. Further turbines can be added as a list. Additional turbines require a data file in the/resources
-directory.
The WindAtlas
-subclass provides several methods, including:
compute_wind_shear()
: computes wind shear coefficientcompute_air_density_correction()
: computes air density correction factor alphacompute_weibull_pdf()
: computes a Weibull pdf of wind speedssimulate_capacity_factors()
: simulate capacity factors of the wind turbines inatlas.wind_turbine
. Before simulating capacity factors, properly named (manufacturer.model.power.yml
)yaml
-file in/resources
for all wind turbines inatlas.wind_turbine
must be loaded withatlas.load_powercurves()
.compute_lcoe()
: calculates LCOE for each pixel and each wind turbine inatlas.wind_turbines
based on the cost-assumptions in/resources/cost_assumptions.yml
. By default, overnight cost of wind turbines are estimated with the Rinne et al. cost model, which is implemented inturbine_overnight_cost()
incleo.assess
.
Copyright (c) 2024 Sebastian Wehrle
MIT License