Hi,
I am attempting to estimate some parameters using Match, however I have been running into a a couple of errors related to one of my inlet units when I attempt to run the parameter estimation. The model is built with Cadet and runs successfully when run with Cadet-cli, and the model file seems to be generated correctly (as far as I can tell).
The first is a type error which seems to be thrown when I don’t specify a value for col_length
, but as far as I can tell this should not be needed for the inlet unit type.
2024-11-24 14:57:04,739 loggerwriter.py write 10 length = float(unit.col_length)
2024-11-24 14:57:04,743 loggerwriter.py write 10 TypeError
2024-11-24 14:57:04,743 loggerwriter.py write 10 :
2024-11-24 14:57:04,743 loggerwriter.py write 10 float() argument must be a string or a real number, not 'Dict'
2024-11-24 14:57:04,744 util.py _exit_function 335 process shutting down
Exception ignored in: <function Pool.__del__ at 0x000001766AC17E20>
If I set an arbitrary model.root.input.model.unit_001.col_length=1
it resolves the type error but then throws a zero division error instead.
2024-11-24 15:02:08,255 loggerwriter.py write 10 CV_time = (area * length) / flow
2024-11-24 15:02:08,259 loggerwriter.py write 10 ZeroDivisionError
2024-11-24 15:02:08,260 loggerwriter.py write 10 :
2024-11-24 15:02:08,260 loggerwriter.py write 10 float division by zero
2024-11-24 15:02:08,260 util.py _exit_function 335 process shutting down
Exception ignored in: <function Pool.__del__ at 0x0000022265B07E20>
I’m trying to determine whether this is a result of my model being configured incorrectly somehow or if there is some other bug that I’m not seeing.
For reference, here is my Cadet model, Match json config, and environment.yaml.
# LOAD CADET AND OTHER PACKAGES:
import numpy as np
import matplotlib.pyplot as plt
from cadet import Cadet
import datetime
import os
# SET CADET PATH:
Cadet.cadet_path = os.environ['CADET_PATH'] # Using environment variable here instead
# CREATE START TIMER:
start_time = datetime.datetime.now()
print(" ")
print("Start Time: ", start_time)
# COLUMN PARAMETERS:
Column_Length = 0.1450
Column_Diameter = 0.0254
Column_Porosity = 0.35
Axial_Dispersion = 1.5e-6
Radial_Dispersion = 1.0e-10
# ADSORBENT PARAMETERS:
Particle_Porosity = 0.50
Particle_Diameter = [100.0e-6, 200.0e-6, 300.0e-6, 400.0e-6, 500.0e-6]
Particle_Distribution = [0.30, 0.20, 0.20, 0.20, 0.10]
Film_Diffusion = [1.0e-4, 3.0e-4]
Particle_Diffusion = [1.0e-11, 3.0e-11]
Surface_Diffusion = [1.0e-12, 3.0e-12]
# BINDING PARAMETERS
Is_Kinetic = [1]
Sorbent_Ka = [17, 1]
Sorbent_Kd = [10, 1]
Sorbent_Max_Capacity = [15, 1]
Sorbent_Beta = [-0.030, 0]
Sorbent_Gamma = [0.070, 0]
Chemical_Binding = [1, 1]
Element_Comp_Mode = [2, 0]
# CHEMICAL PARAMETERS:
Chemical_Components = 2
Inlet_Adsorb_Conc = [0.4400, 56.0000]
Inlet_Desorb_Conc = [0.1000, 0.0001]
# INITIAL CONCENTRATIONS:
Initial_Fluid_Concentration = [0.4400, 56.0000]
Initial_Capacity = [0.001, 0.001]
Initial_Particle_Concentration = [0.4400, 56.0000]
# PROCESS PARAMETERS:
Cycles = 2
Cycle_Time = 10000
Adsorb_Flow_Rate = 1.36667e-7
Desorb_Flow_Rate = 1.36667e-7
# SIMULATION PARAMETERS:
Axial_Disc = 20
Rad_Disc = 20
Computation_Threads = 24
# MODEL SETUP:
model = Cadet()
model.root.input.model.nunits = 6
# MODEL INLET 1 (UNIT 000)
model.root.input.model.unit_000.unit_type = 'INLET'
model.root.input.model.unit_000.ncomp = Chemical_Components
model.root.input.model.unit_000.inlet_type = 'PIECEWISE_CUBIC_POLY'
model.root.input.model.unit_000.sec_000.const_coeff = Inlet_Adsorb_Conc
# MODEL INLET 2 (UNIT 001)
model.root.input.model.unit_001.unit_type = 'INLET'
model.root.input.model.unit_001.ncomp = Chemical_Components
model.root.input.model.unit_001.inlet_type = 'PIECEWISE_CUBIC_POLY'
model.root.input.model.unit_001.sec_000.const_coeff = Inlet_Desorb_Conc
# model.root.input.model.unit_001.col_length = 1 # Arbitrary col_length added to avoid error
# COLUMN GRM2D (UNIT 002)
model.root.input.model.unit_002.unit_type = 'GENERAL_RATE_MODEL_2D'
model.root.input.model.unit_002.par_type_volfrac = Particle_Distribution
model.root.input.model.unit_002.ncomp = Chemical_Components
model.root.input.model.unit_002.col_length = Column_Length
model.root.input.model.unit_002.col_radius = np.divide(Column_Diameter, 2)
model.root.input.model.unit_002.velocity = 1
model.root.input.model.unit_002.col_porosity = Column_Porosity
model.root.input.model.unit_002.par_porosity = Particle_Porosity
model.root.input.model.unit_002.par_radius = np.divide(Particle_Diameter, 2)
# COLUMN GRM2D (UNIT 002)
model.root.input.model.unit_002.col_dispersion = Axial_Dispersion
model.root.input.model.unit_002.col_dispersion_radial = Radial_Dispersion
model.root.input.model.unit_002.film_diffusion = Film_Diffusion
model.root.input.model.unit_002.par_diffusion = Particle_Diffusion
model.root.input.model.unit_002.par_surfdiffusion = Surface_Diffusion
# COLUMN GRM2D (UNIT 002)
model.root.input.model.unit_002.adsorption_model = 'EXTENDED_MOBILE_PHASE_MODULATOR'
model.root.input.model.unit_002.adsorption.is_kinetic = Is_Kinetic
model.root.input.model.unit_002.adsorption.empm_comp_mode = Element_Comp_Mode
model.root.input.model.unit_002.adsorption.empm_ka = Sorbent_Ka
model.root.input.model.unit_002.adsorption.empm_kd = Sorbent_Kd
model.root.input.model.unit_002.adsorption.empm_qmax = Sorbent_Max_Capacity
model.root.input.model.unit_002.adsorption.empm_beta = Sorbent_Beta
model.root.input.model.unit_002.adsorption.empm_gamma = Sorbent_Gamma
# COLUMN GRM2D (UNIT 002)
model.root.input.model.unit_002.init_c = Initial_Fluid_Concentration
model.root.input.model.unit_002.init_q = Initial_Capacity
model.root.input.model.unit_002.init_cp = Initial_Particle_Concentration
# MAIN OUTLET (UNIT 003)
model.root.input.model.unit_003.unit_type = 'OUTLET'
model.root.input.model.unit_003.ncomp = Chemical_Components
# INLET TUBING (UNIT 004)
model.root.input.model.unit_004.unit_type = 'LUMPED_RATE_MODEL_WITHOUT_PORES'
model.root.input.model.unit_004.ncomp = Chemical_Components
model.root.input.model.unit_004.col_dispersion = Axial_Dispersion
model.root.input.model.unit_004.col_length = 1.200
model.root.input.model.unit_004.cross_section_area = 7.9000e-6
model.root.input.model.unit_004.total_porosity = 1.0
model.root.input.model.unit_004.init_q = [0, 0]
model.root.input.model.unit_004.init_c = [0.4400, 56.0000]
# OUTLET TUBING (UNIT 005)
model.root.input.model.unit_005.unit_type = 'LUMPED_RATE_MODEL_WITHOUT_PORES'
model.root.input.model.unit_005.ncomp = Chemical_Components
model.root.input.model.unit_005.col_dispersion = Axial_Dispersion
model.root.input.model.unit_005.col_length = 0.200
model.root.input.model.unit_005.cross_section_area = 7.9000e-6
model.root.input.model.unit_005.total_porosity = 1.0
model.root.input.model.unit_005.init_q = [0, 0]
model.root.input.model.unit_005.init_c = [0.4400, 56.0000]
# COLUMN HEAD SPACE (UNIT 006)
model.root.input.model.unit_006.unit_type = 'LUMPED_RATE_MODEL_WITHOUT_PORES'
model.root.input.model.unit_006.ncomp = Chemical_Components
model.root.input.model.unit_006.col_dispersion = Axial_Dispersion
model.root.input.model.unit_006.col_length = 0.005
model.root.input.model.unit_006.cross_section_area = 5.0645e-4
model.root.input.model.unit_006.total_porosity = 0.8
model.root.input.model.unit_006.init_q = [0, 0]
model.root.input.model.unit_006.init_c = [0.4400, 56.0000]
# CREATE CYCLE TIMINGS:
model.root.input.solver.sections.nsec = Cycles*2
model.root.input.solver.sections.section_times = [0]
for i in range(Cycles*2):
model.root.input.solver.sections.section_times.append(Cycle_Time*(i+1))
model.root.input.solver.user_solution_times = np.linspace(0, Cycle_Time*(i+1), Cycle_Time*(i+1)+1)
# CREATE SYSTEM CONNECTIVITY:
model.root.input.model.connections.nswitches = 2
model.root.input.model.connections.switch_000.connections.include.ports = 0
model.root.input.model.connections.switch_000.section = 0
model.root.input.model.connections.switch_000.connections = [
0, 4, -1, -1, Adsorb_Flow_Rate,
4, 6, -1, -1, Adsorb_Flow_Rate,
6, 2, -1, -1, Adsorb_Flow_Rate,
2, 5, -1, -1, Adsorb_Flow_Rate,
5, 3, -1, -1, Adsorb_Flow_Rate
]
model.root.input.model.connections.switch_001.connections.include.ports = 0
model.root.input.model.connections.switch_001.section = 1
model.root.input.model.connections.switch_001.connections = [
1, 4, -1, -1, Desorb_Flow_Rate,
4, 6, -1, -1, Desorb_Flow_Rate,
6, 2, -1, -1, Desorb_Flow_Rate,
2, 5, -1, -1, Desorb_Flow_Rate,
5, 3, -1, -1, Desorb_Flow_Rate
]
# SET DESCRITIZATIONS (UNIT 002):
model.root.input.model.unit_002.discretization.ncol = Axial_Disc
model.root.input.model.unit_002.discretization.nrad = 1
model.root.input.model.unit_002.discretization.npar = [Rad_Disc, Rad_Disc, Rad_Disc, Rad_Disc, Rad_Disc]
model.root.input.model.unit_002.discretization.par_geom = 'SPHERE'
model.root.input.model.unit_002.discretization.radial_disc_type = 'EQUIVOLUME'
model.root.input.model.unit_002.discretization.nbound = Chemical_Binding
# SET DESCRITIZATIONS (UNIT 002):
model.root.input.model.unit_002.discretization.par_disc_type = 'EQUIDISTANT_PAR'
model.root.input.model.unit_002.discretization.use_analytic_jacobian = 1
model.root.input.model.unit_002.discretization.reconstruction = 'WENO'
model.root.input.model.unit_002.discretization.gs_type = 1
model.root.input.model.unit_002.discretization.max_krylov = 0
model.root.input.model.unit_002.discretization.max_restarts = 10
model.root.input.model.unit_002.discretization.schur_safety = 1.0e-8
model.root.input.model.unit_002.discretization.weno.boundary_model = 0
model.root.input.model.unit_002.discretization.weno.weno_eps = 1e-10
model.root.input.model.unit_002.discretization.weno.weno_order = 3
# ASSIGN DESCRITIZATIONS TO ALL UNITS:
model.root.input.model.unit_004.discretization = model.root.input.model.unit_002.discretization
model.root.input.model.unit_005.discretization = model.root.input.model.unit_002.discretization
model.root.input.model.unit_006.discretization = model.root.input.model.unit_002.discretization
# ASSIGN SOLVER PARAMETERS:
model.root.input.model.solver.gs_type = 1
model.root.input.model.solver.max_krylov = 0
model.root.input.model.solver.max_restarts = 10
model.root.input.model.solver.schur_safety = 1e-8
model.root.input.solver.nthreads = Computation_Threads
# SET TIME INTEGRATORS:
model.root.input.solver.time_integrator.abstol = 1e-6
model.root.input.solver.time_integrator.algtol = 1e-10
model.root.input.solver.time_integrator.reltol = 1e-6
model.root.input.solver.time_integrator.init_step_size = 1e-6
model.root.input.solver.time_integrator.max_steps = 1000000
# SET RETURN DATA:
model.root.input['return'].split_components_data = 1
model.root.input['return'].split_ports_data = 0
model.root.input['return'].unit_000.write_solution_bulk = 0
model.root.input['return'].unit_000.write_solution_inlet = 1
model.root.input['return'].unit_000.write_solution_outlet = 1
model.root.input['return'].unit_000.write_solution_volume = 0
model.root.input['return'].unit_000.write_soldot_volume = 0
model.root.input['return'].unit_000.write_solution_particle = 0
# COPY FOR ALL UNITS:
model.root.input['return'].unit_000 = model.root.input['return'].unit_000
model.root.input['return'].unit_001 = model.root.input['return'].unit_000
model.root.input['return'].unit_002 = model.root.input['return'].unit_000
model.root.input['return'].unit_003 = model.root.input['return'].unit_000
model.root.input['return'].unit_004 = model.root.input['return'].unit_000
model.root.input['return'].unit_005 = model.root.input['return'].unit_000
model.root.input['return'].unit_006 = model.root.input['return'].unit_000
# SAVE MODEL:
model.filename = 'model.h5'
model.save()
# RUN MODEL:
data = model.run()
if data.return_code == 0:
print("Simulation completed successfully.")
model.load()
else:
print(data)
raise Exception("Simulation failed.")
{
"resultsDir": "./results",
"CADETPath": "C:/Users/<USER>/miniconda3/envs/cadet-dev/bin/cadet-cli.exe",
"population": 20,
"searchMethod": "UNSGA3",
"parameters": [
{
"name": "col_dispersion",
"min": 1e-7 ,
"max": 1e-5,
"location": "/input/model/unit_002/COL_DISPERSION",
"component": -1,
"bound": -1,
"transform": "auto"
},
{
"name": "empm_kd",
"min": 0.1,
"max": 50.0,
"location": "/input/model/unit_002/adsorption/EMPM_KD",
"component": -1,
"bound": -1,
"transform": "auto"
}
],
"settings": {
"solver": {
"max_iter": 300,
"tolerance": 1e-6,
"nthreads": 20
}
},
"experiments": [
{
"name": "adsorption_process",
"HDF5": "./model.h5",
"csv": "./experimental_data.csv",
"output_path" : "output/solution/unit_002/SOLUTION_OUTLET_COMP_000",
"scores": [
{
"name": "main_feature",
"type": "Shape"
}
]
}
]
}
name: cadet-dev
channels:
- conda-forge
- anaconda-fusion
- defaults
dependencies:
- aiohappyeyeballs=2.4.0=py311haa95532_0
- aiohttp=3.10.5=py311h827c3e9_0
- aiosignal=1.2.0=pyhd3eb1b0_0
- alabaster=0.7.16=py311haa95532_0
- arrow=1.3.0=py311haa95532_0
- astroid=3.2.4=py311haa95532_0
- asttokens=2.0.5=pyhd3eb1b0_0
- asyncssh=2.17.0=py311haa95532_0
- atomicwrites=1.4.0=py_0
- attrs=24.2.0=py311haa95532_0
- autopep8=2.0.4=pyhd3eb1b0_0
- babel=2.11.0=py311haa95532_0
- beautifulsoup4=4.12.3=py311haa95532_0
- binaryornot=0.4.4=pyhd3eb1b0_1
- black=24.8.0=py311haa95532_0
- bleach=4.1.0=pyhd3eb1b0_0
- brotli-python=1.0.9=py311hd77b12b_8
- bzip2=1.0.8=h2bbff1b_6
- ca-certificates=2024.9.24=haa95532_0
- cadet=5.0.1=h6c8fd53_0
- certifi=2024.8.30=py311haa95532_0
- cffi=1.17.1=py311h827c3e9_0
- chardet=4.0.0=py311haa95532_1003
- charset-normalizer=3.3.2=pyhd3eb1b0_0
- click=8.1.7=py311haa95532_0
- cloudpickle=3.0.0=py311haa95532_0
- colorama=0.4.6=py311haa95532_0
- comm=0.2.1=py311haa95532_0
- cookiecutter=2.6.0=py311haa95532_0
- cryptography=43.0.3=py311h89fc84f_0
- debugpy=1.6.7=py311hd77b12b_0
- decorator=5.1.1=pyhd3eb1b0_0
- defusedxml=0.7.1=pyhd3eb1b0_0
- deprecated=1.2.15=pyhff2d567_0
- diff-match-patch=20200713=pyhd3eb1b0_0
- dill=0.3.9=pyhd8ed1ab_0
- docstring-to-markdown=0.11=py311haa95532_0
- docutils=0.18.1=py311haa95532_3
- executing=0.8.3=pyhd3eb1b0_0
- flake8=7.1.1=py311haa95532_0
- frozenlist=1.5.0=py311h827c3e9_0
- glib=2.82.2=h7025463_0
- glib-tools=2.82.2=h4394cf3_0
- gst-plugins-base=1.24.7=hb0a98b8_0
- gstreamer=1.24.7=h5006eae_0
- hdf5=1.14.4=nompi_hd5d9e70_103
- icu=75.1=he0c23c2_0
- idna=3.7=py311haa95532_0
- imagesize=1.4.1=py311haa95532_0
- importlib-metadata=7.0.1=py311haa95532_0
- importlib_metadata=7.0.1=hd3eb1b0_0
- inflection=0.5.1=py311haa95532_0
- intel-openmp=2024.2.1=h57928b3_1083
- intervaltree=3.1.0=pyhd3eb1b0_0
- ipykernel=6.29.5=py311haa95532_0
- ipython=8.27.0=py311haa95532_0
- isort=5.13.2=py311haa95532_0
- jaraco.classes=3.2.1=pyhd3eb1b0_0
- jedi=0.19.1=py311haa95532_0
- jellyfish=1.0.1=py311h36a85e1_0
- jinja2=3.1.4=py311haa95532_1
- jsonschema=4.23.0=py311haa95532_0
- jsonschema-specifications=2023.7.1=py311haa95532_0
- jupyter_client=8.6.0=py311haa95532_0
- jupyter_core=5.7.2=py311haa95532_0
- jupyterlab_pygments=0.2.2=py311haa95532_0
- keyring=24.3.1=py311haa95532_0
- krb5=1.21.3=hdf4eb48_0
- libaec=1.1.3=h63175ca_0
- libblas=3.9.0=25_win64_mkl
- libcblas=3.9.0=25_win64_mkl
- libclang13=19.1.3=default_ha5278ca_0
- libcurl=8.10.1=h1ee3ff0_0
- libexpat=2.6.4=he0c23c2_0
- libffi=3.4.4=hd77b12b_1
- libflang=5.0.0=h6538335_20180525
- libglib=2.82.2=h7025463_0
- libhwloc=2.11.1=default_h8125262_1000
- libiconv=1.17=hcfcfb64_2
- libintl=0.22.5=h5728263_3
- libintl-devel=0.22.5=h5728263_3
- libjpeg-turbo=3.0.3=h827c3e9_0
- liblapack=3.9.0=25_win64_mkl
- libogg=1.3.5=h2bbff1b_1
- libpng=1.6.44=h3ca93ac_0
- libsodium=1.0.18=h62dcd97_0
- libspatialindex=1.9.3=h6c2663c_0
- libsqlite=3.47.0=h2466b09_1
- libssh2=1.11.0=h7dfc565_0
- libvorbis=1.3.7=he774522_0
- libxml2=2.13.5=h442d1da_0
- libzlib=1.3.1=h2466b09_2
- llvm-meta=5.0.0=0
- markdown-it-py=2.2.0=py311haa95532_1
- markupsafe=2.1.3=py311h2bbff1b_0
- matplotlib-inline=0.1.7=pyhd8ed1ab_0
- mccabe=0.7.0=pyhd3eb1b0_0
- mdurl=0.1.0=py311haa95532_0
- metis=5.1.0=h17e2fc9_1007
- mistune=2.0.4=py311haa95532_0
- mkl=2024.2.2=h66d3029_14
- more-itertools=10.3.0=py311haa95532_0
- multidict=6.1.0=py311h827c3e9_0
- mypy_extensions=1.0.0=py311haa95532_0
- nbclient=0.8.0=py311haa95532_0
- nbconvert=7.16.4=py311haa95532_0
- nbformat=5.10.4=py311haa95532_0
- nest-asyncio=1.6.0=py311haa95532_0
- numpydoc=1.7.0=py311haa95532_0
- openmp=5.0.0=vc14_1
- openssl=3.4.0=h2466b09_0
- packaging=24.2=pyhff2d567_1
- pandocfilters=1.5.0=pyhd3eb1b0_0
- parso=0.8.3=pyhd3eb1b0_0
- pathspec=0.10.3=py311haa95532_0
- pcre2=10.44=h3d7b363_2
- pexpect=4.8.0=pyhd3eb1b0_3
- pickleshare=0.7.5=pyhd3eb1b0_1003
- pip=24.2=py311haa95532_0
- platformdirs=3.10.0=py311haa95532_0
- pluggy=1.0.0=py311haa95532_1
- ply=3.11=py311haa95532_0
- powershell_shortcut=0.0.1=haa95532_4
- prompt-toolkit=3.0.43=py311haa95532_0
- prompt_toolkit=3.0.43=hd3eb1b0_0
- psutil=6.1.0=py311he736701_0
- pthreads-win32=2.9.1=h2466b09_4
- ptyprocess=0.7.0=pyhd3eb1b0_2
- pure_eval=0.2.2=pyhd3eb1b0_0
- pycodestyle=2.12.1=py311haa95532_0
- pycparser=2.21=pyhd3eb1b0_0
- pydocstyle=6.3.0=py311haa95532_0
- pyflakes=3.2.0=py311haa95532_0
- pygithub=2.4.0=py311haa95532_0
- pygments=2.15.1=py311haa95532_1
- pyjwt=2.9.0=py311haa95532_0
- pylint=3.2.7=py311haa95532_0
- pylint-venv=3.0.3=py311haa95532_0
- pyls-spyder=0.4.0=pyhd3eb1b0_0
- pynacl=1.5.0=py311h8cc25b3_0
- pyqt=5.15.10=py311hd77b12b_0
- pyqt5-sip=12.13.0=py311h2bbff1b_0
- pyqtwebengine=5.15.10=py311hd77b12b_0
- pysocks=1.7.1=py311haa95532_0
- python=3.11.10=hce54a09_3_cpython
- python-dateutil=2.9.0post0=py311haa95532_2
- python-fastjsonschema=2.20.0=py311haa95532_0
- python-lsp-black=2.0.0=py311haa95532_0
- python-lsp-jsonrpc=1.1.2=pyhd3eb1b0_0
- python-lsp-server=1.12.0=py311h746a85d_0
- python-slugify=5.0.2=pyhd3eb1b0_0
- python_abi=3.11=5_cp311
- pytoolconfig=1.2.6=py311haa95532_0
- pytz=2024.2=pyhd8ed1ab_0
- pyuca=1.2=py311haa95532_1
- pywin32=305=py311h2bbff1b_0
- pywin32-ctypes=0.2.2=py311haa95532_0
- pyyaml=6.0.2=py311h827c3e9_0
- pyzmq=25.1.2=py311hd77b12b_0
- qdarkstyle=3.2.3=pyhd3eb1b0_0
- qstylizer=0.2.2=py311haa95532_0
- qt-main=5.15.15=h264fbc2_0
- qt-webengine=5.15.9=h5bd16bc_7
- qtawesome=1.3.1=py311haa95532_0
- qtconsole=5.6.0=py311haa95532_0
- qtpy=2.4.1=py311haa95532_0
- referencing=0.30.2=py311haa95532_0
- requests=2.32.3=py311haa95532_1
- rich=13.7.1=py311haa95532_0
- rope=1.12.0=py311haa95532_0
- rpds-py=0.10.6=py311h062c2fa_0
- rtree=1.0.1=py311h2eaa2aa_0
- setuptools=75.1.0=py311haa95532_0
- sip=6.7.12=py311hd77b12b_0
- six=1.16.0=pyhd3eb1b0_1
- snowballstemmer=2.2.0=pyhd3eb1b0_0
- sortedcontainers=2.4.0=pyhd3eb1b0_0
- soupsieve=2.5=py311haa95532_0
- sphinx=7.3.7=py311h827c3e9_0
- sphinxcontrib-applehelp=1.0.2=pyhd3eb1b0_0
- sphinxcontrib-devhelp=1.0.2=pyhd3eb1b0_0
- sphinxcontrib-htmlhelp=2.0.0=pyhd3eb1b0_0
- sphinxcontrib-jsmath=1.0.1=pyhd3eb1b0_0
- sphinxcontrib-qthelp=1.0.3=pyhd3eb1b0_0
- sphinxcontrib-serializinghtml=1.1.10=py311haa95532_0
- spyder=6.0.1=py311haa95532_0
- spyder-kernels=3.0.0=py311h746a85d_0
- sqlite=3.45.3=h2bbff1b_0
- stack_data=0.2.0=pyhd3eb1b0_0
- suitesparse=7.8.3=h7e725d4_1
- superqt=0.6.7=py311h746a85d_0
- tabulate=0.9.0=py311haa95532_0
- tbb=2021.13.0=hc790b64_0
- tbb-devel=2021.13.0=h053bfa6_0
- text-unidecode=1.3=pyhd3eb1b0_0
- textdistance=4.6.3=py311h746a85d_0
- three-merge=0.1.1=pyhd3eb1b0_0
- tinycss2=1.2.1=py311haa95532_0
- tk=8.6.13=h5226925_1
- tomli=2.0.1=py311haa95532_0
- tomlkit=0.13.2=py311haa95532_0
- tornado=6.4.1=py311h827c3e9_0
- traitlets=5.14.3=py311haa95532_0
- ucrt=10.0.22621.0=h57928b3_1
- ujson=5.10.0=py311h5da7b33_0
- unidecode=1.3.8=py311haa95532_0
- urllib3=2.2.3=py311haa95532_0
- vc=14.40=h2eaa2aa_1
- vc14_runtime=14.42.34433=he29a5d6_23
- vs2015_runtime=14.42.34433=hdffcdeb_23
- watchdog=4.0.1=py311haa95532_0
- wcwidth=0.2.5=pyhd3eb1b0_0
- webencodings=0.5.1=py311haa95532_1
- whatthepatch=1.0.2=py311haa95532_0
- wheel=0.44.0=py311haa95532_0
- win_inet_pton=1.1.0=py311haa95532_0
- wrapt=1.16.0=py311he736701_1
- xz=5.4.6=h8cc25b3_1
- yaml=0.2.5=he774522_0
- yapf=0.40.2=py311haa95532_0
- yarl=1.11.0=py311h827c3e9_0
- zeromq=4.3.5=hd77b12b_0
- zipp=3.20.2=py311haa95532_0
- zlib=1.3.1=h2466b09_2
- zstd=1.5.6=h0ea2cb4_0
- pip:
- about-time==4.2.1
- addict==2.3.0
- alive-progress==3.2.0
- arviz==0.20.0
- autograd==1.7.0
- betterproto==2.0.0b6
- cadet-process==0.9.1
- cadet-python==1.0.1
- cadetmatch==0.8.16
- cma==3.2.2
- contourpy==1.3.1
- corner==2.2.2
- cycler==0.12.1
- diskcache==5.6.3
- emcee==3.1.6
- et-xmlfile==2.0.0
- filelock==3.16.1
- fonttools==4.55.0
- grapheme==0.6.0
- grpclib==0.4.7
- h2==4.1.0
- h5netcdf==1.4.1
- h5py==3.12.1
- hagelkorn==1.2.3
- hopsy==1.5.2
- hpack==4.0.0
- hyperframe==6.0.1
- joblib==1.4.2
- jstyleson==0.0.2
- kiwisolver==1.4.7
- llvmlite==0.43.0
- matplotlib==3.9.2
- mcbackend==0.5.2
- mpmath==1.3.0
- multiprocess==0.70.17
- numba==0.60.0
- numpy==1.26.4
- openpyxl==3.1.5
- optlang==1.8.2
- pandas==2.2.3
- pathos==0.3.3
- pillow==11.0.0
- polyround==0.3.0
- pox==0.3.5
- ppft==1.7.6.9
- pymoo==0.6.0.1
- pyparsing==3.2.0
- salib==1.5.1
- scikit-learn==1.5.2
- scipy==1.14.1
- seaborn==0.13.2
- style==1.1.0
- swiglpk==5.0.10
- sympy==1.13.3
- threadpoolctl==3.5.0
- tqdm==4.67.0
- typing-extensions==4.12.2
- tzdata==2024.2
- update==0.0.1
- xarray==2024.10.0
- xarray-einstats==0.8.0
Any guidance on the issue would be greatly appreciated. Thanks in advanced!