Skip to content

Update for OpenMDAO, WISDEM, and OptiWindNet updates - #187

Merged
jaredthomas68 merged 41 commits into
mainfrom
develop
Jul 29, 2026
Merged

Update for OpenMDAO, WISDEM, and OptiWindNet updates#187
jaredthomas68 merged 41 commits into
mainfrom
develop

Conversation

@jaredthomas68

Copy link
Copy Markdown
Contributor

No description provided.

jaredthomas68 and others added 30 commits October 24, 2025 11:13
* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* added first cut at multi-objective stuff

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* multi-objective refactor

* fix example code

* black reformat

* invert erroneous exclusion

* improved unit testing

* get rid of pyoptsparse dependencies and broaden test coverage

* fixed erroneous inclusion of options

* address copilot comments

* address jared's requests on #153

* add the file that i renamed the wrong way

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
* added viewshed and empty test component.

* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* viewshed should be done

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* restore change i didn't like

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* removed zero velocity rows from floris results

* adjust values with lt one percent error due to renormalization after wind resource pdf adjustment

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* prototype stdout/stderr capturing implemented.

* missed a bunch, trying again.

* fix bounds manager

* adjust file paths

* clear ipynb

* remove viz script which isn't actually involved in that pr

* Apply typo suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fixed black formatting

* wip logging with iterations

* black reformatting

* remove messy iteration debug statements

* black reformat again

* update optimization demo

* update logging code for error handling and docs

* made stdio capture optional modeling option and updated

* bring floris input file generator in with logger

* added case name to address @jaredthomas68's comment on #161

* cleanup some iter_count discovery and defaulting code w/ multiple returns

* updated the logging docstrings

* ard system fixed

* fixing stuff and added some features related to the fixes

* try again to overcome windows error

* add teardown to fix windows file access issue

* use case_name distinction to make sure the reports end up in unique places

* wip try teardown to fix file access on windows

* fix discovered typo, test mistake

* added another necessary teardown

* forgot two more

* retry

* black reformat...

* adjust case names for better use

* black reformat...

* ... stupid omission

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* updated tests to check jitter

* address comments from copilot

* add substation test

* deal with jared's comments

* black reformat and adding comments jared asked for

* added convenience printing to test.

* final black reformatting

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* added NSGA2 to optimizer options

* removed zero velocity rows from floris results

* add example 06

* udpate

* adjust pyproject to use dev branch

* added gfortran for running on GH action runner

* undo dev branching

* black reformat plus added copilot-requested changes for viz utils

* added forgotten file

* add unit testing for nsga2 implementation

* address @jaredthomas68 comments

* add ard yaml

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
* readme adjustments to address and close #154 and numpy version
adjustment to close #157

* refactor the test organization for better incorporation of subpackages

* black reformat

* update github runner

* address jared suggestions
* fix logomaker

* black reformat
* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* update for WISDEM/ORBIT pyrite standard value changes

* fix typo

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
* bring in the exclusions and their viz implications

* added exclusion code

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* new gold standard test, weird failure

* fixed value of the exclusion distance; still failing now on two: mysterious sign flip, sometimes...

* add a boundary test case that lights up the strange error

* rename and add some tests

* added exclusion test even though it's in tatters

* debugging

* use switch instead of pad to fix boundary in/out identification. also clean up debug statements

* black reformat

* black reformat

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jared Thomas <jaredthomas68@gmail.com>
* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* update for WISDEM/ORBIT pyrite standard value changes

* black v2026 reformat

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
* bring in the exclusions and their viz implications

* added exclusion code

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* added eagle density code and tested it

* fix filepath

* improved documentation, added and tested derivatives on eagles splines

* black reformat

* first tranche of copilot changes

* second tranche of copilot fixes

* Apply suggestions from copilot code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* more consistent error messages

* black reformat

* new gold standard test, weird failure

* fixed value of the exclusion distance; still failing now on two: mysterious sign flip, sometimes...

* add a boundary test case that lights up the strange error

* rename and add some tests

* added exclusion test even though it's in tatters

* debugging

* use switch instead of pad to fix boundary in/out identification. also clean up debug statements

* black reformat

* black reformat

* address jared comments

* fix accidentally stashed and dropped changes

