mg-pso-gui 0.1.18__tar.gz → 0.1.20__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/PKG-INFO +1 -1
  2. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mg_pso_gui.egg-info/PKG-INFO +1 -1
  3. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mg_pso_gui.egg-info/SOURCES.txt +0 -1
  4. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/HomePage.py +38 -77
  5. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/GraphGenerator.py +3 -0
  6. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/PSORunner.py +39 -76
  7. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/setup.py +1 -1
  8. mg-pso-gui-0.1.18/mgpsogui/trace.json +0 -472
  9. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mg_pso_gui.egg-info/dependency_links.txt +0 -0
  10. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mg_pso_gui.egg-info/entry_points.txt +0 -0
  11. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mg_pso_gui.egg-info/requires.txt +0 -0
  12. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mg_pso_gui.egg-info/top_level.txt +0 -0
  13. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/__init__.py +0 -0
  14. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/OptionManager.py +0 -0
  15. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/PlatformTab/PlatformTab.py +0 -0
  16. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/PlatformTab/__init__.py +0 -0
  17. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/RunTab/RunTab.py +0 -0
  18. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/RunTab/__init__.py +0 -0
  19. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/BoundsEditorWindow.py +0 -0
  20. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/BoundsList.py +0 -0
  21. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/CalibrationParametersView.py +0 -0
  22. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/FunctionsList.py +0 -0
  23. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/ListParametersView.py +0 -0
  24. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/SetupTab.py +0 -0
  25. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/StaticParameterView.py +0 -0
  26. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/StepView.py +0 -0
  27. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/SetupTab/__init__.py +0 -0
  28. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/VisualizeTab/VisualizeTab.py +0 -0
  29. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/VisualizeTab/__init__.py +0 -0
  30. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/__init__.py +0 -0
  31. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/IGOW 4 Logo.png +0 -0
  32. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/collapse.png +0 -0
  33. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/down.png +0 -0
  34. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/expand.png +0 -0
  35. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/play.png +0 -0
  36. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/refresh.png +0 -0
  37. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/refresh_hd.png +0 -0
  38. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/stop.png +0 -0
  39. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/test.png +0 -0
  40. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/trash.png +0 -0
  41. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/gui/images/up.png +0 -0
  42. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/mgpsogui.py +0 -0
  43. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/start.yaml +0 -0
  44. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/CTkToolTip/__init__.py +0 -0
  45. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/CTkToolTip/ctk_tooltip.py +0 -0
  46. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/__init__.py +0 -0
  47. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/__init__.py +0 -0
  48. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/pso/__init__.py +0 -0
  49. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/pso/csip_access.py +0 -0
  50. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/pso/pso.py +0 -0
  51. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/utils/__init__.py +0 -0
  52. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/utils/plot/__init__.py +0 -0
  53. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/utils/plot/cost_steps.py +0 -0
  54. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/utils/trace_writer.py +0 -0
  55. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/mgpsogui/util/recosu/utils/utils.py +0 -0
  56. {mg-pso-gui-0.1.18 → mg-pso-gui-0.1.20}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mg-pso-gui
3
- Version: 0.1.18
3
+ Version: 0.1.20
4
4
  Summary: GUI for MG-PSO
5
5
  Author: Robert Cordingly
6
6
  Author-email: <rcording@uw.ed>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mg-pso-gui
3
- Version: 0.1.18
3
+ Version: 0.1.20
4
4
  Summary: GUI for MG-PSO
5
5
  Author: Robert Cordingly
6
6
  Author-email: <rcording@uw.ed>
@@ -8,7 +8,6 @@ mg_pso_gui.egg-info/top_level.txt
8
8
  mgpsogui/__init__.py
9
9
  mgpsogui/mgpsogui.py
10
10
  mgpsogui/start.yaml
11
- mgpsogui/trace.json
12
11
  mgpsogui/gui/HomePage.py
13
12
  mgpsogui/gui/OptionManager.py
14
13
  mgpsogui/gui/__init__.py
