From 2e0bb60890608b2a19b59c227e72d53b698a75ca Mon Sep 17 00:00:00 2001 From: adhamrait Date: Thu, 11 Dec 2025 15:01:55 -0800 Subject: [PATCH 01/11] add uncertainty components to the gui --- dashboard/calibration_manager.py | 40 ++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/dashboard/calibration_manager.py b/dashboard/calibration_manager.py index b25e6c5..6b2f64d 100644 --- a/dashboard/calibration_manager.py +++ b/dashboard/calibration_manager.py @@ -49,16 +49,19 @@ def panel(self): title="Control: Calibrate simulation points", style="font-size: 20px; font-weight: 500;", ): - with vuetify.VExpansionPanelText(): + with vuetify.VExpansionPanelText( + style="font-weight: lighter; font-size: 16px;" + ): with client.DeepReactive("simulation_calibration"): for key in state.simulation_calibration.keys(): # create a row for the parameter label with vuetify.VRow(): html.Small( f" {state.simulation_calibration[key]['name']} = α × ({state.simulation_calibration[key]['depends_on']} - β)", - style="font-weight: lighter; font-size: 70%;", ) with vuetify.VRow(): + with vuetify.VCol(): + html.Small("α = ", style="width: 100px;") with vuetify.VCol(): vuetify.VTextField( v_model_number=( @@ -70,8 +73,24 @@ def panel(self): hide_spin_buttons=True, style="width: 100px;", type="number", - label="α", ) + with vuetify.VCol(): + html.Small("±") + with vuetify.VCol(): + vuetify.VTextField( + v_model_number=( + f"simulation_calibration['{key}']['alpha_uncertainty']", + ), + change="flushState('simulation_calibration')", + density="compact", + hide_details=True, + hide_spin_buttons=True, + style="width: 100px;", + type="number", + ) + with vuetify.VRow(): + with vuetify.VCol(): + html.Small("β = ") with vuetify.VCol(): vuetify.VTextField( v_model_number=( @@ -83,5 +102,18 @@ def panel(self): hide_spin_buttons=True, style="width: 100px;", type="number", - label="β", + ) + with vuetify.VCol(): + html.Small("±", style="width: 100px;") + with vuetify.VCol(): + vuetify.VTextField( + v_model_number=( + f"simulation_calibration['{key}']['beta_uncertainty']", + ), + change="flushState('simulation_calibration')", + density="compact", + hide_details=True, + hide_spin_buttons=True, + style="width: 100px;", + type="number", ) From 2483cc5f37d70f652ff6f15061141d484680b148 Mon Sep 17 00:00:00 2001 From: adhamrait Date: Thu, 11 Dec 2025 15:04:18 -0800 Subject: [PATCH 02/11] Remove unneeded on change hook --- dashboard/calibration_manager.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/dashboard/calibration_manager.py b/dashboard/calibration_manager.py index 6b2f64d..628d7a6 100644 --- a/dashboard/calibration_manager.py +++ b/dashboard/calibration_manager.py @@ -81,7 +81,6 @@ def panel(self): v_model_number=( f"simulation_calibration['{key}']['alpha_uncertainty']", ), - change="flushState('simulation_calibration')", density="compact", hide_details=True, hide_spin_buttons=True, @@ -110,7 +109,6 @@ def panel(self): v_model_number=( f"simulation_calibration['{key}']['beta_uncertainty']", ), - change="flushState('simulation_calibration')", density="compact", hide_details=True, hide_spin_buttons=True, From f98bd5f70c6e18f67c2e6b7112b180fc5fee2a26 Mon Sep 17 00:00:00 2001 From: adhamrait Date: Tue, 16 Dec 2025 12:24:08 -0800 Subject: [PATCH 03/11] Add separate variables for inferred and guessed calibration variables, add toggle between the two for displaying --- dashboard/app.py | 1 + dashboard/calibration_manager.py | 190 +++++++++++++++++++++---------- dashboard/state_manager.py | 2 + ml/train_model.py | 2 +- 4 files changed, 135 insertions(+), 60 deletions(-) diff --git a/dashboard/app.py b/dashboard/app.py index c8fce3a..e590d8a 100644 --- a/dashboard/app.py +++ b/dashboard/app.py @@ -144,6 +144,7 @@ def update_on_change_model(**kwargs): "parameters_max", "parameters_show_all", "simulation_calibration", + "use_inferred_calibration", ) def update_on_change_others(**kwargs): # skip if triggered on server ready (all state variables marked as modified) diff --git a/dashboard/calibration_manager.py b/dashboard/calibration_manager.py index 628d7a6..c7aa893 100644 --- a/dashboard/calibration_manager.py +++ b/dashboard/calibration_manager.py @@ -1,5 +1,6 @@ from trame.widgets import client, vuetify3 as vuetify, html from state_manager import state +from error_manager import add_error import copy @@ -15,7 +16,23 @@ def convert_sim_to_exp(self, df_sim): for value in state.simulation_calibration.values(): sim_name = value["name"] exp_name = value["depends_on"] - df_sim[exp_name] = df_sim[sim_name] / value["alpha"] + value["beta"] + df_sim[exp_name] = ( + df_sim[sim_name] / value["alpha_guess"] + value["beta_guess"] + ) + if state.use_inferred_calibration: + if all( + inferred_key in value.values() + for inferred_key in ["alpha_inferred", "beta_inferred"] + ): + df_sim[exp_name] = ( + df_sim[sim_name] / value["alpha_inferred"] + + value["beta_inferred"] + ) + else: + add_error( + "Inferrred calibration does not exist", + "Attempted to use the inferred calibration values to apply to the simulation points but calibration hasn't been inferred yet. Applying the guess calibration instead.", + ) def convert_exp_to_sim(self, exp_dict): """ @@ -38,8 +55,22 @@ def convert_exp_to_sim(self, exp_dict): ) # fill the dictionary if exp_name in exp_dict: - sim_val = (exp_dict[exp_name] - value["beta"]) * value["alpha"] - sim_dict[sim_name] = sim_val + if state.use_inferred_calibration: + sim_dict[sim_name] = ( + exp_dict[exp_name] - value["beta_guess"] + ) * value["alpha_guess"] + if all( + inferred_key in value.values() + for inferred_key in ["alpha_inferred", "beta_inferred"] + ): + sim_dict[sim_name] = ( + exp_dict[exp_name] - value["beta_inferred"] + ) * value["alpha_inferred"] + else: + add_error( + "Inferred calibration does not exist", + "Attempted to use the inferred calibration values to apply to the experimental points but the calibration hasn't been inferret yet. Applying the guess calibration instead.", + ) return sim_dict def panel(self): @@ -52,6 +83,12 @@ def panel(self): with vuetify.VExpansionPanelText( style="font-weight: lighter; font-size: 16px;" ): + with vuetify.VRow(): + vuetify.VCheckbox( + v_model="use_inferred_calibration", + density="compact", + label="Use inferred calibration", + ) with client.DeepReactive("simulation_calibration"): for key in state.simulation_calibration.keys(): # create a row for the parameter label @@ -59,59 +96,94 @@ def panel(self): html.Small( f" {state.simulation_calibration[key]['name']} = α × ({state.simulation_calibration[key]['depends_on']} - β)", ) - with vuetify.VRow(): - with vuetify.VCol(): - html.Small("α = ", style="width: 100px;") - with vuetify.VCol(): - vuetify.VTextField( - v_model_number=( - f"simulation_calibration['{key}']['alpha']", - ), - change="flushState('simulation_calibration')", - density="compact", - hide_details=True, - hide_spin_buttons=True, - style="width: 100px;", - type="number", - ) - with vuetify.VCol(): - html.Small("±") - with vuetify.VCol(): - vuetify.VTextField( - v_model_number=( - f"simulation_calibration['{key}']['alpha_uncertainty']", - ), - density="compact", - hide_details=True, - hide_spin_buttons=True, - style="width: 100px;", - type="number", - ) - with vuetify.VRow(): - with vuetify.VCol(): - html.Small("β = ") - with vuetify.VCol(): - vuetify.VTextField( - v_model_number=( - f"simulation_calibration['{key}']['beta']", - ), - change="flushState('simulation_calibration')", - density="compact", - hide_details=True, - hide_spin_buttons=True, - style="width: 100px;", - type="number", - ) - with vuetify.VCol(): - html.Small("±", style="width: 100px;") - with vuetify.VCol(): - vuetify.VTextField( - v_model_number=( - f"simulation_calibration['{key}']['beta_uncertainty']", - ), - density="compact", - hide_details=True, - hide_spin_buttons=True, - style="width: 100px;", - type="number", - ) + with html.Div( + style="display: flex; align-items: center; margin: 20px; justify-content: space-between;" + ): + html.Small("α = ") + with vuetify.VCard( + subtitle="guess", density="comfortable" + ): + with vuetify.VCardText(): + with vuetify.VRow(): + vuetify.VTextField( + v_model_number=( + f"simulation_calibration['{key}']['alpha_guess']", + ), + change="flushState('simulation_calibration')", + density="compact", + hide_details=True, + hide_spin_buttons=True, + style="width: 100px;", + type="number", + ) + html.Small("±") + vuetify.VTextField( + v_model_number=( + f"simulation_calibration['{key}']['alpha_uncertainty']", + ), + density="compact", + hide_details=True, + hide_spin_buttons=True, + style="width: 100px;", + type="number", + ) + with vuetify.VCard(subtitle="inferred"): + with vuetify.VCardText(): + with vuetify.VRow(): + vuetify.VTextField( + v_model_number=( + f"simulation_calibration['{key}']['alpha_inferred']", + ), + density="compact", + hide_details=True, + hide_spin_buttons=True, + style="width: 100px;", + type="number", + disabled=True, + ) + + with html.Div( + style="display: flex; align-items: center; margin: 20px; justify-content: space-between;" + ): + html.Small("β = ") + with vuetify.VCard( + subtitle="guess", density="comfortable" + ): + with vuetify.VCardText(): + with vuetify.VRow(): + vuetify.VTextField( + v_model_number=( + f"simulation_calibration['{key}']['beta_guess']", + ), + change="flushState('simulation_calibration')", + density="compact", + hide_details=True, + hide_spin_buttons=True, + style="width: 100px;", + type="number", + ) + html.Small("±") + vuetify.VTextField( + v_model_number=( + f"simulation_calibration['{key}']['beta_uncertainty']", + ), + density="compact", + hide_details=True, + hide_spin_buttons=True, + style="width: 100px;", + type="number", + ) + with vuetify.VCard(subtitle="inferred"): + with vuetify.VCardText(): + with vuetify.VRow(): + vuetify.VTextField( + v_model_number=( + f"simulation_calibration['{key}']['beta_inferred']", + ), + density="compact", + hide_details=True, + hide_spin_buttons=True, + style="width: 100px;", + type="number", + disabled=True, + ) diff --git a/dashboard/state_manager.py b/dashboard/state_manager.py index b2e7c2e..1ece270 100644 --- a/dashboard/state_manager.py +++ b/dashboard/state_manager.py @@ -52,3 +52,5 @@ def initialize_state(): # Errors management state.errors = [] state.error_counter = 0 + # Calibration toggles + state.use_inferred_calibration = False diff --git a/ml/train_model.py b/ml/train_model.py index 065b434..c6d2e5d 100644 --- a/ml/train_model.py +++ b/ml/train_model.py @@ -111,7 +111,7 @@ for _, value in simulation_calibration.items(): sim_name = value["name"] exp_name = value["depends_on"] - df_sim[exp_name] = df_sim[sim_name] / value["alpha"] + value["beta"] + df_sim[exp_name] = df_sim[sim_name] / value["alpha_guess"] + value["beta_guess"] # Concatenate experimental and simulation data for training and validation variables = input_names + output_names + ["experiment_flag"] From d7baa1119b1fb65dd9a72c62c22882154b63267a Mon Sep 17 00:00:00 2001 From: adhamrait Date: Tue, 16 Dec 2025 12:25:55 -0800 Subject: [PATCH 04/11] small ui fix --- dashboard/calibration_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dashboard/calibration_manager.py b/dashboard/calibration_manager.py index c7aa893..de241ab 100644 --- a/dashboard/calibration_manager.py +++ b/dashboard/calibration_manager.py @@ -104,7 +104,7 @@ def panel(self): subtitle="guess", density="comfortable" ): with vuetify.VCardText(): - with vuetify.VRow(): + with vuetify.VRow(style="align-items: center"): vuetify.VTextField( v_model_number=( f"simulation_calibration['{key}']['alpha_guess']", @@ -150,7 +150,7 @@ def panel(self): subtitle="guess", density="comfortable" ): with vuetify.VCardText(): - with vuetify.VRow(): + with vuetify.VRow(style="align-items: center"): vuetify.VTextField( v_model_number=( f"simulation_calibration['{key}']['beta_guess']", From 5351f3bfbda153fcbaf71061c4de609e531848c4 Mon Sep 17 00:00:00 2001 From: adhamrait Date: Thu, 18 Dec 2025 10:12:30 -0800 Subject: [PATCH 05/11] Add logging via print to errors in calibration manager --- dashboard/calibration_manager.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/dashboard/calibration_manager.py b/dashboard/calibration_manager.py index de241ab..f9e0ced 100644 --- a/dashboard/calibration_manager.py +++ b/dashboard/calibration_manager.py @@ -29,10 +29,13 @@ def convert_sim_to_exp(self, df_sim): + value["beta_inferred"] ) else: + title = "Inferrred calibration does not exist" + message = "Attempted to use the inferred calibration values to apply to the simulation points but calibration hasn't been inferred yet. Applying the guess calibration instead." add_error( - "Inferrred calibration does not exist", - "Attempted to use the inferred calibration values to apply to the simulation points but calibration hasn't been inferred yet. Applying the guess calibration instead.", + title, + message, ) + print(message) def convert_exp_to_sim(self, exp_dict): """ @@ -67,10 +70,16 @@ def convert_exp_to_sim(self, exp_dict): exp_dict[exp_name] - value["beta_inferred"] ) * value["alpha_inferred"] else: - add_error( - "Inferred calibration does not exist", + title = "Inferrred calibration does not exist" + message = ( "Attempted to use the inferred calibration values to apply to the experimental points but the calibration hasn't been inferret yet. Applying the guess calibration instead.", ) + add_error( + title, + message, + ) + print(message) + return sim_dict def panel(self): From 68a78f6d5895a43d1ed895d489d4f0604f994086 Mon Sep 17 00:00:00 2001 From: adhamrait Date: Thu, 18 Dec 2025 11:00:58 -0800 Subject: [PATCH 06/11] use vrow instead of div --- dashboard/calibration_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dashboard/calibration_manager.py b/dashboard/calibration_manager.py index f9e0ced..a6e12be 100644 --- a/dashboard/calibration_manager.py +++ b/dashboard/calibration_manager.py @@ -105,7 +105,7 @@ def panel(self): html.Small( f" {state.simulation_calibration[key]['name']} = α × ({state.simulation_calibration[key]['depends_on']} - β)", ) - with html.Div( + with vuetify.VRow( style="display: flex; align-items: center; margin: 20px; justify-content: space-between;" ): html.Small("α = ") @@ -151,7 +151,7 @@ def panel(self): disabled=True, ) - with html.Div( + with vuetify.VRow( style="display: flex; align-items: center; margin: 20px; justify-content: space-between;" ): html.Small("β = ") From 6d15478617e9b41a5a9e42ad3e8112b51fd0b427 Mon Sep 17 00:00:00 2001 From: adhamrait Date: Thu, 18 Dec 2025 11:05:14 -0800 Subject: [PATCH 07/11] proper default when inferred_calibration is False --- dashboard/calibration_manager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dashboard/calibration_manager.py b/dashboard/calibration_manager.py index a6e12be..7388df0 100644 --- a/dashboard/calibration_manager.py +++ b/dashboard/calibration_manager.py @@ -58,10 +58,10 @@ def convert_exp_to_sim(self, exp_dict): ) # fill the dictionary if exp_name in exp_dict: + sim_dict[sim_name] = (exp_dict[exp_name] - value["beta_guess"]) * value[ + "alpha_guess" + ] if state.use_inferred_calibration: - sim_dict[sim_name] = ( - exp_dict[exp_name] - value["beta_guess"] - ) * value["alpha_guess"] if all( inferred_key in value.values() for inferred_key in ["alpha_inferred", "beta_inferred"] From a4a3c610aca655c324704717dafb35c266eca4df Mon Sep 17 00:00:00 2001 From: adhamrait Date: Thu, 18 Dec 2025 13:49:37 -0800 Subject: [PATCH 08/11] consolidate conversion functions --- dashboard/calibration_manager.py | 33 +++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/dashboard/calibration_manager.py b/dashboard/calibration_manager.py index 7388df0..e478137 100644 --- a/dashboard/calibration_manager.py +++ b/dashboard/calibration_manager.py @@ -13,20 +13,25 @@ def convert_sim_to_exp(self, df_sim): Apply calibration to the simulation points, so as to reconstruct the same input/output variables as the experimental points """ + + def convert(value, alpha, beta): + return value / alpha + beta + for value in state.simulation_calibration.values(): sim_name = value["name"] exp_name = value["depends_on"] - df_sim[exp_name] = ( - df_sim[sim_name] / value["alpha_guess"] + value["beta_guess"] + df_sim[exp_name] = convert( + df_sim[sim_name], value["alpha_guess"], value["beta_guess"] ) if state.use_inferred_calibration: if all( inferred_key in value.values() for inferred_key in ["alpha_inferred", "beta_inferred"] ): - df_sim[exp_name] = ( - df_sim[sim_name] / value["alpha_inferred"] - + value["beta_inferred"] + df_sim[exp_name] = convert( + df_sim[sim_name], + value["alpha_inferred"], + value["beta_inferred"], ) else: title = "Inferrred calibration does not exist" @@ -42,6 +47,10 @@ def convert_exp_to_sim(self, exp_dict): Apply calibration to the experimental points, to be passed as parameters for simulations on NERSC """ + + def convert(value, alpha, beta): + return (value - beta) * alpha + sim_dict = {} for _, value in state.simulation_calibration.items(): sim_name = value["name"] @@ -58,17 +67,19 @@ def convert_exp_to_sim(self, exp_dict): ) # fill the dictionary if exp_name in exp_dict: - sim_dict[sim_name] = (exp_dict[exp_name] - value["beta_guess"]) * value[ - "alpha_guess" - ] + sim_dict[sim_name] = convert( + exp_dict[exp_name], value["alpha_guess"], value["beta_guess"] + ) if state.use_inferred_calibration: if all( inferred_key in value.values() for inferred_key in ["alpha_inferred", "beta_inferred"] ): - sim_dict[sim_name] = ( - exp_dict[exp_name] - value["beta_inferred"] - ) * value["alpha_inferred"] + sim_dict[sim_name] = convert( + exp_dict[exp_name], + value["alpha_inferred"], + value["beta_inferred"], + ) else: title = "Inferrred calibration does not exist" message = ( From 39e42c741237f221d2fadd6b7ea456fe1a0c4b70 Mon Sep 17 00:00:00 2001 From: Edoardo Zoni Date: Fri, 19 Dec 2025 11:36:22 -0800 Subject: [PATCH 09/11] Minor edits to new graphical components --- dashboard/calibration_manager.py | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/dashboard/calibration_manager.py b/dashboard/calibration_manager.py index e478137..7ca460e 100644 --- a/dashboard/calibration_manager.py +++ b/dashboard/calibration_manager.py @@ -111,18 +111,16 @@ def panel(self): ) with client.DeepReactive("simulation_calibration"): for key in state.simulation_calibration.keys(): - # create a row for the parameter label + # create a row for the calibration formula with vuetify.VRow(): html.Small( - f" {state.simulation_calibration[key]['name']} = α × ({state.simulation_calibration[key]['depends_on']} - β)", + f"{state.simulation_calibration[key]['name']} = α × ({state.simulation_calibration[key]['depends_on']} - β)", ) + # create a row for alpha values with vuetify.VRow( style="display: flex; align-items: center; margin: 20px; justify-content: space-between;" ): - html.Small("α = ") - with vuetify.VCard( - subtitle="guess", density="comfortable" - ): + with vuetify.VCard(subtitle="α guess"): with vuetify.VCardText(): with vuetify.VRow(style="align-items: center"): vuetify.VTextField( @@ -136,7 +134,10 @@ def panel(self): style="width: 100px;", type="number", ) - html.Small("±") + html.Small( + "±", + style="margin-left: 5px; margin-right: 5px;", + ) vuetify.VTextField( v_model_number=( f"simulation_calibration['{key}']['alpha_uncertainty']", @@ -147,7 +148,7 @@ def panel(self): style="width: 100px;", type="number", ) - with vuetify.VCard(subtitle="inferred"): + with vuetify.VCard(subtitle="α inferred"): with vuetify.VCardText(): with vuetify.VRow(): vuetify.VTextField( @@ -161,14 +162,11 @@ def panel(self): type="number", disabled=True, ) - + # create a row for beta values with vuetify.VRow( style="display: flex; align-items: center; margin: 20px; justify-content: space-between;" ): - html.Small("β = ") - with vuetify.VCard( - subtitle="guess", density="comfortable" - ): + with vuetify.VCard(subtitle="β guess"): with vuetify.VCardText(): with vuetify.VRow(style="align-items: center"): vuetify.VTextField( @@ -182,7 +180,10 @@ def panel(self): style="width: 100px;", type="number", ) - html.Small("±") + html.Small( + "±", + style="margin-left: 5px; margin-right: 5px;", + ) vuetify.VTextField( v_model_number=( f"simulation_calibration['{key}']['beta_uncertainty']", @@ -193,7 +194,7 @@ def panel(self): style="width: 100px;", type="number", ) - with vuetify.VCard(subtitle="inferred"): + with vuetify.VCard(subtitle="β inferred"): with vuetify.VCardText(): with vuetify.VRow(): vuetify.VTextField( From 9786f0b11e22ecf18718c2ef5df63d635a4328d2 Mon Sep 17 00:00:00 2001 From: Edoardo Zoni Date: Fri, 19 Dec 2025 11:52:10 -0800 Subject: [PATCH 10/11] Minor edits to the code --- dashboard/calibration_manager.py | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/dashboard/calibration_manager.py b/dashboard/calibration_manager.py index 7ca460e..551622b 100644 --- a/dashboard/calibration_manager.py +++ b/dashboard/calibration_manager.py @@ -11,7 +11,7 @@ def __init__(self, simulation_calibration): def convert_sim_to_exp(self, df_sim): """ Apply calibration to the simulation points, so as to reconstruct - the same input/output variables as the experimental points + the same input/output variables as the experimental points. """ def convert(value, alpha, beta): @@ -35,21 +35,18 @@ def convert(value, alpha, beta): ) else: title = "Inferrred calibration does not exist" - message = "Attempted to use the inferred calibration values to apply to the simulation points but calibration hasn't been inferred yet. Applying the guess calibration instead." - add_error( - title, - message, - ) - print(message) + msg = "Attempted to use the inferred calibration values to apply to the simulation points but calibration hasn't been inferred yet. Applying the guess calibration instead." + add_error(title, msg) + print(msg) def convert_exp_to_sim(self, exp_dict): """ Apply calibration to the experimental points, to be passed as - parameters for simulations on NERSC + parameters for simulations on NERSC. """ def convert(value, alpha, beta): - return (value - beta) * alpha + return alpha * (value - beta) sim_dict = {} for _, value in state.simulation_calibration.items(): @@ -82,14 +79,11 @@ def convert(value, alpha, beta): ) else: title = "Inferrred calibration does not exist" - message = ( - "Attempted to use the inferred calibration values to apply to the experimental points but the calibration hasn't been inferret yet. Applying the guess calibration instead.", - ) - add_error( - title, - message, + msg = ( + "Attempted to use the inferred calibration values to apply to the experimental points but the calibration hasn't been inferred yet. Applying the guess calibration instead.", ) - print(message) + add_error(title, msg) + print(msg) return sim_dict From 1410f123ee064e0134e5aa648b9b1dfee49671e0 Mon Sep 17 00:00:00 2001 From: Edoardo Zoni Date: Fri, 19 Dec 2025 11:52:48 -0800 Subject: [PATCH 11/11] Minor edits to the code --- dashboard/calibration_manager.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/dashboard/calibration_manager.py b/dashboard/calibration_manager.py index 551622b..7401639 100644 --- a/dashboard/calibration_manager.py +++ b/dashboard/calibration_manager.py @@ -79,9 +79,7 @@ def convert(value, alpha, beta): ) else: title = "Inferrred calibration does not exist" - msg = ( - "Attempted to use the inferred calibration values to apply to the experimental points but the calibration hasn't been inferred yet. Applying the guess calibration instead.", - ) + msg = "Attempted to use the inferred calibration values to apply to the experimental points but the calibration hasn't been inferred yet. Applying the guess calibration instead." add_error(title, msg) print(msg)