wisdem

Wind Plant Integrated System Design and Engineering Model

https://github.com/wisdem/wisdem

Science Score: 36.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
  • Committers with academic emails
    5 of 46 committers (10.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.9%) to scientific vocabulary

Keywords

openmdao systems-engineering wind wisdem

Keywords from Contributors

operations-maintenance simpy wind-energy energy-system-model
Last synced: 6 months ago · JSON representation

Repository

Wind Plant Integrated System Design and Engineering Model

Basic Info
Statistics
  • Stars: 165
  • Watchers: 33
  • Forks: 96
  • Open Issues: 6
  • Releases: 58
Topics
openmdao systems-engineering wind wisdem
Created over 11 years ago · Last pushed 6 months ago
Metadata Files
Readme License Notice

README.md

WISDEM®

Actions Status Coverage Status Documentation Status

The Wind-Plant Integrated System Design and Engineering Model (WISDEM®) is a set of models for assessing overall wind plant cost of energy (COE). The models use wind turbine and plant cost and energy production as well as financial models to estimate COE and other wind plant system attributes. WISDEM® is accessed through Python, is built using OpenMDAO, and uses several sub-models that are also implemented within OpenMDAO. These sub-models can be used independently but they are required to use the overall WISDEM® turbine design capability. Please install all of the pre-requisites prior to installing WISDEM® by following the directions below. For additional information about the NWTC effort in systems engineering that supports WISDEM® development, please visit the official NREL systems engineering for wind energy website.

Author: NREL WISDEM Team

Part of the WETO Stack

WISDEM 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

Documentation

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

Packages

WISDEM® is a family of modules. The core modules are:

  • CommonSE includes several libraries shared among modules
  • FloatingSE works with the floating platforms
  • DrivetrainSE sizes the drivetrain and generator systems (formerly DriveSE and GeneratorSE)
  • TowerSE is a tool for tower (and monopile) design
  • RotorSE is a tool for rotor design
  • NREL CSM is the regression-based turbine mass, cost, and performance model
  • ORBIT is the process-based balance of systems cost model for offshore plants
  • LandBOSSE is the process-based balance of systems cost model for land-based plants
  • PlantFinanceSE_ runs the financial analysis of a wind plant

The core modules draw upon some utility packages, which are typically compiled code with python wrappers:

  • Airfoil Preppy is a tool to handle airfoil polar data
  • CCBlade is the BEM module of WISDEM
  • pyFrame3DD brings libraries to handle various coordinate transformations
  • MoorPy is a quasi-static mooring line model
  • pyOptSparse provides some additional optimization algorithms to OpenMDAO

Installation

Installation with Anaconda is the recommended approach because of the ability to create self-contained environments suitable for testing and analysis. WISDEM® 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 WISDEM package dependencies.

Installation as a "library"

To use WISDEM's modules as a library for incorporation into other scripts or tools, WISDEM is available via conda install wisdem or pip install wisdem, assuming that you have already setup your python environment. Note that on Windows platforms, we suggest using conda exclusively.

Installation for direct use

These instructions are for interaction with WISDEM directly, the use of its examples, and the direct inspection of its source code.

The installation instructions below use the environment name, "wisdem-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. To setup an environment based on a different Github branch of WISDEM, simply substitute the branch name for master in the setup line.

  1. Setup and activate the Anaconda environment from a prompt (Anaconda3 Power Shell on Windows or Terminal.app on Mac)

    conda config --add channels conda-forge
    conda install git
    git clone https://github.com/WISDEM/WISDEM.git
    cd WISDEM
    conda env create --name wisdem-env -f environment.yml
    conda activate wisdem-env
    
  2. In order to directly use the examples in the repository and peek at the code when necessary, we recommend all users install WISDEM in developer / editable mode using the instructions here. If you really just want to use WISDEM as a library and lean on the documentation, you can always do conda install wisdem and be done. Note the differences between Windows and Mac/Linux build systems. For Linux, we recommend using the native compilers (for example, gcc and gfortran in the default GNU suite).

    conda install -y petsc4py=3.22.2 mpi4py                 # (Mac / Linux only)
    conda install -y gfortran                        # (Mac only without Homebrew or Macports compilers)
    conda install -y m2w64-toolchain libpython       # (Windows only)
    pip install --no-deps -e . -v
    

NOTE: To use WISDEM again after installation is complete, you will always need to activate the conda environment first with conda activate wisdem-env

For Windows users, we recommend installing git and the m2w64 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.

Run Unit Tests

Each package has its own set of unit tests. These can be run in batch with the test_all.py script located in the top level test-directory.

Feedback

For software issues please use https://github.com/WISDEM/WISDEM/issues. For functionality and theory related questions and comments please use the NWTC forum for Systems Engineering Software Questions.

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
  • Create event: 44
  • Release event: 11
  • Issues event: 67
  • Watch event: 22
  • Delete event: 34
  • Member event: 1
  • Issue comment event: 195
  • Push event: 229
  • Pull request review comment event: 25
  • Pull request review event: 65
  • Pull request event: 93
  • Fork event: 8
Last Year
  • Create event: 44
  • Release event: 11
  • Issues event: 67
  • Watch event: 22
  • Delete event: 34
  • Member event: 1
  • Issue comment event: 195
  • Push event: 229
  • Pull request review comment event: 25
  • Pull request review event: 65
  • Pull request event: 93
  • Fork event: 8

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 3,524
  • Total Committers: 46
  • Avg Commits per committer: 76.609
  • Development Distribution Score (DDS): 0.526
Past Year
  • Commits: 248
  • Committers: 6
  • Avg Commits per committer: 41.333
  • Development Distribution Score (DDS): 0.444
Top Committers
Name Email Commits
Garrett Barter g****r@n****v 1,671
pibo p****i@g****m 785
John Jasa j****1@g****m 352
Alicia Key a****7 178
Nikhar Abbas n****s@c****u 120
Evan Gaertner e****r@g****m 89
Katherine Dykes k****s@n****v 73
yqliaohk y****o@u****u 48
Andrew Ning a****g@n****v 43
dzalkind d****d@n****v 33
kilojoules j****8@h****u 23
unknown k****s@k****v 17
Cory Frontin c****n@n****v 13
faisal-bhuiyan f****n@g****m 8
Taylor Parsons t****s@n****v 6
George Scott g****t@n****v 5
Peter p****f@n****v 5
kevybear k****u@b****u 5
Jake Nunemaker j****r@g****m 4
minusfivethirds r****g@g****m 3
Liao y****o@y****v 3
Pietro Bortolotti p****o@e****v 3
Frederik Zahle f****a@l****l 3
Bortolotti p****o@n****v 3
badeshiben b****n@g****m 2
Evan Gaertner e****e@e****v 2
Bortolotti p****o@p****v 2
pre-commit-ci[bot] 6****] 2
mmoniot m****t@v****u 2
dakotaramos r****y@g****m 2
and 16 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 204
  • Total pull requests: 547
  • Average time to close issues: 7 months
  • Average time to close pull requests: 4 days
  • Total issue authors: 88
  • Total pull request authors: 27
  • Average comments per issue: 2.94
  • Average comments per pull request: 0.54
  • Merged pull requests: 491
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 38
  • Pull requests: 103
  • Average time to close issues: 7 days
  • Average time to close pull requests: 3 days
  • Issue authors: 20
  • Pull request authors: 5
  • Average comments per issue: 2.63
  • Average comments per pull request: 0.92
  • Merged pull requests: 87
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • SeongwooCheon (27)
  • dykesk (25)
  • SamAct (11)
  • pollinico (6)
  • hishamtariq19 (6)
  • James-Ilosta (5)
  • WANG-KUI-TJU (5)
  • akey7 (5)
  • TheMercer (5)
  • arieknarie (4)
  • Lewis-Waddell (3)
  • Jamie7963 (3)
  • applejuice122 (3)
  • Ardemia1 (3)
  • mftatfcyclone (3)
Pull Request Authors
  • gbarter (229)
  • ptrbortolotti (175)
  • johnjasa (38)
  • nikhar-abbas (18)
  • yqliaohk (16)
  • dzalkind (15)
  • akey7 (14)
  • cfrontin (10)
  • evan-gaertner (6)
  • fzahle (4)
  • kevybear (2)
  • jaredthomas68 (2)
  • ewquon (2)
  • awvwgk (2)
  • mayankchetan (2)
Top Labels
Issue Labels
alicia (5) LandBOSSE Integration (5) enhancement (4) ideas (3)
Pull Request Labels
bug (2)

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 6,858 last-month
  • Total dependent packages: 3
    (may contain duplicates)
  • Total dependent repositories: 6
    (may contain duplicates)
  • Total versions: 153
  • Total maintainers: 1
proxy.golang.org: github.com/wisdem/wisdem
  • Versions: 55
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 6 months ago
proxy.golang.org: github.com/WISDEM/WISDEM
  • Versions: 55
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 6 months ago
pypi.org: wisdem

Wind-Plant Integrated System Design & Engineering Model

  • Versions: 26
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 6,858 Last month
Rankings
Forks count: 5.0%
Stargazers count: 6.8%
Dependent packages count: 7.1%
Average: 12.7%
Dependent repos count: 32.0%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: wisdem

The Wind-Plant Integrated System Design and Engineering Model (WISDEM®) is a set of models for assessing overall wind plant cost of energy (COE). The models use wind turbine and plant cost and energy production as well as financial models to estimate coe and other wind plant system attributes. WISDEM is developed by the National Renewable Energy Lab, on top of NASA's OpenMDAO library.

  • Versions: 17
  • Dependent Packages: 1
  • Dependent Repositories: 6
Rankings
Dependent repos count: 14.0%
Forks count: 21.3%
Average: 24.3%
Dependent packages count: 29.0%
Stargazers count: 33.0%
Last synced: 6 months ago

Dependencies

setup.py pypi
  • jsonschema *
  • marmot-agents >=0.2.5
  • nlopt *
  • numpy *
  • openmdao >=3.18
  • openpyxl *
  • pandas *
  • pytest *
  • python-benedict *
  • pyyaml *
  • scipy *
  • simpy *
  • sortedcontainers *
  • statsmodels *
.github/workflows/CI_WISDEM.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/Publish_WISDEM.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/upload-artifact v3 composite
  • awvwgk/setup-fortran main composite
  • pypa/cibuildwheel v2.12.3 composite
  • pypa/gh-action-pypi-publish v1.8.5 composite
pyproject.toml pypi
  • dearpygui *
  • jsonschema *
  • marmot-agents >=0.2.5
  • nlopt *
  • numpy *
  • openmdao >=3.18
  • openpyxl *
  • pandas *
  • pydoe2 *
  • python-benedict *
  • pyyaml *
  • ruamel.yaml *
  • scipy *
  • simpy *
  • sortedcontainers *
  • statsmodels *
environment.yml pypi
  • dearpygui *
  • marmot-agents *