WEIS
WEIS is a framework that combines multiple tools to enable design optimization of floating offshore wind turbines.
https://github.com/WISDEM/WEIS
Category: Renewable Energy
Sub Category: Wind Energy
Keywords from Contributors
wind openmdao systems-engineering wisdem wind-turbine aeroelasticity wind-energy wind-farm wind-power
Last synced: about 19 hours ago
JSON representation
Repository metadata
Wind Energy with Integrated Servo-controls Toolset
- Host: GitHub
- URL: https://github.com/WISDEM/WEIS
- Owner: WISDEM
- License: apache-2.0
- Created: 2020-08-21T16:54:28.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-26T15:23:51.000Z (1 day ago)
- Last Synced: 2025-04-26T16:28:52.834Z (1 day ago)
- Language: Roff
- Homepage: https://weis.readthedocs.io/en/latest/
- Size: 196 MB
- Stars: 61
- Watchers: 12
- Forks: 45
- Open Issues: 13
- Releases: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
WEIS
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
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
- optimization_drivers 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 currently supported on Linux, MAC and Windows Sub-system for Linux (WSL). Installing WEIS on native Windows is not yet supported, but planned in 2024.
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
.
-
On the DOE HPC system eagle, make sure to start from a clean setup and type
module purge module load conda
-
Setup and activate the Anaconda environment from a prompt (WSL terminal on Windows or Terminal.app on Mac)
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)
-
Add in final packages and install the software
conda install -y petsc4py=3.22.2 mpi4py pyoptsparse # (Mac / Linux only, sometimes Windows users may need to install mpi4py) pip install -e .
-
Instructions specific for DOE HPC system Eagle. Before executing the setup script, do:
module load comp-intel intel-mpi mkl module unload gcc 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 Eagle, 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 metadata
- Name: WISDEM
- Login: WISDEM
- Email: [email protected]
- Kind: organization
- Description: The Wind-Plant Integrated System Design and Engineering Model (WISDEM (TM)) set
- Website: https://www.nrel.gov/wind/systems-engineering.html
- Location: NREL National Wind Technology Center, Boulder, CO
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/5444272?v=4
- Repositories: 40
- Last ynced at: 2023-08-07T02:31:27.458Z
- Profile URL: https://github.com/WISDEM
GitHub Events
Total
- Fork event: 5
- Create event: 32
- Commit comment event: 1
- Release event: 7
- Issues event: 55
- Watch event: 10
- Delete event: 24
- Member event: 5
- Issue comment event: 158
- Push event: 243
- Pull request review comment event: 39
- Pull request review event: 68
- Pull request event: 59
Last Year
- Fork event: 5
- Create event: 32
- Commit comment event: 1
- Release event: 7
- Issues event: 55
- Watch event: 10
- Delete event: 24
- Member event: 5
- Issue comment event: 158
- Push event: 243
- Pull request review comment event: 39
- Pull request review event: 68
- Pull request event: 59
Committers metadata
Last synced: 7 days ago
Total Commits: 3,980
Total Committers: 37
Avg Commits per committer: 107.568
Development Distribution Score (DDS): 0.658
Commits in past year: 243
Committers in past year: 9
Avg Commits per committer in past year: 27.0
Development Distribution Score (DDS) in past year: 0.535
Name | Commits | |
---|---|---|
Nikhar Abbas | n****s@c****u | 1362 |
dzalkind | d****d@n****v | 970 |
Garrett Barter | g****r@n****v | 685 |
pibo | p****i@g****m | 395 |
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 | 20 |
Eliot Quon | e****n@n****v | 9 |
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 |
Sora Ryu | 6****u | 3 |
Evan Gaertner | e****r@g****m | 3 |
gbarter | g****r@e****v | 2 |
Daniel Zalkind | d****d@k****v | 2 |
Pietro Bortolotti | p****o@e****v | 2 |
[email protected] | i****o@s****l | 2 |
Yong Hoon Lee | y****e@o****m | 2 |
Abhineet Gupta | a****a@n****v | 1 |
Sebastiaan Mulders | s****d@t****t | 1 |
Mayank Chetan | m****n@x****v | 1 |
Daniel Zalkind | d****d@x****v | 1 |
Bart Doekemeijer | b****r@h****c | 1 |
and 7 more... |
Committer domains:
- nrel.gov: 7
- tudelft.nl: 2
- hpc06.hpc: 1
- x1007c0s0b0n1.hsn.cm.kestrel.hpc.nrel.gov: 1
- x1001c0s5b1n1.hsn.cm.kestrel.hpc.nrel.gov: 1
- tudelft.net: 1
- sebastiaanmulders.nl: 1
- el2.ib0.cm.hpc.nrel.gov: 1
- kl2.head.cm.kestrel.hpc.nrel.gov: 1
- el1.ib0.cm.hpc.nrel.gov: 1
- umich.edu: 1
- colorado.edu: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 123
Total pull requests: 260
Average time to close issues: 3 months
Average time to close pull requests: 12 days
Total issue authors: 44
Total pull request authors: 19
Average comments per issue: 4.2
Average comments per pull request: 1.32
Merged pull request: 225
Bot issues: 0
Bot pull requests: 0
Past year issues: 47
Past year pull requests: 62
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 14 days
Past year issue authors: 18
Past year pull request authors: 10
Past year average comments per issue: 3.98
Past year average comments per pull request: 1.61
Past year merged pull request: 48
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- yonghoonlee (20)
- mlidGWT (9)
- dzalkind (8)
- TheMercer (7)
- hymdrj (7)
- DeepFriedDerp (6)
- ptrbortolotti (6)
- johnjasa (6)
- amineeva-GWT (5)
- saeidb71 (3)
- Russell9798 (3)
- EVElove444 (2)
- Wying301 (2)
- RobertBehrensDeLuna (2)
- cfrontin (2)
Top Pull Request Authors
- ptrbortolotti (71)
- gbarter (56)
- dzalkind (51)
- johnjasa (22)
- nikhar-abbas (11)
- mayankchetan (9)
- cfrontin (5)
- ewquon (5)
- AthulKrishnaSundarrajan (5)
- rafmudaf (5)
- yonghoonlee (4)
- yqliaohk (4)
- sora-ryu (3)
- abhineet-gupta (2)
- ebranlard (2)
Top Issue Labels
- bug (2)
- enhancement (1)
Top Pull Request Labels
- bug (1)
- enhancement (1)
Dependencies
- marmot-agents *
- matplotlib *
- numpy *
- numpydoc *
- openmdao >=3.2
- scipy *
- simpy *
- sphinx >2.0
- sphinx-rtd-theme *
- sphinxcontrib-bibtex <2.0.0
- control *
- dill *
- fatpack *
- jsonmerge *
- nlopt *
- numpy *
- openmdao >=3.4
- scipy *
- smt *
- actions/checkout v2 composite
- s-weigand/setup-conda v1 composite
- actions/checkout v2 composite
- s-weigand/setup-conda v1 composite
- marmot-agents >=0.2.5
- mat4py *
- moorpy *
- nlopt *
- numpy *
- openmdao <3.28
- openpyxl *
- openraft *
- osqp *
- pcrunch *
- pyhams *
- rosco *
- scipy *
- smt *
- wisdem *
- 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
Score: 7.914983005848395