From 6a38284e1d48146a0ce5fce558c99282fe511df4 Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Thu, 14 May 2026 11:19:03 +0200 Subject: [PATCH] induttori: T_INF letto da start/report.md invece di hardcoded MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Aggiunge _leggi_t_inf() in app1/2/3.py che legge T∞ dal report generato da calcola_t_amb.py. Solleva errore esplicito se il file non esiste o il valore non è trovato. Co-Authored-By: Claude Sonnet 4.6 --- induttore1/app1.py | 13 ++++++++++++- induttore2/app2.py | 13 ++++++++++++- induttore3/app3.py | 13 ++++++++++++- 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/induttore1/app1.py b/induttore1/app1.py index 4ed9a95..71d1544 100644 --- a/induttore1/app1.py +++ b/induttore1/app1.py @@ -1,3 +1,4 @@ +import re import pandas as pd import numpy as np import matplotlib.pyplot as plt @@ -9,7 +10,17 @@ ROOT = Path(__file__).parent.parent df = pd.read_csv(ROOT / "data.csv") df["time_s"] = df["time since start [ms]"] / 1000.0 -T_INF = 22.99 # temperatura ambiente [°C] +def _leggi_t_inf() -> float: + report = ROOT / "start" / "report.md" + if not report.exists(): + raise FileNotFoundError("start/report.md non trovato. Esegui prima 'Calcola T ambiente'.") + m = re.search(r"media ponderata\*\*\s*\|\s*\*\*([0-9.]+)\s*°C", + report.read_text(encoding="utf-8")) + if not m: + raise ValueError("T∞ non trovata in start/report.md.") + return float(m.group(1)) + +T_INF = _leggi_t_inf() # temperatura ambiente [°C], letta da start/report.md T0 = 110.81 # inizio intervallo [s] T_END = 111.56 # fine intervallo [s] diff --git a/induttore2/app2.py b/induttore2/app2.py index 2bdf366..5ba6f57 100644 --- a/induttore2/app2.py +++ b/induttore2/app2.py @@ -1,3 +1,4 @@ +import re import pandas as pd import numpy as np import matplotlib.pyplot as plt @@ -9,7 +10,17 @@ ROOT = Path(__file__).parent.parent df = pd.read_csv(ROOT / "data.csv") df["time_s"] = df["time since start [ms]"] / 1000.0 -T_INF = 22.99 # temperatura ambiente [°C] +def _leggi_t_inf() -> float: + report = ROOT / "start" / "report.md" + if not report.exists(): + raise FileNotFoundError("start/report.md non trovato. Esegui prima 'Calcola T ambiente'.") + m = re.search(r"media ponderata\*\*\s*\|\s*\*\*([0-9.]+)\s*°C", + report.read_text(encoding="utf-8")) + if not m: + raise ValueError("T∞ non trovata in start/report.md.") + return float(m.group(1)) + +T_INF = _leggi_t_inf() # temperatura ambiente [°C], letta da start/report.md T0 = 112.02 # inizio intervallo [s] T_END = 113.95 # fine intervallo [s] diff --git a/induttore3/app3.py b/induttore3/app3.py index 271938a..25f8199 100644 --- a/induttore3/app3.py +++ b/induttore3/app3.py @@ -1,3 +1,4 @@ +import re import pandas as pd import numpy as np import matplotlib.pyplot as plt @@ -9,7 +10,17 @@ ROOT = Path(__file__).parent.parent df = pd.read_csv(ROOT / "data.csv") df["time_s"] = df["time since start [ms]"] / 1000.0 -T_INF = 22.99 # temperatura ambiente [°C] +def _leggi_t_inf() -> float: + report = ROOT / "start" / "report.md" + if not report.exists(): + raise FileNotFoundError("start/report.md non trovato. Esegui prima 'Calcola T ambiente'.") + m = re.search(r"media ponderata\*\*\s*\|\s*\*\*([0-9.]+)\s*°C", + report.read_text(encoding="utf-8")) + if not m: + raise ValueError("T∞ non trovata in start/report.md.") + return float(m.group(1)) + +T_INF = _leggi_t_inf() # temperatura ambiente [°C], letta da start/report.md T0 = 115.0 # inizio intervallo [s] T_END = 133.7 # fine intervallo [s] — ultimo campione nel dataset W0_START = 115.9 # inizio zona esclusa [s] (None = nessuna esclusione)