https://github.com/awegroup/awera

Airborne Wind Energy Resource Analysis tool (AWERA) is meant to provide wind resource classification/representation and power harvesting estimation for AWES. It builds on wind profile clustering techniques used by Mark Schelbergen (TU Delft).

https://github.com/awegroup/awera

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    2 of 2 committers (100.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.2%) to scientific vocabulary

Keywords

airborne-wind-energy wind-energy wind-resources
Last synced: 11 months ago · JSON representation

Repository

Airborne Wind Energy Resource Analysis tool (AWERA) is meant to provide wind resource classification/representation and power harvesting estimation for AWES. It builds on wind profile clustering techniques used by Mark Schelbergen (TU Delft).

Basic Info
  • Host: GitHub
  • Owner: awegroup
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 89.7 MB
Statistics
  • Stars: 4
  • Watchers: 4
  • Forks: 4
  • Open Issues: 9
  • Releases: 0
Topics
airborne-wind-energy wind-energy wind-resources
Created over 4 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License

README.md

AWERA - AWE Resource Analysis

An extensive discussion of AWERA, its concepts and results can be found in [1,2].

Installing and running the code

Creating the conda environment

To create the conda environment run commandline conda create -c conda-forge -p [path/envName] --file requirements.txt

Then activate the environment to be able to work with AWERA.

Download ERA5

There is a script in the resource analysis subfolder thatworked for downloading ERA5 data - but as the web structure changed considerably, it is pribaby not up-to-date anymore. NETCDF files are needed for the analysis, of different model levels. For the resource analysis also the surface pressure files are used.

Run AWERA

There are a few example scripts on how to run AWERA. The structure is always: import, initialise with configuration (Config() class) and call functions as needed.

Always check the config.yaml for the settings done and changed - any comments on what settings can and can't change. Some manual labor is still required, even if minimal - see generator power in config.yaml.

Components

If only parts of the toolchain are needed, other independent parts can be excluded from the import in AWERA/init.

Wind Resource Analysis

(See README in folder for now.) Can partially be run from within AWERA, mostly the evaluation - see run_resource analysis.py

For processing and plotting maps, run within the folder. Check own config file then. Set mpl type to not PDF for this, oherwise plt.show() and plotting maps don't work properly.

Wind Profile Clustering

