Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ There can be some hardware-software mis-specification issues with WISDEM install
In the event of issues, WISDEM can be installed manually or using `conda` without issues, then `pip` installation can proceed.

```shell
mamba install wisdem=3.18.1 -y
mamba install wisdem -y
pip install -e .[dev,docs]
```

Expand Down
2 changes: 1 addition & 1 deletion ard/cost/wisdem_wrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import openmdao.api as om
from wisdem.plant_financese.plant_finance import PlantFinance as PlantFinance_orig
from wisdem.landbosse.landbosse_omdao.landbosse import LandBOSSE as LandBOSSE_orig
from wisdem.orbit.api.wisdem import Orbit as Orbit_orig
from wisdem.orbit.orbit_api import Orbit as Orbit_orig

from ard.cost.approximate_turbine_spacing import SpacingApproximations

Expand Down
32 changes: 21 additions & 11 deletions ard/utils/test_utils.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
from fileinput import filename
import sys
from os import PathLike
from pathlib import Path

import numpy as np
import traceback


def pyrite_validator(
validation_data: dict,
data_for_validation: dict,
filename_pyrite: PathLike,
rewrite: bool = False,
rtol_val: float = 1e-6,
Expand All @@ -22,7 +23,7 @@ def pyrite_validator(
# this helper function can write a file to hold pyrite-standard data

# write out a npz file that holds the variables we want to be able to check
np.savez(filename_pyrite, **validation_data)
np.savez(filename_pyrite, **data_for_validation)
assert False
else:
# ... or it can check to make sure that an existing pyrite file matches the current data
Expand All @@ -31,21 +32,30 @@ def pyrite_validator(
pyrite_data = np.load(filename_pyrite.with_suffix(".npz"))

# for each of the variables in the pyrite-standard data file
all_validation_matches = True
for k, v in pyrite_data.items():
# count how many of the values in the data match the equivalent validation data
sum_isclose = np.sum(
np.isclose(np.array(v), validation_data[k], rtol=rtol_val)
np.isclose(np.array(v), data_for_validation[k], rtol=rtol_val)
)
vd_size = np.array(validation_data[k], dtype=np.float64).size
vd_size = np.array(data_for_validation[k], dtype=np.float64).size
# assert all of the values match
validation_matches = sum_isclose == vd_size

if not validation_matches:
print(f"for variable {k}:")
print(f"for variable {k}:", file=sys.stderr)
print(
f"\t{sum_isclose} values match of {vd_size} total validation values"
f"\t{sum_isclose} values match of {vd_size} total validation values",
file=sys.stderr,
)
print(f"\tto a tolerance of {rtol_val:e}")
print(f"saved data for {k}: {v}")
print(f"computed data for {k}: {validation_data[k]}")
assert validation_matches
print(f"\tto a tolerance of {rtol_val:e}", file=sys.stderr)
print(f"pyrite data for {k}: {v}", file=sys.stderr)
print(
f"computed data for {k}: {data_for_validation[k]}", file=sys.stderr
)
stack = traceback.format_stack(limit=3)
print("".join(stack[-2]).replace(" File", "test:"), file=sys.stderr)
print(file=sys.stderr)

all_validation_matches &= validation_matches
assert all_validation_matches, "Pyrite validation data must match."
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ classifiers = [
dependencies = [
"numpy<2.3",
"floris>=4.3",
"wisdem==3.18.1",
"wisdem>=3.21",
"NLopt",
"marmot-agents",
"openmdao",
Expand Down
Binary file modified test/system/ard/LCOE_stack/test_LCOE_LB_stack_pyrite.npz
Binary file not shown.
Binary file modified test/system/ard/LCOE_stack/test_LCOE_OFB_stack_pyrite.npz
Binary file not shown.
Binary file modified test/system/ard/LCOE_stack/test_LCOE_OFL_stack_pyrite.npz
Binary file not shown.
Binary file modified test/unit/ard/cost/test_landbosse_wrap_baseline_farm.npz
Binary file not shown.
Binary file modified test/unit/ard/cost/test_orbit_wrap_baseline_farm.npz
Binary file not shown.