changed how cont seq finds prev data dir

This commit is contained in:
Benoît Sierro
2021-07-21 11:41:06 +02:00
parent 45f08ee492
commit 1a681d8df8
2 changed files with 6 additions and 10 deletions

View File

@@ -366,11 +366,6 @@ class ContinuationParamSequence(ParamSequence):
self.prev_sim_dir = Path(prev_sim_dir) self.prev_sim_dir = Path(prev_sim_dir)
init_config = io.load_config(self.prev_sim_dir / "initial_config.toml") init_config = io.load_config(self.prev_sim_dir / "initial_config.toml")
self.prev_variable_lists = [
(set(variable_list[1:]), self.prev_sim_dir / utils.format_variable_list(variable_list))
for variable_list, _ in required_simulations(init_config)
]
new_variable_keys = set(new_config_dict.get("variable", {}).keys()) new_variable_keys = set(new_config_dict.get("variable", {}).keys())
new_config = utils.override_config(new_config_dict, init_config) new_config = utils.override_config(new_config_dict, init_config)
super().__init__(new_config) super().__init__(new_config)
@@ -412,14 +407,15 @@ class ContinuationParamSequence(ParamSequence):
ValueError ValueError
no data folder found no data folder found
""" """
new_set = set(new_variable_list[1:]) new_target = set(utils.format_variable_list(new_variable_list).split()[2:])
path_dic = defaultdict(list) path_dic = defaultdict(list)
max_in_common = 0 max_in_common = 0
for stored_set, path in self.prev_variable_lists: for data_dir in self.prev_sim_dir.glob("id*"):
in_common = stored_set & new_set candidate = set(data_dir.name.split()[2:])
in_common = candidate & new_target
num_in_common = len(in_common) num_in_common = len(in_common)
max_in_common = max(num_in_common, max_in_common) max_in_common = max(num_in_common, max_in_common)
path_dic[num_in_common].append(path) path_dic[num_in_common].append(data_dir)
return path_dic[max_in_common] return path_dic[max_in_common]

View File

@@ -315,7 +315,7 @@ class BareParams:
# root # root
name: str = Parameter(string) name: str = Parameter(string)
prev_data_dir: str = Parameter(string) prev_data_dir: str = Parameter(string)
previous_config_file:str = Parameter(string) previous_config_file: str = Parameter(string)
# # fiber # # fiber
input_transmission: float = Parameter(in_range_incl(0, 1)) input_transmission: float = Parameter(in_range_incl(0, 1))