@@ -70,8 +70,11 @@ class App(customtkinter.CTk):
70
70
  self.data_x = [0]
71
71
  self.data_y = [0]
72
72
 
73
+ self.image_scale = 1
73
74
  self.image_width = 1280
74
75
  self.image_height = 720
76
+ self.progress_data = None
77
+ self.calibration_data = None
75
78
 
76
79
  # configure window
77
80
  self.title("CSIP PSO")
@@ -155,7 +158,7 @@ class App(customtkinter.CTk):
155
158
  play_image = customtkinter.CTkImage(Image.open(os.path.join("./images", "play.png")), size=(20, 20))
156
159
  self.run_button = customtkinter.CTkButton(self.footer_frame, text=None, width=30, image=play_image, command=self.run)
157
160
  ctt(self.run_button, delay=0.1, alpha=0.95, message="Start Calibration")
158
- self.run_button.grid(row=0, column=7, padx=(5, 5), pady=header_padding_y)
161
+ self.run_button.grid(row=0, column=7, padx=(20, 5), pady=header_padding_y)
159
162
 
160
163
  test_image = customtkinter.CTkImage(Image.open(os.path.join("./images", "test.png")), size=(20, 20))
161
164
  self.test_button = customtkinter.CTkButton(self.footer_frame, text=None, width=30, image=test_image, command=self.run)
@@ -172,7 +175,7 @@ class App(customtkinter.CTk):
172
175
  ctt(self.download_button, delay=0.1, alpha=0.95, message="Download Results")
173
176
  self.download_button.grid(row=0, column=10, padx=(5, 20), pady=header_padding_y)
174
177
 
175
- def _resize_image(self, event):
178
+ '''def _resize_image(self, event):
176
179
  self.graph_label.update_idletasks()
177
180
  new_width = self.graph_label.winfo_width()
178
181
  new_height = self.graph_label.winfo_height()
@@ -190,10 +193,7 @@ class App(customtkinter.CTk):
190
193
 
191
194
  self.graph_image = customtkinter.CTkImage(self.graph_image_obj, size=(new_width, new_height))
192
195
  self.graph_label.configure(image=self.graph_image)
193
- self.graph_label.update_idletasks()
194
-
195
- def callback_test(self, *args):
196
- print("callback_test called")
196
+ self.graph_label.update_idletasks()'''
197
197
 
198
198
  def update_graph(self, value):
199
199
  selected_graph = self.graph_selector_value.get()
@@ -205,39 +205,30 @@ class App(customtkinter.CTk):
205
205
 
206
206
  if (selected_graph == "Best Cost Stacked"):
207
207
  self.selected_graph_name = "best_cost_stacked"
208
- image_path = os.path.join(folder, self.selected_graph_name + ".png")
209
- if not os.path.exists(image_path):
210
- image_path = os.path.join("./images", "up.png")
211
- self.graph_image_obj = Image.open(image_path)
212
- self.graph_image = customtkinter.CTkImage(self.graph_image_obj, size=(self.image_width, self.image_height))
213
- self.graph_label.configure(image=self.graph_image)
214
208
  elif (selected_graph == "Best Cost by Round"):
215
209
  self.selected_graph_name = "best_cost_by_round"
216
- image_path = os.path.join(folder, self.selected_graph_name + ".png")
217
- if not os.path.exists(image_path):
218
- image_path = os.path.join("./images", "up.png")
219
- self.graph_image_obj = Image.open(image_path)
220
- self.graph_image = customtkinter.CTkImage(self.graph_image_obj, size=(self.image_width, self.image_height))
221
- self.graph_label.configure(image=self.graph_image)
222
210
  elif (selected_graph == "Iteration Table"):
223
211
  self.selected_graph_name = "table"
224
- image_path = os.path.join(folder, self.selected_graph_name + ".png")
225
- if not os.path.exists(image_path):
226
- image_path = os.path.join("./images", "up.png")
227
- self.graph_image_obj = Image.open(image_path)
228
- self.graph_image = customtkinter.CTkImage(self.graph_image_obj, size=(self.image_width, self.image_height))
229
- self.graph_label.configure(image=self.graph_image)
230
212
  elif (selected_graph == "Calibrated Parameters"):
231
213
  self.selected_graph_name = "calibrated_params_by_round"
232
- image_path = os.path.join(folder, self.selected_graph_name + ".png")
233
- if not os.path.exists(image_path):
234
- image_path = os.path.join("./images", "up.png")
235
- self.graph_image_obj = Image.open(image_path)
236
- self.graph_image = customtkinter.CTkImage(self.graph_image_obj, size=(self.image_width, self.image_height))
237
- self.graph_label.configure(image=self.graph_image)
214
+
215
+ image_path = os.path.join(folder, self.selected_graph_name + ".png")
216
+ if not os.path.exists(image_path):
217
+ image_path = os.path.join("./images", "up.png")
218
+ self.graph_image_obj = Image.open(image_path)
219
+ self.graph_image = customtkinter.CTkImage(self.graph_image_obj, size=(self.image_width * self.image_scale, self.image_height * self.image_scale))
220
+ self.graph_label.configure(image=self.graph_image)
238
221
 
239
222
  def save_project(self):
240
223
  metrics = self.option_manager.get_metrics()
224
+
225
+ # Add the calibration_progress dataframe to the json
226
+ if (self.progress_data is not None):
227
+ metrics["calibration_progress"] = self.progress_data.to_json()
228
+ # Add the calibration_data to the json
229
+ if (self.calibration_data is not None):
230
+ metrics["calibration_data"] = self.calibration_data
231
+
241
232
  filename = asksaveasfilename(filetypes=[("JSON", "*.json")], initialfile="config", defaultextension="json", title="Save Project")
242
233
 
243
234
  try:
@@ -276,6 +267,13 @@ class App(customtkinter.CTk):
276
267
  if "service_parameters" in metrics:
277
268
  self.option_manager.set_service_parameters(metrics["service_parameters"])
278
269
  self.tabview.configure(state="enabled")
270
+
271
+ if "calibration_progress" in metrics:
272
+ self.progress_data = pd.read_json(metrics["calibration_progress"])
273
+ self.calibration_data = metrics["calibration_data"]
274
+
275
+ if "calibration_data" in metrics:
276
+ self.calibration_data = metrics["calibration_data"]
279
277
 
280
278
  print(metrics)
281
279
 
@@ -493,9 +491,11 @@ class App(customtkinter.CTk):
493
491
  best_particle_values = [ast.literal_eval(i) for i in best_particle_values]
494
492
  progress_values = [tuple(map(float, i)) for i in progress_values]
495
493
 
496
- print("Current params: " + str(calibrated_params), flush=True)
494
+ #print("Current params: " + str(calibrated_params), flush=True)
495
+
496
+ self.calibration_data = calibrated_params
497
497
 
498
- GraphGenerator.calibrated_params_by_round(self.running_config['steps'], calibrated_params, self.option_manager)
498
+ #GraphGenerator.calibrated_params_by_round(self.running_config['steps'], calibrated_params, self.option_manager)
499
499
  self.update_graph("")
500
500
  except Exception as e:
501
501
  # Print stack trace
@@ -521,11 +521,13 @@ class App(customtkinter.CTk):
521
521
  df = df.drop_duplicates()
522
522
  df['round_step'] = (df['completed_rounds'].diff() < 0).cumsum()
523
523
  df = df.drop_duplicates(subset=['completed_rounds', 'round_step'])
524
+ self.progress_data = df
524
525
 
