WEIS

Wind Energy with Integrated Servo-controls Toolset

https://github.com/WISDEM/WEIS

Science Score: 46.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    4 of 37 committers (10.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary

Keywords from Contributors

openmdao systems-engineering wind wisdem
Last synced: 7 months ago · JSON representation

Repository

Wind Energy with Integrated Servo-controls Toolset

Basic Info
Statistics
  • Stars: 64
  • Watchers: 13
  • Forks: 48
  • Open Issues: 14
  • Releases: 15
Created over 5 years ago · Last pushed 8 months ago
Metadata Files
Readme License

README.md

WEIS

Coverage Status Actions Status Documentation Status DOI

WEIS, Wind Energy with Integrated Servo-control, performs multifidelity co-design of wind turbines. WEIS is a framework that combines multiple NREL-developed tools to enable design optimization of floating offshore wind turbines.

Author: NREL WISDEM & OpenFAST & Control Teams

Part of the WETO Stack

WEIS is primarily developed with the support of the U.S. Department of Energy and is part of the WETO Software Stack. For more information and other integrated modeling software, see: - Portfolio Overview - Entry Guide - Systems Engineering Workshop - OpenFAST Workshop

Documentation

See local documentation in the docs-directory or access the online version at https://weis.readthedocs.io/en/latest/

Packages

WEIS integrates in a unique workflow four models: * WISDEM is a set of models for assessing overall wind plant cost of energy (COE). * OpenFAST is the community model for wind turbine simulation to be developed and used by research laboratories, academia, and industry. * TurbSim is a stochastic, full-field, turbulent-wind simulator. * ROSCO provides an open, modular and fully adaptable baseline wind turbine controller to the scientific community.

In addition, three external libraries are added: * pCrunch is a collection of tools to ease the process of parsing large amounts of OpenFAST output data and conduct loads analysis. * pyOptSparse is a framework for formulating and efficiently solving nonlinear constrained optimization problems.

The core WEIS modules are: * aeroelasticse is a wrapper to call OpenFAST * control contains the routines calling ROSCO and the routines supporting distributed aerodynamic control devices, such trailing edge flaps * gluecode contains the scripts glueing together all models and libraries * multifidelity contains the codes to run multifidelity design optimizations * optimizationdrivers_ contains various optimization drivers * schema contains the YAML files and corresponding schemas representing the input files to WEIS

Installation

On laptop and personal computers, installation with Anaconda is the recommended approach because of the ability to create self-contained environments suitable for testing and analysis. WEIS requires Anaconda 64-bit. However, the conda command has begun to show its age and we now recommend the one-for-one replacement with the Miniforge3 distribution, which is much more lightweight and more easily solves for the package dependencies. Sometimes, using mamba in place of conda with this distribution speeds up the installation process. WEIS is supported on Linux, MAC, Windows Sub-system for Linux (WSL), and native Windows.

The installation instructions below use the environment name, "weis-env," but any name is acceptable. For those working behind company firewalls, you may have to change the conda authentication with conda config --set ssl_verify no. Proxy servers can also be set with conda config --set proxy_servers.http http://id:pw@address:port and conda config --set proxy_servers.https https://id:pw@address:port.

  1. If you are NOT installing WEIS on DOE's HPC system Kestrel, skip step 0 and run step 1 and 2 (skip step 3). If you are on Kestrel, follow steps 0, 1, and 3, and skip step 2. On Kestrel, start by purging existing modules and load conda

    module purge
    module load conda        
    
  2. In a terminal, setup and activate the Anaconda environment

    conda config --add channels conda-forge
    conda install git
    git clone https://github.com/WISDEM/WEIS.git
    cd WEIS
    git checkout branch_name                         # (Only if you want to switch branches, say "develop")
    conda env create --name weis-env -f environment.yml
    conda activate weis-env                          # (if this does not work, try source activate weis-env)
    conda install -y petsc4py=3.22.2 mpi4py pyoptsparse     # (Mac / Linux only, sometimes Windows users may need to install mpi4py)
    
  3. If you are NOT on Kestrel, install the software pip install -e .

  4. If you are on Kestrel, first load some modules and then install: module load intel-oneapi-compilers intel-oneapi-mpi intel-oneapi-mkl conda pip install --no-deps -e . -v

NOTE: To use WEIS again after installation is complete, you will always need to activate the conda environment first with conda activate weis-env (or source activate weis-env). On Kestrel, make sure to reload the necessary modules

For Windows users, we recommend installing git and the m264 packages in separate environments as some of the libraries appear to conflict such that WISDEM cannot be successfully built from source. The git package is best installed in the base environment.

Developer guide

If you plan to contribute code to WEIS, please first consult the developer guide.

Feedback

For software issues please use https://github.com/WISDEM/WEIS/issues.

Owner

  • Name: WISDEM
  • Login: WISDEM
  • Kind: organization
  • Email: systems.engineering@nrel.gov
  • Location: NREL National Wind Technology Center, Boulder, CO

The Wind-Plant Integrated System Design and Engineering Model (WISDEM (TM)) set

GitHub Events

Total
  • Fork event: 5
  • Create event: 36
  • Commit comment event: 1
  • Release event: 7
  • Issues event: 83
  • Watch event: 14
  • Delete event: 36
  • Member event: 5
  • Issue comment event: 273
  • Push event: 322
  • Pull request review comment event: 54
  • Pull request review event: 93
  • Pull request event: 85
Last Year
  • Fork event: 5
  • Create event: 36
  • Commit comment event: 1
  • Release event: 7
  • Issues event: 83
  • Watch event: 14
  • Delete event: 36
  • Member event: 5
  • Issue comment event: 273
  • Push event: 322
  • Pull request review comment event: 54
  • Pull request review event: 93
  • Pull request event: 85

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 4,035
  • Total Committers: 37
  • Avg Commits per committer: 109.054
  • Development Distribution Score (DDS): 0.662
Past Year
  • Commits: 251
  • Committers: 7
  • Avg Commits per committer: 35.857
  • Development Distribution Score (DDS): 0.53
Top Committers
Name Email Commits
Nikhar Abbas n****s@c****u 1,362
dzalkind d****d@n****v 989
Garrett Barter g****r@n****v 711
pibo p****i@g****m 400
John Jasa j****1@g****m 310
Sebastiaan Mulders s****s@t****l 79
Rafael M Mudafort r****f@g****m 39
Paul p****g@n****v 26
Jake Nunemaker j****r@g****m 24
Mayank Chetan m****n@g****m 21
Eliot Quon e****n@n****v 9
Sora Ryu 6****u 6
yqliaohk y****o@u****u 6
nikhar-abbas n****s@g****m 6
dakotaramos r****y@g****m 5
Cory Frontin c****n@n****v 5
AthulKrishnaSundarrajan r****l@g****m 4
Bartdoekemeijer B****r@t****l 4
Emmanuel Branlard e****d@n****v 3
Evan Gaertner e****r@g****m 3
gbarter g****r@e****v 2
Pietro Bortolotti p****o@e****v 2
Daniel Zalkind d****d@k****v 2
Abhineet Gupta a****a@n****v 2
info@sebastiaanmulders.nl i****o@s****l 2
Yong Hoon Lee y****e@o****m 2
Alicia Key a****7 1
Sebastiaan Mulders s****d@t****t 1
Mayank Chetan m****n@x****v 1
Daniel Zalkind d****d@x****v 1
and 7 more...

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 133
  • Total pull requests: 346
  • Average time to close issues: 3 months
  • Average time to close pull requests: 14 days
  • Total issue authors: 48
  • Total pull request authors: 19
  • Average comments per issue: 3.66
  • Average comments per pull request: 1.29
  • Merged pull requests: 282
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 45
  • Pull requests: 98
  • Average time to close issues: 22 days
  • Average time to close pull requests: 10 days
  • Issue authors: 18
  • Pull request authors: 9
  • Average comments per issue: 2.4
  • Average comments per pull request: 1.54
  • Merged pull requests: 70
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • yonghoonlee (21)
  • mlidGWT (9)
  • dzalkind (9)
  • hymdrj (7)
  • TheMercer (7)
  • johnjasa (6)
  • ptrbortolotti (6)
  • DeepFriedDerp (6)
  • mcollu (5)
  • bluemiracle4862 (4)
  • fangjianju (3)
  • Russell9798 (3)
  • Wying301 (3)
  • amineeva-GWT (3)
  • MalikSpahic (2)
Pull Request Authors
  • ptrbortolotti (89)
  • dzalkind (81)
  • gbarter (71)
  • johnjasa (22)
  • mayankchetan (16)
  • nikhar-abbas (11)
  • cfrontin (8)
  • AthulKrishnaSundarrajan (7)
  • yqliaohk (7)
  • sora-ryu (6)
  • abhineet-gupta (6)
  • rafmudaf (5)
  • ewquon (5)
  • yonghoonlee (5)
  • ebranlard (2)
Top Labels
Issue Labels
bug (2) enhancement (1)
Pull Request Labels
enhancement (2) bug (1)

Dependencies

docs/requirements.txt pypi
  • marmot-agents *
  • matplotlib *
  • numpy *
  • numpydoc *
  • openmdao >=3.2
  • scipy *
  • simpy *
  • sphinx >2.0
  • sphinx-rtd-theme *
  • sphinxcontrib-bibtex <2.0.0
setup.py pypi
  • control *
  • dill *
  • fatpack *
  • jsonmerge *
  • nlopt *
  • numpy *
  • openmdao >=3.4
  • scipy *
  • smt *
.github/workflows/CI_WEIS.yml actions
  • actions/checkout v2 composite
  • s-weigand/setup-conda v1 composite
.github/workflows/run_exhaustive_examples.yml actions
  • actions/checkout v2 composite
  • s-weigand/setup-conda v1 composite
pyproject.toml pypi
  • marmot-agents >=0.2.5
  • mat4py *
  • moorpy *
  • nlopt *
  • numpy *
  • openmdao <3.28
  • openpyxl *
  • openraft *
  • osqp *
  • pcrunch *
  • pyhams *
  • rosco *
  • scipy *
  • smt *
  • wisdem *
environment.yml conda
  • anyio
  • argon2-cffi
  • arrow
  • async-lru
  • babel
  • beautifulsoup4
  • bleach
  • cffi
  • comm
  • debugpy
  • decorator
  • dill
  • executing
  • fqdn
  • git
  • ipython
  • isoduration
  • jedi
  • jinja2
  • json5
  • jsonmerge
  • jupyter
  • jupyterlab
  • markupsafe
  • mat4py
  • matplotlib
  • meson
  • mistune
  • moorpy
  • ninja
  • nlopt
  • notebook
  • openfast
  • openpyxl
  • openraft
  • osqp
  • overrides
  • pandas
  • parso
  • patsy
  • pcrunch
  • pexpect
  • pip
  • platformdirs
  • psutil
  • ptyprocess
  • pydoe3
  • pygments
  • pyhams
  • pyoptsparse
  • python-json-logger
  • pyzmq
  • qdldl-python
  • qtpy
  • rosco
  • scikit-learn
  • setuptools
  • smt
  • tornado
  • traitlets
  • treon
  • webencodings
  • wisdem