Skip to content

Add supply air/water condition timeseries outputs - #2289

Draft
joseph-robertson wants to merge 12 commits into
masterfrom
ts-supply-conds
Draft

joseph-robertson wants to merge 12 commits into
masterfrom
ts-supply-conds

Conversation

@joseph-robertson

@joseph-robertson joseph-robertson commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

Pull Request Description

Closes #2274.

Add optional timeseries for HVAC supply air (temperature/humidity) and hydronic (temperature), and for DHW outlet temperature (label columns by distribution or system ID):

  • Supply Air Temperature: <HVACDistributionID>
  • Supply Air Relative Humidity: <HVACDistributionID>
  • Supply Air Humidity Ratio: <HVACDistributionID>
  • Supply Water Temperature: <HVACDistributionID>
  • Supply Water Temperature: <WaterHeatingSystemID>

Checklist

Not all may apply:

  • Schematron validator (EPvalidator.sch) has been updated
  • Sample files have been added/updated (openstudio tasks.rb update_hpxmls)
  • Tests have been added/updated (e.g., HPXMLtoOpenStudio/tests/test*.rb and/or workflow/tests/test*.rb)
  • Documentation has been updated
  • Changelog has been updated
  • openstudio tasks.rb update_measures has been run
  • No unexpected changes to simulation results of sample files

Add an optional report argument for HVAC air conditions, HVAC hydronic supply temperatures, and domestic hot water outlet temperatures. Label outputs by HVAC distribution or water-heating system ID, and cover distributionless fallback IDs and multifamily building suffixes in tests.
Add the supply timeseries category to run_simulation.rb and pass it to the reporting measure. Set the new measure argument to false in workflow templates to preserve existing defaults.
Describe the new supply category and the HVAC air, hydronic water, and DHW temperatures and humidity outputs it includes.
Add a feature entry for the optional supply timeseries category covering HVAC supply conditions and domestic hot water outlet temperatures.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Solar DHW labels can collide and overwrite results, while fan-coil and combi systems omit expected supply-condition outputs.

3 open issues
What changed in this PR

Adds optional supply-condition timeseries to the simulation reporting workflow, addressing #2274 with HVAC air temperature/humidity, hydronic supply temperature, and DHW outlet temperature outputs.

Changes:

  • Adds the supply category and reporting argument, with columns labeled by distribution or system ID.
  • Integrates output requests and results into supported report formats.
  • Updates workflow templates, tests, documentation, and release notes.
File Description
workflow/​tests/​util.rb Adds supply-output tolerances and a GSHP warning exemption.
workflow/​template-run-hpxml.osw Adds the disabled-by-default supply option.
workflow/​template-run-hpxml-with-stochastic-occupancy.osw Adds the supply option.
workflow/​template-run-hpxml-with-stochastic-occupancy-subset.osw Adds the supply option.
workflow/​template-build-and-run-hpxml.osw Adds the supply option.
workflow/​template-build-and-run-hpxml-with-stochastic-occupancy.osw Adds the supply option.
workflow/​run_simulation.rb Connects the supply category to reporting.
ReportSimulationOutput/​tests/​test_report_sim_output.rb Tests supply columns, ordering, and units.
ReportSimulationOutput/​README.md Documents the new argument.
ReportSimulationOutput/​measure.xml Registers the argument and updates metadata.
ReportSimulationOutput/​measure.rb Requests, labels, and exports supply conditions.
docs/​source/​workflow_outputs.rst Documents the category and output units.
Changelog.md Announces optional supply timeseries.

Review effort: Balanced

Comment thread ReportSimulationOutput/measure.rb Outdated
# @param plant_loop [OpenStudio::Model::PlantLoop] Plant loop to inspect
# @return [Boolean] Whether the loop contains a water heater
def water_heating_plant_loop?(plant_loop)
components = plant_loop.supplyComponents + plant_loop.demandComponents
Comment on lines +654 to +655
model.getAirLoopHVACs.each do |air_loop|
key_value = air_loop.demandInletNode.name.to_s.upcase
Comment thread ReportSimulationOutput/measure.rb Outdated
end

# DHW outputs
water_heaters = @model.getWaterHeaterMixeds + @model.getWaterHeaterStratifieds
Add air temperature and humidity outputs for boiler fan coil outlets. Map the hydronic supply temperature to the HVAC distribution for combi systems, while excluding the cloned water heating loop and solar preheat tank from HVAC and DHW system outputs.
Store the heating system ID on each boiler fan coil so the reporting measure can label supply air series with the referenced HVAC distribution.
@shorowit

Copy link
Copy Markdown
Contributor

Thinking out loud a bit here...

First, I think calling it "supply air temperature" is misleading. It doesn't include duct losses, so it's really the leaving air temperature. I forget offhand if we calculate an actual supply air temperature in our duct model...

Also, the PR is very focused on supply conditions, but that is pretty narrow. Other items of interest:

  • return water temperature for hydronic systems
  • entering air temperature (I assume we wouldn't bother to report return air temperatures since that is the conditioned space temperature...?)
  • mains water temperature (or inlet water heater temperature, in the case of DWHR?)
  • water fixture temperatures

Maybe we should break this up into HVAC Conditions and DHW Conditions (or HVAC Details and DHW Details)?

I feel like this feature needs discussion.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@joseph-robertson
joseph-robertson marked this pull request as draft October 26, 2026 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

Add optional bool argument for advanced HVAC timeseries outputs

3 participants