525
- GraphGenerator.best_cost_stacked(self.running_config['steps'], df, self.option_manager)
526
- GraphGenerator.best_cost_by_round(self.running_config['steps'], df, self.option_manager)
527
- GraphGenerator.table(self.running_config['steps'], df, self.option_manager)
528
- self.update_graph("")
526
+ #GraphGenerator.update_progress_graphs(self.running_config['steps'], self.current_data, self.option_manager)
527
+ #GraphGenerator.best_cost_stacked(self.running_config['steps'], df, self.option_manager)
528
+ #GraphGenerator.best_cost_by_round(self.running_config['steps'], df, self.option_manager)
529
+ #GraphGenerator.table(self.running_config['steps'], df, self.option_manager)
530
+ #self.update_graph("")
529
531
 
530
532
  match = matches[-1]
531
533
  percent = int(match[0])
@@ -582,47 +584,6 @@ class App(customtkinter.CTk):
582
584
  self.progress_message_right.configure(text="")
583
585
  self.textbox.insert("0.0", "\nCalibration finished!\n")
584
586
 
585
- '''
586
- def get_results(self):
587
- request: Client = Client()
588
- for name, value in parameters.items():
589
- # if parameter name has a / in it assume that is a file based parameter and therefore value needs to be an array
590
- if "/" in name and type(value) is not list:
591
- request.add_data(name, [value])
592
- else:
593
- request.add_data(name, value)
594
-
595
- conf = {
596
- 'service_timeout': 60.0 # (sec)
597
- }
598
- files: List[str] = [] #optional list of filenames
599
-
600
- #Synchronous Call
601
- result: Client = request.execute(CSIP_ENDPOINT, files=files, sync=True, conf=conf)
602
-
603
- #Asynchronous Call
604
- tsamp: float = 0
605
- def callback(c: Client, progress: str):
606
- tsamp2: float = time.time()
607
- print('Halton Update {} - {} - {}'.format(halton_id, c.get_status(), tsamp2 - tsamp))
608
-
609
-
610
- tsamp = time.time()
611
- result: Client = request.execute_async(
612
- CSIP_ENDPOINT,
613
- files=files,
614
- callback=callback,
615
- first_poll=poll_time,
616
- next_poll=poll_time,
617
- conf=conf
618
- )
619
- # After recieving response
620
- if result.is_finished():
621
- print(result)
622
- else:
623
- print(result)
624
- '''
625
-
626
587
  def start():
627
588
  app = App()
628
589
  app.mainloop()
@@ -4,6 +4,9 @@ import pandas as pd
4
4
  import numpy as np
5
5
  import os
6
6
 
7
+ def generate_graphs(config, dataframe, option_manager):
8
+ pass
9
+
7
10
  def best_cost_stacked(config, dataframe, option_manager):
8
11
  fig = go.Figure()
9
12
 
@@ -1,4 +1,5 @@
1
1
  import csip
2
+ from csip import Client
2
3
  import cosu
3
4
  import sys
4
5
  from multiprocessing import Process, Queue
