From c0b97cbe6b4e85c9b63fc326d3e715ffff654890 Mon Sep 17 00:00:00 2001 From: Codex Agent Date: Fri, 28 Nov 2025 20:54:08 +0100 Subject: [PATCH] Show boron and measured power on dashboard --- src/reactor_sim/dashboard.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/reactor_sim/dashboard.py b/src/reactor_sim/dashboard.py index fd95c01..ab34c36 100644 --- a/src/reactor_sim/dashboard.py +++ b/src/reactor_sim/dashboard.py @@ -425,6 +425,8 @@ class ReactorDashboard: ("Rod Mode", "AUTO" if not self.reactor.control.manual_control else "MANUAL"), ("Setpoint", f"{self.reactor.control.setpoint_mw:7.0f} MW"), ("Reactivity", f"{state.core.reactivity_margin:+.4f}"), + ("Boron", f"{state.boron_ppm:7.1f} ppm"), + ("P(meas)", f"{self._measured_power(state):6.1f} MW"), ], ) left_y = self._draw_section( @@ -800,6 +802,14 @@ class ReactorDashboard: enthalpy_kjkg = (constants.STEAM_LATENT_HEAT / 1_000.0) return (enthalpy_kjkg * mass_flow) / 1_000.0 + def _measured_power(self, state: PlantState) -> float: + ctl = getattr(self, "reactor", None) + if ctl and getattr(ctl, "control", None): + filtered = getattr(ctl.control, "_filtered_power_mw", 0.0) + if filtered > 0.0: + return filtered + return state.core.power_output_mw + def _desired_throttle(self, turbine_state) -> float: if not self.reactor.turbines: return 0.0