Closed yonghoonlee closed 4 months ago
I received conda environment file from a colleague who has venv that DOE functionality works fine. With a small modification, this actually worked for me. However, I was unable to figure out what dependency makes the DOE functionality breaking. It was not OpenMDAO. I tried multiple previous versions of OpenMDAO and it did not have any effect.
Here, I am attaching the working environment yaml file:
name: weis-env
channels:
- conda-forge
- defaults
dependencies:
- ampl-mp=3.1.0=hbec66e7_1006
- anyio=4.3.0=pyhd8ed1ab_0
- appnope=0.1.4=pyhd8ed1ab_0
- argon2-cffi=23.1.0=pyhd8ed1ab_0
- argon2-cffi-bindings=21.2.0=py311heffc1b2_4
- arrow=1.3.0=pyhd8ed1ab_0
- asttokens=2.4.1=pyhd8ed1ab_0
- async-lru=2.0.4=pyhd8ed1ab_0
- attrs=23.2.0=pyh71513ae_0
- babel=2.14.0=pyhd8ed1ab_0
- beautifulsoup4=4.12.3=pyha770c72_0
- bleach=6.1.0=pyhd8ed1ab_0
- brotli=1.1.0=hb547adb_1
- brotli-bin=1.1.0=hb547adb_1
- brotli-python=1.1.0=py311ha891d26_1
- bzip2=1.0.8=h93a5062_5
- c-ares=1.26.0=h93a5062_0
- ca-certificates=2024.2.2=hf0a4a13_0
- cached-property=1.5.2=hd8ed1ab_1
- cached_property=1.5.2=pyha770c72_1
- certifi=2024.2.2=pyhd8ed1ab_0
- cffi=1.16.0=py311h4a08483_0
- charset-normalizer=3.3.2=pyhd8ed1ab_0
- colorama=0.4.6=pyhd8ed1ab_0
- comm=0.2.1=pyhd8ed1ab_0
- contourpy=1.2.0=py311hd03642b_0
- control=0.9.4=pyhd8ed1ab_0
- curl=8.5.0=h2d989ff_0
- cycler=0.12.1=pyhd8ed1ab_0
- debugpy=1.8.1=py311h92babd0_0
- decorator=5.1.1=pyhd8ed1ab_0
- defusedxml=0.7.1=pyhd8ed1ab_0
- dill=0.3.8=pyhd8ed1ab_0
- docopt=0.6.2=py_1
- entrypoints=0.4=pyhd8ed1ab_0
- et_xmlfile=1.1.0=pyhd8ed1ab_0
- exceptiongroup=1.2.0=pyhd8ed1ab_2
- executing=2.0.1=pyhd8ed1ab_0
- fatpack=0.7.7=pyhd8ed1ab_0
- fonttools=4.48.1=py311h05b510d_0
- fqdn=1.5.1=pyhd8ed1ab_0
- freetype=2.12.1=hadb7bae_2
- gettext=0.21.1=h0186832_0
- git=2.43.0=pl5321h015987d_1
- h11=0.14.0=pyhd8ed1ab_0
- h2=4.1.0=pyhd8ed1ab_0
- hpack=4.0.0=pyh9f0ad1d_0
- httpcore=1.0.3=pyhd8ed1ab_0
- httpx=0.26.0=pyhd8ed1ab_0
- hyperframe=6.0.1=pyhd8ed1ab_0
- idna=3.6=pyhd8ed1ab_0
- importlib-metadata=7.0.1=pyha770c72_0
- importlib_metadata=7.0.1=hd8ed1ab_0
- importlib_resources=6.1.1=pyhd8ed1ab_0
- iniconfig=2.0.0=pyhd8ed1ab_0
- ipopt=3.14.14=h6639f4a_1
- ipykernel=6.29.2=pyh3cd1d5f_0
- ipython=8.21.0=pyh707e725_0
- ipywidgets=8.1.2=pyhd8ed1ab_0
- isoduration=20.11.0=pyhd8ed1ab_0
- jedi=0.19.1=pyhd8ed1ab_0
- jinja2=3.1.3=pyhd8ed1ab_0
- joblib=1.3.2=pyhd8ed1ab_0
- json5=0.9.14=pyhd8ed1ab_0
- jsonmerge=1.9.2=pyhd8ed1ab_0
- jsonpointer=2.4=py311h267d04e_3
- jsonschema=4.21.1=pyhd8ed1ab_0
- jsonschema-specifications=2023.12.1=pyhd8ed1ab_0
- jsonschema-with-format-nongpl=4.21.1=pyhd8ed1ab_0
- jupyter=1.0.0=pyhd8ed1ab_10
- jupyter-lsp=2.2.2=pyhd8ed1ab_0
- jupyter_client=8.6.0=pyhd8ed1ab_0
- jupyter_console=6.6.3=pyhd8ed1ab_0
- jupyter_core=5.7.1=py311h267d04e_0
- jupyter_events=0.9.0=pyhd8ed1ab_0
- jupyter_server=2.12.5=pyhd8ed1ab_0
- jupyter_server_terminals=0.5.2=pyhd8ed1ab_0
- jupyterlab=4.1.1=pyhd8ed1ab_0
- jupyterlab_pygments=0.3.0=pyhd8ed1ab_1
- jupyterlab_server=2.25.3=pyhd8ed1ab_0
- jupyterlab_widgets=3.0.10=pyhd8ed1ab_0
- kiwisolver=1.4.5=py311he4fd1f5_1
- krb5=1.21.2=h92f50d5_0
- lcms2=2.16=ha0e7c42_0
- lerc=4.0.0=h9a09cb3_0
- libblas=3.9.0=21_osxarm64_openblas
- libbrotlicommon=1.1.0=hb547adb_1
- libbrotlidec=1.1.0=hb547adb_1
- libbrotlienc=1.1.0=hb547adb_1
- libcblas=3.9.0=21_osxarm64_openblas
- libcurl=8.5.0=h2d989ff_0
- libcxx=16.0.6=h4653b0c_0
- libdeflate=1.19=hb547adb_0
- libedit=3.1.20191231=hc8eb9b7_2
- libev=4.33=h93a5062_2
- libexpat=2.5.0=hb7217d7_1
- libffi=3.4.2=h3422bc3_5
- libgfortran=5.0.0=13_2_0_hd922786_3
- libgfortran5=13.2.0=hf226fd6_3
- libiconv=1.17=h0d3ecfb_2
- libjpeg-turbo=3.0.0=hb547adb_1
- liblapack=3.9.0=21_osxarm64_openblas
- libnghttp2=1.58.0=ha4dd798_1
- libopenblas=0.3.26=openmp_h6c19121_0
- libosqp=0.6.3=h313beb8_0
- libpng=1.6.42=h091b4b1_0
- libqdldl=0.1.7=hb7217d7_0
- libscotch=7.0.4=hc938e73_1
- libsodium=1.0.18=h27ca646_1
- libsqlite=3.45.1=h091b4b1_0
- libssh2=1.11.0=h7a5bd25_0
- libtiff=4.6.0=ha8a6c65_2
- libwebp-base=1.3.2=hb547adb_0
- libxcb=1.15=hf346824_0
- libzlib=1.2.13=h53f4e23_5
- llvm-openmp=17.0.6=hcd81f8e_0
- markupsafe=2.1.5=py311h05b510d_0
- mat4py=0.6.0=pyhd8ed1ab_0
- matplotlib=3.8.3=py311ha1ab1f8_0
- matplotlib-base=3.8.3=py311hb58f1d1_0
- matplotlib-inline=0.1.6=pyhd8ed1ab_0
- mdolab-baseclasses=1.8.0=pyhd8ed1ab_0
- meson=1.3.2=pyhd8ed1ab_0
- metis=5.1.0=h13dd4ca_1007
- mistune=3.0.2=pyhd8ed1ab_0
- moorpy=1.0.2=pyhd8ed1ab_0
- mumps-include=5.6.2=hce30654_4
- mumps-seq=5.6.2=hbbab245_4
- munkres=1.1.4=pyh9f0ad1d_0
- nbclient=0.8.0=pyhd8ed1ab_0
- nbconvert=7.16.1=pyhd8ed1ab_0
- nbconvert-core=7.16.1=pyhd8ed1ab_0
- nbconvert-pandoc=7.16.1=pyhd8ed1ab_0
- nbformat=5.9.2=pyhd8ed1ab_0
- ncurses=6.4=h463b476_2
- nest-asyncio=1.6.0=pyhd8ed1ab_0
- networkx=3.2.1=pyhd8ed1ab_0
- notebook=7.1.0=pyhd8ed1ab_0
- notebook-shim=0.2.4=pyhd8ed1ab_0
- numpy=1.26.4=py311h7125741_0
- openfast=3.5.2=hbd8d116_1
- openjpeg=2.5.0=h4c1507b_3
- openmdao=3.27.0=pyhd8ed1ab_0
- openpyxl=3.1.2=py311heffc1b2_0
- openraft=1.2.0=pyhd8ed1ab_0
- openssl=3.2.1=h0d3ecfb_0
- osqp=0.6.3=py311h6e08293_2
- overrides=7.7.0=pyhd8ed1ab_0
- packaging=23.2=pyhd8ed1ab_0
- pandas=2.2.0=py311hfbe21a1_0
- pandoc=3.1.12.1=hce30654_0
- pandocfilters=1.5.0=pyhd8ed1ab_0
- parso=0.8.3=pyhd8ed1ab_0
- patsy=0.5.6=pyhd8ed1ab_0
- pcre2=10.43=h26f9a81_0
- pcrunch=1.1.0=pyhd8ed1ab_0
- perl=5.32.1=7_h4614cfb_perl5
- pexpect=4.9.0=pyhd8ed1ab_0
- pickleshare=0.7.5=py_1003
- pillow=10.2.0=py311hb9c5795_0
- pip=24.0=pyhd8ed1ab_0
- pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1
- platformdirs=4.2.0=pyhd8ed1ab_0
- pluggy=1.4.0=pyhd8ed1ab_0
- prometheus_client=0.20.0=pyhd8ed1ab_0
- prompt-toolkit=3.0.42=pyha770c72_0
- prompt_toolkit=3.0.42=hd8ed1ab_0
- psutil=5.9.8=py311h05b510d_0
- pthread-stubs=0.4=h27ca646_1001
- ptyprocess=0.7.0=pyhd3deb0d_0
- pure_eval=0.2.2=pyhd8ed1ab_0
- pycparser=2.21=pyhd8ed1ab_0
- pydoe2=1.3.0=py_0
- pydoe3=1.0.1=pyhd8ed1ab_0
- pygments=2.17.2=pyhd8ed1ab_0
- pyhams=1.2.6=py311h520e0fa_2
- pyobjc-core=10.1=py311h665608e_0
- pyobjc-framework-cocoa=10.1=py311h665608e_0
- pyoptsparse=2.10.2=py311hf468018_2
- pyparsing=3.1.1=pyhd8ed1ab_0
- pysocks=1.7.1=pyha2e5f31_6
- pytest=8.0.0=pyhd8ed1ab_0
- python=3.11.8=hdf0ec26_0_cpython
- python-benedict=0.33.1=pyhd8ed1ab_1
- python-dateutil=2.8.2=pyhd8ed1ab_0
- python-fastjsonschema=2.19.1=pyhd8ed1ab_0
- python-fsutil=0.13.1=pyhd8ed1ab_0
- python-json-logger=2.0.7=pyhd8ed1ab_0
- python-slugify=8.0.4=pyhd8ed1ab_0
- python-tzdata=2024.1=pyhd8ed1ab_0
- python_abi=3.11=4_cp311
- pytz=2024.1=pyhd8ed1ab_0
- pyyaml=6.0.1=py311heffc1b2_1
- pyzmq=25.1.2=py311h6727e71_0
- qdldl-python=0.1.7.post0=py311hfbe21a1_1
- qtconsole-base=5.5.1=pyha770c72_0
- qtpy=2.4.1=pyhd8ed1ab_0
- readline=8.2=h92ec313_1
- referencing=0.33.0=pyhd8ed1ab_0
- requests=2.31.0=pyhd8ed1ab_0
- rfc3339-validator=0.1.4=pyhd8ed1ab_0
- rfc3986-validator=0.1.1=pyh9f0ad1d_0
- rosco=2.9.0=py311hd85c7b0_1
- rpds-py=0.18.0=py311ha958965_0
- ruamel.yaml=0.18.6=py311h05b510d_0
- ruamel.yaml.clib=0.2.8=py311h05b510d_0
- scikit-learn=1.4.1.post1=py311h696fe38_0
- scipy=1.12.0=py311h4f9446f_2
- scotch=7.0.4=heaa5b5c_1
- send2trash=1.8.2=pyhd1c38e8_0
- setuptools=69.1.0=pyhd8ed1ab_1
- simpy=4.1.1=pyhd8ed1ab_0
- six=1.16.0=pyh6c4a22f_0
- slycot=0.5.4=py311h9949e38_4
- smt=2.3.0=py311hfbe21a1_1
- sniffio=1.3.0=pyhd8ed1ab_0
- sortedcontainers=2.4.0=pyhd8ed1ab_0
- soupsieve=2.5=pyhd8ed1ab_1
- sqlitedict=2.1.0=pyhd8ed1ab_0
- stack_data=0.6.2=pyhd8ed1ab_0
- statsmodels=0.14.1=py311h9ea6feb_0
- terminado=0.18.0=pyh31c8845_0
- text-unidecode=1.3=pyhd8ed1ab_1
- threadpoolctl=3.3.0=pyhc1e730c_0
- tinycss2=1.2.1=pyhd8ed1ab_0
- tk=8.6.13=h5083fa2_1
- tomli=2.0.1=pyhd8ed1ab_0
- tornado=6.4=py311h05b510d_0
- traitlets=5.14.1=pyhd8ed1ab_0
- treon=0.1.4=pyhd8ed1ab_0
- types-python-dateutil=2.8.19.20240106=pyhd8ed1ab_0
- typing-extensions=4.9.0=hd8ed1ab_0
- typing_extensions=4.9.0=pyha770c72_0
- typing_utils=0.1.0=pyhd8ed1ab_0
- tzdata=2024a=h0c530f3_0
- unixodbc=2.3.12=h0e2417a_0
- uri-template=1.3.0=pyhd8ed1ab_0
- urllib3=2.2.1=pyhd8ed1ab_0
- wcwidth=0.2.13=pyhd8ed1ab_0
- webcolors=1.13=pyhd8ed1ab_0
- webencodings=0.5.1=pyhd8ed1ab_2
- websocket-client=1.7.0=pyhd8ed1ab_0
- wheel=0.42.0=pyhd8ed1ab_0
- widgetsnbextension=4.0.10=pyhd8ed1ab_0
- wisdem=3.13.0=nompi_h191ec86_103
- xorg-libxau=1.0.11=hb547adb_0
- xorg-libxdmcp=1.1.3=h27ca646_0
- xz=5.2.6=h57fd34a_0
- yaml=0.2.5=h3422bc3_2
- zeromq=4.3.5=h965bd2d_0
- zipp=3.17.0=pyhd8ed1ab_0
- zlib=1.2.13=h53f4e23_5
- zstd=1.5.5=h4f39d0f_0
- pip:
- dearpygui
- marmot-agents==0.2.5
One of the major differences is wisdem (3.13 vs. 3.14).
I know we fiddled with the DOE test recently, @ptrbortolotti. Do you have any ideas or directions to point @yonghoonlee on the WISDEM side?
I can reproduce the error, I'll work to fix it asap
I'm afraid it will take a wisdem release to fix this. @gbarter and I will work on this
@ptrbortolotti Thank you for identifying the issue and working on fixing it. In the meantime, I can still use WISDEM 3.13 to run DOE studies, so no rush. Thank you.
@yonghoonlee , if you can, please try this WISDEM branch https://github.com/WISDEM/WISDEM/tree/compare_designs
Here are some tips on using a non-conda installed WISDEM: https://github.com/WISDEM/WEIS/blob/develop/docs/how_to_contribute_code.rst#developing-python-modules-used-in-weis
@ptrbortolotti It seems that the compare_designs
branch made DOE working again. I will more thoroughly testing with other case studies soon.
@dzalkind Thank you for your help on managing non-conda WISDEM installation.
@yonghoonlee, has this issue been resolved?
Yes I will close this issue. Thanks
Description
DOE studies are not running anymore. I tried to track down when and where it was broken, but I could not. So, I think I will need some help. No matter what options (FullFact, LatinHypercube, etc) provided, WEIS only runs for a single case and stops. I tried with example 09 and customized DOE input with example 15 as well. No luck with all of them.
It might not be the problem of WEIS itself. I checked recent commit histories, and could not find something that may break DOE feature. It could be issues of conda-installed dependencies. But, I could not find clear clue on anything related to that yet.
Steps to reproduce issue
Please provide a minimum working example (MWE) if possible
Current behavior
It runs only one case and stops, no matter what DOE options provided.
Expected behavior
It should compute many cases with varying input values.
Code versions