Developed from (https://github.com/markschelbergen/wind-profile-clustering) As all of AWERA, also the wind profile clustering is based on Mark's work - Thank you! Check out his repo if you want to see the origin. And his paper as well, while you're at it.

QSM Power Production

Using Kitepower V3 prototype specifications (or kitepower 100kW or kitepower 500kW), a quasi-steady model simulation is run for a given wind profile. Power curve and single profile power production functionality is available.

A full example an be found for different locations, but in general in runaweraproduction_8.py for the 8 cluster standard evaluation chain. Comment in/out as required.

Running only the power production can be see in runpowerproduction.py for a LogProfile wind profile.

Evaluation

References

[1] Thimm, L.: Wind Resource Parametrisation and Power Harvesting Estimation using AWERA - the Airborne Wind Energy Resource Analysis tool. MSc Thesis, University of Bonn, 2022. doi:10.5281/zenodo.7848071.

[2] Schelbergen, M., Kalverla, P. C., Schmehl, R., and Watson, S. J.: Clustering wind profile shapes to estimate airborne wind energy production. Wind Energy Science, Vol. 5, No. 3, pp. 1097-1120, 2020. doi:10.5194/wes-5-1097-2020.

Owner

  • Name: Airborne Wind Energy Research Group
  • Login: awegroup
  • Kind: organization
  • Email: r.schmehl@tudelft.nl
  • Location: Delft

GitHub Events

Total
  • Watch event: 1
  • Fork event: 1
Last Year
  • Watch event: 1
  • Fork event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 63
  • Total Committers: 2
  • Avg Commits per committer: 31.5
  • Development Distribution Score (DDS): 0.048
Past Year
  • Commits: 6
  • Committers: 2
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.5
Top Committers
Name Email Commits
lthUniBonn l****m@u****e 60
r.schmehl@tudelft.nl r****l@t****l 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: over 2 years ago

All Time
  • Total issues: 10
  • Total pull requests: 0
  • Average time to close issues: 4 days
  • Average time to close pull requests: N/A
  • Total issue authors: 2
  • Total pull request authors: 0
  • Average comments per issue: 0.2
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • lthUniBonn (9)
  • ufechner7 (1)
Pull Request Authors
Top Labels
Issue Labels
documentation (3) bug (3) enhancement (3) structuring (2)
Pull Request Labels

Dependencies

AWERA/resource_analysis/requirements.txt pypi
  • bokeh =2.2.3=py39hf3d152e_0
  • bzip2 =1.0.8=h516909a_3
  • c-ares =1.17.1=h36c2ea0_0
  • ca-certificates =2020.11.8=ha878542_0
  • cartopy =0.18
  • certifi =2020.11.8=py39hf3d152e_0
  • cftime =1.3.0=py39h16ac069_0
  • click =7.1.2=pyh9f0ad1d_0
  • cloudpickle =1.6.0=py_0
  • curl =7.71.1=he644dc0_8
  • cycler =0.10.0=py_2
  • cytoolz =0.11.0=py39h07f9747_1
  • dask =2.30.0=py_0
  • dask-core =2.30.0=py_0
  • distributed =2.30.1=py39hf3d152e_0
  • freetype =2.10.4=h7ca028e_0
  • fsspec =0.8.4=py_0
  • geos =3.8.1=he1b5a44_0
  • hdf4 =4.2.13=hf30be14_1003
  • hdf5 =1.10.6=nompi_h2750804_1111
  • heapdict =1.0.1=py_0
  • jinja2 =2.11.2=pyh9f0ad1d_0
  • jpeg =9d=h36c2ea0_0
  • kiwisolver =1.3.1=py39h081fc7a_0
  • krb5 =1.17.2=h926e7f8_0
  • lcms2 =2.11=hcbb858e_1
  • ld_impl_linux-64 =2.35.1=hed1e6ac_0
  • libblas =3.9.0=3_openblas
  • libcblas =3.9.0=3_openblas
  • libcurl =7.71.1=hcdd3856_8
  • libedit =3.1.20191231=he28a2e2_2
  • libev =4.33=h516909a_1
  • libffi =3.3=h58526e2_1
  • libgcc-ng =9.3.0=h5dbcf3e_17
  • libgfortran-ng =9.3.0=he4bcb1c_17
  • libgfortran5 =9.3.0=he4bcb1c_17
  • libgomp =9.3.0=h5dbcf3e_17
  • liblapack =3.9.0=3_openblas
  • libnetcdf =4.7.4=nompi_hefab0ff_106
  • libnghttp2 =1.41.0=h8cfc5f6_2
  • libopenblas =0.3.12=pthreads_h4812303_1
  • libpng =1.6.37=h21135ba_2
  • libssh2 =1.9.0=hab1572f_5
  • libstdcxx-ng =9.3.0=h2ae2ef3_17
  • libtiff =4.1.0=h4f3a223_6
  • libwebp-base =1.1.0=h36c2ea0_3
  • locket =0.2.0=py_2
  • lz4-c =1.9.2=he1b5a44_3
  • markupsafe =1.1.1=py39h38d8fee_2
  • matplotlib-base =3.3.3=py39h98787fa_0
  • msgpack-python =1.0.0=py39h081fc7a_2
  • ncurses =6.2=h58526e2_4
  • netcdf4 =1.5.4=nompi_py39hb3be4b9_103
  • numpy =1.19.4=py39h57d35e7_1
  • olefile =0.46=pyh9f0ad1d_1
  • openssl =1.1.1h=h516909a_0
  • packaging =20.4=pyh9f0ad1d_0
  • pandas =1.1.4=py39h9cfe711_0
  • partd =1.1.0=py_0
  • pillow =8.0.1=py39h397ff4d_0
  • pip =20.2.4=py_0
  • proj =7.2.0=h8b9fe22_0
  • psutil =5.7.3=py39h38d8fee_0
  • pyparsing =2.4.7=pyh9f0ad1d_0
  • pyproj =3.0.0.post1=py39hb427721_0
  • pyshp =2.1.2=pyh9f0ad1d_0
  • python =3.9.0=hffdb5ce_5_cpython
  • python-dateutil =2.8.1=py_0
  • python_abi =3.9=1_cp39
  • pytz =2020.4=pyhd8ed1ab_0
  • pyyaml =5.3.1=py39h38d8fee_1
  • readline =8.0=he28a2e2_2
  • scipy =1.5.3=py39hee8e79c_0
  • setuptools =49.6.0=py39h079e4ff_2
  • six =1.15.0=pyh9f0ad1d_0
  • sortedcontainers =2.3.0=pyhd8ed1ab_0
  • sqlite =3.33.0=h4cf870e_1
  • tblib =1.6.0=py_0
  • tk =8.6.10=hed695b0_1
  • toolz =0.11.1=py_0
  • tornado =6.1=py39hbd71b63_0
  • typing_extensions =3.7.4.3=py_0
  • tzdata =2020d=h516909a_0
  • wheel =0.35.1=pyh9f0ad1d_0
  • xarray =0.16.1=py_0
  • xz =5.2.5=h516909a_1
  • yaml =0.2.5=h516909a_0
  • zict =2.0.0=py_0
  • zlib =1.2.11=h516909a_1010
  • zstd =1.4.5=h6597ccf_2
AWERA/wind_profile_clustering/requirements.txt pypi
  • dask *
  • matplotlib *
  • netcdf4 *
  • numpy *
  • pandas *
  • scikit-learn *
  • scipy *
  • xarray *
requirements.txt pypi
  • cartopy =0.18
  • dask *
  • matplotlib *
  • netcdf4 *
  • numpy *
  • pandas *
  • pyoptsparse *
  • python =3.7
  • scikit-learn *
  • scipy *
  • tqdm *
  • xarray *
  • yaml *