Skip to content

Issue trying to get values from spec objects #9

@ndharms

Description

@ndharms

Hello! When I was trying to run the most current version of PyTeCK with the most current version of PyKED and with data files in the new PyKED format, I've been running into the following issue:

Warning: multiple changing variables. Using temperature.
Traceback (most recent call last):
  File "/Users/nathan/Code/OOHabstraction/comparisonTST/test_performance/test_performance.py", line 52, in <module>
    skip_validation=False
  File "/Users/nathan/Code/PyTeCK/pyteck/eval_model.py", line 291, in evaluate_model
    if ((any(['Ar' in spec.values() for case in properties.datapoints
  File "/Users/nathan/Code/PyTeCK/pyteck/eval_model.py", line 292, in <listcomp>
    for spec in case.composition]
AttributeError: 'str' object has no attribute 'values'

In addition, when I delete out the .values() text from eval_model.py, it returns the following:

multiprocessing.pool.RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/Users/nathan/anaconda/envs/pyteck/lib/python3.6/multiprocessing/pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "/Users/nathan/anaconda/envs/pyteck/lib/python3.6/multiprocessing/pool.py", line 44, in mapstar
    return list(map(*args))
  File "/Users/nathan/Code/PyTeCK/pyteck/eval_model.py", line 78, in simulation_worker
    sim.setup_case(model_file, model_spec_key, path)
  File "/Users/nathan/Code/PyTeCK/pyteck/simulation.py", line 236, in setup_case
    for spec in self.properties.composition
  File "/Users/nathan/Code/PyTeCK/pyteck/simulation.py", line 236, in <listcomp>
    for spec in self.properties.composition
TypeError: string indices must be integers
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/nathan/Code/OOHabstraction/comparisonTST/test_performance/test_performance.py", line 52, in <module>
    skip_validation=False
  File "/Users/nathan/Code/PyTeCK/pyteck/eval_model.py", line 362, in evaluate_model
    results = pool.map(simulation_worker, jobs)
  File "/Users/nathan/anaconda/envs/pyteck/lib/python3.6/multiprocessing/pool.py", line 266, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
  File "/Users/nathan/anaconda/envs/pyteck/lib/python3.6/multiprocessing/pool.py", line 644, in get
    raise self._value
TypeError: string indices must be integers

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions