Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: v2.12.0 and v2.12.1 Anaconda package missing scipy dependency for QBO wavelet? #904

Closed
3 tasks done
tomvothecoder opened this issue Dec 10, 2024 · 3 comments · Fixed by #905
Closed
3 tasks done
Assignees
Labels
bug Bug fix (will increment patch version)

Comments

@tomvothecoder
Copy link
Collaborator

tomvothecoder commented Dec 10, 2024

What happened?

  1. Created a new conda env with e3sm_diags=2.12.1
    conda create -n e3sm_diags_2_12_1 -c conda-forge e3sm_diags=2.12.1
  2. Run e3sm_diags with v3 data using Python script (provided below in description)
  3. Received error below, related to QBO Wavelet PR (JJB tropical subseasonal diags - Wheeler and Kiladis #732)
  File "/global/homes/v/vo13/mambaforge/envs/e3sm_diags_2_12_1/lib/python3.10/site-packages/e3sm_diags/driver/utils/__init__.py", line 1, in <module>
    from . import dataset, diurnal_cycle, general, zwf_functions
  File "/global/homes/v/vo13/mambaforge/envs/e3sm_diags_2_12_1/lib/python3.10/site-packages/e3sm_diags/driver/utils/zwf_functions.py", line 5, in <module>
    from scipy.signal import detrend
ModuleNotFoundError: No module named 'scipy'

What did you expect to happen? Are there are possible answers you came across?

Minimal Complete Verifiable Example (MVCE)

"""
This script sets up and runs a series of diagnostics for the E3SM model output.

The diagnostics include:
- ENSO diagnostics
- Tropical subseasonal variability diagnostics
- QBO diagnostics
- Diurnal cycle diagnostics
- Streamflow diagnostics
- Tropical cyclone analysis
- ARM diagnostics

The script configures the parameters for each diagnostic, including paths to
model output and observational data, time periods for analysis, and output
settings. It then runs the diagnostics using the e3sm_diags package.

Parameters:
- case: The name of the model case.
- short_name: A short name for the model case.
- results_dir: Directory where the results will be saved.
- test_climo: Path to the model climatology data.
- test_ts: Path to the model time-series data.
- test_ts_daily_dir: Path to the model daily time-series data.
- ref_climo: Path to the reference climatology data.
- ref_ts: Path to the reference time-series data.
- start_yr: Start year for the analysis.
- end_yr: End year for the analysis.

The script uses multiprocessing to speed up the diagnostics computation.

Example usage:
    python complete_run_script.py
"""

from e3sm_diags.parameter.arm_diags_parameter import ARMDiagsParameter
from e3sm_diags.parameter.core_parameter import CoreParameter
from e3sm_diags.parameter.diurnal_cycle_parameter import DiurnalCycleParameter
from e3sm_diags.parameter.enso_diags_parameter import EnsoDiagsParameter
from e3sm_diags.parameter.qbo_parameter import QboParameter
from e3sm_diags.parameter.streamflow_parameter import StreamflowParameter
from e3sm_diags.parameter.tc_analysis_parameter import TCAnalysisParameter
from e3sm_diags.parameter.tropical_subseasonal_parameter import (
    TropicalSubseasonalParameter,
)
from e3sm_diags.run import runner

case = "extendedOutput.v3.LR.historical_0101"
short_name = "v3.LR.historical_0101"

# TODO: Update `MAIN_DIR` as needed.
MAIN_DIR = "v2.12.1"
results_dir = f"/global/cfs/cdirs/e3sm/www/e3sm_diags/{MAIN_DIR}/"

test_climo = "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/atm/180x360_aave/clim/15yr"
test_ts = "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/atm/180x360_aave/ts/monthly/15yr"
test_ts_daily_dir = "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/atm/180x360_aave/ts/daily/15yr"

ref_climo = "/global/cfs/cdirs/e3sm/diagnostics/observations/Atm/climatology/"
ref_ts = "/global/cfs/cdirs/e3sm/diagnostics/observations/Atm/time-series"

start_yr = "2000"
end_yr = "2014"

param = CoreParameter()

# Model
param.test_data_path = test_climo
param.test_name = case
param.short_test_name = short_name

# Ref/Obs
param.reference_data_path = ref_climo

# Output dir
param.results_dir = results_dir

# Additional settings
param.run_type = "model_vs_obs"
param.diff_title = "Model - Observations"
param.output_format = ["png"]
param.output_format_subplot = []
param.multiprocessing = True
param.num_workers = 24
param.save_netcdf = True
param.seasons = ["ANN"]
params = [param]

# Model
enso_param = EnsoDiagsParameter()
enso_param.test_data_path = test_ts
# enso_param.test_name = short_name
enso_param.test_start_yr = start_yr
enso_param.test_end_yr = end_yr

# Obs
enso_param.reference_data_path = ref_ts
enso_param.ref_start_yr = start_yr
enso_param.ref_end_yr = end_yr

enso_param.save_netcdf = True
params.append(enso_param)

trop_param = TropicalSubseasonalParameter()
trop_param.test_data_path = test_ts_daily_dir
# trop_param.test_name = short_name
trop_param.test_start_yr = start_yr
trop_param.test_end_yr = end_yr

# Obs
trop_param.reference_data_path = ref_ts
trop_param.ref_start_yr = "2001"
trop_param.ref_end_yr = "2010"

trop_param.save_netcdf = True
params.append(trop_param)

qbo_param = QboParameter()
qbo_param.test_data_path = test_ts
# qbo_param.test_name = short_name
qbo_param.test_start_yr = start_yr
qbo_param.test_end_yr = end_yr
qbo_param.ref_start_yr = start_yr
qbo_param.ref_end_yr = end_yr

# Obs
qbo_param.reference_data_path = ref_ts

qbo_param.save_netcdf = True
params.append(qbo_param)

dc_param = DiurnalCycleParameter()
dc_param.test_data_path = "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/atm/180x360_aave/clim_diurnal_8xdaily/"
# dc_param.short_test_name = short_name
# Plotting diurnal cycle amplitude on different scales. Default is True
dc_param.normalize_test_amp = False

# Obs
dc_param.reference_data_path = ref_climo

dc_param.save_netcdf = True
params.append(dc_param)

streamflow_param = StreamflowParameter()
streamflow_param.reference_data_path = ref_ts
streamflow_param.test_data_path = "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/rof/native/ts/monthly/15yr/"
# streamflow_param.test_name = short_name
streamflow_param.test_start_yr = start_yr
streamflow_param.test_end_yr = end_yr

# Obs
streamflow_param.reference_data_path = ref_ts
streamflow_param.ref_start_yr = (
    "1986"  # Streamflow gauge station data range from year 1986 to 1995
)
streamflow_param.ref_end_yr = "1995"

streamflow_param.save_netcdf = True
params.append(streamflow_param)

tc_param = TCAnalysisParameter()
tc_param.test_data_path = "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/atm/tc-analysis_2000_2014"
# tc_param.short_test_name = short_name
tc_param.test_start_yr = start_yr
tc_param.test_end_yr = end_yr

# Obs
tc_param.reference_data_path = (
    "/global/cfs/cdirs/e3sm/diagnostics/observations/Atm/tc-analysis/"
)
# For model vs obs, the ref start and end year can be any four digit strings
# For now, use all available years from obs by default
tc_param.ref_start_yr = "1979"
tc_param.ref_end_yr = "2018"

tc_param.save_netcdf = True
params.append(tc_param)

arm_param = ARMDiagsParameter()
arm_param.reference_data_path = (
    "/global/cfs/cdirs/e3sm/diagnostics/observations/Atm/arm-diags-data"
)
arm_param.ref_name = "armdiags"
arm_param.test_data_path = (
    "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/atm/site"
)
arm_param.test_name = short_name
arm_param.test_start_yr = start_yr
arm_param.test_end_yr = end_yr
# For model vs obs, the ref start and end year can be any four digit strings.
# For now, will use all available years form obs
arm_param.ref_start_yr = "0001"
arm_param.ref_end_yr = "0001"

arm_param.save_netcdf = True
params.append(arm_param)

# Run
runner.sets_to_run = [
    "lat_lon",
    "zonal_mean_xy",
    "zonal_mean_2d",
    "polar",
    "cosp_histogram",
    "meridional_mean_2d",
    "enso_diags",
    "qbo",
    "diurnal_cycle",
    "annual_cycle_zonal_mean",
    "streamflow",
    "zonal_mean_2d_stratosphere",
    "arm_diags",
    "tc_analysis",
    "aerosol_aeronet",
    "aerosol_budget",
    "tropical_subseasonal",
]

if __name__ == "__main__":
    runner.run_diags(params)

Relevant log output

(e3sm_diags_2_12_1) vo13@login40:~/E3SM-Project/e3sm_diags$ python auxiliary_tools/complete_run_script.py 
Traceback (most recent call last):
  File "/global/u2/v/vo13/E3SM-Project/e3sm_diags/auxiliary_tools/complete_run_script.py", line 35, in <module>
    from e3sm_diags.parameter.arm_diags_parameter import ARMDiagsParameter
  File "/global/homes/v/vo13/mambaforge/envs/e3sm_diags_2_12_1/lib/python3.10/site-packages/e3sm_diags/parameter/__init__.py", line 9, in <module>
    from .meridional_mean_2d_parameter import MeridionalMean2dParameter
  File "/global/homes/v/vo13/mambaforge/envs/e3sm_diags_2_12_1/lib/python3.10/site-packages/e3sm_diags/parameter/meridional_mean_2d_parameter.py", line 3, in <module>
    from e3sm_diags.driver.utils.general import monotonic
  File "/global/homes/v/vo13/mambaforge/envs/e3sm_diags_2_12_1/lib/python3.10/site-packages/e3sm_diags/driver/utils/__init__.py", line 1, in <module>
    from . import dataset, diurnal_cycle, general, zwf_functions
  File "/global/homes/v/vo13/mambaforge/envs/e3sm_diags_2_12_1/lib/python3.10/site-packages/e3sm_diags/driver/utils/zwf_functions.py", line 5, in <module>
    from scipy.signal import detrend
ModuleNotFoundError: No module named 'scipy'

Anything else we need to know?

I don't think we caught this because the ci.yml and dev.yml conda envs include scipy as a "Testing" dependency. E3SM Unified also most likely includes scipy as a dependency/sub-dependency.

Environment

(e3sm_diags_2_12_1) vo13@login40:~/E3SM-Project/e3sm_diags$ mamba list
# packages in environment at /global/homes/v/vo13/mambaforge/envs/e3sm_diags_2_12_1:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
attrs                     24.2.0             pyh71513ae_1    conda-forge
aws-c-auth                0.8.0               h8c8080f_14    conda-forge
aws-c-cal                 0.8.1                h0f28dba_2    conda-forge
aws-c-common              0.10.5               hb9d3cd8_0    conda-forge
aws-c-compression         0.3.0                h9cc6398_4    conda-forge
aws-c-event-stream        0.5.0               hf811eff_10    conda-forge
aws-c-http                0.9.2                hce7dc5d_3    conda-forge
aws-c-io                  0.15.3               hfd54f12_3    conda-forge
aws-c-mqtt                0.11.0              ha3c2ba9_11    conda-forge
aws-c-s3                  0.7.5                h55e9418_4    conda-forge
aws-c-sdkutils            0.2.1                h9cc6398_3    conda-forge
aws-checksums             0.2.2                h9cc6398_3    conda-forge
aws-crt-cpp               0.29.7               hed26007_5    conda-forge
aws-sdk-cpp               1.11.458             h571fd1c_3    conda-forge
azure-core-cpp            1.14.0               h5cfcd09_0    conda-forge
azure-identity-cpp        1.10.0               h113e628_0    conda-forge
azure-storage-blobs-cpp   12.13.0              h3cf044e_1    conda-forge
azure-storage-common-cpp  12.8.0               h736e048_1    conda-forge
azure-storage-files-datalake-cpp 12.12.0              ha633028_1    conda-forge
beautifulsoup4            4.12.3             pyha770c72_1    conda-forge
blosc                     1.21.6               he440d0b_1    conda-forge
bokeh                     3.6.2              pyhd8ed1ab_1    conda-forge
brotli                    1.1.0                hb9d3cd8_2    conda-forge
brotli-bin                1.1.0                hb9d3cd8_2    conda-forge
brotli-python             1.1.0           py310hf71b8c6_2    conda-forge
bzip2                     1.0.8                h4bc722e_7    conda-forge
c-ares                    1.34.3               hb9d3cd8_1    conda-forge
ca-certificates           2024.8.30            hbcca054_0    conda-forge
cartopy                   0.24.0          py310h5eaa309_0    conda-forge
cartopy_offlinedata       0.24.0             pyhd8ed1ab_0    conda-forge
cdat_info                 8.2.1              pyhd8ed1ab_2    conda-forge
cdms2                     3.1.5           py310h4f3777b_25    conda-forge
cdtime                    3.1.4           py310h7a088e3_13    conda-forge
cdutil                    8.2.1              pyhd8ed1ab_4    conda-forge
certifi                   2024.8.30          pyhd8ed1ab_0    conda-forge
cffi                      1.17.1          py310h8deb56e_0    conda-forge
cftime                    1.6.4           py310hf462985_1    conda-forge
charset-normalizer        3.4.0              pyhd8ed1ab_1    conda-forge
click                     8.1.7           unix_pyh707e725_1    conda-forge
cloudpickle               3.1.0              pyhd8ed1ab_1    conda-forge
contourpy                 1.3.1           py310h3788b33_0    conda-forge
curl                      8.10.1               hbbe4b11_0    conda-forge
cycler                    0.12.1             pyhd8ed1ab_1    conda-forge
cytoolz                   1.0.0           py310ha75aee5_1    conda-forge
dask                      2024.12.0          pyhd8ed1ab_1    conda-forge
dask-core                 2024.12.0          pyhd8ed1ab_1    conda-forge
dask-expr                 1.1.20             pyhd8ed1ab_1    conda-forge
distarray                 2.12.2             pyh050c7b8_4    conda-forge
distributed               2024.12.0          pyhd8ed1ab_1    conda-forge
e3sm_diags                2.12.1             pyhff2d567_0    conda-forge
esmf                      8.7.0           nompi_h6063b07_1    conda-forge
esmpy                     8.7.0              pyhecae5ae_0    conda-forge
fonttools                 4.55.2          py310h89163eb_0    conda-forge
freeglut                  3.2.2                ha6d2627_3    conda-forge
freetype                  2.12.1               h267a509_2    conda-forge
fsspec                    2024.10.0          pyhd8ed1ab_1    conda-forge
future                    1.0.0              pyhd8ed1ab_1    conda-forge
g2clib                    1.9.0                ha770c72_1    conda-forge
genutil                   8.2.1           py310h21aefe9_5    conda-forge
geos                      3.13.0               h5888daf_0    conda-forge
gflags                    2.2.2             h5888daf_1005    conda-forge
glog                      0.7.1                hbabe93e_0    conda-forge
h2                        4.1.0              pyhd8ed1ab_1    conda-forge
hdf4                      4.2.15               h2a13503_7    conda-forge
hdf5                      1.14.4          nompi_h2d575fe_105    conda-forge
hpack                     4.0.0              pyhd8ed1ab_1    conda-forge
hyperframe                6.0.1              pyhd8ed1ab_1    conda-forge
idna                      3.10               pyhd8ed1ab_1    conda-forge
importlib-metadata        8.5.0              pyha770c72_1    conda-forge
importlib_resources       6.4.5              pyhd8ed1ab_1    conda-forge
jasper                    4.2.4                h536e39c_0    conda-forge
jinja2                    3.1.4              pyhd8ed1ab_1    conda-forge
jsonschema                4.23.0             pyhd8ed1ab_1    conda-forge
jsonschema-specifications 2024.10.1          pyhd8ed1ab_1    conda-forge
jupyter_core              5.7.2              pyh31011fe_1    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
kiwisolver                1.4.7           py310h3788b33_0    conda-forge
krb5                      1.21.3               h659f571_0    conda-forge
lazy-object-proxy         1.10.0          py310h2372a71_0    conda-forge
lcms2                     2.16                 hb7c19ff_0    conda-forge
ld_impl_linux-64          2.43                 h712a8e2_2    conda-forge
lerc                      4.0.0                h27087fc_0    conda-forge
libabseil                 20240722.0      cxx17_h5888daf_1    conda-forge
libaec                    1.1.3                h59595ed_0    conda-forge
libarrow                  18.1.0           h44a453e_6_cpu    conda-forge
libarrow-acero            18.1.0           hcb10f89_6_cpu    conda-forge
libarrow-dataset          18.1.0           hcb10f89_6_cpu    conda-forge
libarrow-substrait        18.1.0           h3ee7192_6_cpu    conda-forge
libblas                   3.9.0           25_linux64_openblas    conda-forge
libbrotlicommon           1.1.0                hb9d3cd8_2    conda-forge
libbrotlidec              1.1.0                hb9d3cd8_2    conda-forge
libbrotlienc              1.1.0                hb9d3cd8_2    conda-forge
libcblas                  3.9.0           25_linux64_openblas    conda-forge
libcdms                   3.1.2              had6e27f_131    conda-forge
libcf                     1.0.3           py310h1588dd5_117    conda-forge
libcrc32c                 1.1.2                h9c3ff4c_0    conda-forge
libcurl                   8.10.1               hbbe4b11_0    conda-forge
libdeflate                1.22                 hb9d3cd8_0    conda-forge
libdrm                    2.4.124              hb9d3cd8_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libegl                    1.7.0                ha4b6fd6_2    conda-forge
libev                     4.33                 hd590300_2    conda-forge
libevent                  2.1.12               hf998b51_1    conda-forge
libexpat                  2.6.4                h5888daf_0    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc                    14.2.0               h77fa898_1    conda-forge
libgcc-ng                 14.2.0               h69a702a_1    conda-forge
libgfortran               14.2.0               h69a702a_1    conda-forge
libgfortran-ng            14.2.0               h69a702a_1    conda-forge
libgfortran5              14.2.0               hd5240d6_1    conda-forge
libgl                     1.7.0                ha4b6fd6_2    conda-forge
libglu                    9.0.3                h03adeef_0    conda-forge
libglvnd                  1.7.0                ha4b6fd6_2    conda-forge
libglx                    1.7.0                ha4b6fd6_2    conda-forge
libgomp                   14.2.0               h77fa898_1    conda-forge
libgoogle-cloud           2.32.0               h804f50b_0    conda-forge
libgoogle-cloud-storage   2.32.0               h0121fbd_0    conda-forge
libgrpc                   1.67.1               hc2c308b_0    conda-forge
libiconv                  1.17                 hd590300_2    conda-forge
libjpeg-turbo             3.0.0                hd590300_1    conda-forge
liblapack                 3.9.0           25_linux64_openblas    conda-forge
liblzma                   5.6.3                hb9d3cd8_1    conda-forge
libnetcdf                 4.9.2           nompi_h5ddbaa4_116    conda-forge
libnghttp2                1.64.0               h161d5f1_0    conda-forge
libnsl                    2.0.1                hd590300_0    conda-forge
libopenblas               0.3.28          pthreads_h94d23a6_1    conda-forge
libparquet                18.1.0           h081d1f1_6_cpu    conda-forge
libpciaccess              0.18                 hd590300_0    conda-forge
libpng                    1.6.44               hadc24fc_0    conda-forge
libprotobuf               5.28.2               h5b01275_0    conda-forge
libre2-11                 2024.07.02           hbbce691_1    conda-forge
libsqlite                 3.47.2               hee588c1_0    conda-forge
libssh2                   1.11.1               hf672d98_0    conda-forge
libstdcxx                 14.2.0               hc0a3c3a_1    conda-forge
libstdcxx-ng              14.2.0               h4852527_1    conda-forge
libthrift                 0.21.0               h0e7cc3e_0    conda-forge
libtiff                   4.7.0                hc4654cb_2    conda-forge
libudunits2               2.2.28               h40f5838_3    conda-forge
libutf8proc               2.9.0                hb9d3cd8_1    conda-forge
libuuid                   2.38.1               h0b41bf4_0    conda-forge
libwebp-base              1.4.0                hd590300_0    conda-forge
libxcb                    1.17.0               h8a09558_0    conda-forge
libxcrypt                 4.4.36               hd590300_1    conda-forge
libxml2                   2.13.5               h0d44e9d_1    conda-forge
libxslt                   1.1.39               h76b75d6_0    conda-forge
libzip                    1.11.2               h6991a6a_0    conda-forge
libzlib                   1.3.1                hb9d3cd8_2    conda-forge
locket                    1.0.0              pyhd8ed1ab_0    conda-forge
lxml                      5.3.0           py310h6ee67d5_2    conda-forge
lz4                       4.3.3           py310h80b8a69_2    conda-forge
lz4-c                     1.10.0               h5888daf_1    conda-forge
mache                     1.27.0             pyhff2d567_0    conda-forge
markupsafe                3.0.2           py310h89163eb_1    conda-forge
matplotlib-base           3.9.3           py310h68603db_0    conda-forge
msgpack-python            1.1.0           py310h3788b33_0    conda-forge
munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
nbformat                  5.10.4             pyhd8ed1ab_1    conda-forge
nceplibs-g2c              1.9.0                ha39ef1c_1    conda-forge
ncurses                   6.5                  he02047a_1    conda-forge
netcdf-fortran            4.6.1           nompi_ha5d1325_108    conda-forge
netcdf4                   1.7.2           nompi_py310h5146f0f_101    conda-forge
numpy                     2.2.0           py310h5851e9f_0    conda-forge
openblas                  0.3.28          pthreads_h6ec200e_1    conda-forge
openjpeg                  2.5.3                h5fbd93e_0    conda-forge
openssl                   3.4.0                hb9d3cd8_0    conda-forge
orc                       2.0.3                h97ab989_1    conda-forge
output_viewer             1.3.3              pyhd8ed1ab_1    conda-forge
packaging                 24.2               pyhd8ed1ab_2    conda-forge
pandas                    2.2.3           py310h5eaa309_1    conda-forge
partd                     1.4.2              pyhd8ed1ab_0    conda-forge
pillow                    11.0.0          py310hfeaa1f3_0    conda-forge
pip                       24.3.1             pyh8b19718_0    conda-forge
pkgutil-resolve-name      1.3.10             pyhd8ed1ab_2    conda-forge
platformdirs              4.3.6              pyhd8ed1ab_1    conda-forge
popt                      1.16              h0b475e3_2002    conda-forge
progressbar2              4.5.0              pyhd8ed1ab_0    conda-forge
proj                      9.5.1                h0054346_0    conda-forge
psutil                    6.1.0           py310ha75aee5_0    conda-forge
pthread-stubs             0.4               hb9d3cd8_1002    conda-forge
pyarrow                   18.1.0          py310hff52083_0    conda-forge
pyarrow-core              18.1.0          py310hac404ae_0_cpu    conda-forge
pycparser                 2.22               pyh29332c3_1    conda-forge
pyparsing                 3.2.0              pyhd8ed1ab_2    conda-forge
pyproj                    3.7.0           py310h2e9f774_0    conda-forge
pyshp                     2.3.1              pyhd8ed1ab_1    conda-forge
pysocks                   1.7.1              pyha55dd90_7    conda-forge
python                    3.10.16         he725a3c_1_cpython    conda-forge
python-dateutil           2.9.0.post0        pyhff2d567_1    conda-forge
python-fastjsonschema     2.21.1             pyhd8ed1ab_0    conda-forge
python-tzdata             2024.2             pyhd8ed1ab_1    conda-forge
python-utils              3.9.1              pyhff2d567_0    conda-forge
python_abi                3.10                    5_cp310    conda-forge
pytz                      2024.1             pyhd8ed1ab_0    conda-forge
pyyaml                    6.0.2           py310ha75aee5_1    conda-forge
qhull                     2020.2               h434a139_5    conda-forge
re2                       2024.07.02           h77b4e00_1    conda-forge
readline                  8.2                  h8228510_1    conda-forge
referencing               0.35.1             pyhd8ed1ab_1    conda-forge
requests                  2.32.3             pyhd8ed1ab_1    conda-forge
rpds-py                   0.22.3          py310h505e2c1_0    conda-forge
rsync                     3.3.0                h168f954_1    conda-forge
s2n                       1.5.9                h0fd0ee4_0    conda-forge
setuptools                75.6.0             pyhff2d567_1    conda-forge
shapely                   2.0.6           py310had3dfd6_2    conda-forge
six                       1.17.0             pyhd8ed1ab_0    conda-forge
snappy                    1.2.1                h8bd8927_1    conda-forge
sortedcontainers          2.4.0              pyhd8ed1ab_0    conda-forge
soupsieve                 2.5                pyhd8ed1ab_1    conda-forge
sqlite                    3.47.2               h9eae976_0    conda-forge
tblib                     3.0.0              pyhd8ed1ab_1    conda-forge
tk                        8.6.13          noxft_h4845f30_101    conda-forge
toolz                     1.0.0              pyhd8ed1ab_1    conda-forge
tornado                   6.4.2           py310ha75aee5_0    conda-forge
traitlets                 5.14.3             pyhd8ed1ab_1    conda-forge
typing_extensions         4.12.2             pyha770c72_1    conda-forge
tzdata                    2024b                hc8b5060_0    conda-forge
unicodedata2              15.1.0          py310ha75aee5_1    conda-forge
urllib3                   2.2.3              pyhd8ed1ab_1    conda-forge
wheel                     0.45.1             pyhd8ed1ab_1    conda-forge
xarray                    2024.11.0          pyhd8ed1ab_0    conda-forge
xorg-libx11               1.8.10               h4f16b4b_1    conda-forge
xorg-libxau               1.0.11               hb9d3cd8_1    conda-forge
xorg-libxdamage           1.1.6                hb9d3cd8_0    conda-forge
xorg-libxdmcp             1.1.5                hb9d3cd8_0    conda-forge
xorg-libxext              1.3.6                hb9d3cd8_0    conda-forge
xorg-libxfixes            6.0.1                hb9d3cd8_0    conda-forge
xorg-libxi                1.8.2                hb9d3cd8_0    conda-forge
xorg-libxxf86vm           1.1.5                hb9d3cd8_4    conda-forge
xxhash                    0.8.2                hd590300_0    conda-forge
xyzservices               2024.9.0           pyhd8ed1ab_1    conda-forge
yaml                      0.2.5                h7f98852_2    conda-forge
zict                      3.0.0              pyhd8ed1ab_1    conda-forge
zipp                      3.21.0             pyhd8ed1ab_1    conda-forge
zlib                      1.3.1                hb9d3cd8_2    conda-forge
zstandard                 0.23.0          py310ha39cb0e_1    conda-forge
zstd                      1.5.6                ha6fb4c9_0    conda-forge
@tomvothecoder tomvothecoder added the bug Bug fix (will increment patch version) label Dec 10, 2024
@tomvothecoder
Copy link
Collaborator Author

@chengzhuzhang FYI

@chengzhuzhang
Copy link
Contributor

Thank you for catching this! I think I only tested with development env and missed this problem!

@tomvothecoder tomvothecoder self-assigned this Dec 10, 2024
@tomvothecoder
Copy link
Collaborator Author

@chengzhuzhang No problem! Yeah this one is easy to miss since the envs already include scipy. I will address this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bug fix (will increment patch version)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants