urbanopt-cli 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/pull_request_template.md +2 -2
- data/CHANGELOG.md +15 -0
- data/Gemfile +11 -11
- data/README.md +1 -1
- data/example_files/Gemfile +3 -3
- data/example_files/mappers/Baseline.rb +233 -204
- data/example_files/mappers/HighEfficiency.rb +41 -8
- data/example_files/measures/BuildResidentialModel/measure.rb +25 -5
- data/example_files/resources/hpxml-measures/.gitignore +1 -2
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/measure.rb +364 -694
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/measure.xml +1506 -889
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/constants.rb +12 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/location.rb +1 -1
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules.rb +1068 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_README.md +45 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_clothes_dryer_power_consumption_dist.csv +95 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_clothes_dryer_power_duration_dist.csv +95 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_clothes_washer_cluster_size_probability.csv +6 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_clothes_washer_event_duration_probability.csv +44 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_clothes_washer_power_consumption_dist.csv +93 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_clothes_washer_power_duration_dist.csv +93 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_config.yml +61 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_cooking_power_consumption_dist.csv +63 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_cooking_power_duration_dist.csv +63 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_dishwasher_cluster_size_probability.csv +8 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_dishwasher_event_duration_probability.csv +192 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_dishwasher_power_consumption_dist.csv +56 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_dishwasher_power_duration_dist.csv +56 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_shower_cluster_size_probability.csv +4 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_shower_event_duration_probability.csv +1531 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_cooking_evening_duration_probability.csv +10 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_cooking_midday_duration_probability.csv +20 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_cooking_morning_duration_probability.csv +19 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_dishwashing_evening_duration_probability.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_dishwashing_midday_duration_probability.csv +11 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_dishwashing_morning_duration_probability.csv +11 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_laundry_evening_duration_probability.csv +12 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_laundry_midday_duration_probability.csv +19 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_laundry_morning_duration_probability.csv +19 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_shower_evening_duration_probability.csv +10 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_shower_midday_duration_probability.csv +12 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_0_shower_morning_duration_probability.csv +11 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_cooking_evening_duration_probability.csv +8 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_cooking_midday_duration_probability.csv +21 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_cooking_morning_duration_probability.csv +26 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_dishwashing_evening_duration_probability.csv +6 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_dishwashing_midday_duration_probability.csv +14 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_dishwashing_morning_duration_probability.csv +15 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_laundry_evening_duration_probability.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_laundry_midday_duration_probability.csv +19 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_laundry_morning_duration_probability.csv +25 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_shower_evening_duration_probability.csv +9 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_shower_midday_duration_probability.csv +11 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_1_shower_morning_duration_probability.csv +14 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_cooking_evening_duration_probability.csv +10 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_cooking_midday_duration_probability.csv +16 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_cooking_morning_duration_probability.csv +15 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_dishwashing_evening_duration_probability.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_dishwashing_midday_duration_probability.csv +5 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_dishwashing_morning_duration_probability.csv +5 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_laundry_evening_duration_probability.csv +13 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_laundry_midday_duration_probability.csv +12 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_laundry_morning_duration_probability.csv +13 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_shower_evening_duration_probability.csv +10 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_shower_midday_duration_probability.csv +10 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_2_shower_morning_duration_probability.csv +14 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_cooking_evening_duration_probability.csv +9 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_cooking_midday_duration_probability.csv +18 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_cooking_morning_duration_probability.csv +10 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_dishwashing_evening_duration_probability.csv +8 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_dishwashing_midday_duration_probability.csv +10 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_dishwashing_morning_duration_probability.csv +8 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_laundry_evening_duration_probability.csv +10 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_laundry_midday_duration_probability.csv +17 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_laundry_morning_duration_probability.csv +14 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_shower_evening_duration_probability.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_shower_midday_duration_probability.csv +12 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_duration_probability_cluster_3_shower_morning_duration_probability.csv +14 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_initial_prob_cluster_0.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_initial_prob_cluster_1.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_initial_prob_cluster_2.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_initial_prob_cluster_3.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_transition_prob_cluster_0.csv +665 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_transition_prob_cluster_1.csv +665 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_transition_prob_cluster_2.csv +665 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekday_mkv_chain_transition_prob_cluster_3.csv +665 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_cooking_evening_duration_probability.csv +12 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_cooking_midday_duration_probability.csv +22 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_cooking_morning_duration_probability.csv +18 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_dishwashing_evening_duration_probability.csv +9 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_dishwashing_midday_duration_probability.csv +10 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_dishwashing_morning_duration_probability.csv +10 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_laundry_evening_duration_probability.csv +11 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_laundry_midday_duration_probability.csv +22 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_laundry_morning_duration_probability.csv +18 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_shower_evening_duration_probability.csv +8 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_shower_midday_duration_probability.csv +10 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_0_shower_morning_duration_probability.csv +15 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_cooking_evening_duration_probability.csv +14 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_cooking_midday_duration_probability.csv +23 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_cooking_morning_duration_probability.csv +24 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_dishwashing_evening_duration_probability.csv +12 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_dishwashing_midday_duration_probability.csv +14 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_dishwashing_morning_duration_probability.csv +15 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_laundry_evening_duration_probability.csv +12 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_laundry_midday_duration_probability.csv +21 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_laundry_morning_duration_probability.csv +22 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_shower_evening_duration_probability.csv +9 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_shower_midday_duration_probability.csv +15 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_1_shower_morning_duration_probability.csv +14 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_cooking_evening_duration_probability.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_cooking_midday_duration_probability.csv +21 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_cooking_morning_duration_probability.csv +20 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_dishwashing_evening_duration_probability.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_dishwashing_midday_duration_probability.csv +6 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_dishwashing_morning_duration_probability.csv +10 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_laundry_evening_duration_probability.csv +9 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_laundry_midday_duration_probability.csv +16 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_laundry_morning_duration_probability.csv +16 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_shower_evening_duration_probability.csv +9 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_shower_midday_duration_probability.csv +11 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_2_shower_morning_duration_probability.csv +14 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_cooking_evening_duration_probability.csv +8 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_cooking_midday_duration_probability.csv +24 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_cooking_morning_duration_probability.csv +34 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_dishwashing_evening_duration_probability.csv +6 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_dishwashing_midday_duration_probability.csv +12 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_dishwashing_morning_duration_probability.csv +13 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_laundry_evening_duration_probability.csv +10 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_laundry_midday_duration_probability.csv +24 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_laundry_morning_duration_probability.csv +29 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_shower_evening_duration_probability.csv +8 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_shower_midday_duration_probability.csv +14 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_duration_probability_cluster_3_shower_morning_duration_probability.csv +16 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_initial_prob_cluster_0.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_initial_prob_cluster_1.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_initial_prob_cluster_2.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_initial_prob_cluster_3.csv +7 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_transition_prob_cluster_0.csv +665 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_transition_prob_cluster_1.csv +665 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_transition_prob_cluster_2.csv +665 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/resources/schedules_weekend_mkv_chain_transition_prob_cluster_3.csv +665 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-coal.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-dehumidifier-50percent.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-dehumidifier-ief.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-dehumidifier.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-gas.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-modified.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-none.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-oil.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-propane.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-appliances-wood.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-atticroof-flat.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-atticroof-radiant-barrier.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-atticroof-unvented-insulated-roof.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-atticroof-vented.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-combi-tankless-outside.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-combi-tankless.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-dwhr.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-indirect-outside.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-indirect-standbyloss.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-indirect-with-solar-fraction.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-indirect.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-jacket-electric.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-jacket-gas.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-jacket-hpwh.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-jacket-indirect.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-low-flow-fixtures.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-none.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-demand.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-manual.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-nocontrol.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-temperature.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-recirc-timer.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-direct-evacuated-tube.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-direct-flat-plate.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-direct-ics.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-fraction.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-indirect-flat-plate.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-solar-thermosyphon-flat-plate.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-coal.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-gas-outside.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-gas.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-heat-pump-outside.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-heat-pump-with-solar-fraction.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-heat-pump-with-solar.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-heat-pump.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-oil.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tank-wood.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-electric-outside.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-electric.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-gas-with-solar-fraction.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-gas-with-solar.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-gas.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-tankless-propane.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-dhw-uef.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-2stories-garage.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-2stories.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-beds-1.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-beds-2.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-beds-4.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-beds-5.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-garage.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-ach-house-pressure.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-cfm-house-pressure.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-cfm50.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-flue.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-infil-natural-ach.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-overhangs.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-enclosure-windows-none.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-ambient.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-conditioned-basement-slab-insulation.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-slab.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-unconditioned-basement-assembly-r.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-unconditioned-basement-wall-insulation.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-unconditioned-basement.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-unvented-crawlspace.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-foundation-vented-crawlspace.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-air-to-air-heat-pump-1-speed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-air-to-air-heat-pump-2-speed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-air-to-air-heat-pump-var-speed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-coal-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-elec-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-gas-central-ac-1-speed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-gas-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-oil-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-propane-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-boiler-wood-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-central-ac-only-1-speed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-central-ac-only-2-speed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-central-ac-only-var-speed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-central-ac-plus-air-to-air-heat-pump-heating.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed-electric.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-air-to-air-heat-pump-2-speed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-air-to-air-heat-pump-var-speed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-dual-fuel-mini-split-heat-pump-ducted.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-ducts-leakage-percent.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-elec-resistance-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-evap-cooler-furnace-gas.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-evap-cooler-only-ducted.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-evap-cooler-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-fireplace-wood-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-fixed-heater-gas-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-floor-furnace-propane-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-elec-central-ac-1-speed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-elec-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-gas-central-ac-2-speed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-gas-central-ac-var-speed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-gas-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-gas-room-ac.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-oil-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-propane-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-furnace-wood-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-ground-to-air-heat-pump.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-air-conditioner-only-ducted.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-air-conditioner-only-ductless.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-heat-pump-ducted-cooling-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-heat-pump-ducted-heating-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-heat-pump-ducted.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-mini-split-heat-pump-ductless.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-none.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-portable-heater-gas-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-programmable-thermostat.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-room-ac-only-33percent.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-room-ac-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-setpoints.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-stove-oil-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-stove-wood-pellets-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-undersized.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-hvac-wall-furnace-elec-only.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-lighting-ceiling-fans.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-lighting-detailed.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/{base-location-epw-filepath-AMY-2012.osw → base-location-AMY-2012.osw} +12 -58
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-baltimore-md.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-dallas-tx.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-duluth-mn.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-location-miami-fl.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-balanced.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-bath-kitchen-fans.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-cfis-evap-cooler-only-ducted.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-cfis.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-erv-atre-asre.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-erv.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-exhaust.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-hrv-asre.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-hrv.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-supply.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-mechvent-whole-house-fan.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-defaults.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-loads-large-uncommon.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-loads-large-uncommon2.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-neighbor-shading.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-misc-usage-multiplier.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-multifamily.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-pv.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-schedules-stochastic.osw +363 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/{base-location-epw-filepath.osw → base-schedules-user-specified.osw} +13 -58
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-calendar-year-custom.osw +364 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-daylight-saving-custom.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-daylight-saving-disabled.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-runperiod-1-month.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-simcontrol-timestep-10-mins.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base-single-family-attached.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/base.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/build_residential_hpxml_test.rb +53 -2
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-auto.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-dhw-shared-water-heater.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-dhw-solar-latitude.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-enclosure-garage-partially-protruded.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-mechvent-shared-preconditioning.osw +373 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-mechvent-shared.osw +367 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-pv-roofpitch.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-pv-shared.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-second-heating-system-fireplace.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-second-heating-system-portable-heater.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-second-refrigerator.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/extra-vacancy-6-months.osw +367 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/conditioned-attic-with-floor-insulation.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/conditioned-basement-with-ceiling-insulation.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/cooling-system-and-heat-pump.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/dhw-indirect-without-boiler.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/ducts-location-and-areas-not-same-type.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/heating-system-and-heat-pump.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multifamily-bottom-crawlspace-zero-foundation-height.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multifamily-bottom-slab-non-zero-foundation-height.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/multifamily-no-building-orientation.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/non-electric-heat-pump-water-heater.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/non-integer-ceiling-fan-quantity.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/non-integer-geometry-num-bathrooms.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/second-heating-system-serves-majority-heat.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/single-family-attached-ambient.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/single-family-attached-no-building-orientation.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/single-family-detached-finished-basement-zero-foundation-height.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/single-family-detached-slab-non-zero-foundation-height.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/slab-non-zero-foundation-height-above-grade.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/unconditioned-basement-with-wall-and-ceiling-insulation.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/unvented-attic-with-floor-and-roof-insulation.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/unvented-crawlspace-with-wall-and-ceiling-insulation.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/vented-attic-with-floor-and-roof-insulation.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/invalid_files/vented-crawlspace-with-wall-and-ceiling-insulation.osw +11 -57
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/schedules/stochastic.csv +8761 -0
- data/example_files/resources/hpxml-measures/BuildResidentialHPXML/tests/schedules/user-specified.csv +8761 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.rb +65 -61
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.xml +104 -113
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/EPvalidator.xml +9 -1
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/airflow.rb +62 -10
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/constants.rb +4 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/geometry.rb +8 -3
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hotwater_appliances.rb +127 -52
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml.rb +21 -3
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_defaults.rb +67 -45
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hvac.rb +17 -11
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/lighting.rb +54 -26
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/location.rb +3 -7
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/misc_loads.rb +85 -20
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/schedules.rb +500 -21
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/weather.rb +5 -2
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_airflow.rb +14 -0
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_defaults.rb +44 -5
- data/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_hotwater_appliance.rb +2 -2
- data/example_files/resources/hpxml-measures/SimulationOutputReport/measure.rb +15 -5
- data/example_files/resources/hpxml-measures/SimulationOutputReport/measure.xml +10 -10
- data/example_files/resources/hpxml-measures/SimulationOutputReport/resources/constants.rb +2 -0
- data/example_files/resources/hpxml-measures/SimulationOutputReport/tests/output_report_test.rb +29 -3
- data/example_files/resources/hpxml-measures/docs/source/build_residential_hpxml.rst +21 -7
- data/example_files/resources/hpxml-measures/docs/source/hpxml_to_openstudio.rst +36 -8
- data/example_files/resources/hpxml-measures/docs/source/simulation_output_report.rst +5 -4
- data/example_files/resources/hpxml-measures/tasks.rb +101 -175
- data/example_files/resources/hpxml-measures/weather/US_CO_Boulder_AMY_2012-cache.csv +1 -1
- data/example_files/resources/hpxml-measures/weather/US_CO_Boulder_AMY_2012.epw +1 -1
- data/example_files/resources/hpxml-measures/workflow/run_simulation.rb +0 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-coal.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-50percent.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier-ief.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-dehumidifier.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-gas.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-modified.xml +6 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-none.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-oil.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-propane.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-appliances-wood.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-cathedral.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-conditioned.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-flat.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-radiant-barrier.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-unvented-insulated-roof.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-atticroof-vented.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-combi-tankless-outside.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-combi-tankless.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-2-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-gshp.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-hpwh.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-tankless.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater-var-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-desuperheater.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-dwhr.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-dse.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-outside.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-standbyloss.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect-with-solar-fraction.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-indirect.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-electric.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-gas.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-hpwh.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-jacket-indirect.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-low-flow-fixtures.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-multiple.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-none.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-demand.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-manual.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-nocontrol.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-temperature.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-recirc-timer.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-shared-laundry-room.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-shared-water-heater-recirc.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-shared-water-heater.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-evacuated-tube.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-flat-plate.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-direct-ics.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-fraction.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-indirect-flat-plate.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-solar-thermosyphon-flat-plate.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-coal.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas-outside.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-gas.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-outside.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-with-solar-fraction.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump-with-solar.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-heat-pump.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-oil.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tank-wood.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric-outside.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-electric.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-with-solar-fraction.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas-with-solar.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-gas.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-tankless-propane.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-dhw-uef.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-2stories-garage.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-2stories.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-attached-multifamily.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-1.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-2.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-4.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-beds-5.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-common-surfaces.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-garage.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-ach-house-pressure.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-cfm-house-pressure.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-cfm50.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-flue.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-infil-natural-ach.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-other-heated-space.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-other-housing-unit.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-other-multifamily-buffer-space.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-other-non-freezing-space.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-overhangs.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-rooftypes.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-skylights.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-split-surfaces.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-walltypes.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-interior-shading.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-enclosure-windows-none.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-ambient.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-complex.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-conditioned-basement-slab-insulation.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-conditioned-basement-wall-interior-insulation.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-multiple.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-slab.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-above-grade.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-assembly-r.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement-wall-insulation.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unconditioned-basement.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-unvented-crawlspace.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-vented-crawlspace.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-foundation-walkout-basement.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-1-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-2-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-coal-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-elec-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-gas-central-ac-1-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-gas-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-oil-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-propane-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-boiler-wood-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-1-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-2-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-only-var-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-central-ac-plus-air-to-air-heat-pump-heating.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dse.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed-electric.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-2-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-air-to-air-heat-pump-var-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-dual-fuel-mini-split-heat-pump-ducted.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ducts-leakage-percent.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-elec-resistance-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-furnace-gas.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-only-ducted.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-evap-cooler-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-fireplace-wood-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-fixed-heater-gas-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-floor-furnace-propane-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-flowrate.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-elec-central-ac-1-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-elec-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-central-ac-2-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-central-ac-var-speed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-gas-room-ac.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-oil-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-propane-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-wood-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-furnace-x3-dse.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ground-to-air-heat-pump.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-ideal-air.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ducted.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ductless.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-cooling-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-heating-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-mini-split-heat-pump-ductless.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-multiple.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-multiple2.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-none.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-portable-heater-gas-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-programmable-thermostat.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only-33percent.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-room-ac-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-setpoints.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-chiller-baseboard.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-chiller-fan-coil-ducted.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-chiller-fan-coil.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-chiller-water-loop-heat-pump.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-cooling-tower-water-loop-heat-pump.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-only-baseboard.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-only-fan-coil-ducted.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-only-fan-coil-eae.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-only-fan-coil.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-boiler-only-water-loop-heat-pump.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-chiller-only-baseboard.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-chiller-only-fan-coil-ducted.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-chiller-only-fan-coil.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-chiller-only-water-loop-heat-pump.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-cooling-tower-only-water-loop-heat-pump.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-shared-ground-loop-ground-to-air-heat-pump.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-stove-oil-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-stove-wood-pellets-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-undersized-allow-increased-fixed-capacities.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-undersized.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-hvac-wall-furnace-elec-only.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-ceiling-fans.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-detailed.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-lighting-none.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/{base-location-epw-filepath-AMY-2012.xml → base-location-AMY-2012.xml} +8 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-baltimore-md.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-dallas-tx.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-duluth-mn.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-location-miami-fl.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-balanced.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-bath-kitchen-fans.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-dse.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis-evap-cooler-only-ducted.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-cfis.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-erv-atre-asre.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-erv.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-exhaust-rated-flow-rate.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-exhaust.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-hrv-asre.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-hrv.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-multiple.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-shared-multiple.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-shared-preconditioning.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-shared.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-supply.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-mechvent-whole-house-fan.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-defaults.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-large-uncommon.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-large-uncommon2.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-loads-none.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-neighbor-shading.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-shelter-coefficient.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-misc-usage-multiplier.xml +5 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv-shared.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-pv.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-stochastic.xml +565 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-schedules-user-specified.xml +565 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/{base-location-epw-filepath.xml → base-simcontrol-calendar-year-custom.xml} +5 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-daylight-saving-custom.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-daylight-saving-disabled.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-runperiod-1-month.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base-simcontrol-timestep-10-mins.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/base.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-air-to-air-heat-pump-1-speed-autosize-manual-s-oversize-allowances.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-air-to-air-heat-pump-1-speed-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-air-to-air-heat-pump-2-speed-autosize-manual-s-oversize-allowances.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-air-to-air-heat-pump-2-speed-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-air-to-air-heat-pump-var-speed-autosize-manual-s-oversize-allowances.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-air-to-air-heat-pump-var-speed-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-boiler-elec-only-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-boiler-gas-central-ac-1-speed-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-boiler-gas-only-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-central-ac-only-1-speed-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-central-ac-only-2-speed-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-central-ac-only-var-speed-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-central-ac-plus-air-to-air-heat-pump-heating-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-dual-fuel-air-to-air-heat-pump-1-speed-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-dual-fuel-mini-split-heat-pump-ducted-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-elec-resistance-only-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-evap-cooler-furnace-gas-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-floor-furnace-propane-only-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-furnace-elec-only-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-furnace-gas-central-ac-2-speed-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-furnace-gas-central-ac-var-speed-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-furnace-gas-only-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-furnace-gas-room-ac-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-ground-to-air-heat-pump-autosize-manual-s-oversize-allowances.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-ground-to-air-heat-pump-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-mini-split-air-conditioner-only-ducted-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-mini-split-heat-pump-ducted-autosize-manual-s-oversize-allowances.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-mini-split-heat-pump-ducted-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-mini-split-heat-pump-ducted-cooling-only-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-mini-split-heat-pump-ducted-heating-only-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-room-ac-only-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-stove-oil-only-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/hvac_autosizing/base-hvac-wall-furnace-elec-only-autosize.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/appliances-location-unconditioned-space.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/cfis-with-hydronic-distribution.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/clothes-dryer-location.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/clothes-washer-location.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/coal-for-non-boiler-heating.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/cooking-range-location.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/dhw-frac-load-served.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/dishwasher-location.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/duct-location-unconditioned-space.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/duct-location.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/duplicate-id.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-attic-missing-roof.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-basement-missing-exterior-foundation-wall.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-basement-missing-slab.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-garage-missing-exterior-wall.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-garage-missing-roof-ceiling.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-garage-missing-slab.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-living-missing-ceiling-roof.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-living-missing-exterior-wall.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/enclosure-living-missing-floor-slab.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/heat-pump-mixed-fixed-and-autosize-capacities.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/heat-pump-mixed-fixed-and-autosize-capacities2.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-distribution-multiple-attached-cooling.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-distribution-multiple-attached-heating.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-distribution-return-duct-leakage-missing.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-dse-multiple-attached-cooling.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-dse-multiple-attached-heating.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-frac-load-served.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/hvac-invalid-distribution-system-type.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/{invalid-wmo.xml → invalid-calendar-year.xml} +8 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-daylight-saving.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-distribution-cfa-served.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-epw-filepath.xml +4 -0
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-facility-type.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-neighbor-shading-azimuth.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-relatedhvac-desuperheater.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-relatedhvac-dhw-indirect.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-runperiod.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-timestep.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-window-height.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/invalid-window-interior-shading.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/lighting-fractions.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/missing-duct-location.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/missing-elements.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multifamily-reference-appliance.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multifamily-reference-duct.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multifamily-reference-surface.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/multifamily-reference-water-heater.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/net-area-negative-roof.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/net-area-negative-wall.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/orphaned-hvac-distribution.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/refrigerator-location.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/refrigerators-multiple-primary.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/refrigerators-no-primary.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/repeated-relatedhvac-desuperheater.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/repeated-relatedhvac-dhw-indirect.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/slab-zero-exposed-perimeter.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/solar-thermal-system-with-combi-tankless.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/solar-thermal-system-with-desuperheater.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/solar-thermal-system-with-dhw-indirect.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-cfis.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-door.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-hvac-distribution.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-shared-clothes-washer-water-heater.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-shared-dishwasher-water-heater.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-skylight.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-solar-thermal-system.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/unattached-window.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/water-heater-location-other.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/sample_files/invalid_files/water-heater-location.xml +7 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L100AC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L100AL.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L110AC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L110AL.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L120AC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L120AL.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L130AC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L130AL.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L140AC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L140AL.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L150AC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L150AL.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L155AC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L155AL.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L160AC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L160AL.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L170AC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L170AL.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L200AC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L200AL.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L202AC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L202AL.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L302XC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L304XC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L322XC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/ASHRAE_Standard_140/L324XC.xml +3 -1
- data/example_files/resources/hpxml-measures/workflow/tests/hpxml_translator_test.rb +4 -2
- data/lib/uo_cli.rb +40 -22
- data/lib/uo_cli/version.rb +1 -1
- data/uo_cli.gemspec +3 -4
- metadata +149 -27
- data/example_files/resources/hpxml-measures/weather/data.csv +0 -1012
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
#*********************************************************************************
|
2
2
|
# URBANopt™, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
|
3
3
|
# contributors. All rights reserved.
|
4
4
|
#
|
@@ -26,7 +26,7 @@
|
|
26
26
|
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
27
27
|
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
28
28
|
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
29
|
-
|
29
|
+
#*********************************************************************************
|
30
30
|
|
31
31
|
require 'urbanopt/reporting'
|
32
32
|
require 'openstudio/common_measures'
|
@@ -39,20 +39,53 @@ require 'json'
|
|
39
39
|
module URBANopt
|
40
40
|
module Scenario
|
41
41
|
class HighEfficiencyMapper < BaselineMapper
|
42
|
+
|
42
43
|
def create_osw(scenario, features, feature_names)
|
44
|
+
|
43
45
|
osw = super(scenario, features, feature_names)
|
44
46
|
|
45
|
-
|
46
|
-
|
47
|
+
feature = features[0]
|
48
|
+
building_type = feature.building_type
|
49
|
+
|
50
|
+
if residential_building_types.include? building_type
|
51
|
+
args = {}
|
52
|
+
osw[:steps].each do |step|
|
53
|
+
next if step[:measure_dir_name] != 'BuildResidentialModel'
|
54
|
+
|
55
|
+
step[:arguments].each do |arg_name, arg_val|
|
56
|
+
args[arg_name] = arg_val
|
57
|
+
end
|
58
|
+
end
|
47
59
|
|
48
|
-
|
49
|
-
|
60
|
+
args[:wall_assembly_r] = Float(args[:wall_assembly_r]) * 1.2 # 20% increase
|
61
|
+
args[:plug_loads_television_usage_multiplier] = Float(args[:plug_loads_television_usage_multiplier]) * 0.9 # 10% reduction
|
62
|
+
args[:plug_loads_other_usage_multiplier] = Float(args[:plug_loads_other_usage_multiplier]) * 0.9 # 10% reduction
|
63
|
+
args[:lighting_usage_multiplier_interior] = Float(args[:lighting_usage_multiplier_interior]) * 0.9 # 10% reduction
|
64
|
+
args[:lighting_usage_multiplier_exterior] = Float(args[:lighting_usage_multiplier_exterior]) * 0.9 # 10% reduction
|
65
|
+
args[:clothes_washer_usage_multiplier] = Float(args[:clothes_washer_usage_multiplier]) * 0.9 # 10% reduction
|
66
|
+
args[:clothes_dryer_usage_multiplier] = Float(args[:clothes_dryer_usage_multiplier]) * 0.9 # 10% reduction
|
67
|
+
args[:dishwasher_usage_multiplier] = Float(args[:dishwasher_usage_multiplier]) * 0.9 # 10% reduction
|
68
|
+
args[:refrigerator_usage_multiplier] = Float(args[:refrigerator_usage_multiplier]) * 0.9 # 10% reduction
|
69
|
+
args[:cooking_range_oven_usage_multiplier] = Float(args[:cooking_range_oven_usage_multiplier]) * 0.9 # 10% reduction
|
70
|
+
args[:water_fixtures_usage_multiplier] = Float(args[:water_fixtures_usage_multiplier]) * 0.9 # 10% reduction
|
50
71
|
|
51
|
-
|
52
|
-
|
72
|
+
args.each do |arg_name, arg_val|
|
73
|
+
OpenStudio::Extension.set_measure_argument(osw, 'BuildResidentialModel', arg_name, arg_val)
|
74
|
+
end
|
75
|
+
elsif commercial_building_types.include? building_type
|
76
|
+
OpenStudio::Extension.set_measure_argument(osw, 'IncreaseInsulationRValueForExteriorWalls', '__SKIP__', false)
|
77
|
+
OpenStudio::Extension.set_measure_argument(osw, 'IncreaseInsulationRValueForExteriorWalls', 'r_value', 20)
|
78
|
+
|
79
|
+
OpenStudio::Extension.set_measure_argument(osw, 'ReduceElectricEquipmentLoadsByPercentage', '__SKIP__', false)
|
80
|
+
OpenStudio::Extension.set_measure_argument(osw, 'ReduceElectricEquipmentLoadsByPercentage', 'elecequip_power_reduction_percent', 20)
|
81
|
+
|
82
|
+
OpenStudio::Extension.set_measure_argument(osw, 'ReduceLightingLoadsByPercentage', '__SKIP__', false)
|
83
|
+
OpenStudio::Extension.set_measure_argument(osw, 'ReduceLightingLoadsByPercentage', 'lighting_power_reduction_percent', 10)
|
84
|
+
end
|
53
85
|
|
54
86
|
return osw
|
55
87
|
end
|
88
|
+
|
56
89
|
end
|
57
90
|
end
|
58
91
|
end
|
@@ -38,7 +38,7 @@ class BuildResidentialModel < OpenStudio::Measure::ModelMeasure
|
|
38
38
|
|
39
39
|
args = OpenStudio::Measure::OSArgumentVector.new
|
40
40
|
measure.arguments(model).each do |arg|
|
41
|
-
next if ['hpxml_path'
|
41
|
+
next if ['hpxml_path'].include? arg.name
|
42
42
|
args << arg
|
43
43
|
end
|
44
44
|
|
@@ -128,9 +128,16 @@ class BuildResidentialModel < OpenStudio::Measure::ModelMeasure
|
|
128
128
|
measures = {}
|
129
129
|
measures[measure_subdir] = []
|
130
130
|
measure_args[:hpxml_path] = File.expand_path('../out.xml')
|
131
|
-
|
132
|
-
|
133
|
-
|
131
|
+
begin
|
132
|
+
measure_args[:software_program_used] = File.basename(File.absolute_path(File.join(File.dirname(__FILE__), '../../..')))
|
133
|
+
rescue
|
134
|
+
end
|
135
|
+
begin
|
136
|
+
version_rb File.absolute_path(File.join(File.dirname(__FILE__), '../../../lib/uo_cli/version.rb'))
|
137
|
+
require version_rb
|
138
|
+
measure_args[:software_program_version] = URBANopt::CLI::VERSION
|
139
|
+
rescue
|
140
|
+
end
|
134
141
|
if unit.additionalProperties.getFeatureAsString('GeometryLevel').is_initialized
|
135
142
|
measure_args[:geometry_level] = unit.additionalProperties.getFeatureAsString('GeometryLevel').get
|
136
143
|
end
|
@@ -150,7 +157,6 @@ class BuildResidentialModel < OpenStudio::Measure::ModelMeasure
|
|
150
157
|
|
151
158
|
measures[measure_subdir] = []
|
152
159
|
measure_args[:hpxml_path] = File.expand_path('../out.xml')
|
153
|
-
measure_args[:weather_dir] = File.expand_path('../../../../weather')
|
154
160
|
measure_args[:output_dir] = File.expand_path('..')
|
155
161
|
measure_args[:debug] = true
|
156
162
|
measure_args = Hash[measure_args.collect{ |k, v| [k.to_s, v] }]
|
@@ -160,6 +166,20 @@ class BuildResidentialModel < OpenStudio::Measure::ModelMeasure
|
|
160
166
|
return false
|
161
167
|
end
|
162
168
|
|
169
|
+
case args[:geometry_unit_type]
|
170
|
+
when 'single-family detached'
|
171
|
+
building_type = 'Single-Family Detached'
|
172
|
+
when 'single-family attached'
|
173
|
+
building_type = 'Single-Family Attached'
|
174
|
+
when 'multifamily'
|
175
|
+
building_type = 'Multifamily'
|
176
|
+
end
|
177
|
+
|
178
|
+
unit_model.getSpaceTypes.each do |space_type|
|
179
|
+
next unless space_type.standardsSpaceType.is_initialized
|
180
|
+
space_type.setStandardsBuildingType(building_type)
|
181
|
+
end
|
182
|
+
|
163
183
|
unit_dir = File.expand_path("../unit #{num_unit+1}")
|
164
184
|
Dir.mkdir(unit_dir)
|
165
185
|
FileUtils.cp(File.expand_path('../out.xml'), unit_dir) # this is the raw hpxml file
|
@@ -4,6 +4,7 @@
|
|
4
4
|
/BuildResidentialHPXML/tests/test_measure.xml
|
5
5
|
/BuildResidentialHPXML/tests/test_rakefile.xml
|
6
6
|
/docs/_build
|
7
|
+
/files
|
7
8
|
/results
|
8
9
|
/run
|
9
10
|
/weather/USA_AK_Adak.NAS.704540_TMY3-cache.csv
|
@@ -2023,5 +2024,3 @@
|
|
2023
2024
|
/workflow/sample_files/run
|
2024
2025
|
/workflow/sample_files/invalid_files/results
|
2025
2026
|
/workflow/sample_files/invalid_files/run
|
2026
|
-
.circleci
|
2027
|
-
.github
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# see the URL below for information on how to write OpenStudio measures
|
2
4
|
# http://nrel.github.io/OpenStudio-user-documentation/reference/measure_writing_guide/
|
3
5
|
|
@@ -5,21 +7,23 @@ require 'openstudio'
|
|
5
7
|
require 'oga'
|
6
8
|
require 'csv'
|
7
9
|
|
8
|
-
require_relative 'resources/geometry'
|
9
10
|
require_relative 'resources/constants'
|
11
|
+
require_relative 'resources/geometry'
|
10
12
|
require_relative 'resources/location'
|
13
|
+
require_relative 'resources/schedules'
|
11
14
|
|
12
15
|
require_relative '../HPXMLtoOpenStudio/resources/constants'
|
13
16
|
require_relative '../HPXMLtoOpenStudio/resources/constructions'
|
14
17
|
require_relative '../HPXMLtoOpenStudio/resources/geometry'
|
15
18
|
require_relative '../HPXMLtoOpenStudio/resources/hpxml'
|
19
|
+
require_relative '../HPXMLtoOpenStudio/resources/hvac'
|
20
|
+
require_relative '../HPXMLtoOpenStudio/resources/lighting'
|
16
21
|
require_relative '../HPXMLtoOpenStudio/resources/materials'
|
17
22
|
require_relative '../HPXMLtoOpenStudio/resources/psychrometrics'
|
18
23
|
require_relative '../HPXMLtoOpenStudio/resources/schedules'
|
19
24
|
require_relative '../HPXMLtoOpenStudio/resources/unit_conversions'
|
20
25
|
require_relative '../HPXMLtoOpenStudio/resources/validator'
|
21
26
|
require_relative '../HPXMLtoOpenStudio/resources/version'
|
22
|
-
require_relative '../HPXMLtoOpenStudio/resources/weather'
|
23
27
|
require_relative '../HPXMLtoOpenStudio/resources/xmlhelper'
|
24
28
|
|
25
29
|
# start the measure
|
@@ -48,12 +52,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
48
52
|
arg.setDescription('Absolute/relative path of the HPXML file.')
|
49
53
|
args << arg
|
50
54
|
|
51
|
-
arg = OpenStudio::Measure::OSArgument.makeStringArgument('weather_dir', true)
|
52
|
-
arg.setDisplayName('Weather Directory')
|
53
|
-
arg.setDescription('Absolute/relative path of the weather directory.')
|
54
|
-
arg.setDefaultValue('weather')
|
55
|
-
args << arg
|
56
|
-
|
57
55
|
arg = OpenStudio::Measure::OSArgument.makeStringArgument('software_program_used', false)
|
58
56
|
arg.setDisplayName('Software Program Used')
|
59
57
|
arg.setDescription('The name of the software program used.')
|
@@ -72,28 +70,34 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
72
70
|
|
73
71
|
arg = OpenStudio::Measure::OSArgument::makeIntegerArgument('simulation_control_run_period_begin_month', false)
|
74
72
|
arg.setDisplayName('Simulation Control: Run Period Begin Month')
|
75
|
-
arg.setUnits('
|
73
|
+
arg.setUnits('#')
|
76
74
|
arg.setDescription('This numeric field should contain the starting month number (1 = January, 2 = February, etc.) for the annual run period desired.')
|
77
75
|
args << arg
|
78
76
|
|
79
77
|
arg = OpenStudio::Measure::OSArgument::makeIntegerArgument('simulation_control_run_period_begin_day_of_month', false)
|
80
78
|
arg.setDisplayName('Simulation Control: Run Period Begin Day of Month')
|
81
|
-
arg.setUnits('
|
79
|
+
arg.setUnits('#')
|
82
80
|
arg.setDescription('This numeric field should contain the starting day of the starting month (must be valid for month) for the annual run period desired.')
|
83
81
|
args << arg
|
84
82
|
|
85
83
|
arg = OpenStudio::Measure::OSArgument::makeIntegerArgument('simulation_control_run_period_end_month', false)
|
86
84
|
arg.setDisplayName('Simulation Control: Run Period End Month')
|
87
|
-
arg.setUnits('
|
85
|
+
arg.setUnits('#')
|
88
86
|
arg.setDescription('This numeric field should contain the end month number (1 = January, 2 = February, etc.) for the annual run period desired.')
|
89
87
|
args << arg
|
90
88
|
|
91
89
|
arg = OpenStudio::Measure::OSArgument::makeIntegerArgument('simulation_control_run_period_end_day_of_month', false)
|
92
90
|
arg.setDisplayName('Simulation Control: Run Period End Day of Month')
|
93
|
-
arg.setUnits('
|
91
|
+
arg.setUnits('#')
|
94
92
|
arg.setDescription('This numeric field should contain the ending day of the ending month (must be valid for month) for the annual run period desired.')
|
95
93
|
args << arg
|
96
94
|
|
95
|
+
arg = OpenStudio::Measure::OSArgument::makeIntegerArgument('simulation_control_run_period_calendar_year', false)
|
96
|
+
arg.setDisplayName('Simulation Control: Run Period Calendar Year')
|
97
|
+
arg.setUnits('year')
|
98
|
+
arg.setDescription('This numeric field should contain the calendar year that determines the start day of week. If you are running simulations using AMY weather files, the value entered for calendar year will not be used; it will be overridden by the actual year found in the AMY weather file.')
|
99
|
+
args << arg
|
100
|
+
|
97
101
|
arg = OpenStudio::Measure::OSArgument::makeBoolArgument('simulation_control_daylight_saving_enabled', false)
|
98
102
|
arg.setDisplayName('Simulation Control: Daylight Saving Enabled')
|
99
103
|
arg.setDescription('Whether to use daylight saving.')
|
@@ -101,31 +105,71 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
101
105
|
|
102
106
|
arg = OpenStudio::Measure::OSArgument::makeIntegerArgument('simulation_control_daylight_saving_begin_month', false)
|
103
107
|
arg.setDisplayName('Simulation Control: Daylight Saving Begin Month')
|
104
|
-
arg.setUnits('
|
108
|
+
arg.setUnits('#')
|
105
109
|
arg.setDescription('This numeric field should contain the starting month number (1 = January, 2 = February, etc.) for the annual daylight saving period desired.')
|
106
110
|
args << arg
|
107
111
|
|
108
112
|
arg = OpenStudio::Measure::OSArgument::makeIntegerArgument('simulation_control_daylight_saving_begin_day_of_month', false)
|
109
113
|
arg.setDisplayName('Simulation Control: Daylight Saving Begin Day of Month')
|
110
|
-
arg.setUnits('
|
114
|
+
arg.setUnits('#')
|
111
115
|
arg.setDescription('This numeric field should contain the starting day of the starting month (must be valid for month) for the daylight saving period desired.')
|
112
116
|
args << arg
|
113
117
|
|
114
118
|
arg = OpenStudio::Measure::OSArgument::makeIntegerArgument('simulation_control_daylight_saving_end_month', false)
|
115
119
|
arg.setDisplayName('Simulation Control: Daylight Saving End Month')
|
116
|
-
arg.setUnits('
|
120
|
+
arg.setUnits('#')
|
117
121
|
arg.setDescription('This numeric field should contain the end month number (1 = January, 2 = February, etc.) for the daylight saving period desired.')
|
118
122
|
args << arg
|
119
123
|
|
120
124
|
arg = OpenStudio::Measure::OSArgument::makeIntegerArgument('simulation_control_daylight_saving_end_day_of_month', false)
|
121
125
|
arg.setDisplayName('Simulation Control: Daylight Saving End Day of Month')
|
122
|
-
arg.setUnits('
|
126
|
+
arg.setUnits('#')
|
123
127
|
arg.setDescription('This numeric field should contain the ending day of the ending month (must be valid for month) for the daylight saving period desired.')
|
124
128
|
args << arg
|
125
129
|
|
130
|
+
schedules_type_choices = OpenStudio::StringVector.new
|
131
|
+
schedules_type_choices << 'default'
|
132
|
+
schedules_type_choices << 'stochastic'
|
133
|
+
schedules_type_choices << 'user-specified'
|
134
|
+
|
135
|
+
arg = OpenStudio::Measure::OSArgument.makeChoiceArgument('schedules_type', schedules_type_choices, true)
|
136
|
+
arg.setDisplayName('Schedules: Type')
|
137
|
+
arg.setDescription("The type of occupant-related schedules to use. Schedules corresponding to 'default' are average (e.g., Building America). Schedules corresponding to 'stochastic' are generated using time-inhomogenous Markov chains derived from American Time Use Survey data, and supplemented with sampling duration and power level from NEEA RBSA data as well as DHW draw duration and flow rate from Aquacraft/AWWA data.")
|
138
|
+
arg.setDefaultValue('default')
|
139
|
+
args << arg
|
140
|
+
|
141
|
+
arg = OpenStudio::Measure::OSArgument.makeStringArgument('schedules_path', false)
|
142
|
+
arg.setDisplayName('Schedules: Path')
|
143
|
+
arg.setDescription('Absolute (or relative) path of the csv file containing user-specified occupancy schedules.')
|
144
|
+
args << arg
|
145
|
+
|
146
|
+
arg = OpenStudio::Measure::OSArgument.makeIntegerArgument('schedules_vacancy_begin_month', false)
|
147
|
+
arg.setDisplayName('Schedules: Vacancy Start Begin Month')
|
148
|
+
arg.setUnits('#')
|
149
|
+
arg.setDescription("This numeric field should contain the starting month number (1 = January, 2 = February, etc.) for the vacancy period desired. Only applies if the schedules type is 'stochastic'.")
|
150
|
+
args << arg
|
151
|
+
|
152
|
+
arg = OpenStudio::Measure::OSArgument.makeIntegerArgument('schedules_vacancy_begin_day_of_month', false)
|
153
|
+
arg.setDisplayName('Schedules: Vacancy Begin Day of Month')
|
154
|
+
arg.setUnits('#')
|
155
|
+
arg.setDescription("This numeric field should contain the starting day of the starting month (must be valid for month) for the vacancy period desired. Only applies if the schedules type is 'stochastic'.")
|
156
|
+
args << arg
|
157
|
+
|
158
|
+
arg = OpenStudio::Measure::OSArgument.makeIntegerArgument('schedules_vacancy_end_month', false)
|
159
|
+
arg.setDisplayName('Schedules: Vacancy Start End Month')
|
160
|
+
arg.setUnits('#')
|
161
|
+
arg.setDescription("This numeric field should contain the end month number (1 = January, 2 = February, etc.) for the vacancy period desired. Only applies if the schedules type is 'stochastic'.")
|
162
|
+
args << arg
|
163
|
+
|
164
|
+
arg = OpenStudio::Measure::OSArgument.makeIntegerArgument('schedules_vacancy_end_day_of_month', false)
|
165
|
+
arg.setDisplayName('Schedules: Vacancy End Day of Month')
|
166
|
+
arg.setUnits('#')
|
167
|
+
arg.setDescription("This numeric field should contain the ending day of the ending month (must be valid for month) for the vacancy period desired. Only applies if the schedules type is 'stochastic'.")
|
168
|
+
args << arg
|
169
|
+
|
126
170
|
arg = OpenStudio::Measure::OSArgument.makeStringArgument('weather_station_epw_filepath', true)
|
127
171
|
arg.setDisplayName('EnergyPlus Weather (EPW) Filepath')
|
128
|
-
arg.setDescription('
|
172
|
+
arg.setDescription('Path of the EPW file.')
|
129
173
|
arg.setDefaultValue('USA_CO_Denver.Intl.AP.725650_TMY3.epw')
|
130
174
|
args << arg
|
131
175
|
|
@@ -1411,6 +1455,114 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
1411
1455
|
arg.setDefaultValue(30)
|
1412
1456
|
args << arg
|
1413
1457
|
|
1458
|
+
arg = OpenStudio::Measure::OSArgument::makeBoolArgument('mech_vent_is_shared_system', true)
|
1459
|
+
arg.setDisplayName('Mechanical Ventilation: Is Shared System')
|
1460
|
+
arg.setDescription('Whether the mechanical ventilation is a shared system. If true, assumed to serve all the units in the building.')
|
1461
|
+
arg.setDefaultValue(false)
|
1462
|
+
args << arg
|
1463
|
+
|
1464
|
+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('shared_mech_vent_in_unit_flow_rate', false)
|
1465
|
+
arg.setDisplayName('Shared Mechanical Ventilation: In-Unit Flow Rate')
|
1466
|
+
arg.setDescription('The flow rate delivered to the dwelling unit. This is required for a shared mechanical ventilation system.')
|
1467
|
+
arg.setUnits('CFM')
|
1468
|
+
args << arg
|
1469
|
+
|
1470
|
+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('shared_mech_vent_frac_recirculation', false)
|
1471
|
+
arg.setDisplayName('Shared Mechanical Ventilation: Fraction Recirculation')
|
1472
|
+
arg.setDescription('Fraction of the total supply air that is recirculated, with the remainder assumed to be outdoor air. The value must be 0 for exhaust only systems. This is required for a shared mechanical ventilation system.')
|
1473
|
+
arg.setUnits('Frac')
|
1474
|
+
args << arg
|
1475
|
+
|
1476
|
+
arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('shared_mech_vent_preheating_fuel', heating_system_fuel_choices, false)
|
1477
|
+
arg.setDisplayName('Shared Mechanical Ventilation: Preheating Fuel')
|
1478
|
+
arg.setDescription('Fuel type of the preconditioning heating equipment.')
|
1479
|
+
args << arg
|
1480
|
+
|
1481
|
+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('shared_mech_vent_preheating_efficiency', false)
|
1482
|
+
arg.setDisplayName('Shared Mechanical Ventilation: Preheating Efficiency')
|
1483
|
+
arg.setDescription('Efficiency of the preconditioning heating equipment.')
|
1484
|
+
arg.setUnits('COP')
|
1485
|
+
args << arg
|
1486
|
+
|
1487
|
+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('shared_mech_vent_preheating_fraction_heat_load_served', false)
|
1488
|
+
arg.setDisplayName('Shared Mechanical Ventilation: Preheating Fraction Ventilation Heat Load Served')
|
1489
|
+
arg.setDescription('Fraction of heating load introduced by the shared ventilation system that is met by the preconditioning heating equipment.')
|
1490
|
+
arg.setUnits('Frac')
|
1491
|
+
args << arg
|
1492
|
+
|
1493
|
+
cooling_system_fuel_choices = OpenStudio::StringVector.new
|
1494
|
+
cooling_system_fuel_choices << HPXML::FuelTypeElectricity
|
1495
|
+
|
1496
|
+
arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('shared_mech_vent_precooling_fuel', cooling_system_fuel_choices, false)
|
1497
|
+
arg.setDisplayName('Shared Mechanical Ventilation: Precooling Fuel')
|
1498
|
+
arg.setDescription('Fuel type of the preconditioning cooling equipment.')
|
1499
|
+
args << arg
|
1500
|
+
|
1501
|
+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('shared_mech_vent_precooling_efficiency', false)
|
1502
|
+
arg.setDisplayName('Shared Mechanical Ventilation: Precooling Efficiency')
|
1503
|
+
arg.setDescription('Efficiency of the preconditioning cooling equipment.')
|
1504
|
+
arg.setUnits('COP')
|
1505
|
+
args << arg
|
1506
|
+
|
1507
|
+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('shared_mech_vent_precooling_fraction_cool_load_served', false)
|
1508
|
+
arg.setDisplayName('Shared Mechanical Ventilation: Precooling Fraction Ventilation Cool Load Served')
|
1509
|
+
arg.setDescription('Fraction of cooling load introduced by the shared ventilation system that is met by the preconditioning cooling equipment.')
|
1510
|
+
arg.setUnits('Frac')
|
1511
|
+
args << arg
|
1512
|
+
|
1513
|
+
arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('mech_vent_fan_type_2', mech_vent_fan_type_choices, true)
|
1514
|
+
arg.setDisplayName('Mechanical Ventilation 2: Fan Type')
|
1515
|
+
arg.setDescription("The type of the second mechanical ventilation. Use 'none' if there is no second mechanical ventilation system.")
|
1516
|
+
arg.setDefaultValue('none')
|
1517
|
+
args << arg
|
1518
|
+
|
1519
|
+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('mech_vent_flow_rate_2', true)
|
1520
|
+
arg.setDisplayName('Mechanical Ventilation 2: Flow Rate')
|
1521
|
+
arg.setDescription('The flow rate of the second mechanical ventilation.')
|
1522
|
+
arg.setUnits('CFM')
|
1523
|
+
arg.setDefaultValue(110)
|
1524
|
+
args << arg
|
1525
|
+
|
1526
|
+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('mech_vent_hours_in_operation_2', true)
|
1527
|
+
arg.setDisplayName('Mechanical Ventilation 2: Hours In Operation')
|
1528
|
+
arg.setDescription('The hours in operation of the second mechanical ventilation.')
|
1529
|
+
arg.setUnits('hrs')
|
1530
|
+
arg.setDefaultValue(24)
|
1531
|
+
args << arg
|
1532
|
+
|
1533
|
+
arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('mech_vent_total_recovery_efficiency_type_2', mech_vent_recovery_efficiency_type_choices, true)
|
1534
|
+
arg.setDisplayName('Mechanical Ventilation 2: Total Recovery Efficiency Type')
|
1535
|
+
arg.setDescription('The total recovery efficiency type of the second mechanical ventilation.')
|
1536
|
+
arg.setDefaultValue('Unadjusted')
|
1537
|
+
args << arg
|
1538
|
+
|
1539
|
+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('mech_vent_total_recovery_efficiency_2', true)
|
1540
|
+
arg.setDisplayName('Mechanical Ventilation 2: Total Recovery Efficiency')
|
1541
|
+
arg.setDescription('The Unadjusted or Adjusted total recovery efficiency of the second mechanical ventilation.')
|
1542
|
+
arg.setUnits('Frac')
|
1543
|
+
arg.setDefaultValue(0.48)
|
1544
|
+
args << arg
|
1545
|
+
|
1546
|
+
arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('mech_vent_sensible_recovery_efficiency_type_2', mech_vent_recovery_efficiency_type_choices, true)
|
1547
|
+
arg.setDisplayName('Mechanical Ventilation 2: Sensible Recovery Efficiency Type')
|
1548
|
+
arg.setDescription('The sensible recovery efficiency type of the second mechanical ventilation.')
|
1549
|
+
arg.setDefaultValue('Unadjusted')
|
1550
|
+
args << arg
|
1551
|
+
|
1552
|
+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('mech_vent_sensible_recovery_efficiency_2', true)
|
1553
|
+
arg.setDisplayName('Mechanical Ventilation 2: Sensible Recovery Efficiency')
|
1554
|
+
arg.setDescription('The Unadjusted or Adjusted sensible recovery efficiency of the second mechanical ventilation.')
|
1555
|
+
arg.setUnits('Frac')
|
1556
|
+
arg.setDefaultValue(0.72)
|
1557
|
+
args << arg
|
1558
|
+
|
1559
|
+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('mech_vent_fan_power_2', true)
|
1560
|
+
arg.setDisplayName('Mechanical Ventilation 2: Fan Power')
|
1561
|
+
arg.setDescription('The fan power of the second mechanical ventilation.')
|
1562
|
+
arg.setUnits('W')
|
1563
|
+
arg.setDefaultValue(30)
|
1564
|
+
args << arg
|
1565
|
+
|
1414
1566
|
arg = OpenStudio::Measure::OSArgument::makeBoolArgument('kitchen_fans_present', true)
|
1415
1567
|
arg.setDisplayName('Kitchen Fans: Present')
|
1416
1568
|
arg.setDescription('Whether there are kitchen fans.')
|
@@ -1969,24 +2121,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
1969
2121
|
arg.setDefaultValue(1.0)
|
1970
2122
|
args << arg
|
1971
2123
|
|
1972
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('lighting_weekday_fractions_interior', true)
|
1973
|
-
arg.setDisplayName('Lighting: Weekday Schedule Interior')
|
1974
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
1975
|
-
arg.setDefaultValue(Constants.Auto)
|
1976
|
-
args << arg
|
1977
|
-
|
1978
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('lighting_weekend_fractions_interior', true)
|
1979
|
-
arg.setDisplayName('Lighting: Weekend Schedule Interior')
|
1980
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
1981
|
-
arg.setDefaultValue(Constants.Auto)
|
1982
|
-
args << arg
|
1983
|
-
|
1984
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('lighting_monthly_multipliers_interior', true)
|
1985
|
-
arg.setDisplayName('Lighting: Month Schedule Interior')
|
1986
|
-
arg.setDescription('Specify the 12-month schedule.')
|
1987
|
-
arg.setDefaultValue(Constants.Auto)
|
1988
|
-
args << arg
|
1989
|
-
|
1990
2124
|
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('lighting_fraction_cfl_exterior', true)
|
1991
2125
|
arg.setDisplayName('Lighting: Fraction CFL Exterior')
|
1992
2126
|
arg.setDescription('Fraction of all lamps (exterior) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent.')
|
@@ -2011,24 +2145,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2011
2145
|
arg.setDefaultValue(1.0)
|
2012
2146
|
args << arg
|
2013
2147
|
|
2014
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('lighting_weekday_fractions_exterior', true)
|
2015
|
-
arg.setDisplayName('Lighting: Weekday Schedule Exterior')
|
2016
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2017
|
-
arg.setDefaultValue(Constants.Auto)
|
2018
|
-
args << arg
|
2019
|
-
|
2020
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('lighting_weekend_fractions_exterior', true)
|
2021
|
-
arg.setDisplayName('Lighting: Weekend Schedule Exterior')
|
2022
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2023
|
-
arg.setDefaultValue(Constants.Auto)
|
2024
|
-
args << arg
|
2025
|
-
|
2026
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('lighting_monthly_multipliers_exterior', true)
|
2027
|
-
arg.setDisplayName('Lighting: Month Schedule Exterior')
|
2028
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2029
|
-
arg.setDefaultValue(Constants.Auto)
|
2030
|
-
args << arg
|
2031
|
-
|
2032
2148
|
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('lighting_fraction_cfl_garage', true)
|
2033
2149
|
arg.setDisplayName('Lighting: Fraction CFL Garage')
|
2034
2150
|
arg.setDescription('Fraction of all lamps (garage) that are compact fluorescent. Lighting not specified as CFL, LFL, or LED is assumed to be incandescent.')
|
@@ -2053,24 +2169,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2053
2169
|
arg.setDefaultValue(1.0)
|
2054
2170
|
args << arg
|
2055
2171
|
|
2056
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('lighting_weekday_fractions_garage', true)
|
2057
|
-
arg.setDisplayName('Lighting: Weekday Schedule Garage')
|
2058
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2059
|
-
arg.setDefaultValue(Constants.Auto)
|
2060
|
-
args << arg
|
2061
|
-
|
2062
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('lighting_weekend_fractions_garage', true)
|
2063
|
-
arg.setDisplayName('Lighting: Weekend Schedule Garage')
|
2064
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2065
|
-
arg.setDefaultValue(Constants.Auto)
|
2066
|
-
args << arg
|
2067
|
-
|
2068
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('lighting_monthly_multipliers_garage', true)
|
2069
|
-
arg.setDisplayName('Lighting: Month Schedule Garage')
|
2070
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2071
|
-
arg.setDefaultValue(Constants.Auto)
|
2072
|
-
args << arg
|
2073
|
-
|
2074
2172
|
arg = OpenStudio::Measure::OSArgument::makeBoolArgument('holiday_lighting_present', true)
|
2075
2173
|
arg.setDisplayName('Holiday Lighting: Present')
|
2076
2174
|
arg.setDescription('Whether there is holiday lighting.')
|
@@ -2112,18 +2210,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2112
2210
|
arg.setDefaultValue(Constants.Auto)
|
2113
2211
|
args << arg
|
2114
2212
|
|
2115
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('holiday_lighting_weekday_fractions_exterior', true)
|
2116
|
-
arg.setDisplayName('Holiday Lighting: Weekday Schedule Exterior')
|
2117
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2118
|
-
arg.setDefaultValue(Constants.Auto)
|
2119
|
-
args << arg
|
2120
|
-
|
2121
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('holiday_lighting_weekend_fractions_exterior', true)
|
2122
|
-
arg.setDisplayName('Holiday Lighting: Weekend Schedule Exterior')
|
2123
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2124
|
-
arg.setDefaultValue(Constants.Auto)
|
2125
|
-
args << arg
|
2126
|
-
|
2127
2213
|
arg = OpenStudio::Measure::OSArgument::makeBoolArgument('dehumidifier_present', true)
|
2128
2214
|
arg.setDisplayName('Dehumidifier: Present')
|
2129
2215
|
arg.setDescription('Whether there is a dehumidifier.')
|
@@ -2331,6 +2417,13 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2331
2417
|
arg.setDefaultValue(Constants.Auto)
|
2332
2418
|
args << arg
|
2333
2419
|
|
2420
|
+
arg = OpenStudio::Measure::OSArgument::makeStringArgument('clothes_dryer_vented_flow_rate', true)
|
2421
|
+
arg.setDisplayName('Clothes Dryer: Vented Flow Rate')
|
2422
|
+
arg.setDescription('The exhaust flow rate of the vented clothes dryer.')
|
2423
|
+
arg.setUnits('CFM')
|
2424
|
+
arg.setDefaultValue(Constants.Auto)
|
2425
|
+
args << arg
|
2426
|
+
|
2334
2427
|
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('clothes_dryer_usage_multiplier', true)
|
2335
2428
|
arg.setDisplayName('Clothes Dryer: Usage Multiplier')
|
2336
2429
|
arg.setDescription('Multiplier on the clothes dryer energy usage that can reflect, e.g., high/low usage occupants.')
|
@@ -2438,24 +2531,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2438
2531
|
arg.setDefaultValue(1.0)
|
2439
2532
|
args << arg
|
2440
2533
|
|
2441
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('refrigerator_weekday_fractions', true)
|
2442
|
-
arg.setDisplayName('Refrigerator: Weekday Schedule')
|
2443
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2444
|
-
arg.setDefaultValue(Constants.Auto)
|
2445
|
-
args << arg
|
2446
|
-
|
2447
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('refrigerator_weekend_fractions', true)
|
2448
|
-
arg.setDisplayName('Refrigerator: Weekend Schedule')
|
2449
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2450
|
-
arg.setDefaultValue(Constants.Auto)
|
2451
|
-
args << arg
|
2452
|
-
|
2453
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('refrigerator_monthly_multipliers', true)
|
2454
|
-
arg.setDisplayName('Refrigerator: Month Schedule')
|
2455
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2456
|
-
arg.setDefaultValue(Constants.Auto)
|
2457
|
-
args << arg
|
2458
|
-
|
2459
2534
|
arg = OpenStudio::Measure::OSArgument::makeBoolArgument('extra_refrigerator_present', true)
|
2460
2535
|
arg.setDisplayName('Extra Refrigerator: Present')
|
2461
2536
|
arg.setDescription('Whether there is an extra refrigerator.')
|
@@ -2481,24 +2556,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2481
2556
|
arg.setDefaultValue(1.0)
|
2482
2557
|
args << arg
|
2483
2558
|
|
2484
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('extra_refrigerator_weekday_fractions', true)
|
2485
|
-
arg.setDisplayName('Extra Refrigerator: Weekday Schedule')
|
2486
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2487
|
-
arg.setDefaultValue(Constants.Auto)
|
2488
|
-
args << arg
|
2489
|
-
|
2490
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('extra_refrigerator_weekend_fractions', true)
|
2491
|
-
arg.setDisplayName('Extra Refrigerator: Weekend Schedule')
|
2492
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2493
|
-
arg.setDefaultValue(Constants.Auto)
|
2494
|
-
args << arg
|
2495
|
-
|
2496
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('extra_refrigerator_monthly_multipliers', true)
|
2497
|
-
arg.setDisplayName('Extra Refrigerator: Month Schedule')
|
2498
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2499
|
-
arg.setDefaultValue(Constants.Auto)
|
2500
|
-
args << arg
|
2501
|
-
|
2502
2559
|
arg = OpenStudio::Measure::OSArgument::makeBoolArgument('freezer_present', true)
|
2503
2560
|
arg.setDisplayName('Freezer: Present')
|
2504
2561
|
arg.setDescription('Whether there is a freezer.')
|
@@ -2524,24 +2581,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2524
2581
|
arg.setDefaultValue(1.0)
|
2525
2582
|
args << arg
|
2526
2583
|
|
2527
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('freezer_weekday_fractions', true)
|
2528
|
-
arg.setDisplayName('Freezer: Weekday Schedule')
|
2529
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2530
|
-
arg.setDefaultValue(Constants.Auto)
|
2531
|
-
args << arg
|
2532
|
-
|
2533
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('freezer_weekend_fractions', true)
|
2534
|
-
arg.setDisplayName('Freezer: Weekend Schedule')
|
2535
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2536
|
-
arg.setDefaultValue(Constants.Auto)
|
2537
|
-
args << arg
|
2538
|
-
|
2539
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('freezer_monthly_multipliers', true)
|
2540
|
-
arg.setDisplayName('Freezer: Month Schedule')
|
2541
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2542
|
-
arg.setDefaultValue(Constants.Auto)
|
2543
|
-
args << arg
|
2544
|
-
|
2545
2584
|
cooking_range_oven_fuel_choices = OpenStudio::StringVector.new
|
2546
2585
|
cooking_range_oven_fuel_choices << HPXML::FuelTypeElectricity
|
2547
2586
|
cooking_range_oven_fuel_choices << HPXML::FuelTypeNaturalGas
|
@@ -2584,24 +2623,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2584
2623
|
arg.setDefaultValue(1.0)
|
2585
2624
|
args << arg
|
2586
2625
|
|
2587
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('cooking_range_oven_weekday_fractions', true)
|
2588
|
-
arg.setDisplayName('Cooking Range/Oven: Weekday Schedule')
|
2589
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2590
|
-
arg.setDefaultValue(Constants.Auto)
|
2591
|
-
args << arg
|
2592
|
-
|
2593
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('cooking_range_oven_weekend_fractions', true)
|
2594
|
-
arg.setDisplayName('Cooking Range/Oven: Weekend Schedule')
|
2595
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2596
|
-
arg.setDefaultValue(Constants.Auto)
|
2597
|
-
args << arg
|
2598
|
-
|
2599
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('cooking_range_oven_monthly_multipliers', true)
|
2600
|
-
arg.setDisplayName('Cooking Range/Oven: Month Schedule')
|
2601
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2602
|
-
arg.setDefaultValue(Constants.Auto)
|
2603
|
-
args << arg
|
2604
|
-
|
2605
2626
|
arg = OpenStudio::Measure::OSArgument::makeBoolArgument('ceiling_fan_present', true)
|
2606
2627
|
arg.setDisplayName('Ceiling Fan: Present')
|
2607
2628
|
arg.setDescription('Whether there is are any ceiling fans.')
|
@@ -2642,24 +2663,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2642
2663
|
arg.setDefaultValue(1.0)
|
2643
2664
|
args << arg
|
2644
2665
|
|
2645
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('plug_loads_television_weekday_fractions', true)
|
2646
|
-
arg.setDisplayName('Plug Loads: Television Weekday Schedule')
|
2647
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2648
|
-
arg.setDefaultValue(Constants.Auto)
|
2649
|
-
args << arg
|
2650
|
-
|
2651
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('plug_loads_television_weekend_fractions', true)
|
2652
|
-
arg.setDisplayName('Plug Loads: Television Weekend Schedule')
|
2653
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2654
|
-
arg.setDefaultValue(Constants.Auto)
|
2655
|
-
args << arg
|
2656
|
-
|
2657
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('plug_loads_television_monthly_multipliers', true)
|
2658
|
-
arg.setDisplayName('Plug Loads: Television Month Schedule')
|
2659
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2660
|
-
arg.setDefaultValue(Constants.Auto)
|
2661
|
-
args << arg
|
2662
|
-
|
2663
2666
|
arg = OpenStudio::Measure::OSArgument::makeStringArgument('plug_loads_other_annual_kwh', true)
|
2664
2667
|
arg.setDisplayName('Plug Loads: Other Annual kWh')
|
2665
2668
|
arg.setDescription('The annual energy consumption of the other residual plug loads.')
|
@@ -2687,24 +2690,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2687
2690
|
arg.setDefaultValue(1.0)
|
2688
2691
|
args << arg
|
2689
2692
|
|
2690
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('plug_loads_other_weekday_fractions', true)
|
2691
|
-
arg.setDisplayName('Plug Loads: Other Weekday Schedule')
|
2692
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2693
|
-
arg.setDefaultValue(Constants.Auto)
|
2694
|
-
args << arg
|
2695
|
-
|
2696
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('plug_loads_other_weekend_fractions', true)
|
2697
|
-
arg.setDisplayName('Plug Loads: Other Weekend Schedule')
|
2698
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2699
|
-
arg.setDefaultValue(Constants.Auto)
|
2700
|
-
args << arg
|
2701
|
-
|
2702
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('plug_loads_other_monthly_multipliers', true)
|
2703
|
-
arg.setDisplayName('Plug Loads: Other Month Schedule')
|
2704
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2705
|
-
arg.setDefaultValue(Constants.Auto)
|
2706
|
-
args << arg
|
2707
|
-
|
2708
2693
|
arg = OpenStudio::Measure::OSArgument::makeBoolArgument('plug_loads_well_pump_present', true)
|
2709
2694
|
arg.setDisplayName('Plug Loads: Well Pump Present')
|
2710
2695
|
arg.setDescription('Whether there is a well pump.')
|
@@ -2724,24 +2709,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2724
2709
|
arg.setDefaultValue(1.0)
|
2725
2710
|
args << arg
|
2726
2711
|
|
2727
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('plug_loads_well_pump_weekday_fractions', true)
|
2728
|
-
arg.setDisplayName('Plug Loads: Well Pump Weekday Schedule')
|
2729
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2730
|
-
arg.setDefaultValue(Constants.Auto)
|
2731
|
-
args << arg
|
2732
|
-
|
2733
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('plug_loads_well_pump_weekend_fractions', true)
|
2734
|
-
arg.setDisplayName('Plug Loads: Well Pump Weekend Schedule')
|
2735
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2736
|
-
arg.setDefaultValue(Constants.Auto)
|
2737
|
-
args << arg
|
2738
|
-
|
2739
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('plug_loads_well_pump_monthly_multipliers', true)
|
2740
|
-
arg.setDisplayName('Plug Loads: Well Pump Month Schedule')
|
2741
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2742
|
-
arg.setDefaultValue(Constants.Auto)
|
2743
|
-
args << arg
|
2744
|
-
|
2745
2712
|
arg = OpenStudio::Measure::OSArgument::makeBoolArgument('plug_loads_vehicle_present', true)
|
2746
2713
|
arg.setDisplayName('Plug Loads: Vehicle Present')
|
2747
2714
|
arg.setDescription('Whether there is a vehicle.')
|
@@ -2761,24 +2728,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2761
2728
|
arg.setDefaultValue(1.0)
|
2762
2729
|
args << arg
|
2763
2730
|
|
2764
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('plug_loads_vehicle_weekday_fractions', true)
|
2765
|
-
arg.setDisplayName('Plug Loads: Vehicle Weekday Schedule')
|
2766
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2767
|
-
arg.setDefaultValue(Constants.Auto)
|
2768
|
-
args << arg
|
2769
|
-
|
2770
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('plug_loads_vehicle_weekend_fractions', true)
|
2771
|
-
arg.setDisplayName('Plug Loads: Vehicle Weekend Schedule')
|
2772
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2773
|
-
arg.setDefaultValue(Constants.Auto)
|
2774
|
-
args << arg
|
2775
|
-
|
2776
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('plug_loads_vehicle_monthly_multipliers', true)
|
2777
|
-
arg.setDisplayName('Plug Loads: Vehicle Month Schedule')
|
2778
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2779
|
-
arg.setDefaultValue(Constants.Auto)
|
2780
|
-
args << arg
|
2781
|
-
|
2782
2731
|
fuel_loads_fuel_choices = OpenStudio::StringVector.new
|
2783
2732
|
fuel_loads_fuel_choices << HPXML::FuelTypeNaturalGas
|
2784
2733
|
fuel_loads_fuel_choices << HPXML::FuelTypeOil
|
@@ -2822,24 +2771,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2822
2771
|
arg.setDefaultValue(1.0)
|
2823
2772
|
args << arg
|
2824
2773
|
|
2825
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('fuel_loads_grill_weekday_fractions', true)
|
2826
|
-
arg.setDisplayName('Fuel Loads: Grill Weekday Schedule')
|
2827
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2828
|
-
arg.setDefaultValue(Constants.Auto)
|
2829
|
-
args << arg
|
2830
|
-
|
2831
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('fuel_loads_grill_weekend_fractions', true)
|
2832
|
-
arg.setDisplayName('Fuel Loads: Grill Weekend Schedule')
|
2833
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2834
|
-
arg.setDefaultValue(Constants.Auto)
|
2835
|
-
args << arg
|
2836
|
-
|
2837
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('fuel_loads_grill_monthly_multipliers', true)
|
2838
|
-
arg.setDisplayName('Fuel Loads: Grill Month Schedule')
|
2839
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2840
|
-
arg.setDefaultValue(Constants.Auto)
|
2841
|
-
args << arg
|
2842
|
-
|
2843
2774
|
arg = OpenStudio::Measure::OSArgument::makeBoolArgument('fuel_loads_lighting_present', true)
|
2844
2775
|
arg.setDisplayName('Fuel Loads: Lighting Present')
|
2845
2776
|
arg.setDescription('Whether there is fuel loads lighting.')
|
@@ -2871,24 +2802,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2871
2802
|
arg.setDefaultValue(1.0)
|
2872
2803
|
args << arg
|
2873
2804
|
|
2874
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('fuel_loads_lighting_weekday_fractions', true)
|
2875
|
-
arg.setDisplayName('Fuel Loads: Lighting Weekday Schedule')
|
2876
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2877
|
-
arg.setDefaultValue(Constants.Auto)
|
2878
|
-
args << arg
|
2879
|
-
|
2880
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('fuel_loads_lighting_weekend_fractions', true)
|
2881
|
-
arg.setDisplayName('Fuel Loads: Lighting Weekend Schedule')
|
2882
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2883
|
-
arg.setDefaultValue(Constants.Auto)
|
2884
|
-
args << arg
|
2885
|
-
|
2886
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('fuel_loads_lighting_monthly_multipliers', true)
|
2887
|
-
arg.setDisplayName('Fuel Loads: Lighting Month Schedule')
|
2888
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2889
|
-
arg.setDefaultValue(Constants.Auto)
|
2890
|
-
args << arg
|
2891
|
-
|
2892
2805
|
arg = OpenStudio::Measure::OSArgument::makeBoolArgument('fuel_loads_fireplace_present', true)
|
2893
2806
|
arg.setDisplayName('Fuel Loads: Fireplace Present')
|
2894
2807
|
arg.setDescription('Whether there is fuel loads fireplace.')
|
@@ -2920,24 +2833,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2920
2833
|
arg.setDefaultValue(1.0)
|
2921
2834
|
args << arg
|
2922
2835
|
|
2923
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('fuel_loads_fireplace_weekday_fractions', true)
|
2924
|
-
arg.setDisplayName('Fuel Loads: Fireplace Weekday Schedule')
|
2925
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2926
|
-
arg.setDefaultValue(Constants.Auto)
|
2927
|
-
args << arg
|
2928
|
-
|
2929
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('fuel_loads_fireplace_weekend_fractions', true)
|
2930
|
-
arg.setDisplayName('Fuel Loads: Fireplace Weekend Schedule')
|
2931
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2932
|
-
arg.setDefaultValue(Constants.Auto)
|
2933
|
-
args << arg
|
2934
|
-
|
2935
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('fuel_loads_fireplace_monthly_multipliers', true)
|
2936
|
-
arg.setDisplayName('Fuel Loads: Fireplace Month Schedule')
|
2937
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2938
|
-
arg.setDefaultValue(Constants.Auto)
|
2939
|
-
args << arg
|
2940
|
-
|
2941
2836
|
heater_type_choices = OpenStudio::StringVector.new
|
2942
2837
|
heater_type_choices << 'none'
|
2943
2838
|
heater_type_choices << HPXML::HeaterTypeElectricResistance
|
@@ -2963,24 +2858,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
2963
2858
|
arg.setDefaultValue(1.0)
|
2964
2859
|
args << arg
|
2965
2860
|
|
2966
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('pool_pump_weekday_fractions', true)
|
2967
|
-
arg.setDisplayName('Pool: Pump Weekday Schedule')
|
2968
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
2969
|
-
arg.setDefaultValue(Constants.Auto)
|
2970
|
-
args << arg
|
2971
|
-
|
2972
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('pool_pump_weekend_fractions', true)
|
2973
|
-
arg.setDisplayName('Pool: Pump Weekend Schedule')
|
2974
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
2975
|
-
arg.setDefaultValue(Constants.Auto)
|
2976
|
-
args << arg
|
2977
|
-
|
2978
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('pool_pump_monthly_multipliers', true)
|
2979
|
-
arg.setDisplayName('Pool: Pump Month Schedule')
|
2980
|
-
arg.setDescription('Specify the 12-month schedule.')
|
2981
|
-
arg.setDefaultValue(Constants.Auto)
|
2982
|
-
args << arg
|
2983
|
-
|
2984
2861
|
arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('pool_heater_type', heater_type_choices, true)
|
2985
2862
|
arg.setDisplayName('Pool: Heater Type')
|
2986
2863
|
arg.setDescription("The type of pool heater. Use 'none' if there is no pool heater.")
|
@@ -3007,24 +2884,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
3007
2884
|
arg.setDefaultValue(1.0)
|
3008
2885
|
args << arg
|
3009
2886
|
|
3010
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('pool_heater_weekday_fractions', true)
|
3011
|
-
arg.setDisplayName('Pool: Heater Weekday Schedule')
|
3012
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
3013
|
-
arg.setDefaultValue(Constants.Auto)
|
3014
|
-
args << arg
|
3015
|
-
|
3016
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('pool_heater_weekend_fractions', true)
|
3017
|
-
arg.setDisplayName('Pool: Heater Weekend Schedule')
|
3018
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
3019
|
-
arg.setDefaultValue(Constants.Auto)
|
3020
|
-
args << arg
|
3021
|
-
|
3022
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('pool_heater_monthly_multipliers', true)
|
3023
|
-
arg.setDisplayName('Pool: Heater Month Schedule')
|
3024
|
-
arg.setDescription('Specify the 12-month schedule.')
|
3025
|
-
arg.setDefaultValue(Constants.Auto)
|
3026
|
-
args << arg
|
3027
|
-
|
3028
2887
|
arg = OpenStudio::Measure::OSArgument::makeBoolArgument('hot_tub_present', true)
|
3029
2888
|
arg.setDisplayName('Hot Tub: Present')
|
3030
2889
|
arg.setDescription('Whether there is a hot tub.')
|
@@ -3044,24 +2903,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
3044
2903
|
arg.setDefaultValue(1.0)
|
3045
2904
|
args << arg
|
3046
2905
|
|
3047
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('hot_tub_pump_weekday_fractions', true)
|
3048
|
-
arg.setDisplayName('Hot Tub: Pump Weekday Schedule')
|
3049
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
3050
|
-
arg.setDefaultValue(Constants.Auto)
|
3051
|
-
args << arg
|
3052
|
-
|
3053
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('hot_tub_pump_weekend_fractions', true)
|
3054
|
-
arg.setDisplayName('Hot Tub: Pump Weekend Schedule')
|
3055
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
3056
|
-
arg.setDefaultValue(Constants.Auto)
|
3057
|
-
args << arg
|
3058
|
-
|
3059
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('hot_tub_pump_monthly_multipliers', true)
|
3060
|
-
arg.setDisplayName('Hot Tub: Pump Month Schedule')
|
3061
|
-
arg.setDescription('Specify the 12-month schedule.')
|
3062
|
-
arg.setDefaultValue(Constants.Auto)
|
3063
|
-
args << arg
|
3064
|
-
|
3065
2906
|
arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('hot_tub_heater_type', heater_type_choices, true)
|
3066
2907
|
arg.setDisplayName('Hot Tub: Heater Type')
|
3067
2908
|
arg.setDescription("The type of hot tub heater. Use 'none' if there is no hot tub heater.")
|
@@ -3088,24 +2929,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
3088
2929
|
arg.setDefaultValue(1.0)
|
3089
2930
|
args << arg
|
3090
2931
|
|
3091
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('hot_tub_heater_weekday_fractions', true)
|
3092
|
-
arg.setDisplayName('Hot Tub: Heater Weekday Schedule')
|
3093
|
-
arg.setDescription('Specify the 24-hour weekday schedule.')
|
3094
|
-
arg.setDefaultValue(Constants.Auto)
|
3095
|
-
args << arg
|
3096
|
-
|
3097
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('hot_tub_heater_weekend_fractions', true)
|
3098
|
-
arg.setDisplayName('Hot Tub: Heater Weekend Schedule')
|
3099
|
-
arg.setDescription('Specify the 24-hour weekend schedule.')
|
3100
|
-
arg.setDefaultValue(Constants.Auto)
|
3101
|
-
args << arg
|
3102
|
-
|
3103
|
-
arg = OpenStudio::Measure::OSArgument::makeStringArgument('hot_tub_heater_monthly_multipliers', true)
|
3104
|
-
arg.setDisplayName('Hot Tub: Heater Month Schedule')
|
3105
|
-
arg.setDescription('Specify the 12-month schedule.')
|
3106
|
-
arg.setDefaultValue(Constants.Auto)
|
3107
|
-
args << arg
|
3108
|
-
|
3109
2932
|
return args
|
3110
2933
|
end
|
3111
2934
|
|
@@ -3123,7 +2946,6 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
3123
2946
|
# assign the user inputs to variables
|
3124
2947
|
args = get_argument_values(runner, user_arguments)
|
3125
2948
|
args[:hpxml_path] = runner.getStringArgumentValue('hpxml_path', user_arguments)
|
3126
|
-
args[:weather_dir] = runner.getStringArgumentValue('weather_dir', user_arguments)
|
3127
2949
|
args[:software_program_used] = runner.getOptionalStringArgumentValue('software_program_used', user_arguments)
|
3128
2950
|
args[:software_program_version] = runner.getOptionalStringArgumentValue('software_program_version', user_arguments)
|
3129
2951
|
args[:geometry_roof_pitch] = { '1:12' => 1.0 / 12.0, '2:12' => 2.0 / 12.0, '3:12' => 3.0 / 12.0, '4:12' => 4.0 / 12.0, '5:12' => 5.0 / 12.0, '6:12' => 6.0 / 12.0, '7:12' => 7.0 / 12.0, '8:12' => 8.0 / 12.0, '9:12' => 9.0 / 12.0, '10:12' => 10.0 / 12.0, '11:12' => 11.0 / 12.0, '12:12' => 12.0 / 12.0 }[args[:geometry_roof_pitch]]
|
@@ -3142,32 +2964,19 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
3142
2964
|
return false
|
3143
2965
|
end
|
3144
2966
|
|
3145
|
-
#
|
3146
|
-
|
3147
|
-
|
3148
|
-
|
2967
|
+
# Create EpwFile object
|
2968
|
+
epw_path = args[:weather_station_epw_filepath]
|
2969
|
+
if not File.exist? epw_path
|
2970
|
+
epw_path = File.join(File.expand_path(File.join(File.dirname(__FILE__), '..', 'weather')), epw_path) # a filename was entered for weather_station_epw_filepath
|
3149
2971
|
end
|
3150
|
-
|
3151
|
-
if not File.exist?(epw_path)
|
2972
|
+
if not File.exist? epw_path
|
3152
2973
|
runner.registerError("Could not find EPW file at '#{epw_path}'.")
|
3153
2974
|
return false
|
3154
2975
|
end
|
3155
|
-
|
3156
|
-
if not File.exist?(cache_path)
|
3157
|
-
# Process weather file to create cache .csv
|
3158
|
-
runner.registerWarning("'#{cache_path}' could not be found; regenerating it.")
|
3159
|
-
epw_file = OpenStudio::EpwFile.new(epw_path)
|
3160
|
-
OpenStudio::Model::WeatherFile.setWeatherFile(model, epw_file)
|
3161
|
-
weather = WeatherProcess.new(model, runner)
|
3162
|
-
File.open(cache_path, 'wb') do |file|
|
3163
|
-
weather.dump_to_csv(file)
|
3164
|
-
end
|
3165
|
-
else
|
3166
|
-
weather = WeatherProcess.new(nil, nil, cache_path)
|
3167
|
-
end
|
2976
|
+
epw_file = OpenStudio::EpwFile.new(epw_path)
|
3168
2977
|
|
3169
2978
|
# Create HPXML file
|
3170
|
-
hpxml_doc = HPXMLFile.create(runner, model, args,
|
2979
|
+
hpxml_doc = HPXMLFile.create(runner, model, args, epw_file)
|
3171
2980
|
if not hpxml_doc
|
3172
2981
|
runner.registerError('Unsuccessful creation of HPXML file.')
|
3173
2982
|
return false
|
@@ -3196,11 +3005,18 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
3196
3005
|
simulation_control_run_period_begin_day_of_month: runner.getOptionalIntegerArgumentValue('simulation_control_run_period_begin_day_of_month', user_arguments),
|
3197
3006
|
simulation_control_run_period_end_month: runner.getOptionalIntegerArgumentValue('simulation_control_run_period_end_month', user_arguments),
|
3198
3007
|
simulation_control_run_period_end_day_of_month: runner.getOptionalIntegerArgumentValue('simulation_control_run_period_end_day_of_month', user_arguments),
|
3008
|
+
simulation_control_run_period_calendar_year: runner.getOptionalIntegerArgumentValue('simulation_control_run_period_calendar_year', user_arguments),
|
3199
3009
|
simulation_control_daylight_saving_enabled: runner.getOptionalStringArgumentValue('simulation_control_daylight_saving_enabled', user_arguments),
|
3200
3010
|
simulation_control_daylight_saving_begin_month: runner.getOptionalIntegerArgumentValue('simulation_control_daylight_saving_begin_month', user_arguments),
|
3201
3011
|
simulation_control_daylight_saving_begin_day_of_month: runner.getOptionalIntegerArgumentValue('simulation_control_daylight_saving_begin_day_of_month', user_arguments),
|
3202
3012
|
simulation_control_daylight_saving_end_month: runner.getOptionalIntegerArgumentValue('simulation_control_daylight_saving_end_month', user_arguments),
|
3203
3013
|
simulation_control_daylight_saving_end_day_of_month: runner.getOptionalIntegerArgumentValue('simulation_control_daylight_saving_end_day_of_month', user_arguments),
|
3014
|
+
schedules_type: runner.getStringArgumentValue('schedules_type', user_arguments),
|
3015
|
+
schedules_path: runner.getOptionalStringArgumentValue('schedules_path', user_arguments),
|
3016
|
+
schedules_vacancy_begin_month: runner.getOptionalIntegerArgumentValue('schedules_vacancy_begin_month', user_arguments),
|
3017
|
+
schedules_vacancy_begin_day_of_month: runner.getOptionalIntegerArgumentValue('schedules_vacancy_begin_day_of_month', user_arguments),
|
3018
|
+
schedules_vacancy_end_month: runner.getOptionalIntegerArgumentValue('schedules_vacancy_end_month', user_arguments),
|
3019
|
+
schedules_vacancy_end_day_of_month: runner.getOptionalIntegerArgumentValue('schedules_vacancy_end_day_of_month', user_arguments),
|
3204
3020
|
weather_station_epw_filepath: runner.getStringArgumentValue('weather_station_epw_filepath', user_arguments),
|
3205
3021
|
site_type: runner.getOptionalStringArgumentValue('site_type', user_arguments),
|
3206
3022
|
geometry_unit_type: runner.getStringArgumentValue('geometry_unit_type', user_arguments),
|
@@ -3369,6 +3185,23 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
3369
3185
|
mech_vent_sensible_recovery_efficiency_type: runner.getStringArgumentValue('mech_vent_sensible_recovery_efficiency_type', user_arguments),
|
3370
3186
|
mech_vent_sensible_recovery_efficiency: runner.getDoubleArgumentValue('mech_vent_sensible_recovery_efficiency', user_arguments),
|
3371
3187
|
mech_vent_fan_power: runner.getDoubleArgumentValue('mech_vent_fan_power', user_arguments),
|
3188
|
+
mech_vent_is_shared_system: runner.getBoolArgumentValue('mech_vent_is_shared_system', user_arguments),
|
3189
|
+
shared_mech_vent_in_unit_flow_rate: runner.getOptionalDoubleArgumentValue('shared_mech_vent_in_unit_flow_rate', user_arguments),
|
3190
|
+
shared_mech_vent_frac_recirculation: runner.getOptionalDoubleArgumentValue('shared_mech_vent_frac_recirculation', user_arguments),
|
3191
|
+
shared_mech_vent_preheating_fuel: runner.getOptionalStringArgumentValue('shared_mech_vent_preheating_fuel', user_arguments),
|
3192
|
+
shared_mech_vent_preheating_efficiency: runner.getOptionalDoubleArgumentValue('shared_mech_vent_preheating_efficiency', user_arguments),
|
3193
|
+
shared_mech_vent_preheating_fraction_heat_load_served: runner.getOptionalDoubleArgumentValue('shared_mech_vent_preheating_fraction_heat_load_served', user_arguments),
|
3194
|
+
shared_mech_vent_precooling_fuel: runner.getOptionalStringArgumentValue('shared_mech_vent_precooling_fuel', user_arguments),
|
3195
|
+
shared_mech_vent_precooling_efficiency: runner.getOptionalDoubleArgumentValue('shared_mech_vent_precooling_efficiency', user_arguments),
|
3196
|
+
shared_mech_vent_precooling_fraction_cool_load_served: runner.getOptionalDoubleArgumentValue('shared_mech_vent_precooling_fraction_cool_load_served', user_arguments),
|
3197
|
+
mech_vent_fan_type_2: runner.getStringArgumentValue('mech_vent_fan_type_2', user_arguments),
|
3198
|
+
mech_vent_flow_rate_2: runner.getDoubleArgumentValue('mech_vent_flow_rate_2', user_arguments),
|
3199
|
+
mech_vent_hours_in_operation_2: runner.getDoubleArgumentValue('mech_vent_hours_in_operation_2', user_arguments),
|
3200
|
+
mech_vent_total_recovery_efficiency_type_2: runner.getStringArgumentValue('mech_vent_total_recovery_efficiency_type_2', user_arguments),
|
3201
|
+
mech_vent_total_recovery_efficiency_2: runner.getDoubleArgumentValue('mech_vent_total_recovery_efficiency_2', user_arguments),
|
3202
|
+
mech_vent_sensible_recovery_efficiency_type_2: runner.getStringArgumentValue('mech_vent_sensible_recovery_efficiency_type_2', user_arguments),
|
3203
|
+
mech_vent_sensible_recovery_efficiency_2: runner.getDoubleArgumentValue('mech_vent_sensible_recovery_efficiency_2', user_arguments),
|
3204
|
+
mech_vent_fan_power_2: runner.getDoubleArgumentValue('mech_vent_fan_power_2', user_arguments),
|
3372
3205
|
kitchen_fans_present: runner.getBoolArgumentValue('kitchen_fans_present', user_arguments),
|
3373
3206
|
kitchen_fans_quantity: runner.getOptionalIntegerArgumentValue('kitchen_fans_quantity', user_arguments),
|
3374
3207
|
kitchen_fans_flow_rate: runner.getOptionalDoubleArgumentValue('kitchen_fans_flow_rate', user_arguments),
|
@@ -3444,31 +3277,20 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
3444
3277
|
lighting_fraction_lfl_interior: runner.getDoubleArgumentValue('lighting_fraction_lfl_interior', user_arguments),
|
3445
3278
|
lighting_fraction_led_interior: runner.getDoubleArgumentValue('lighting_fraction_led_interior', user_arguments),
|
3446
3279
|
lighting_usage_multiplier_interior: runner.getDoubleArgumentValue('lighting_usage_multiplier_interior', user_arguments),
|
3447
|
-
lighting_weekday_fractions_interior: runner.getStringArgumentValue('lighting_weekday_fractions_interior', user_arguments),
|
3448
|
-
lighting_weekend_fractions_interior: runner.getStringArgumentValue('lighting_weekend_fractions_interior', user_arguments),
|
3449
|
-
lighting_monthly_multipliers_interior: runner.getStringArgumentValue('lighting_monthly_multipliers_interior', user_arguments),
|
3450
3280
|
lighting_fraction_cfl_exterior: runner.getDoubleArgumentValue('lighting_fraction_cfl_exterior', user_arguments),
|
3451
3281
|
lighting_fraction_lfl_exterior: runner.getDoubleArgumentValue('lighting_fraction_lfl_exterior', user_arguments),
|
3452
3282
|
lighting_fraction_led_exterior: runner.getDoubleArgumentValue('lighting_fraction_led_exterior', user_arguments),
|
3453
3283
|
lighting_usage_multiplier_exterior: runner.getDoubleArgumentValue('lighting_usage_multiplier_exterior', user_arguments),
|
3454
|
-
lighting_weekday_fractions_exterior: runner.getStringArgumentValue('lighting_weekday_fractions_exterior', user_arguments),
|
3455
|
-
lighting_weekend_fractions_exterior: runner.getStringArgumentValue('lighting_weekend_fractions_exterior', user_arguments),
|
3456
|
-
lighting_monthly_multipliers_exterior: runner.getStringArgumentValue('lighting_monthly_multipliers_exterior', user_arguments),
|
3457
3284
|
lighting_fraction_cfl_garage: runner.getDoubleArgumentValue('lighting_fraction_cfl_garage', user_arguments),
|
3458
3285
|
lighting_fraction_lfl_garage: runner.getDoubleArgumentValue('lighting_fraction_lfl_garage', user_arguments),
|
3459
3286
|
lighting_fraction_led_garage: runner.getDoubleArgumentValue('lighting_fraction_led_garage', user_arguments),
|
3460
3287
|
lighting_usage_multiplier_garage: runner.getDoubleArgumentValue('lighting_usage_multiplier_garage', user_arguments),
|
3461
|
-
lighting_weekday_fractions_garage: runner.getStringArgumentValue('lighting_weekday_fractions_garage', user_arguments),
|
3462
|
-
lighting_weekend_fractions_garage: runner.getStringArgumentValue('lighting_weekend_fractions_garage', user_arguments),
|
3463
|
-
lighting_monthly_multipliers_garage: runner.getStringArgumentValue('lighting_monthly_multipliers_garage', user_arguments),
|
3464
3288
|
holiday_lighting_present: runner.getBoolArgumentValue('holiday_lighting_present', user_arguments),
|
3465
3289
|
holiday_lighting_daily_kwh: runner.getStringArgumentValue('holiday_lighting_daily_kwh', user_arguments),
|
3466
3290
|
holiday_lighting_period_begin_month: runner.getStringArgumentValue('holiday_lighting_period_begin_month', user_arguments),
|
3467
3291
|
holiday_lighting_period_begin_day_of_month: runner.getStringArgumentValue('holiday_lighting_period_begin_day_of_month', user_arguments),
|
3468
3292
|
holiday_lighting_period_end_month: runner.getStringArgumentValue('holiday_lighting_period_end_month', user_arguments),
|
3469
3293
|
holiday_lighting_period_end_day_of_month: runner.getStringArgumentValue('holiday_lighting_period_end_day_of_month', user_arguments),
|
3470
|
-
holiday_lighting_weekday_fractions_exterior: runner.getStringArgumentValue('holiday_lighting_weekday_fractions_exterior', user_arguments),
|
3471
|
-
holiday_lighting_weekend_fractions_exterior: runner.getStringArgumentValue('holiday_lighting_weekend_fractions_exterior', user_arguments),
|
3472
3294
|
dehumidifier_present: runner.getBoolArgumentValue('dehumidifier_present', user_arguments),
|
3473
3295
|
dehumidifier_efficiency_type: runner.getStringArgumentValue('dehumidifier_efficiency_type', user_arguments),
|
3474
3296
|
dehumidifier_efficiency_ef: runner.getDoubleArgumentValue('dehumidifier_efficiency_ef', user_arguments),
|
@@ -3495,6 +3317,7 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
3495
3317
|
clothes_dryer_efficiency_ef: runner.getDoubleArgumentValue('clothes_dryer_efficiency_ef', user_arguments),
|
3496
3318
|
clothes_dryer_efficiency_cef: runner.getStringArgumentValue('clothes_dryer_efficiency_cef', user_arguments),
|
3497
3319
|
clothes_dryer_control_type: runner.getStringArgumentValue('clothes_dryer_control_type', user_arguments),
|
3320
|
+
clothes_dryer_vented_flow_rate: runner.getStringArgumentValue('clothes_dryer_vented_flow_rate', user_arguments),
|
3498
3321
|
clothes_dryer_usage_multiplier: runner.getDoubleArgumentValue('clothes_dryer_usage_multiplier', user_arguments),
|
3499
3322
|
dishwasher_present: runner.getBoolArgumentValue('dishwasher_present', user_arguments),
|
3500
3323
|
dishwasher_location: runner.getStringArgumentValue('dishwasher_location', user_arguments),
|
@@ -3511,110 +3334,65 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
3511
3334
|
refrigerator_location: runner.getStringArgumentValue('refrigerator_location', user_arguments),
|
3512
3335
|
refrigerator_rated_annual_kwh: runner.getStringArgumentValue('refrigerator_rated_annual_kwh', user_arguments),
|
3513
3336
|
refrigerator_usage_multiplier: runner.getDoubleArgumentValue('refrigerator_usage_multiplier', user_arguments),
|
3514
|
-
refrigerator_weekday_fractions: runner.getStringArgumentValue('refrigerator_weekday_fractions', user_arguments),
|
3515
|
-
refrigerator_weekend_fractions: runner.getStringArgumentValue('refrigerator_weekend_fractions', user_arguments),
|
3516
|
-
refrigerator_monthly_multipliers: runner.getStringArgumentValue('refrigerator_monthly_multipliers', user_arguments),
|
3517
3337
|
extra_refrigerator_present: runner.getBoolArgumentValue('extra_refrigerator_present', user_arguments),
|
3518
3338
|
extra_refrigerator_location: runner.getStringArgumentValue('extra_refrigerator_location', user_arguments),
|
3519
3339
|
extra_refrigerator_rated_annual_kwh: runner.getStringArgumentValue('extra_refrigerator_rated_annual_kwh', user_arguments),
|
3520
3340
|
extra_refrigerator_usage_multiplier: runner.getDoubleArgumentValue('extra_refrigerator_usage_multiplier', user_arguments),
|
3521
|
-
extra_refrigerator_weekday_fractions: runner.getStringArgumentValue('extra_refrigerator_weekday_fractions', user_arguments),
|
3522
|
-
extra_refrigerator_weekend_fractions: runner.getStringArgumentValue('extra_refrigerator_weekend_fractions', user_arguments),
|
3523
|
-
extra_refrigerator_monthly_multipliers: runner.getStringArgumentValue('extra_refrigerator_monthly_multipliers', user_arguments),
|
3524
3341
|
freezer_present: runner.getBoolArgumentValue('freezer_present', user_arguments),
|
3525
3342
|
freezer_location: runner.getStringArgumentValue('freezer_location', user_arguments),
|
3526
3343
|
freezer_rated_annual_kwh: runner.getStringArgumentValue('freezer_rated_annual_kwh', user_arguments),
|
3527
3344
|
freezer_usage_multiplier: runner.getDoubleArgumentValue('freezer_usage_multiplier', user_arguments),
|
3528
|
-
freezer_weekday_fractions: runner.getStringArgumentValue('freezer_weekday_fractions', user_arguments),
|
3529
|
-
freezer_weekend_fractions: runner.getStringArgumentValue('freezer_weekend_fractions', user_arguments),
|
3530
|
-
freezer_monthly_multipliers: runner.getStringArgumentValue('freezer_monthly_multipliers', user_arguments),
|
3531
3345
|
cooking_range_oven_present: runner.getBoolArgumentValue('cooking_range_oven_present', user_arguments),
|
3532
3346
|
cooking_range_oven_location: runner.getStringArgumentValue('cooking_range_oven_location', user_arguments),
|
3533
3347
|
cooking_range_oven_fuel_type: runner.getStringArgumentValue('cooking_range_oven_fuel_type', user_arguments),
|
3534
3348
|
cooking_range_oven_is_induction: runner.getOptionalStringArgumentValue('cooking_range_oven_is_induction', user_arguments),
|
3535
3349
|
cooking_range_oven_is_convection: runner.getOptionalStringArgumentValue('cooking_range_oven_is_convection', user_arguments),
|
3536
3350
|
cooking_range_oven_usage_multiplier: runner.getDoubleArgumentValue('cooking_range_oven_usage_multiplier', user_arguments),
|
3537
|
-
cooking_range_oven_weekday_fractions: runner.getStringArgumentValue('cooking_range_oven_weekday_fractions', user_arguments),
|
3538
|
-
cooking_range_oven_weekend_fractions: runner.getStringArgumentValue('cooking_range_oven_weekend_fractions', user_arguments),
|
3539
|
-
cooking_range_oven_monthly_multipliers: runner.getStringArgumentValue('cooking_range_oven_monthly_multipliers', user_arguments),
|
3540
3351
|
ceiling_fan_present: runner.getBoolArgumentValue('ceiling_fan_present', user_arguments),
|
3541
3352
|
ceiling_fan_efficiency: runner.getStringArgumentValue('ceiling_fan_efficiency', user_arguments),
|
3542
3353
|
ceiling_fan_quantity: runner.getStringArgumentValue('ceiling_fan_quantity', user_arguments),
|
3543
3354
|
ceiling_fan_cooling_setpoint_temp_offset: runner.getDoubleArgumentValue('ceiling_fan_cooling_setpoint_temp_offset', user_arguments),
|
3544
3355
|
plug_loads_television_annual_kwh: runner.getStringArgumentValue('plug_loads_television_annual_kwh', user_arguments),
|
3545
3356
|
plug_loads_television_usage_multiplier: runner.getDoubleArgumentValue('plug_loads_television_usage_multiplier', user_arguments),
|
3546
|
-
plug_loads_television_weekday_fractions: runner.getStringArgumentValue('plug_loads_television_weekday_fractions', user_arguments),
|
3547
|
-
plug_loads_television_weekend_fractions: runner.getStringArgumentValue('plug_loads_television_weekend_fractions', user_arguments),
|
3548
|
-
plug_loads_television_monthly_multipliers: runner.getStringArgumentValue('plug_loads_television_monthly_multipliers', user_arguments),
|
3549
3357
|
plug_loads_other_annual_kwh: runner.getStringArgumentValue('plug_loads_other_annual_kwh', user_arguments),
|
3550
3358
|
plug_loads_other_frac_sensible: runner.getStringArgumentValue('plug_loads_other_frac_sensible', user_arguments),
|
3551
3359
|
plug_loads_other_frac_latent: runner.getStringArgumentValue('plug_loads_other_frac_latent', user_arguments),
|
3552
3360
|
plug_loads_other_usage_multiplier: runner.getDoubleArgumentValue('plug_loads_other_usage_multiplier', user_arguments),
|
3553
|
-
plug_loads_other_weekday_fractions: runner.getStringArgumentValue('plug_loads_other_weekday_fractions', user_arguments),
|
3554
|
-
plug_loads_other_weekend_fractions: runner.getStringArgumentValue('plug_loads_other_weekend_fractions', user_arguments),
|
3555
|
-
plug_loads_other_monthly_multipliers: runner.getStringArgumentValue('plug_loads_other_monthly_multipliers', user_arguments),
|
3556
3361
|
plug_loads_well_pump_present: runner.getBoolArgumentValue('plug_loads_well_pump_present', user_arguments),
|
3557
3362
|
plug_loads_well_pump_annual_kwh: runner.getStringArgumentValue('plug_loads_well_pump_annual_kwh', user_arguments),
|
3558
3363
|
plug_loads_well_pump_usage_multiplier: runner.getDoubleArgumentValue('plug_loads_well_pump_usage_multiplier', user_arguments),
|
3559
|
-
plug_loads_well_pump_weekday_fractions: runner.getStringArgumentValue('plug_loads_well_pump_weekday_fractions', user_arguments),
|
3560
|
-
plug_loads_well_pump_weekend_fractions: runner.getStringArgumentValue('plug_loads_well_pump_weekend_fractions', user_arguments),
|
3561
|
-
plug_loads_well_pump_monthly_multipliers: runner.getStringArgumentValue('plug_loads_well_pump_monthly_multipliers', user_arguments),
|
3562
3364
|
plug_loads_vehicle_present: runner.getBoolArgumentValue('plug_loads_vehicle_present', user_arguments),
|
3563
3365
|
plug_loads_vehicle_annual_kwh: runner.getStringArgumentValue('plug_loads_vehicle_annual_kwh', user_arguments),
|
3564
3366
|
plug_loads_vehicle_usage_multiplier: runner.getDoubleArgumentValue('plug_loads_vehicle_usage_multiplier', user_arguments),
|
3565
|
-
plug_loads_vehicle_weekday_fractions: runner.getStringArgumentValue('plug_loads_vehicle_weekday_fractions', user_arguments),
|
3566
|
-
plug_loads_vehicle_weekend_fractions: runner.getStringArgumentValue('plug_loads_vehicle_weekend_fractions', user_arguments),
|
3567
|
-
plug_loads_vehicle_monthly_multipliers: runner.getStringArgumentValue('plug_loads_vehicle_monthly_multipliers', user_arguments),
|
3568
3367
|
fuel_loads_grill_present: runner.getBoolArgumentValue('fuel_loads_grill_present', user_arguments),
|
3569
3368
|
fuel_loads_grill_fuel_type: runner.getStringArgumentValue('fuel_loads_grill_fuel_type', user_arguments),
|
3570
3369
|
fuel_loads_grill_annual_therm: runner.getStringArgumentValue('fuel_loads_grill_annual_therm', user_arguments),
|
3571
3370
|
fuel_loads_grill_location: runner.getStringArgumentValue('fuel_loads_grill_location', user_arguments),
|
3572
3371
|
fuel_loads_grill_usage_multiplier: runner.getDoubleArgumentValue('fuel_loads_grill_usage_multiplier', user_arguments),
|
3573
|
-
fuel_loads_grill_weekday_fractions: runner.getStringArgumentValue('fuel_loads_grill_weekday_fractions', user_arguments),
|
3574
|
-
fuel_loads_grill_weekend_fractions: runner.getStringArgumentValue('fuel_loads_grill_weekend_fractions', user_arguments),
|
3575
|
-
fuel_loads_grill_monthly_multipliers: runner.getStringArgumentValue('fuel_loads_grill_monthly_multipliers', user_arguments),
|
3576
3372
|
fuel_loads_lighting_present: runner.getBoolArgumentValue('fuel_loads_lighting_present', user_arguments),
|
3577
3373
|
fuel_loads_lighting_fuel_type: runner.getStringArgumentValue('fuel_loads_lighting_fuel_type', user_arguments),
|
3578
3374
|
fuel_loads_lighting_annual_therm: runner.getStringArgumentValue('fuel_loads_lighting_annual_therm', user_arguments),
|
3579
3375
|
fuel_loads_lighting_location: runner.getStringArgumentValue('fuel_loads_lighting_location', user_arguments),
|
3580
3376
|
fuel_loads_lighting_usage_multiplier: runner.getDoubleArgumentValue('fuel_loads_lighting_usage_multiplier', user_arguments),
|
3581
|
-
fuel_loads_lighting_weekday_fractions: runner.getStringArgumentValue('fuel_loads_lighting_weekday_fractions', user_arguments),
|
3582
|
-
fuel_loads_lighting_weekend_fractions: runner.getStringArgumentValue('fuel_loads_lighting_weekend_fractions', user_arguments),
|
3583
|
-
fuel_loads_lighting_monthly_multipliers: runner.getStringArgumentValue('fuel_loads_lighting_monthly_multipliers', user_arguments),
|
3584
3377
|
fuel_loads_fireplace_present: runner.getBoolArgumentValue('fuel_loads_fireplace_present', user_arguments),
|
3585
3378
|
fuel_loads_fireplace_fuel_type: runner.getStringArgumentValue('fuel_loads_fireplace_fuel_type', user_arguments),
|
3586
3379
|
fuel_loads_fireplace_annual_therm: runner.getStringArgumentValue('fuel_loads_fireplace_annual_therm', user_arguments),
|
3587
3380
|
fuel_loads_fireplace_location: runner.getStringArgumentValue('fuel_loads_fireplace_location', user_arguments),
|
3588
3381
|
fuel_loads_fireplace_usage_multiplier: runner.getDoubleArgumentValue('fuel_loads_fireplace_usage_multiplier', user_arguments),
|
3589
|
-
fuel_loads_fireplace_weekday_fractions: runner.getStringArgumentValue('fuel_loads_fireplace_weekday_fractions', user_arguments),
|
3590
|
-
fuel_loads_fireplace_weekend_fractions: runner.getStringArgumentValue('fuel_loads_fireplace_weekend_fractions', user_arguments),
|
3591
|
-
fuel_loads_fireplace_monthly_multipliers: runner.getStringArgumentValue('fuel_loads_fireplace_monthly_multipliers', user_arguments),
|
3592
3382
|
pool_present: runner.getBoolArgumentValue('pool_present', user_arguments),
|
3593
3383
|
pool_pump_annual_kwh: runner.getStringArgumentValue('pool_pump_annual_kwh', user_arguments),
|
3594
3384
|
pool_pump_usage_multiplier: runner.getDoubleArgumentValue('pool_pump_usage_multiplier', user_arguments),
|
3595
|
-
pool_pump_weekday_fractions: runner.getStringArgumentValue('pool_pump_weekday_fractions', user_arguments),
|
3596
|
-
pool_pump_weekend_fractions: runner.getStringArgumentValue('pool_pump_weekend_fractions', user_arguments),
|
3597
|
-
pool_pump_monthly_multipliers: runner.getStringArgumentValue('pool_pump_monthly_multipliers', user_arguments),
|
3598
3385
|
pool_heater_type: runner.getStringArgumentValue('pool_heater_type', user_arguments),
|
3599
3386
|
pool_heater_annual_kwh: runner.getStringArgumentValue('pool_heater_annual_kwh', user_arguments),
|
3600
3387
|
pool_heater_annual_therm: runner.getStringArgumentValue('pool_heater_annual_therm', user_arguments),
|
3601
3388
|
pool_heater_usage_multiplier: runner.getDoubleArgumentValue('pool_heater_usage_multiplier', user_arguments),
|
3602
|
-
pool_heater_weekday_fractions: runner.getStringArgumentValue('pool_heater_weekday_fractions', user_arguments),
|
3603
|
-
pool_heater_weekend_fractions: runner.getStringArgumentValue('pool_heater_weekend_fractions', user_arguments),
|
3604
|
-
pool_heater_monthly_multipliers: runner.getStringArgumentValue('pool_heater_monthly_multipliers', user_arguments),
|
3605
3389
|
hot_tub_present: runner.getBoolArgumentValue('hot_tub_present', user_arguments),
|
3606
3390
|
hot_tub_pump_annual_kwh: runner.getStringArgumentValue('hot_tub_pump_annual_kwh', user_arguments),
|
3607
3391
|
hot_tub_pump_usage_multiplier: runner.getDoubleArgumentValue('hot_tub_pump_usage_multiplier', user_arguments),
|
3608
|
-
hot_tub_pump_weekday_fractions: runner.getStringArgumentValue('hot_tub_pump_weekday_fractions', user_arguments),
|
3609
|
-
hot_tub_pump_weekend_fractions: runner.getStringArgumentValue('hot_tub_pump_weekend_fractions', user_arguments),
|
3610
|
-
hot_tub_pump_monthly_multipliers: runner.getStringArgumentValue('hot_tub_pump_monthly_multipliers', user_arguments),
|
3611
3392
|
hot_tub_heater_type: runner.getStringArgumentValue('hot_tub_heater_type', user_arguments),
|
3612
3393
|
hot_tub_heater_annual_kwh: runner.getStringArgumentValue('hot_tub_heater_annual_kwh', user_arguments),
|
3613
3394
|
hot_tub_heater_annual_therm: runner.getStringArgumentValue('hot_tub_heater_annual_therm', user_arguments),
|
3614
|
-
hot_tub_heater_usage_multiplier: runner.getDoubleArgumentValue('hot_tub_heater_usage_multiplier', user_arguments)
|
3615
|
-
hot_tub_heater_weekday_fractions: runner.getStringArgumentValue('hot_tub_heater_weekday_fractions', user_arguments),
|
3616
|
-
hot_tub_heater_weekend_fractions: runner.getStringArgumentValue('hot_tub_heater_weekend_fractions', user_arguments),
|
3617
|
-
hot_tub_heater_monthly_multipliers: runner.getStringArgumentValue('hot_tub_heater_monthly_multipliers', user_arguments) }
|
3395
|
+
hot_tub_heater_usage_multiplier: runner.getDoubleArgumentValue('hot_tub_heater_usage_multiplier', user_arguments) }
|
3618
3396
|
end
|
3619
3397
|
|
3620
3398
|
def validate_arguments(args)
|
@@ -3740,12 +3518,15 @@ class BuildResidentialHPXML < OpenStudio::Measure::ModelMeasure
|
|
3740
3518
|
end
|
3741
3519
|
|
3742
3520
|
class HPXMLFile
|
3743
|
-
def self.create(runner, model, args,
|
3521
|
+
def self.create(runner, model, args, epw_file)
|
3744
3522
|
model_geometry = OpenStudio::Model::Model.new
|
3745
3523
|
|
3746
3524
|
success = create_geometry_envelope(runner, model_geometry, args)
|
3747
3525
|
return false if not success
|
3748
3526
|
|
3527
|
+
success = create_schedules(runner, model, epw_file, args)
|
3528
|
+
return false if not success
|
3529
|
+
|
3749
3530
|
hpxml = HPXML.new
|
3750
3531
|
|
3751
3532
|
set_header(hpxml, runner, args)
|
@@ -3753,7 +3534,7 @@ class HPXMLFile
|
|
3753
3534
|
set_neighbor_buildings(hpxml, runner, args)
|
3754
3535
|
set_building_occupancy(hpxml, runner, args)
|
3755
3536
|
set_building_construction(hpxml, runner, args)
|
3756
|
-
set_climate_and_risk_zones(hpxml, runner, args,
|
3537
|
+
set_climate_and_risk_zones(hpxml, runner, args, epw_file)
|
3757
3538
|
set_air_infiltration_measurements(hpxml, runner, args)
|
3758
3539
|
set_attics(hpxml, runner, model_geometry, args)
|
3759
3540
|
set_foundations(hpxml, runner, model_geometry, args)
|
@@ -3775,8 +3556,8 @@ class HPXMLFile
|
|
3775
3556
|
set_water_heating_systems(hpxml, runner, args)
|
3776
3557
|
set_hot_water_distribution(hpxml, runner, args)
|
3777
3558
|
set_water_fixtures(hpxml, runner, args)
|
3778
|
-
set_solar_thermal(hpxml, runner, args,
|
3779
|
-
set_pv_systems(hpxml, runner, args,
|
3559
|
+
set_solar_thermal(hpxml, runner, args, epw_file)
|
3560
|
+
set_pv_systems(hpxml, runner, args, epw_file)
|
3780
3561
|
set_lighting(hpxml, runner, args)
|
3781
3562
|
set_dehumidifier(hpxml, runner, args)
|
3782
3563
|
set_clothes_washer(hpxml, runner, args)
|
@@ -3832,6 +3613,50 @@ class HPXMLFile
|
|
3832
3613
|
return true
|
3833
3614
|
end
|
3834
3615
|
|
3616
|
+
def self.create_schedules(runner, model, epw_file, args)
|
3617
|
+
if ['default', 'user-specified'].include? args[:schedules_type]
|
3618
|
+
if args[:schedules_type] == 'user-specified'
|
3619
|
+
args[:schedules_path] = args[:schedules_path].get
|
3620
|
+
else
|
3621
|
+
args[:schedules_path] = nil
|
3622
|
+
end
|
3623
|
+
return true
|
3624
|
+
end
|
3625
|
+
|
3626
|
+
# set the calendar year
|
3627
|
+
year_description = model.getYearDescription
|
3628
|
+
year_description.setCalendarYear(2007) # default to TMY
|
3629
|
+
if epw_file.startDateActualYear.is_initialized # AMY
|
3630
|
+
year_description.setCalendarYear(epw_file.startDateActualYear.get)
|
3631
|
+
end
|
3632
|
+
|
3633
|
+
# set the timestep
|
3634
|
+
timestep = model.getTimestep
|
3635
|
+
timestep.setNumberOfTimestepsPerHour(1)
|
3636
|
+
if args[:simulation_control_timestep].is_initialized
|
3637
|
+
timestep.setNumberOfTimestepsPerHour(60 / args[:simulation_control_timestep].get)
|
3638
|
+
end
|
3639
|
+
|
3640
|
+
schedule_generator = ScheduleGenerator.new(runner: runner, model: model, epw_file: epw_file)
|
3641
|
+
|
3642
|
+
# create the schedule
|
3643
|
+
if args[:geometry_num_occupants] == Constants.Auto
|
3644
|
+
args[:geometry_num_occupants] = Geometry.get_occupancy_default_num(args[:geometry_num_bedrooms])
|
3645
|
+
else
|
3646
|
+
args[:geometry_num_occupants] = Integer(args[:geometry_num_occupants])
|
3647
|
+
end
|
3648
|
+
args[:resources_path] = File.join(File.dirname(__FILE__), 'resources')
|
3649
|
+
success = schedule_generator.create(args: args)
|
3650
|
+
return false if not success
|
3651
|
+
|
3652
|
+
# export the schedule
|
3653
|
+
args[:schedules_path] = '../schedules.csv'
|
3654
|
+
success = schedule_generator.export(schedules_path: File.expand_path(args[:schedules_path]))
|
3655
|
+
return false if not success
|
3656
|
+
|
3657
|
+
return true
|
3658
|
+
end
|
3659
|
+
|
3835
3660
|
def self.set_header(hpxml, runner, args)
|
3836
3661
|
hpxml.header.xml_type = 'HPXML'
|
3837
3662
|
hpxml.header.xml_generated_by = 'BuildResidentialHPXML'
|
@@ -3861,6 +3686,9 @@ class HPXMLFile
|
|
3861
3686
|
if args[:simulation_control_run_period_end_day_of_month].is_initialized
|
3862
3687
|
hpxml.header.sim_end_day_of_month = args[:simulation_control_run_period_end_day_of_month].get
|
3863
3688
|
end
|
3689
|
+
if args[:simulation_control_run_period_calendar_year].is_initialized
|
3690
|
+
hpxml.header.sim_calendar_year = args[:simulation_control_run_period_calendar_year].get
|
3691
|
+
end
|
3864
3692
|
|
3865
3693
|
if args[:simulation_control_daylight_saving_enabled].is_initialized
|
3866
3694
|
hpxml.header.dst_enabled = args[:simulation_control_daylight_saving_enabled].get
|
@@ -3880,6 +3708,7 @@ class HPXMLFile
|
|
3880
3708
|
|
3881
3709
|
hpxml.header.building_id = 'MyBuilding'
|
3882
3710
|
hpxml.header.event_type = 'proposed workscope'
|
3711
|
+
hpxml.header.schedules_path = args[:schedules_path]
|
3883
3712
|
end
|
3884
3713
|
|
3885
3714
|
def self.set_site(hpxml, runner, args)
|
@@ -3956,15 +3785,16 @@ class HPXMLFile
|
|
3956
3785
|
end
|
3957
3786
|
end
|
3958
3787
|
|
3959
|
-
def self.set_climate_and_risk_zones(hpxml, runner, args,
|
3788
|
+
def self.set_climate_and_risk_zones(hpxml, runner, args, epw_file)
|
3960
3789
|
hpxml.climate_and_risk_zones.weather_station_id = 'WeatherStation'
|
3961
|
-
iecc_zone = Location.get_climate_zone_iecc(
|
3790
|
+
iecc_zone = Location.get_climate_zone_iecc(epw_file.wmoNumber)
|
3962
3791
|
|
3963
3792
|
unless iecc_zone.nil?
|
3964
3793
|
hpxml.climate_and_risk_zones.iecc_year = 2006
|
3965
3794
|
hpxml.climate_and_risk_zones.iecc_zone = iecc_zone
|
3966
3795
|
end
|
3967
|
-
|
3796
|
+
weather_station_name = File.basename(args[:weather_station_epw_filepath]).gsub('.epw', '')
|
3797
|
+
hpxml.climate_and_risk_zones.weather_station_name = weather_station_name
|
3968
3798
|
hpxml.climate_and_risk_zones.weather_station_epw_filepath = args[:weather_station_epw_filepath]
|
3969
3799
|
end
|
3970
3800
|
|
@@ -4745,6 +4575,22 @@ class HPXMLFile
|
|
4745
4575
|
end
|
4746
4576
|
end
|
4747
4577
|
|
4578
|
+
if args[:mech_vent_is_shared_system]
|
4579
|
+
is_shared_system = args[:mech_vent_is_shared_system]
|
4580
|
+
in_unit_flow_rate = args[:shared_mech_vent_in_unit_flow_rate].get
|
4581
|
+
fraction_recirculation = args[:shared_mech_vent_frac_recirculation].get
|
4582
|
+
if args[:shared_mech_vent_preheating_fuel].is_initialized && args[:shared_mech_vent_preheating_efficiency].is_initialized && args[:shared_mech_vent_preheating_fraction_heat_load_served].is_initialized
|
4583
|
+
preheating_fuel = args[:shared_mech_vent_preheating_fuel].get
|
4584
|
+
preheating_efficiency_cop = args[:shared_mech_vent_preheating_efficiency].get
|
4585
|
+
preheating_fraction_load_served = args[:shared_mech_vent_preheating_fraction_heat_load_served].get
|
4586
|
+
end
|
4587
|
+
if args[:shared_mech_vent_precooling_fuel].is_initialized && args[:shared_mech_vent_precooling_efficiency].is_initialized && args[:shared_mech_vent_precooling_fraction_cool_load_served].is_initialized
|
4588
|
+
precooling_fuel = args[:shared_mech_vent_precooling_fuel].get
|
4589
|
+
precooling_efficiency_cop = args[:shared_mech_vent_precooling_efficiency].get
|
4590
|
+
precooling_fraction_load_served = args[:shared_mech_vent_precooling_fraction_cool_load_served].get
|
4591
|
+
end
|
4592
|
+
end
|
4593
|
+
|
4748
4594
|
hpxml.ventilation_fans.add(id: 'MechanicalVentilation',
|
4749
4595
|
fan_type: args[:mech_vent_fan_type],
|
4750
4596
|
rated_flow_rate: args[:mech_vent_flow_rate],
|
@@ -4755,6 +4601,59 @@ class HPXMLFile
|
|
4755
4601
|
sensible_recovery_efficiency: sensible_recovery_efficiency,
|
4756
4602
|
sensible_recovery_efficiency_adjusted: sensible_recovery_efficiency_adjusted,
|
4757
4603
|
fan_power: args[:mech_vent_fan_power],
|
4604
|
+
distribution_system_idref: distribution_system_idref,
|
4605
|
+
is_shared_system: is_shared_system,
|
4606
|
+
in_unit_flow_rate: in_unit_flow_rate,
|
4607
|
+
fraction_recirculation: fraction_recirculation,
|
4608
|
+
preheating_fuel: preheating_fuel,
|
4609
|
+
preheating_efficiency_cop: preheating_efficiency_cop,
|
4610
|
+
preheating_fraction_load_served: preheating_fraction_load_served,
|
4611
|
+
precooling_fuel: precooling_fuel,
|
4612
|
+
precooling_efficiency_cop: precooling_efficiency_cop,
|
4613
|
+
precooling_fraction_load_served: precooling_fraction_load_served)
|
4614
|
+
end
|
4615
|
+
|
4616
|
+
if args[:mech_vent_fan_type_2] != 'none'
|
4617
|
+
|
4618
|
+
if args[:mech_vent_fan_type_2].include? 'recovery ventilator'
|
4619
|
+
|
4620
|
+
if args[:mech_vent_fan_type_2].include? 'energy'
|
4621
|
+
|
4622
|
+
if args[:mech_vent_total_recovery_efficiency_type_2] == 'Unadjusted'
|
4623
|
+
total_recovery_efficiency = args[:mech_vent_total_recovery_efficiency_2]
|
4624
|
+
elsif args[:mech_vent_total_recovery_efficiency_type_2] == 'Adjusted'
|
4625
|
+
total_recovery_efficiency_adjusted = args[:mech_vent_total_recovery_efficiency_2]
|
4626
|
+
end
|
4627
|
+
|
4628
|
+
end
|
4629
|
+
|
4630
|
+
if args[:mech_vent_sensible_recovery_efficiency_type_2] == 'Unadjusted'
|
4631
|
+
sensible_recovery_efficiency = args[:mech_vent_sensible_recovery_efficiency_2]
|
4632
|
+
elsif args[:mech_vent_sensible_recovery_efficiency_type_2] == 'Adjusted'
|
4633
|
+
sensible_recovery_efficiency_adjusted = args[:mech_vent_sensible_recovery_efficiency_2]
|
4634
|
+
end
|
4635
|
+
|
4636
|
+
end
|
4637
|
+
|
4638
|
+
distribution_system_idref = nil
|
4639
|
+
if args[:mech_vent_fan_type_2] == HPXML::MechVentTypeCFIS
|
4640
|
+
hpxml.hvac_distributions.each do |hvac_distribution|
|
4641
|
+
next unless hvac_distribution.distribution_system_type == HPXML::HVACDistributionTypeAir
|
4642
|
+
|
4643
|
+
distribution_system_idref = hvac_distribution.id
|
4644
|
+
end
|
4645
|
+
end
|
4646
|
+
|
4647
|
+
hpxml.ventilation_fans.add(id: 'SecondMechanicalVentilation',
|
4648
|
+
fan_type: args[:mech_vent_fan_type_2],
|
4649
|
+
rated_flow_rate: args[:mech_vent_flow_rate_2],
|
4650
|
+
hours_in_operation: args[:mech_vent_hours_in_operation_2],
|
4651
|
+
used_for_whole_building_ventilation: true,
|
4652
|
+
total_recovery_efficiency: total_recovery_efficiency,
|
4653
|
+
total_recovery_efficiency_adjusted: total_recovery_efficiency_adjusted,
|
4654
|
+
sensible_recovery_efficiency: sensible_recovery_efficiency,
|
4655
|
+
sensible_recovery_efficiency_adjusted: sensible_recovery_efficiency_adjusted,
|
4656
|
+
fan_power: args[:mech_vent_fan_power_2],
|
4758
4657
|
distribution_system_idref: distribution_system_idref)
|
4759
4658
|
end
|
4760
4659
|
|
@@ -4991,19 +4890,19 @@ class HPXMLFile
|
|
4991
4890
|
end
|
4992
4891
|
end
|
4993
4892
|
|
4994
|
-
def self.get_absolute_tilt(tilt_str, roof_pitch,
|
4893
|
+
def self.get_absolute_tilt(tilt_str, roof_pitch, epw_file)
|
4995
4894
|
tilt_str = tilt_str.downcase
|
4996
4895
|
if tilt_str.start_with? 'roofpitch'
|
4997
4896
|
roof_angle = Math.atan(roof_pitch / 12.0) * 180.0 / Math::PI
|
4998
4897
|
return Float(eval(tilt_str.gsub('roofpitch', roof_angle.to_s)))
|
4999
4898
|
elsif tilt_str.start_with? 'latitude'
|
5000
|
-
return Float(eval(tilt_str.gsub('latitude',
|
4899
|
+
return Float(eval(tilt_str.gsub('latitude', epw_file.latitude.to_s)))
|
5001
4900
|
else
|
5002
4901
|
return Float(tilt_str)
|
5003
4902
|
end
|
5004
4903
|
end
|
5005
4904
|
|
5006
|
-
def self.set_solar_thermal(hpxml, runner, args,
|
4905
|
+
def self.set_solar_thermal(hpxml, runner, args, epw_file)
|
5007
4906
|
return if args[:solar_thermal_system_type] == 'none'
|
5008
4907
|
|
5009
4908
|
if args[:solar_thermal_solar_fraction] > 0
|
@@ -5013,7 +4912,7 @@ class HPXMLFile
|
|
5013
4912
|
collector_loop_type = args[:solar_thermal_collector_loop_type]
|
5014
4913
|
collector_type = args[:solar_thermal_collector_type]
|
5015
4914
|
collector_azimuth = args[:solar_thermal_collector_azimuth]
|
5016
|
-
collector_tilt = get_absolute_tilt(args[:solar_thermal_collector_tilt], hpxml.roofs[-1].pitch,
|
4915
|
+
collector_tilt = get_absolute_tilt(args[:solar_thermal_collector_tilt], hpxml.roofs[-1].pitch, epw_file)
|
5017
4916
|
collector_frta = args[:solar_thermal_collector_rated_optical_efficiency]
|
5018
4917
|
collector_frul = args[:solar_thermal_collector_rated_thermal_losses]
|
5019
4918
|
|
@@ -5040,7 +4939,7 @@ class HPXMLFile
|
|
5040
4939
|
solar_fraction: solar_fraction)
|
5041
4940
|
end
|
5042
4941
|
|
5043
|
-
def self.set_pv_systems(hpxml, runner, args,
|
4942
|
+
def self.set_pv_systems(hpxml, runner, args, epw_file)
|
5044
4943
|
[args[:pv_system_module_type_1], args[:pv_system_module_type_2]].each_with_index do |module_type, i|
|
5045
4944
|
next if module_type == 'none'
|
5046
4945
|
|
@@ -5064,7 +4963,7 @@ class HPXMLFile
|
|
5064
4963
|
module_type: module_type,
|
5065
4964
|
tracking: [args[:pv_system_tracking_1], args[:pv_system_tracking_2]][i],
|
5066
4965
|
array_azimuth: [args[:pv_system_array_azimuth_1], args[:pv_system_array_azimuth_2]][i],
|
5067
|
-
array_tilt: get_absolute_tilt([args[:pv_system_array_tilt_1], args[:pv_system_array_tilt_2]][i], hpxml.roofs[-1].pitch,
|
4966
|
+
array_tilt: get_absolute_tilt([args[:pv_system_array_tilt_1], args[:pv_system_array_tilt_2]][i], hpxml.roofs[-1].pitch, epw_file),
|
5068
4967
|
max_power_output: max_power_output,
|
5069
4968
|
inverter_efficiency: inverter_efficiency,
|
5070
4969
|
system_losses_fraction: system_losses_fraction,
|
@@ -5115,50 +5014,14 @@ class HPXMLFile
|
|
5115
5014
|
hpxml.lighting.interior_usage_multiplier = args[:lighting_usage_multiplier_interior]
|
5116
5015
|
end
|
5117
5016
|
|
5118
|
-
if args[:lighting_weekday_fractions_interior] != Constants.Auto
|
5119
|
-
hpxml.lighting.interior_weekday_fractions = args[:lighting_weekday_fractions_interior]
|
5120
|
-
end
|
5121
|
-
|
5122
|
-
if args[:lighting_weekend_fractions_interior] != Constants.Auto
|
5123
|
-
hpxml.lighting.interior_weekend_fractions = args[:lighting_weekend_fractions_interior]
|
5124
|
-
end
|
5125
|
-
|
5126
|
-
if args[:lighting_monthly_multipliers_interior] != Constants.Auto
|
5127
|
-
hpxml.lighting.interior_monthly_multipliers = args[:lighting_monthly_multipliers_interior]
|
5128
|
-
end
|
5129
|
-
|
5130
5017
|
if args[:lighting_usage_multiplier_exterior] != 1.0
|
5131
5018
|
hpxml.lighting.exterior_usage_multiplier = args[:lighting_usage_multiplier_exterior]
|
5132
5019
|
end
|
5133
5020
|
|
5134
|
-
if args[:lighting_weekday_fractions_exterior] != Constants.Auto
|
5135
|
-
hpxml.lighting.exterior_weekday_fractions = args[:lighting_weekday_fractions_exterior]
|
5136
|
-
end
|
5137
|
-
|
5138
|
-
if args[:lighting_weekend_fractions_exterior] != Constants.Auto
|
5139
|
-
hpxml.lighting.exterior_weekend_fractions = args[:lighting_weekend_fractions_exterior]
|
5140
|
-
end
|
5141
|
-
|
5142
|
-
if args[:lighting_monthly_multipliers_exterior] != Constants.Auto
|
5143
|
-
hpxml.lighting.exterior_monthly_multipliers = args[:lighting_monthly_multipliers_exterior]
|
5144
|
-
end
|
5145
|
-
|
5146
5021
|
if args[:lighting_usage_multiplier_garage] != 1.0
|
5147
5022
|
hpxml.lighting.garage_usage_multiplier = args[:lighting_usage_multiplier_garage]
|
5148
5023
|
end
|
5149
5024
|
|
5150
|
-
if args[:lighting_weekday_fractions_garage] != Constants.Auto
|
5151
|
-
hpxml.lighting.garage_weekday_fractions = args[:lighting_weekday_fractions_garage]
|
5152
|
-
end
|
5153
|
-
|
5154
|
-
if args[:lighting_weekend_fractions_garage] != Constants.Auto
|
5155
|
-
hpxml.lighting.garage_weekend_fractions = args[:lighting_weekend_fractions_garage]
|
5156
|
-
end
|
5157
|
-
|
5158
|
-
if args[:lighting_monthly_multipliers_garage] != Constants.Auto
|
5159
|
-
hpxml.lighting.garage_monthly_multipliers = args[:lighting_monthly_multipliers_garage]
|
5160
|
-
end
|
5161
|
-
|
5162
5025
|
return unless args[:holiday_lighting_present]
|
5163
5026
|
|
5164
5027
|
hpxml.lighting.holiday_exists = true
|
@@ -5182,14 +5045,6 @@ class HPXMLFile
|
|
5182
5045
|
if args[:holiday_lighting_period_end_day_of_month] != Constants.Auto
|
5183
5046
|
hpxml.lighting.holiday_period_end_day_of_month = args[:holiday_lighting_period_end_day_of_month]
|
5184
5047
|
end
|
5185
|
-
|
5186
|
-
if args[:holiday_lighting_weekday_fractions_exterior] != Constants.Auto
|
5187
|
-
hpxml.lighting.holiday_weekday_fractions = args[:holiday_lighting_weekday_fractions_exterior]
|
5188
|
-
end
|
5189
|
-
|
5190
|
-
if args[:holiday_lighting_weekend_fractions_exterior] != Constants.Auto
|
5191
|
-
hpxml.lighting.holiday_weekend_fractions = args[:holiday_lighting_weekend_fractions_exterior]
|
5192
|
-
end
|
5193
5048
|
end
|
5194
5049
|
|
5195
5050
|
def self.set_dehumidifier(hpxml, runner, args)
|
@@ -5291,6 +5146,14 @@ class HPXMLFile
|
|
5291
5146
|
control_type = args[:clothes_dryer_control_type]
|
5292
5147
|
end
|
5293
5148
|
|
5149
|
+
if args[:clothes_dryer_vented_flow_rate] != Constants.Auto
|
5150
|
+
is_vented = false
|
5151
|
+
if Float(args[:clothes_dryer_vented_flow_rate]) > 0
|
5152
|
+
is_vented = true
|
5153
|
+
vented_flow_rate = args[:clothes_dryer_vented_flow_rate]
|
5154
|
+
end
|
5155
|
+
end
|
5156
|
+
|
5294
5157
|
if args[:clothes_dryer_usage_multiplier] != 1.0
|
5295
5158
|
usage_multiplier = args[:clothes_dryer_usage_multiplier]
|
5296
5159
|
end
|
@@ -5301,6 +5164,8 @@ class HPXMLFile
|
|
5301
5164
|
energy_factor: energy_factor,
|
5302
5165
|
combined_energy_factor: combined_energy_factor,
|
5303
5166
|
control_type: control_type,
|
5167
|
+
is_vented: is_vented,
|
5168
|
+
vented_flow_rate: vented_flow_rate,
|
5304
5169
|
usage_multiplier: usage_multiplier)
|
5305
5170
|
end
|
5306
5171
|
|
@@ -5370,18 +5235,6 @@ class HPXMLFile
|
|
5370
5235
|
usage_multiplier = args[:refrigerator_usage_multiplier]
|
5371
5236
|
end
|
5372
5237
|
|
5373
|
-
if args[:refrigerator_weekday_fractions] != Constants.Auto
|
5374
|
-
refrigerator_weekday_fractions = args[:refrigerator_weekday_fractions]
|
5375
|
-
end
|
5376
|
-
|
5377
|
-
if args[:refrigerator_weekend_fractions] != Constants.Auto
|
5378
|
-
refrigerator_weekend_fractions = args[:refrigerator_weekend_fractions]
|
5379
|
-
end
|
5380
|
-
|
5381
|
-
if args[:refrigerator_monthly_multipliers] != Constants.Auto
|
5382
|
-
refrigerator_monthly_multipliers = args[:refrigerator_monthly_multipliers]
|
5383
|
-
end
|
5384
|
-
|
5385
5238
|
if args[:extra_refrigerator_present]
|
5386
5239
|
primary_indicator = true
|
5387
5240
|
end
|
@@ -5390,10 +5243,7 @@ class HPXMLFile
|
|
5390
5243
|
location: location,
|
5391
5244
|
rated_annual_kwh: refrigerator_rated_annual_kwh,
|
5392
5245
|
primary_indicator: primary_indicator,
|
5393
|
-
usage_multiplier: usage_multiplier
|
5394
|
-
weekday_fractions: refrigerator_weekday_fractions,
|
5395
|
-
weekend_fractions: refrigerator_weekend_fractions,
|
5396
|
-
monthly_multipliers: refrigerator_monthly_multipliers)
|
5246
|
+
usage_multiplier: usage_multiplier)
|
5397
5247
|
end
|
5398
5248
|
|
5399
5249
|
def self.set_extra_refrigerator(hpxml, runner, args)
|
@@ -5411,26 +5261,11 @@ class HPXMLFile
|
|
5411
5261
|
usage_multiplier = args[:extra_refrigerator_usage_multiplier]
|
5412
5262
|
end
|
5413
5263
|
|
5414
|
-
if args[:extra_refrigerator_weekday_fractions] != Constants.Auto
|
5415
|
-
weekday_fractions = args[:extra_refrigerator_weekday_fractions]
|
5416
|
-
end
|
5417
|
-
|
5418
|
-
if args[:extra_refrigerator_weekend_fractions] != Constants.Auto
|
5419
|
-
weekend_fractions = args[:extra_refrigerator_weekend_fractions]
|
5420
|
-
end
|
5421
|
-
|
5422
|
-
if args[:extra_refrigerator_monthly_multipliers] != Constants.Auto
|
5423
|
-
monthly_multipliers = args[:extra_refrigerator_monthly_multipliers]
|
5424
|
-
end
|
5425
|
-
|
5426
5264
|
hpxml.refrigerators.add(id: 'ExtraRefrigerator',
|
5427
5265
|
location: location,
|
5428
5266
|
rated_annual_kwh: rated_annual_kwh,
|
5429
5267
|
primary_indicator: false,
|
5430
|
-
usage_multiplier: usage_multiplier
|
5431
|
-
weekday_fractions: weekday_fractions,
|
5432
|
-
weekend_fractions: weekend_fractions,
|
5433
|
-
monthly_multipliers: monthly_multipliers)
|
5268
|
+
usage_multiplier: usage_multiplier)
|
5434
5269
|
end
|
5435
5270
|
|
5436
5271
|
def self.set_freezer(hpxml, runner, args)
|
@@ -5448,25 +5283,10 @@ class HPXMLFile
|
|
5448
5283
|
usage_multiplier = args[:freezer_usage_multiplier]
|
5449
5284
|
end
|
5450
5285
|
|
5451
|
-
if args[:freezer_weekday_fractions] != Constants.Auto
|
5452
|
-
weekday_fractions = args[:freezer_weekday_fractions]
|
5453
|
-
end
|
5454
|
-
|
5455
|
-
if args[:freezer_weekend_fractions] != Constants.Auto
|
5456
|
-
weekend_fractions = args[:freezer_weekend_fractions]
|
5457
|
-
end
|
5458
|
-
|
5459
|
-
if args[:freezer_monthly_multipliers] != Constants.Auto
|
5460
|
-
monthly_multipliers = args[:freezer_monthly_multipliers]
|
5461
|
-
end
|
5462
|
-
|
5463
5286
|
hpxml.freezers.add(id: 'Freezer',
|
5464
5287
|
location: location,
|
5465
5288
|
rated_annual_kwh: rated_annual_kwh,
|
5466
|
-
usage_multiplier: usage_multiplier
|
5467
|
-
weekday_fractions: weekday_fractions,
|
5468
|
-
weekend_fractions: weekend_fractions,
|
5469
|
-
monthly_multipliers: monthly_multipliers)
|
5289
|
+
usage_multiplier: usage_multiplier)
|
5470
5290
|
end
|
5471
5291
|
|
5472
5292
|
def self.set_cooking_range_oven(hpxml, runner, args)
|
@@ -5484,26 +5304,11 @@ class HPXMLFile
|
|
5484
5304
|
usage_multiplier = args[:cooking_range_oven_usage_multiplier]
|
5485
5305
|
end
|
5486
5306
|
|
5487
|
-
if args[:cooking_range_oven_weekday_fractions] != Constants.Auto
|
5488
|
-
cooking_range_oven_weekday_fractions = args[:cooking_range_oven_weekday_fractions]
|
5489
|
-
end
|
5490
|
-
|
5491
|
-
if args[:cooking_range_oven_weekend_fractions] != Constants.Auto
|
5492
|
-
cooking_range_oven_weekend_fractions = args[:cooking_range_oven_weekend_fractions]
|
5493
|
-
end
|
5494
|
-
|
5495
|
-
if args[:cooking_range_oven_monthly_multipliers] != Constants.Auto
|
5496
|
-
cooking_range_oven_monthly_multipliers = args[:cooking_range_oven_monthly_multipliers]
|
5497
|
-
end
|
5498
|
-
|
5499
5307
|
hpxml.cooking_ranges.add(id: 'CookingRange',
|
5500
5308
|
location: location,
|
5501
5309
|
fuel_type: args[:cooking_range_oven_fuel_type],
|
5502
5310
|
is_induction: is_induction,
|
5503
|
-
usage_multiplier: usage_multiplier
|
5504
|
-
weekday_fractions: cooking_range_oven_weekday_fractions,
|
5505
|
-
weekend_fractions: cooking_range_oven_weekend_fractions,
|
5506
|
-
monthly_multipliers: cooking_range_oven_monthly_multipliers)
|
5311
|
+
usage_multiplier: usage_multiplier)
|
5507
5312
|
|
5508
5313
|
if args[:cooking_range_oven_is_convection].is_initialized
|
5509
5314
|
is_convection = args[:cooking_range_oven_is_convection].get
|
@@ -5538,25 +5343,10 @@ class HPXMLFile
|
|
5538
5343
|
usage_multiplier = args[:plug_loads_television_usage_multiplier]
|
5539
5344
|
end
|
5540
5345
|
|
5541
|
-
if args[:plug_loads_television_weekday_fractions] != Constants.Auto
|
5542
|
-
weekday_fractions = args[:plug_loads_television_weekday_fractions]
|
5543
|
-
end
|
5544
|
-
|
5545
|
-
if args[:plug_loads_television_weekend_fractions] != Constants.Auto
|
5546
|
-
weekend_fractions = args[:plug_loads_television_weekend_fractions]
|
5547
|
-
end
|
5548
|
-
|
5549
|
-
if args[:plug_loads_television_monthly_multipliers] != Constants.Auto
|
5550
|
-
monthly_multipliers = args[:plug_loads_television_monthly_multipliers]
|
5551
|
-
end
|
5552
|
-
|
5553
5346
|
hpxml.plug_loads.add(id: 'PlugLoadsTelevision',
|
5554
5347
|
plug_load_type: HPXML::PlugLoadTypeTelevision,
|
5555
5348
|
kWh_per_year: kWh_per_year,
|
5556
|
-
usage_multiplier: usage_multiplier
|
5557
|
-
weekday_fractions: weekday_fractions,
|
5558
|
-
weekend_fractions: weekend_fractions,
|
5559
|
-
monthly_multipliers: monthly_multipliers)
|
5349
|
+
usage_multiplier: usage_multiplier)
|
5560
5350
|
end
|
5561
5351
|
|
5562
5352
|
def self.set_plug_loads_other(hpxml, runner, args)
|
@@ -5576,27 +5366,12 @@ class HPXMLFile
|
|
5576
5366
|
usage_multiplier = args[:plug_loads_other_usage_multiplier]
|
5577
5367
|
end
|
5578
5368
|
|
5579
|
-
if args[:plug_loads_other_weekday_fractions] != Constants.Auto
|
5580
|
-
weekday_fractions = args[:plug_loads_other_weekday_fractions]
|
5581
|
-
end
|
5582
|
-
|
5583
|
-
if args[:plug_loads_other_weekend_fractions] != Constants.Auto
|
5584
|
-
weekend_fractions = args[:plug_loads_other_weekend_fractions]
|
5585
|
-
end
|
5586
|
-
|
5587
|
-
if args[:plug_loads_other_monthly_multipliers] != Constants.Auto
|
5588
|
-
monthly_multipliers = args[:plug_loads_other_monthly_multipliers]
|
5589
|
-
end
|
5590
|
-
|
5591
5369
|
hpxml.plug_loads.add(id: 'PlugLoadsOther',
|
5592
5370
|
plug_load_type: HPXML::PlugLoadTypeOther,
|
5593
5371
|
kWh_per_year: kWh_per_year,
|
5594
5372
|
frac_sensible: frac_sensible,
|
5595
5373
|
frac_latent: frac_latent,
|
5596
|
-
usage_multiplier: usage_multiplier
|
5597
|
-
weekday_fractions: weekday_fractions,
|
5598
|
-
weekend_fractions: weekend_fractions,
|
5599
|
-
monthly_multipliers: monthly_multipliers)
|
5374
|
+
usage_multiplier: usage_multiplier)
|
5600
5375
|
end
|
5601
5376
|
|
5602
5377
|
def self.set_plug_loads_well_pump(hpxml, runner, args)
|
@@ -5679,27 +5454,12 @@ class HPXMLFile
|
|
5679
5454
|
usage_multiplier = args[:fuel_loads_grill_usage_multiplier]
|
5680
5455
|
end
|
5681
5456
|
|
5682
|
-
if args[:fuel_loads_grill_weekday_fractions] != Constants.Auto
|
5683
|
-
weekday_fractions = args[:fuel_loads_grill_weekday_fractions]
|
5684
|
-
end
|
5685
|
-
|
5686
|
-
if args[:fuel_loads_grill_weekend_fractions] != Constants.Auto
|
5687
|
-
weekend_fractions = args[:fuel_loads_grill_weekend_fractions]
|
5688
|
-
end
|
5689
|
-
|
5690
|
-
if args[:fuel_loads_grill_monthly_multipliers] != Constants.Auto
|
5691
|
-
monthly_multipliers = args[:fuel_loads_grill_monthly_multipliers]
|
5692
|
-
end
|
5693
|
-
|
5694
5457
|
hpxml.fuel_loads.add(id: 'FuelLoadsGrill',
|
5695
5458
|
fuel_load_type: HPXML::FuelLoadTypeGrill,
|
5696
5459
|
fuel_type: args[:fuel_loads_grill_fuel_type],
|
5697
5460
|
location: location,
|
5698
5461
|
therm_per_year: therm_per_year,
|
5699
|
-
usage_multiplier: usage_multiplier
|
5700
|
-
weekday_fractions: weekday_fractions,
|
5701
|
-
weekend_fractions: weekend_fractions,
|
5702
|
-
monthly_multipliers: monthly_multipliers)
|
5462
|
+
usage_multiplier: usage_multiplier)
|
5703
5463
|
end
|
5704
5464
|
end
|
5705
5465
|
|
@@ -5717,27 +5477,12 @@ class HPXMLFile
|
|
5717
5477
|
usage_multiplier = args[:fuel_loads_lighting_usage_multiplier]
|
5718
5478
|
end
|
5719
5479
|
|
5720
|
-
if args[:fuel_loads_lighting_weekday_fractions] != Constants.Auto
|
5721
|
-
weekday_fractions = args[:fuel_loads_lighting_weekday_fractions]
|
5722
|
-
end
|
5723
|
-
|
5724
|
-
if args[:fuel_loads_lighting_weekend_fractions] != Constants.Auto
|
5725
|
-
weekend_fractions = args[:fuel_loads_lighting_weekend_fractions]
|
5726
|
-
end
|
5727
|
-
|
5728
|
-
if args[:fuel_loads_lighting_monthly_multipliers] != Constants.Auto
|
5729
|
-
monthly_multipliers = args[:fuel_loads_lighting_monthly_multipliers]
|
5730
|
-
end
|
5731
|
-
|
5732
5480
|
hpxml.fuel_loads.add(id: 'FuelLoadsLighting',
|
5733
5481
|
fuel_load_type: HPXML::FuelLoadTypeLighting,
|
5734
5482
|
fuel_type: args[:fuel_loads_lighting_fuel_type],
|
5735
5483
|
location: location,
|
5736
5484
|
therm_per_year: therm_per_year,
|
5737
|
-
usage_multiplier: usage_multiplier
|
5738
|
-
weekday_fractions: weekday_fractions,
|
5739
|
-
weekend_fractions: weekend_fractions,
|
5740
|
-
monthly_multipliers: monthly_multipliers)
|
5485
|
+
usage_multiplier: usage_multiplier)
|
5741
5486
|
end
|
5742
5487
|
end
|
5743
5488
|
|
@@ -5755,27 +5500,12 @@ class HPXMLFile
|
|
5755
5500
|
usage_multiplier = args[:fuel_loads_fireplace_usage_multiplier]
|
5756
5501
|
end
|
5757
5502
|
|
5758
|
-
if args[:fuel_loads_fireplace_weekday_fractions] != Constants.Auto
|
5759
|
-
weekday_fractions = args[:fuel_loads_fireplace_weekday_fractions]
|
5760
|
-
end
|
5761
|
-
|
5762
|
-
if args[:fuel_loads_fireplace_weekend_fractions] != Constants.Auto
|
5763
|
-
weekend_fractions = args[:fuel_loads_fireplace_weekend_fractions]
|
5764
|
-
end
|
5765
|
-
|
5766
|
-
if args[:fuel_loads_fireplace_monthly_multipliers] != Constants.Auto
|
5767
|
-
monthly_multipliers = args[:fuel_loads_fireplace_monthly_multipliers]
|
5768
|
-
end
|
5769
|
-
|
5770
5503
|
hpxml.fuel_loads.add(id: 'FuelLoadsFireplace',
|
5771
5504
|
fuel_load_type: HPXML::FuelLoadTypeFireplace,
|
5772
5505
|
fuel_type: args[:fuel_loads_fireplace_fuel_type],
|
5773
5506
|
location: location,
|
5774
5507
|
therm_per_year: therm_per_year,
|
5775
|
-
usage_multiplier: usage_multiplier
|
5776
|
-
weekday_fractions: weekday_fractions,
|
5777
|
-
weekend_fractions: weekend_fractions,
|
5778
|
-
monthly_multipliers: monthly_multipliers)
|
5508
|
+
usage_multiplier: usage_multiplier)
|
5779
5509
|
end
|
5780
5510
|
end
|
5781
5511
|
|
@@ -5790,18 +5520,6 @@ class HPXMLFile
|
|
5790
5520
|
pump_usage_multiplier = args[:pool_pump_usage_multiplier]
|
5791
5521
|
end
|
5792
5522
|
|
5793
|
-
if args[:pool_pump_weekday_fractions] != Constants.Auto
|
5794
|
-
pump_weekday_fractions = args[:pool_pump_weekday_fractions]
|
5795
|
-
end
|
5796
|
-
|
5797
|
-
if args[:pool_pump_weekend_fractions] != Constants.Auto
|
5798
|
-
pump_weekend_fractions = args[:pool_pump_weekend_fractions]
|
5799
|
-
end
|
5800
|
-
|
5801
|
-
if args[:pool_pump_monthly_multipliers] != Constants.Auto
|
5802
|
-
pump_monthly_multipliers = args[:pool_pump_monthly_multipliers]
|
5803
|
-
end
|
5804
|
-
|
5805
5523
|
if args[:pool_heater_type] != 'none'
|
5806
5524
|
heater_type = args[:pool_heater_type]
|
5807
5525
|
end
|
@@ -5820,31 +5538,13 @@ class HPXMLFile
|
|
5820
5538
|
heater_usage_multiplier = args[:pool_heater_usage_multiplier]
|
5821
5539
|
end
|
5822
5540
|
|
5823
|
-
if args[:pool_heater_weekday_fractions] != Constants.Auto
|
5824
|
-
heater_weekday_fractions = args[:pool_heater_weekday_fractions]
|
5825
|
-
end
|
5826
|
-
|
5827
|
-
if args[:pool_heater_weekend_fractions] != Constants.Auto
|
5828
|
-
heater_weekend_fractions = args[:pool_heater_weekend_fractions]
|
5829
|
-
end
|
5830
|
-
|
5831
|
-
if args[:pool_heater_monthly_multipliers] != Constants.Auto
|
5832
|
-
heater_monthly_multipliers = args[:pool_heater_monthly_multipliers]
|
5833
|
-
end
|
5834
|
-
|
5835
5541
|
hpxml.pools.add(id: 'Pool',
|
5836
5542
|
pump_kwh_per_year: pump_kwh_per_year,
|
5837
5543
|
pump_usage_multiplier: pump_usage_multiplier,
|
5838
|
-
pump_weekday_fractions: pump_weekday_fractions,
|
5839
|
-
pump_weekend_fractions: pump_weekend_fractions,
|
5840
|
-
pump_monthly_multipliers: pump_monthly_multipliers,
|
5841
5544
|
heater_type: heater_type,
|
5842
5545
|
heater_load_units: heater_load_units,
|
5843
5546
|
heater_load_value: heater_load_value,
|
5844
|
-
heater_usage_multiplier: heater_usage_multiplier
|
5845
|
-
heater_weekday_fractions: heater_weekday_fractions,
|
5846
|
-
heater_weekend_fractions: heater_weekend_fractions,
|
5847
|
-
heater_monthly_multipliers: heater_monthly_multipliers)
|
5547
|
+
heater_usage_multiplier: heater_usage_multiplier)
|
5848
5548
|
end
|
5849
5549
|
|
5850
5550
|
def self.set_hot_tub(hpxml, runner, args)
|
@@ -5858,18 +5558,6 @@ class HPXMLFile
|
|
5858
5558
|
pump_usage_multiplier = args[:hot_tub_pump_usage_multiplier]
|
5859
5559
|
end
|
5860
5560
|
|
5861
|
-
if args[:hot_tub_pump_weekday_fractions] != Constants.Auto
|
5862
|
-
pump_weekday_fractions = args[:hot_tub_pump_weekday_fractions]
|
5863
|
-
end
|
5864
|
-
|
5865
|
-
if args[:hot_tub_pump_weekend_fractions] != Constants.Auto
|
5866
|
-
pump_weekend_fractions = args[:hot_tub_pump_weekend_fractions]
|
5867
|
-
end
|
5868
|
-
|
5869
|
-
if args[:hot_tub_pump_monthly_multipliers] != Constants.Auto
|
5870
|
-
pump_monthly_multipliers = args[:hot_tub_pump_monthly_multipliers]
|
5871
|
-
end
|
5872
|
-
|
5873
5561
|
if args[:hot_tub_heater_type] != 'none'
|
5874
5562
|
heater_type = args[:hot_tub_heater_type]
|
5875
5563
|
end
|
@@ -5888,31 +5576,13 @@ class HPXMLFile
|
|
5888
5576
|
heater_usage_multiplier = args[:hot_tub_heater_usage_multiplier]
|
5889
5577
|
end
|
5890
5578
|
|
5891
|
-
if args[:hot_tub_heater_weekday_fractions] != Constants.Auto
|
5892
|
-
heater_weekday_fractions = args[:hot_tub_heater_weekday_fractions]
|
5893
|
-
end
|
5894
|
-
|
5895
|
-
if args[:hot_tub_heater_weekend_fractions] != Constants.Auto
|
5896
|
-
heater_weekend_fractions = args[:hot_tub_heater_weekend_fractions]
|
5897
|
-
end
|
5898
|
-
|
5899
|
-
if args[:hot_tub_heater_monthly_multipliers] != Constants.Auto
|
5900
|
-
heater_monthly_multipliers = args[:hot_tub_heater_monthly_multipliers]
|
5901
|
-
end
|
5902
|
-
|
5903
5579
|
hpxml.hot_tubs.add(id: 'HotTub',
|
5904
5580
|
pump_kwh_per_year: pump_kwh_per_year,
|
5905
5581
|
pump_usage_multiplier: pump_usage_multiplier,
|
5906
|
-
pump_weekday_fractions: pump_weekday_fractions,
|
5907
|
-
pump_weekend_fractions: pump_weekend_fractions,
|
5908
|
-
pump_monthly_multipliers: pump_monthly_multipliers,
|
5909
5582
|
heater_type: heater_type,
|
5910
5583
|
heater_load_units: heater_load_units,
|
5911
5584
|
heater_load_value: heater_load_value,
|
5912
|
-
heater_usage_multiplier: heater_usage_multiplier
|
5913
|
-
heater_weekday_fractions: heater_weekday_fractions,
|
5914
|
-
heater_weekend_fractions: heater_weekend_fractions,
|
5915
|
-
heater_monthly_multipliers: heater_monthly_multipliers)
|
5585
|
+
heater_usage_multiplier: heater_usage_multiplier)
|
5916
5586
|
end
|
5917
5587
|
|
5918
5588
|
def self.valid_attr(attr)
|