Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ANSI 301-2022: load profile schedules#1572

Merged
shorowit merged 84 commits into
ansi_301_2022from
ansi_301_2022_lighting_appl
Jan 26, 2024
Merged

ANSI 301-2022: load profile schedules#1572
shorowit merged 84 commits into
ansi_301_2022from
ansi_301_2022_lighting_appl

Conversation

@joseph-robertson

@joseph-robertson joseph-robertson commented Dec 19, 2023

Copy link
Copy Markdown
Collaborator

Pull Request Description

Various schedule fractions/multipliers updates (e.g., appliances, lighting, fixtures, occupancy, ceiling fan).
Also allows the hot water recirculation pump schedule to be defined (w/defaults for no control, demand controlled, temperature controlled).
Default fridge schedule is now an actuated EMS program. Daily schedule is a function of hour and space temperature.

Questions / TODO:

  • How to properly set up the defaulted fridge schedule. Is the actuated schedule arbitrary (i.e., could we just enter some constant schedule)? How is the design level calculated? We can normalize_sum_to_one each timestep's daily schedule values (so that the daily sum is 1), but then the design level would be some huge number. Otherwise, we'd need to divide all the schedule values by the annual max value (so that the max schedule value is 1), but how would we get that number? Edit: decided to use the design level corresponding to the original weekday/weekend fractions and monthly multipliers. Also decided to leave the new schedule values unnormalized; a consequence here is that the actual consumption is greater than the rated consumption.
  • Update schedule_files/occupancy-non-stochastic.csv with a hot_water_recirculation_pump column? (And then we can update test_ruby_warning_messages in test_validation.rb. Is this file updated manually? Edit: I manually added a constant "hot_water_recirculation_pump" column to the file, and update the test.
  • How to apply unavailable period(s) to the actuated fridge schedule? Edit: I have a path forward here. I create the original ruleset schedule with outage rules on it (but actuate a separate constant schedule), and then put a sensor on it and use it in the EMS program.
  • Should we default refrigerator constant_coefficients and temperature_coefficients only when all 3 of weekday fractions, weekend fractions, and monthly multipliers are not provided? I.e., if only weekday fractions are provided should we (a) default weekend fractions and monthly multipliers or (b) ignore weekday fractions and instead default constant/temperature coefficients? Edit: I'm going with (a) here.
  • Use the new set of monthly lighting multipliers in lighting.rb's get_schedule method? Yes. Where/when do we use the new interior lighting schedule fractions? In OS-ERI.
  • Several TODOs in docs (most around "defaults from TODO are used ...").
  • Probably need some schematron updates around use of WeekdayScheduleFractions/WeekendScheduleFractions/MonthlyScheduleMultipliers and ConstantCoefficients/TemperatureCoefficients. Update: I'm taking the approach of allowing all of them in the HPXML file, but prioritizing ConstantCoefficients/TemperatureCoeffcients in the workflow.
  • How to calculate annual equivalent full load hrs from actuated EMS program? I've commented out things in test_schedules.rb and test_hotwater_appliance.rb until we figure this out. We may want to just hardcode expected values here? Update: I removed existing tests for fridge full load hrs, and replaced with simulation tests for energy use and schedule value sums.

Checklist

PR Author: Check these when they're done. Not all may apply. strikethrough and check any that do not apply.

PR Reviewer: Verify each has been completed.

  • Schematron validator (EPvalidator.xml) 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

@joseph-robertson joseph-robertson added the enhancement New feature or request label Dec 19, 2023
@joseph-robertson joseph-robertson self-assigned this Dec 19, 2023
Comment thread HPXMLtoOpenStudio/resources/lighting.rb
Comment thread HPXMLtoOpenStudio/resources/schedules.rb
Comment thread tasks.rb
Comment thread docs/source/workflow_inputs.rst Outdated
Comment thread HPXMLtoOpenStudio/resources/hpxml_defaults.rb Outdated
Comment thread HPXMLtoOpenStudio/tests/test_schedules.rb Outdated
@joseph-robertson

joseph-robertson commented Jan 24, 2024

Copy link
Copy Markdown
Collaborator Author
1. Do we want to expose general water use schedule arguments, or just set the ANSI 301-2022 values?

I'm fine with just setting them for now.

I decided to go for it. The simple fields are WaterWeekdayScheduleFractions, WaterWeekendScheduleFractions, and WaterMonthlyScheduleMultipliers (under BuildingOccupancy), and the detailed CSV column name is general_water_use.

GitHub Action and others added 14 commits January 25, 2024 15:54
 into ansi_301_2022_lighting_appl

# Conflicts:
#	BuildResidentialHPXML/measure.xml
#	BuildResidentialScheduleFile/measure.xml
#	Changelog.md
#	HPXMLtoOpenStudio/measure.xml
#	ReportSimulationOutput/measure.xml
#	workflow/tests/base_results/results_workflow_simulations1.csv
#	workflow/tests/base_results/results_workflow_simulations1_bills.csv
#	workflow/tests/base_results/results_workflow_simulations2.csv
#	workflow/tests/base_results/results_workflow_simulations2_bills.csv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants