idaholab / HERON

Holistic Energy Resource Optimization Network (HERON) is a modeling toolset and plugin for RAVEN to accelerate stochastic technoeconomic assessment of the economic viability of various grid-energy system configurations, especially with application to electrical grids and integrated energy systems (IES).
Apache License 2.0
24 stars 38 forks source link

[DEFECT] pip installed HERON cannot run the workshop cases #388

Open GabrielSoto-INL opened 1 week ago

GabrielSoto-INL commented 1 week ago

Defect Description

Describe the defect When running the HERON Workshop cases using the pip installed version of HERON, the heron heron_input.xml command fails.

What did you expect to see happen?
What did you see instead?

An error occurs where the %HERON_DATA% variable isn't found while trying to look for the ARMA pk file in the simple HERON Workshop case.

Do you have a suggested fix for the development team?

Describe how to Reproduce Steps to reproduce the behavior:

Screenshots and Input Files image

Platform (please complete the following information):

$ conda list
# packages in environment at C:\Users\sotogj\AppData\Local\Miniconda3\envs\first:
#
# Name                    Version                   Build  Channel
absl-py                   2.1.0                    pypi_0    pypi
adagio                    0.2.6                    pypi_0    pypi
aiohappyeyeballs          2.4.3                    pypi_0    pypi
aiohttp                   3.10.10                  pypi_0    pypi
aiohttp-cors              0.7.0                    pypi_0    pypi
aiosignal                 1.3.1                    pypi_0    pypi
ansicon                   1.89.0                   pypi_0    pypi
appdirs                   1.4.4                    pypi_0    pypi
args                      0.1.0                    pypi_0    pypi
astroid                   3.3.5                    pypi_0    pypi
astunparse                1.6.3                    pypi_0    pypi
async-timeout             4.0.3                    pypi_0    pypi
attrs                     24.2.0                   pypi_0    pypi
blessed                   1.20.0                   pypi_0    pypi
bokeh                     3.6.0                    pypi_0    pypi
bzip2                     1.0.8                h2466b09_7    conda-forge
ca-certificates           2024.8.30            h56e8100_0    conda-forge
cachetools                5.5.0                    pypi_0    pypi
certifi                   2024.8.30                pypi_0    pypi
cftime                    1.6.4                    pypi_0    pypi
charset-normalizer        3.4.0                    pypi_0    pypi
click                     8.1.7                    pypi_0    pypi
clint                     0.5.1                    pypi_0    pypi
cloudpickle               2.2.1                    pypi_0    pypi
colorama                  0.4.6                    pypi_0    pypi
colorful                  0.5.6                    pypi_0    pypi
contourpy                 1.2.1                    pypi_0    pypi
coreforecast              0.0.13.1                 pypi_0    pypi
coverage                  7.6.4                    pypi_0    pypi
cycler                    0.12.1                   pypi_0    pypi
dask                      2024.8.0                 pypi_0    pypi
dask-expr                 1.1.10                   pypi_0    pypi
dill                      0.3.5                    pypi_0    pypi
distlib                   0.3.9                    pypi_0    pypi
distributed               2024.8.0                 pypi_0    pypi
elementpath               4.5.0                    pypi_0    pypi
filelock                  3.16.1                   pypi_0    pypi
flatbuffers               24.3.25                  pypi_0    pypi
fonttools                 4.54.1                   pypi_0    pypi
frozenlist                1.4.1                    pypi_0    pypi
fs                        2.4.16                   pypi_0    pypi
fsspec                    2024.10.0                pypi_0    pypi
fugue                     0.9.1                    pypi_0    pypi
gast                      0.4.0                    pypi_0    pypi
google-api-core           2.21.0                   pypi_0    pypi
google-auth               2.35.0                   pypi_0    pypi
google-auth-oauthlib      1.0.0                    pypi_0    pypi
google-pasta              0.2.0                    pypi_0    pypi
googleapis-common-protos  1.65.0                   pypi_0    pypi
gpustat                   1.1.1                    pypi_0    pypi
grpcio                    1.67.0                   pypi_0    pypi
h5py                      3.12.1                   pypi_0    pypi
heron-ravenframework      0.5                      pypi_0    pypi
idna                      3.10                     pypi_0    pypi
imageio                   2.22.4                   pypi_0    pypi
importlib-metadata        8.5.0                    pypi_0    pypi
isort                     5.13.2                   pypi_0    pypi
jenn                      1.0.8                    pypi_0    pypi
jinja2                    3.1.4                    pypi_0    pypi
jinxed                    1.3.0                    pypi_0    pypi
joblib                    1.4.2                    pypi_0    pypi
jsonpointer               3.0.0                    pypi_0    pypi
jsonschema                4.23.0                   pypi_0    pypi
jsonschema-specifications 2024.10.1                pypi_0    pypi
keras                     2.13.1                   pypi_0    pypi
kiwisolver                1.4.7                    pypi_0    pypi
libclang                  18.1.1                   pypi_0    pypi
libffi                    3.4.2                h8ffe710_5    conda-forge
libsqlite                 3.47.0               h2466b09_0    conda-forge
libzlib                   1.3.1                h2466b09_2    conda-forge
llvmlite                  0.43.0                   pypi_0    pypi
locket                    1.0.0                    pypi_0    pypi
lxml                      5.3.0                    pypi_0    pypi
lz4                       4.3.3                    pypi_0    pypi
mamba                     0.11.3                   pypi_0    pypi
markdown                  3.7                      pypi_0    pypi
markupsafe                3.0.2                    pypi_0    pypi
matplotlib                3.5.3                    pypi_0    pypi
mccabe                    0.7.0                    pypi_0    pypi
msgpack                   1.1.0                    pypi_0    pypi
multidict                 6.1.0                    pypi_0    pypi
netcdf4                   1.6.5                    pypi_0    pypi
networkx                  3.4.2                    pypi_0    pypi
nose                      1.3.7                    pypi_0    pypi
numba                     0.60.0                   pypi_0    pypi
numdifftools              0.9.41                   pypi_0    pypi
numpy                     1.22.4                   pypi_0    pypi
numpy-financial           1.0.0                    pypi_0    pypi
nvidia-ml-py              12.560.30                pypi_0    pypi
oauthlib                  3.2.2                    pypi_0    pypi
opencensus                0.11.4                   pypi_0    pypi
opencensus-context        0.1.3                    pypi_0    pypi
openssl                   3.3.2                h2466b09_0    conda-forge
opt-einsum                3.4.0                    pypi_0    pypi
orjson                    3.10.9                   pypi_0    pypi
packaging                 24.1                     pypi_0    pypi
pandas                    2.2.3                    pypi_0    pypi
partd                     1.4.2                    pypi_0    pypi
patsy                     0.5.6                    pypi_0    pypi
pillow                    11.0.0                   pypi_0    pypi
pip                       24.2               pyh8b19718_1    conda-forge
platformdirs              3.11.0                   pypi_0    pypi
ply                       3.11                     pypi_0    pypi
prometheus-client         0.21.0                   pypi_0    pypi
propcache                 0.2.0                    pypi_0    pypi
proto-plus                1.24.0                   pypi_0    pypi
protobuf                  4.25.5                   pypi_0    pypi
psutil                    6.1.0                    pypi_0    pypi
py-spy                    0.3.14                   pypi_0    pypi
pyarrow                   17.0.0                   pypi_0    pypi
pyarrow-hotfix            0.6                      pypi_0    pypi
pyasn1                    0.6.1                    pypi_0    pypi
pyasn1-modules            0.4.1                    pypi_0    pypi
pydantic                  1.10.18                  pypi_0    pypi
pydoe3                    1.0.4                    pypi_0    pypi
pylint                    3.3.1                    pypi_0    pypi
pyomo                     6.4.0                    pypi_0    pypi
pyparsing                 3.2.0                    pypi_0    pypi
python                    3.10.15         hfaddaf0_2_cpython    conda-forge
python-dateutil           2.9.0.post0              pypi_0    pypi
python-sensors            0.3.5                    pypi_0    pypi
pytz                      2024.2                   pypi_0    pypi
pyutilib                  6.0.0                    pypi_0    pypi
pyyaml                    6.0.2                    pypi_0    pypi
raven-framework           3.1                      pypi_0    pypi
ray                       2.6.3                    pypi_0    pypi
redis                     5.1.1                    pypi_0    pypi
referencing               0.35.1                   pypi_0    pypi
requests                  2.32.3                   pypi_0    pypi
requests-oauthlib         2.0.0                    pypi_0    pypi
rpds-py                   0.20.0                   pypi_0    pypi
rsa                       4.9                      pypi_0    pypi
scikit-learn              1.0.2                    pypi_0    pypi
scipy                     1.9.3                    pypi_0    pypi
setuptools                69.5.1                   pypi_0    pypi
six                       1.16.0                   pypi_0    pypi
smart-open                7.0.5                    pypi_0    pypi
smt                       2.7.0                    pypi_0    pypi
sortedcontainers          2.4.0                    pypi_0    pypi
statsforecast             1.7.8                    pypi_0    pypi
statsmodels               0.13.5                   pypi_0    pypi
tblib                     3.0.0                    pypi_0    pypi
teal-ravenframework       0.6                      pypi_0    pypi
tensorboard               2.13.0                   pypi_0    pypi
tensorboard-data-server   0.7.2                    pypi_0    pypi
tensorflow                2.13.1                   pypi_0    pypi
tensorflow-estimator      2.13.0                   pypi_0    pypi
tensorflow-intel          2.13.1                   pypi_0    pypi
tensorflow-io-gcs-filesystem 0.31.0                   pypi_0    pypi
termcolor                 2.5.0                    pypi_0    pypi
threadpoolctl             3.5.0                    pypi_0    pypi
tk                        8.6.13               h5226925_1    conda-forge
tomli                     2.0.2                    pypi_0    pypi
tomlkit                   0.13.2                   pypi_0    pypi
toolz                     1.0.0                    pypi_0    pypi
tornado                   6.4.1                    pypi_0    pypi
tqdm                      4.66.5                   pypi_0    pypi
triad                     0.9.8                    pypi_0    pypi
typing-extensions         4.5.0                    pypi_0    pypi
tzdata                    2024.2                   pypi_0    pypi
ucrt                      10.0.22621.0         h57928b3_1    conda-forge
urllib3                   2.2.3                    pypi_0    pypi
utilsforecast             0.2.5                    pypi_0    pypi
vc                        14.3                h8a93ad2_22    conda-forge
vc14_runtime              14.40.33810         hcc2c482_22    conda-forge
virtualenv                20.21.0                  pypi_0    pypi
vs2015_runtime            14.40.33810         h3bf8584_22    conda-forge
wcwidth                   0.2.13                   pypi_0    pypi
werkzeug                  3.0.4                    pypi_0    pypi
wheel                     0.44.0             pyhd8ed1ab_0    conda-forge
wrapt                     1.16.0                   pypi_0    pypi
xarray                    2023.12.0                pypi_0    pypi
xmlschema                 3.4.2                    pypi_0    pypi
xyzservices               2024.9.0                 pypi_0    pypi
xz                        5.2.6                h8d14728_0    conda-forge
yarl                      1.16.0                   pypi_0    pypi
zict                      3.0.0                    pypi_0    pypi
zipp                      3.20.2                   pypi_0    pypi

For Change Control Board: Issue Review

This review should occur before any development is performed as a response to this issue.


For Change Control Board: Issue Closure

This review should occur when the issue is imminently going to be closed.

joshua-cogliati-inl commented 5 days ago

Hm, we don't currently include the HERON data. We have a note on this at: https://github.com/idaholab/HERON/wiki/Troubleshooting#finding-data but I am open for suggestions on improving this.

dylanjm commented 3 days ago

@joshua-cogliati-inl Are you opposed to shipping the HERON_DATA folder within the pip package? If we kept the required data limited in size for just the workshop cases we could keep the size of the package down.

GabrielSoto-INL commented 3 days ago

An alternate idea is to package the HERON_Data as a separate pip package? that way users can install HERON and then have the option to install the heavier materials