Tracked value pickling fix
This commit is contained in:
@@ -23,13 +23,19 @@ except ModuleNotFoundError:
|
|||||||
|
|
||||||
|
|
||||||
class TrackedValues(defaultdict):
|
class TrackedValues(defaultdict):
|
||||||
def __init__(self):
|
def __init__(self, data=None):
|
||||||
super().__init__(list)
|
super().__init__(list)
|
||||||
|
|
||||||
def append(self, d: dict[str, Any]):
|
def append(self, d: dict[str, Any]):
|
||||||
for k, v in d.items():
|
for k, v in d.items():
|
||||||
self[k].append(v)
|
self[k].append(v)
|
||||||
|
|
||||||
|
def __getstate__(self):
|
||||||
|
return self
|
||||||
|
|
||||||
|
def __setstate__(self, state):
|
||||||
|
self.update(state)
|
||||||
|
|
||||||
|
|
||||||
class RK4IP:
|
class RK4IP:
|
||||||
params: Parameters
|
params: Parameters
|
||||||
@@ -186,7 +192,7 @@ class RK4IP:
|
|||||||
|
|
||||||
new_tracked_values = integrator.all_values()
|
new_tracked_values = integrator.all_values()
|
||||||
self.logger.debug(f"tracked values at z={state.z} : {new_tracked_values}")
|
self.logger.debug(f"tracked values at z={state.z} : {new_tracked_values}")
|
||||||
self.tracked_values.append(new_tracked_values)
|
self.tracked_values.append(new_tracked_values | dict(z=state.z))
|
||||||
|
|
||||||
# Whether the current spectrum has to be stored depends on previous step
|
# Whether the current spectrum has to be stored depends on previous step
|
||||||
if store:
|
if store:
|
||||||
|
|||||||
Reference in New Issue
Block a user