* black reformat...

* fix calling convention

* black are you kidding me

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jared Thomas <jaredthomas68@gmail.com>
Co-authored-by: Cory Frontin <cory.frontin@nrel.gov>
* create house style update
* update house style to actually work
* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* eliminating wrongthink

just kidding removed references to WISDEM repo and replaced with renamed NLRWindSystems

---------

Co-authored-by: Cory Frontin <cory.frontin@nrel.gov>
* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* eliminating wrongthink

just kidding removed references to WISDEM repo and replaced with renamed NLRWindSystems

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
Remove pad_polygon
Remove tests for no longer used `pad_polygon` function
Remove duplicate line

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
cfrontin and others added 9 commits February 6, 2026 16:10
* Release candidate for beta.3 (#179)

* fix typos in installation instructions (#152)

* Multi-objective refactor (#153)

* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* added first cut at multi-objective stuff

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* multi-objective refactor

* fix example code

* black reformat

* invert erroneous exclusion

* improved unit testing

* get rid of pyoptsparse dependencies and broaden test coverage

* fixed erroneous inclusion of options

* address copilot comments

* address jared's requests on #153

* add the file that i renamed the wrong way

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>

* Add a simple viewshed component (#156)

* added viewshed and empty test component.

* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* viewshed should be done

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* restore change i didn't like

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove zero velocity resource for FLORIS (#160)

* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* removed zero velocity rows from floris results

* adjust values with lt one percent error due to renormalization after wind resource pdf adjustment

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>

* Create a new automated stdout/stderr redirection system (#161)

* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* prototype stdout/stderr capturing implemented.

* missed a bunch, trying again.

* fix bounds manager

* adjust file paths

* clear ipynb

* remove viz script which isn't actually involved in that pr

* Apply typo suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fixed black formatting

* wip logging with iterations

* black reformatting

* remove messy iteration debug statements

* black reformat again

* update optimization demo

* update logging code for error handling and docs

* made stdio capture optional modeling option and updated

* bring floris input file generator in with logger

* added case name to address @jaredthomas68's comment on #161

* cleanup some iter_count discovery and defaulting code w/ multiple returns

* updated the logging docstrings

* ard system fixed

* fixing stuff and added some features related to the fixes

* try again to overcome windows error

* add teardown to fix windows file access issue

* use case_name distinction to make sure the reports end up in unique places

* wip try teardown to fix file access on windows

* fix discovered typo, test mistake

* added another necessary teardown

* forgot two more

* retry

* black reformat...

* adjust case names for better use

* black reformat...

* ... stupid omission

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Bugfix/optiwindnet jitter overlapping (#163)

* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* updated tests to check jitter

* address comments from copilot

* add substation test

* deal with jared's comments

* black reformat and adding comments jared asked for

* added convenience printing to test.

* final black reformatting

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>

* WISDEM NSGA2 incorporation (#158)

* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* added NSGA2 to optimizer options

* removed zero velocity rows from floris results

* add example 06

* udpate

* adjust pyproject to use dev branch

* added gfortran for running on GH action runner

* undo dev branching

* black reformat plus added copilot-requested changes for viz utils

* added forgotten file

* add unit testing for nsga2 implementation

* address @jaredthomas68 comments

* add ard yaml

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>

* Feature/goodybag (#165)

* readme adjustments to address and close #154 and numpy version
adjustment to close #157

* refactor the test organization for better incorporation of subpackages

* black reformat

* update github runner

* address jared suggestions

* fix logomaker (#166)

* fix logomaker

* black reformat

* WISDEM update and configurations (#172)

* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* update for WISDEM/ORBIT pyrite standard value changes

* fix typo

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>

* Add domain exclusion zones via windIO (#167)

* bring in the exclusions and their viz implications

* added exclusion code

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* new gold standard test, weird failure

* fixed value of the exclusion distance; still failing now on two: mysterious sign flip, sometimes...

* add a boundary test case that lights up the strange error

* rename and add some tests

* added exclusion test even though it's in tatters

* debugging

* use switch instead of pad to fix boundary in/out identification. also clean up debug statements

* black reformat

* black reformat

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jared Thomas <jaredthomas68@gmail.com>

* Black reformat update to 2026 stable format (#173)

* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* update for WISDEM/ORBIT pyrite standard value changes

* black v2026 reformat

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>

* Eagle density function for eco-constrained design setups (#168)

* bring in the exclusions and their viz implications

* added exclusion code

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* added eagle density code and tested it

* fix filepath

* improved documentation, added and tested derivatives on eagles splines

* black reformat

* first tranche of copilot changes

* second tranche of copilot fixes

* Apply suggestions from copilot code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* more consistent error messages

* black reformat

* new gold standard test, weird failure

* fixed value of the exclusion distance; still failing now on two: mysterious sign flip, sometimes...

* add a boundary test case that lights up the strange error

* rename and add some tests

* added exclusion test even though it's in tatters

* debugging

* use switch instead of pad to fix boundary in/out identification. also clean up debug statements

* black reformat

* black reformat

* address jared comments

* fix accidentally stashed and dropped changes

* black reformat...

* fix calling convention

* black are you kidding me

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jared Thomas <jaredthomas68@gmail.com>

* update org name (#170)

Co-authored-by: Cory Frontin <cory.frontin@nrel.gov>

* Add some helpers for "house style" plots (#174)

* create house style update
* update house style to actually work

* Release/develop (#177)

* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* eliminating wrongthink

just kidding removed references to WISDEM repo and replaced with renamed NLRWindSystems

---------

Co-authored-by: Cory Frontin <cory.frontin@nrel.gov>

* Develop backmerge (#178)

* Bump version from 0.1.0-beta0 to 0.1.0-beta1

* Bump version from 0.1.0-beta1 to 0.1.0-beta2

* eliminating wrongthink

just kidding removed references to WISDEM repo and replaced with renamed NLRWindSystems

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>

* Update ard/utils/geometry.py

Remove pad_polygon

* Update test/ard/unit/utils/test_geometry.py

Remove tests for no longer used `pad_polygon` function

* Update docs/testing.md

Remove duplicate line

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* correct connection x->y is now x->x

* run black

* Update ard/viz/house_style.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* correct turbine connections and remove unused gplot import

* run black

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jared Thomas <jaredthomas68@gmail.com>
Co-authored-by: Pietro Bortolotti <ptrbortolotti@gmail.com>

* Bump version from 0.1.0-beta2 to 0.1.0-beta3

* replace '\t' with '    ' [4 spaces] (#180)

* remove all instances of '\' in f-strings for compatibility with python 3.11
* test both python 3.11 and 3.13

* Bump version from 0.1.0-beta3 to 0.1.0-beta4

* nudge to trigger re-build

* Restrict jupyter-book version in pyproject.toml

* denudge to trigger docs build

* Change wisdem dependency to exact version

* hotfix indexing for bos_capex and total_capex retrieval

* yet another nudge to trigger docs build

* Increase notebook execution timeout to 240 seconds

Increased the notebook execution timeout from 180 to 240 seconds.

* Change notebook execution timeout to 420 seconds

Updated notebook execution timeout to 420 seconds.

---------

Co-authored-by: Jared Thomas <jaredthomas68@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jared Thomas <jaredthomas68@gmail.com>
Co-authored-by: Pietro Bortolotti <ptrbortolotti@gmail.com>
The collection system module wraps optiwindnet's EW_presolver to warm-start the electrical network optimization. This heuristic has been deprecated in optiwindnet v0.2.2 (which shows a warning when EW_presolver is called) and will be removed in v0.3.

This commit updates optiwindnet_wrap.py to use the new implementation, which uses an improved algorithm by default: optiwindnet.heuristics.constructor(). The old algorithm is still available by using additional arguments.

This commit also updates the dependencies (optiwindnet >= 0.2.2) to avoid version-checking in the code.
* update to work with WISDEM 4.2.6

* loosen tolerances to allow for numerical differences between systems

* protect plots for testing

* comment out assert in optiwindnet wrapper
@jaredthomas68
jaredthomas68 requested a review from cfrontin July 28, 2026 21:01

@cfrontin cfrontin left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's make sure we bump version numbers everywhere before the complete merge...

@jaredthomas68
jaredthomas68 merged commit 2fde844 into main Jul 29, 2026
114 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants