补充test_mql pneumatic_96候选短窗口对比
This commit is contained in:
1 parent
a8a68f6dd4
commit
e17a952bee
2 files changed
+391
-14
No files matched your search
@@ -19,12 +19,15 @@ from PythonModels.scripts.run_test_mql_full_state_comparison import (
|
||||
TestMqlPnvoUpstreamEnthalpyDiagnostic,
|
||||
TestMqlPnl0001PressureLossCalibrationDiagnostic,
|
||||
TestMqlPnvoEventBoundaryDiagnostic,
|
||||
TestMqlPnvoEventWindowCandidateComparisonDiagnostic,
|
||||
TestMqlPnvoEventWindowCandidateMetricComparison,
|
||||
TestMqlPnvoEventWindowDiagnostic,
|
||||
TestMqlPnvoEventWindowSampleDiagnostic,
|
||||
TestMqlPnvoFlowParameterDiagnostic,
|
||||
TestMqlPnvoEventWindowSegmentDiagnostic,
|
||||
format_test_mql_full_state_comparison_summary,
|
||||
format_test_mql_pnvo_event_boundary_summary,
|
||||
format_test_mql_pnvo_event_window_candidate_comparison_summary,
|
||||
format_test_mql_pnvo_event_window_summary,
|
||||
run_test_mql_full_state_comparison,
|
||||
_ideal_pn2vol_reference_dtemp,
|
||||
@@ -899,6 +902,73 @@ class RunTestMqlFullStateComparisonScriptTests(unittest.TestCase):
|
||||
self.assertIn("Final comparison:", summary)
|
||||
self.assertTrue(summary.endswith("\n"))
|
||||
|
||||
def test_formats_pnvo_event_window_candidate_comparison(self) -> None:
|
||||
data_paths = ("press@pn_c1_8", "dm2@pn_morifice_1")
|
||||
default_diagnostic = TestMqlPnvoEventWindowDiagnostic(
|
||||
orifice_alias="pn_morifice_1",
|
||||
event_time_s=0.04,
|
||||
final_time_s=0.05,
|
||||
data_paths=data_paths,
|
||||
segment_diagnostics=(),
|
||||
sample_diagnostics=(),
|
||||
python_values_by_data_path={
|
||||
"press@pn_c1_8": 1.0,
|
||||
"dm2@pn_morifice_1": 10.0,
|
||||
},
|
||||
amesim_values_by_data_path={
|
||||
"press@pn_c1_8": 4.0,
|
||||
"dm2@pn_morifice_1": 8.0,
|
||||
},
|
||||
)
|
||||
candidate_diagnostic = TestMqlPnvoEventWindowDiagnostic(
|
||||
orifice_alias="pn_morifice_1",
|
||||
event_time_s=0.04,
|
||||
final_time_s=0.05,
|
||||
data_paths=data_paths,
|
||||
segment_diagnostics=(),
|
||||
sample_diagnostics=(),
|
||||
python_values_by_data_path={
|
||||
"press@pn_c1_8": 3.0,
|
||||
"dm2@pn_morifice_1": 13.0,
|
||||
},
|
||||
amesim_values_by_data_path={
|
||||
"press@pn_c1_8": 4.0,
|
||||
"dm2@pn_morifice_1": 8.0,
|
||||
},
|
||||
)
|
||||
metric = TestMqlPnvoEventWindowCandidateMetricComparison(
|
||||
time_s=0.0401,
|
||||
metric_name="p96:p2_abs_error_pa",
|
||||
default_abs_error=32000.0,
|
||||
candidate_abs_error=3600.0,
|
||||
)
|
||||
diagnostic = TestMqlPnvoEventWindowCandidateComparisonDiagnostic(
|
||||
orifice_alias="pn_morifice_1",
|
||||
event_time_s=0.04,
|
||||
final_time_s=0.05,
|
||||
default_diagnostic=default_diagnostic,
|
||||
candidate_diagnostic=candidate_diagnostic,
|
||||
metric_comparisons=(metric,),
|
||||
)
|
||||
|
||||
summary = format_test_mql_pnvo_event_window_candidate_comparison_summary(
|
||||
diagnostic
|
||||
)
|
||||
|
||||
self.assertEqual(metric.abs_error_delta, -28400.0)
|
||||
self.assertIn("PNVO event window candidate comparison", summary)
|
||||
self.assertIn("negative delta means the candidate reduced error", summary)
|
||||
self.assertIn("t=0.0401 - p96:p2_abs_error_pa", summary)
|
||||
self.assertIn("default_abs_error=32000.0", summary)
|
||||
self.assertIn("candidate_abs_error=3600.0", summary)
|
||||
self.assertIn("delta=-28400.0", summary)
|
||||
self.assertIn("Final comparison:", summary)
|
||||
self.assertIn("press@pn_c1_8", summary)
|
||||
self.assertIn("delta=-2.0", summary)
|
||||
self.assertIn("dm2@pn_morifice_1", summary)
|
||||
self.assertIn("delta=3.0", summary)
|
||||
self.assertTrue(summary.endswith("\n"))
|
||||
|
||||
def test_full_state_script_can_skip_artifact_files(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
output_dir = Path(tmpdir)
|
||||
|
||||
Reference in new issue
Block a user