You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tests run against the currently loaded model (or SystemD_baseline.osm fallback),
38
+
so measures that depend on HVAC, plant loops, or zones will work correctly.
39
+
Use `model_path` to test against a specific model.
37
40
38
41
### 3. Apply to Model
39
42
```
@@ -103,6 +106,40 @@ extract_summary_metrics(run_id=<retrofit_id>) # compare to baseline
103
106
104
107
WARNING: Beams are AIR TERMINALS (connect via `air_loop.addBranchForZone`), NOT zone equipment (`addToThermalZone`).
105
108
109
+
## ReportingMeasures
110
+
111
+
ReportingMeasures run **after simulation** and access SQL results. Use when the user wants to
112
+
generate custom reports, extract specific metrics, or post-process simulation output.
113
+
114
+
### Create a ReportingMeasure
115
+
```
116
+
create_measure(
117
+
name="custom_eui_report",
118
+
description="Extract and report custom EUI breakdown",
119
+
language="Ruby",
120
+
measure_type="ReportingMeasure",
121
+
run_body=' query = "SELECT Value FROM TabularDataWithStrings WHERE ReportName=\'AnnualBuildingUtilityPerformanceSummary\' AND TableName=\'Site and Source Energy\' AND RowName=\'Total Site Energy\' AND ColumnName=\'Total Energy\' AND Units=\'GJ\'"\n val = sql.execAndReturnFirstDouble(query)\n if val.is_initialized\n runner.registerValue("total_site_energy_gj", val.get)\n runner.registerInfo("Total Site Energy: #{val.get} GJ")\n end\n runner.registerFinalCondition("Report complete")'
122
+
)
123
+
```
124
+
125
+
### Test with Simulation Results
126
+
```
127
+
# ReportingMeasures need SQL — provide run_id from a completed sim
0 commit comments