@@ -99,81 +100,43 @@ def run_process(stdout_queue, stderr_queue, results_queue, cosu_queue, data, fol
99
100
  sys.stderr = old_stderr
100
101
  results_queue.put((optimizer, trace))
101
102
 
103
+ def get_results():
104
+ request: Client = Client()
105
+ for name, value in parameters.items():
106
+ # if parameter name has a / in it assume that is a file based parameter and therefore value needs to be an array
107
+ if "/" in name and type(value) is not list:
108
+ request.add_data(name, [value])
109
+ else:
110
+ request.add_data(name, value)
111
+
112
+ conf = {
113
+ 'service_timeout': 60.0 # (sec)
114
+ }
115
+ files: List[str] = [] #optional list of filenames
116
+
117
+ #Synchronous Call
118
+ result: Client = request.execute(CSIP_ENDPOINT, files=files, sync=True, conf=conf)
119
+
120
+ #Asynchronous Call
121
+ tsamp: float = 0
122
+ def callback(c: Client, progress: str):
123
+ tsamp2: float = time.time()
124
+ print('Halton Update {} - {} - {}'.format(halton_id, c.get_status(), tsamp2 - tsamp))
125
+
126
+
127
+ tsamp = time.time()
128
+ result: Client = request.execute_async(
129
+ CSIP_ENDPOINT,
130
+ files=files,
131
+ callback=callback,
132
+ first_poll=poll_time,
133
+ next_poll=poll_time,
134
+ conf=conf
135
+ )
136
+ # After recieving response
137
+ if result.is_finished():
138
+ print(result)
139
+ else:
140
+ print(result)
102
141
 
103
142
 
104
-
105
- """import csip
106
- import cosu
107
- import sys
108
- import multiprocessing
109
- import threading
110
- import time
111
- import os
112
-
113
- from cosu.pso import global_best
114
-
115
- def run_process(process_queue, data, folder):
116
- steps = data['steps']
117
- args = data['arguments']
118
- calib = data['calibration_parameters']
119
-
120
- calibration_map = {}
121
- for param in calib:
122
- param_name = param['name']
123
- param_value = param['value']
124
- calibration_map[param_name] = param_value
125
-
126
- if not os.path.exists(folder):
127
- os.makedirs(folder)
128
-
129
- if (os.path.exists(os.path.join(folder, 'output.txt'))):
130
- os.remove(os.path.join(folder, 'output.txt'))
131
-
132
- if (os.path.exists(os.path.join(folder, 'error.txt'))):
133
- os.remove(os.path.join(folder, 'error.txt'))
134
-
135
- sys.stdout = open(os.path.join(folder, 'output.txt'), 'w', buffering=1)
136
- sys.stderr = open(os.path.join(folder, 'error.txt'), 'w', buffering=1)
137
-
138
- options = {}
139
- oh_strategy = {}
140
-
141
- for key in calibration_map.keys():
142
- if "options_" in key:
143
- options[key.replace("options_", "")] = float(calibration_map[key])
144
- if "strategy_" in key:
145
- oh_strategy[key.replace("strategy_", "")] = calibration_map[key]
146
-
147
- print("\n")
148
- print(calibration_map)
149
- print("\n")
150
- print(options)
151
- print("\n")
152
- print(oh_strategy)
153
- print("\n")
154
-
155
- print("Running global_best...\n")
156
-
157
- optimizer, trace = global_best(steps, # step definition
158
- rounds=(int(calibration_map['min_rounds']), int(calibration_map['max_rounds'])), # min/max number of rounds
159
- args=args, # static arguments
160
- n_particles=int(calibration_map['n_particles']), # number of particle candidates for each param
161
- iters=int(calibration_map['iters']), # max # of iterations
162
- n_threads=int(calibration_map['n_threads']), # number of threads to use
163
- # ftol=0.00000001, # min cost function delta for convergence
164
- options=options, # hyperparameter
165
- oh_strategy=oh_strategy, # adaptive hyperparameter adjustments based on current and max # of iterations
166
- conf={
167
- 'service_timeout': int(calibration_map['service_timeout']),
168
- 'http_retry': int(calibration_map['http_retry']),
169
- 'http_allow_redirects': True if calibration_map['allow_redirects'] == "True" else False,
170
- 'async_call': True if calibration_map['async_call'] == "True" else False,
171
- 'http_conn_timeout': int(calibration_map['conn_timeout']),
172
- 'http_read_timeout': int(calibration_map['read_timeout']),
173
- 'particles_fail': int(calibration_map['particles_fail'])
174
- },
175
- )
176
-
177
- process_queue.put((optimizer, trace))
178
-
179
- """
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
  import codecs
3
3
  import os
4
4
 
5
- VERSION = '0.1.18'
5
+ VERSION = '0.1.20'
6
6
  DESCRIPTION = 'GUI for MG-PSO'
7
7
  LONG_DESCRIPTION = open('../README.md').read()
8
8
 
@@ -1,472 +0,0 @@
1
- {
2
- "dir": "C:\\Users\\robertcordingly\\PycharmProjects\\pythonProject6",
3
- "start": "2024-03-13 02:06:28.041821",
4
- "min_rounds": 1,
5
- "max_rounds": 2,
6
- "iters": 20,
7
- "ftol": "-inf",
8
- "ftol_iter": 1,
9
- "rtol": 0.001,
10
- "rtol_iter": 1,
11
- "n_threads": 10,
12
- "n_particles": 10,
13
- "n_steps": 2,
14
- "steps": [
15
- {
16
- "param": [
17
- {
18
- "name": "soilOutLPS",
19
- "bounds": [
20
- 0.0,
21
- 2.0
22
- ]
23
- },
24
- {
25
- "name": "lagInterflow",
26
- "bounds": [
27
- 10.0,
28
- 80.0
29
- ]
30
- }
31
- ],
32
- "objfunc": [
33
- {
34
- "name": "ns",
35
- "of": "ns",
36
- "data": [
37
- "obs_data02_14.csv/obs/orun[1]",
38
- "output/csip_run/out/Outlet.csv/output/catchmentSimRunoff"
39
- ]
40
- }
41
- ]
42
- },
43
- {
44
- "param": [
45
- {
46
- "name": "flowRouteTA",
47
- "bounds": [
48
- 0.4,
49
- 5.0
50
- ]
51
- },
52
- {
53
- "name": "soilMaxDPS",
54
- "bounds": [
55
- 0.0,
56
- 5.0
57
- ]
58
- }
59
- ],
60
- "objfunc": [
61
- {
62
- "name": "ns",
63
- "of": "ns",
64
- "data": [
65
- "obs_data02_14.csv/obs/orun[1]",
66
- "output/csip_run/out/Outlet.csv/output/catchmentSimRunoff"
67
- ]
68
- }
69
- ]
70
- }
71
- ],
72
- "args": {
73
- "param": [
74
- {
75
- "name": "startTime",
76
- "value": "2002-01-01"
77
- },
78
- {
79
- "name": "endTime",
80
- "value": "2006-12-31"
81
- },
82
- {
83
- "name": "dataStartTime",
84
- "value": "2002-01-01"
85
- },
86
- {
87
- "name": "dataEndTime",
88
- "value": "2006-12-31"
89
- },
90
- {
91
- "name": "cal_startTime",
92
- "value": "2003-01-01"
93
- },
94
- {
95
- "name": "cal_endTime",
96
- "value": "2006-12-31"
97
- },
98
- {
99
- "name": "parallelismThreads",
100
- "value": "2"
101
- },
102
- {
103
- "name": "flagLoadState",
104
- "value": "true"
105
- },
106
- {
107
- "name": "payload",
108
- "value": "false"
109
- },
110
- {
111
- "name": "project",
112
- "value": "SFIR3"
113
- }
114
- ],
115
- "url": "http://csip.engr.colostate.edu:8087/csip-oms/m/ages/0.3.0",
116
- "files": {},
117
- "step_param_names": [
118
- "flowRouteTA",
119
- "soilMaxDPS"
120
- ],
121
- "step_objfunc": [
122
- {
123
- "name": "ns",
124
- "of": "ns",
125
- "data": [
126
- "obs_data02_14.csv/obs/orun[1]",
127
- "output/csip_run/out/Outlet.csv/output/catchmentSimRunoff"
128
- ]
129
- }
130
- ],
131
- "calib_params": {
132
- "soilOutLPS": 1.3852729993614596,
133
- "lagInterflow": 56.51654153627339
134
- },
135
- "req_queue": "<queue.Queue at 0x2b66bfe9f40>",
136
- "conf": {
137
- "service_timeout": 400.0,
138
- "http_retry": 5,
139
- "http_allow_redirects": true,
140
- "async_call": false,
141
- "http_conn_timeout": 10,
142
- "http_read_timeout": 400,
143
- "particles_fail": 5
144
- },
145
- "rnd": 2,
146
- "step": 2
147
- },
148
- "r1s1": {
149
- "time": "2024-03-13 02:09:17.010187",
150
- "best_costs": [
151
- [
152
- 0.4132185,
153
- 0.41315801
154
- ]
155
- ],
156
- "steps": [
157
- {
158
- "param": [
159
- {
160
- "name": "soilOutLPS",
161
- "bounds": [
162
- 0.0,
163
- 2.0
164
- ],
165
- "value": 1.4232478417536503
166
- },
167
- {
168
- "name": "lagInterflow",
169
- "bounds": [
170
- 10.0,
171
- 80.0
172
- ],
173
- "value": 58.2004069813242
174
- }
175
- ],
176
- "objfunc": [
177
- {
178
- "name": "ns",
179
- "of": "ns",
180
- "data": [
181
- "obs_data02_14.csv/obs/orun[1]",
182
- "output/csip_run/out/Outlet.csv/output/catchmentSimRunoff"
183
- ]
184
- }
185
- ],
186
- "cost": 0.4965635659744849
187
- },
188
- {
189
- "param": [
190
- {
191
- "name": "flowRouteTA",
192
- "bounds": [
193
- 0.4,
194
- 5.0
195
- ]
196
- },
197
- {
198
- "name": "soilMaxDPS",
199
- "bounds": [
200
- 0.0,
201
- 5.0
202
- ]
203
- }
204
- ],
205
- "objfunc": [
206
- {
207
- "name": "ns",
208
- "of": "ns",
209
- "data": [
210
- "obs_data02_14.csv/obs/orun[1]",
211
- "output/csip_run/out/Outlet.csv/output/catchmentSimRunoff"
212
- ]
213
- }
214
- ]
215
- }
216
- ]
217
- },
218
- "r1s2": {
219
- "time": "2024-03-13 02:11:57.122093",
220
- "best_costs": [
221
- [
222
- 0.4132185,
223
- 0.41315801
224
- ]
225
- ],
226
- "steps": [
227
- {
228
- "param": [
229
- {
230
- "name": "soilOutLPS",
231
- "bounds": [
232
- 0.0,
233
- 2.0
234
- ],
235
- "value": 1.4232478417536503
236
- },
237
- {
238
- "name": "lagInterflow",
239
- "bounds": [
240
- 10.0,
241
- 80.0
242
- ],
243
- "value": 58.2004069813242
244
- }
245
- ],
246
- "objfunc": [
247
- {
248
- "name": "ns",
249
- "of": "ns",
250
- "data": [
251
- "obs_data02_14.csv/obs/orun[1]",
252
- "output/csip_run/out/Outlet.csv/output/catchmentSimRunoff"
253
- ]
254
- }
255
- ],
256
- "cost": 0.4965635659744849
257
- },
258
- {
259
- "param": [
260
- {
261
- "name": "flowRouteTA",
262
- "bounds": [
263
- 0.4,
264
- 5.0
265
- ],
266
- "value": 1.9829062991388553
267
- },
268
- {
269
- "name": "soilMaxDPS",
270
- "bounds": [
271
- 0.0,
272
- 5.0
273
- ],
274
- "value": 2.569282303473601
275
- }
276
- ],
277
- "objfunc": [
278
- {
279
- "name": "ns",
280
- "of": "ns",
281
- "data": [
282
- "obs_data02_14.csv/obs/orun[1]",
283
- "output/csip_run/out/Outlet.csv/output/catchmentSimRunoff"
284
- ]
285
- }
286
- ],
287
- "cost": 0.41587191865116957
288
- }
289
- ]
290
- },
291
- "r1": {
292
- "time": "2024-03-13 02:11:57.122093",
293
- "round_cost": 0.9124354846256545,
294
- "best_costs": [
295
- [
296
- 0.4132185,
297
- 0.41315801
298
- ]
299
- ],
300
- "improvements": [
301
- [
302
- false,
303
- false
304
- ]
305
- ]
306
- },
307
- "r2s1": {
308
- "time": "2024-03-13 02:14:38.624493",
309
- "best_costs": [
310
- [
311
- 0.4132185,
312
- 0.41315801
313
- ]
314
- ],
315
- "steps": [
316
- {
317
- "param": [
318
- {
319
- "name": "soilOutLPS",
320
- "bounds": [
321
- 0.0,
322
- 2.0
323
- ],
324
- "value": 1.3852729993614596
325
- },
326
- {
327
- "name": "lagInterflow",
328
- "bounds": [
329
- 10.0,
330
- 80.0
331
- ],
332
- "value": 56.51654153627339
333
- }
334
- ],
335
- "objfunc": [
336
- {
337
- "name": "ns",
338
- "of": "ns",
339
- "data": [
340
- "obs_data02_14.csv/obs/orun[1]",
341
- "output/csip_run/out/Outlet.csv/output/catchmentSimRunoff"
342
- ]
343
- }
344
- ],
345
- "cost": 0.41321849826662227
346
- },
347
- {
348
- "param": [
349
- {
350
- "name": "flowRouteTA",
351
- "bounds": [
352
- 0.4,
353
- 5.0
354
- ],
355
- "value": 1.9829062991388553
356
- },
357
- {
358
- "name": "soilMaxDPS",
359
- "bounds": [
360
- 0.0,
361
- 5.0
362
- ],
363
- "value": 2.569282303473601
364
- }
365
- ],
366
- "objfunc": [
367
- {
368
- "name": "ns",
369
- "of": "ns",
370
- "data": [
371
- "obs_data02_14.csv/obs/orun[1]",
372
- "output/csip_run/out/Outlet.csv/output/catchmentSimRunoff"
373
- ]
374
- }
375
- ],
376
- "cost": 0.41587191865116957
377
- }
378
- ]
379
- },
380
- "r2s2": {
381
- "time": "2024-03-13 02:17:21.403554",
382
- "best_costs": [
383
- [
384
- 0.4132185,
385
- 0.41315801
386
- ]
387
- ],
388
- "steps": [
389
- {
390
- "param": [
391
- {
392
- "name": "soilOutLPS",
393
- "bounds": [
394
- 0.0,
395
- 2.0
396
- ],
397
- "value": 1.3852729993614596
398
- },
399
- {
400
- "name": "lagInterflow",
401
- "bounds": [
402
- 10.0,
403
- 80.0
404
- ],
405
- "value": 56.51654153627339
406
- }
407
- ],
408
- "objfunc": [
409
- {
410
- "name": "ns",
411
- "of": "ns",
412
- "data": [
413
- "obs_data02_14.csv/obs/orun[1]",
414
- "output/csip_run/out/Outlet.csv/output/catchmentSimRunoff"
415
- ]
416
- }
417
- ],
418
- "cost": 0.41321849826662227
419
- },
420
- {
421
- "param": [
422
- {
423
- "name": "flowRouteTA",
424
- "bounds": [
425
- 0.4,
426
- 5.0
427
- ],
428
- "value": 1.9512811039470743
429
- },
430
- {
431
- "name": "soilMaxDPS",
432
- "bounds": [
433
- 0.0,
434
- 5.0
435
- ],
436
- "value": 1.4271995521553167
437
- }
438
- ],
439
- "objfunc": [
440
- {
441
- "name": "ns",
442
- "of": "ns",
443
- "data": [
444
- "obs_data02_14.csv/obs/orun[1]",
445
- "output/csip_run/out/Outlet.csv/output/catchmentSimRunoff"
446
- ]
447
- }
448
- ],
449
- "cost": 0.41315801069598224
450
- }
451
- ]
452
- },
453
- "r2": {
454
- "time": "2024-03-13 02:17:21.403554",
455
- "round_cost": 0.8263765089626045,
456
- "best_costs": [
457
- [
458
- 0.4132185,
459
- 0.41315801
460
- ]
461
- ],
462
- "improvements": [
463
- [
464
- false,
465
- false
466
- ]
467
- ]
468
- },
469
- "rounds": 2,
470
- "end": "2024-03-13 02:17:21.901600",
471
- "time": "0:10:53.346725"
472
- }
File without changes