openstudio-calibration 0.9.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/Gemfile +1 -1
- data/Jenkinsfile +1 -1
- data/LICENSE.md +1 -1
- data/README.md +2 -0
- data/Rakefile +3 -0
- data/lib/measures/AddMonthlyJSONUtilityData/LICENSE.md +1 -1
- data/lib/measures/AddMonthlyJSONUtilityData/measure.rb +3 -3
- data/lib/measures/AddMonthlyJSONUtilityData/measure.xml +12 -12
- data/lib/measures/AddMonthlyUtilityData/LICENSE.md +1 -1
- data/lib/measures/AddMonthlyUtilityData/measure.xml +29 -29
- data/lib/measures/CalibrationReports/LICENSE.md +1 -1
- data/lib/measures/CalibrationReports/README.md +2 -2
- data/lib/measures/CalibrationReports/measure.rb +1 -3
- data/lib/measures/CalibrationReports/measure.xml +41 -42
- data/lib/measures/CalibrationReportsEnhanced/LICENSE.md +1 -1
- data/lib/measures/CalibrationReportsEnhanced/measure.rb +21 -22
- data/lib/measures/CalibrationReportsEnhanced/measure.xml +41 -41
- data/lib/measures/CoilCoolingDXSingleSpeedMultiplier/LICENSE.md +1 -1
- data/lib/measures/CoilCoolingDXSingleSpeedMultiplier/measure.rb +12 -12
- data/lib/measures/CoilCoolingDXSingleSpeedMultiplier/measure.xml +14 -14
- data/lib/measures/CoilCoolingDXSingleSpeedPercentChange/LICENSE.md +1 -1
- data/lib/measures/CoilCoolingDXSingleSpeedPercentChange/measure.rb +12 -12
- data/lib/measures/CoilCoolingDXSingleSpeedPercentChange/measure.xml +14 -14
- data/lib/measures/CoilCoolingDXTwoSpeedMultiplier/LICENSE.md +1 -1
- data/lib/measures/CoilCoolingDXTwoSpeedMultiplier/measure.rb +21 -23
- data/lib/measures/CoilCoolingDXTwoSpeedMultiplier/measure.xml +14 -14
- data/lib/measures/CoilCoolingDXTwoSpeedPercentChange/LICENSE.md +1 -1
- data/lib/measures/CoilCoolingDXTwoSpeedPercentChange/measure.rb +21 -23
- data/lib/measures/CoilCoolingDXTwoSpeedPercentChange/measure.xml +14 -14
- data/lib/measures/CoilCoolingWaterMultiplier/LICENSE.md +1 -1
- data/lib/measures/CoilCoolingWaterMultiplier/measure.rb +33 -43
- data/lib/measures/CoilCoolingWaterMultiplier/measure.xml +14 -14
- data/lib/measures/CoilCoolingWaterPercentChange/LICENSE.md +1 -1
- data/lib/measures/CoilCoolingWaterPercentChange/measure.rb +33 -43
- data/lib/measures/CoilCoolingWaterPercentChange/measure.xml +14 -14
- data/lib/measures/CoilHeatingElectricMultiplier/LICENSE.md +1 -1
- data/lib/measures/CoilHeatingElectricMultiplier/measure.rb +8 -8
- data/lib/measures/CoilHeatingElectricMultiplier/measure.xml +14 -14
- data/lib/measures/CoilHeatingElectricPercentChange/LICENSE.md +1 -1
- data/lib/measures/CoilHeatingElectricPercentChange/measure.rb +8 -8
- data/lib/measures/CoilHeatingElectricPercentChange/measure.xml +14 -14
- data/lib/measures/CoilHeatingGasMultiplier/LICENSE.md +1 -1
- data/lib/measures/CoilHeatingGasMultiplier/measure.rb +8 -8
- data/lib/measures/CoilHeatingGasMultiplier/measure.xml +14 -14
- data/lib/measures/CoilHeatingGasPercentChange/LICENSE.md +1 -1
- data/lib/measures/CoilHeatingGasPercentChange/measure.rb +8 -8
- data/lib/measures/CoilHeatingGasPercentChange/measure.xml +14 -14
- data/lib/measures/CoilHeatingWaterMultiplier/LICENSE.md +1 -1
- data/lib/measures/CoilHeatingWaterMultiplier/measure.rb +13 -15
- data/lib/measures/CoilHeatingWaterMultiplier/measure.xml +14 -14
- data/lib/measures/CoilHeatingWaterPercentChange/LICENSE.md +1 -1
- data/lib/measures/CoilHeatingWaterPercentChange/measure.rb +13 -15
- data/lib/measures/CoilHeatingWaterPercentChange/measure.xml +14 -14
- data/lib/measures/ConstructionLayerZeroMaterialProperties/LICENSE.md +1 -1
- data/lib/measures/ConstructionLayerZeroMaterialProperties/measure.rb +4 -4
- data/lib/measures/ConstructionLayerZeroMaterialProperties/measure.xml +12 -12
- data/lib/measures/ElectricBaseboardEfficiencyAndCapacity/LICENSE.md +1 -1
- data/lib/measures/ElectricBaseboardEfficiencyAndCapacity/measure.xml +11 -11
- data/lib/measures/ExteriorWallThermalPropertiesMultiplier/LICENSE.md +1 -1
- data/lib/measures/ExteriorWallThermalPropertiesMultiplier/measure.rb +8 -5
- data/lib/measures/ExteriorWallThermalPropertiesMultiplier/measure.xml +18 -18
- data/lib/measures/ExteriorWallThermalPropertiesPercentChange/LICENSE.md +1 -1
- data/lib/measures/ExteriorWallThermalPropertiesPercentChange/measure.rb +8 -5
- data/lib/measures/ExteriorWallThermalPropertiesPercentChange/measure.xml +18 -18
- data/lib/measures/FansMultiplier/LICENSE.md +1 -1
- data/lib/measures/FansMultiplier/measure.rb +8 -8
- data/lib/measures/FansMultiplier/measure.xml +14 -14
- data/lib/measures/FansPercentChange/LICENSE.md +1 -1
- data/lib/measures/FansPercentChange/measure.rb +8 -8
- data/lib/measures/FansPercentChange/measure.xml +14 -14
- data/lib/measures/GeneralCalibrationMeasureMultiplier/LICENSE.md +1 -1
- data/lib/measures/GeneralCalibrationMeasureMultiplier/measure.rb +2 -2
- data/lib/measures/GeneralCalibrationMeasureMultiplier/measure.xml +16 -16
- data/lib/measures/GeneralCalibrationMeasurePercentChange/LICENSE.md +1 -1
- data/lib/measures/GeneralCalibrationMeasurePercentChange/measure.rb +2 -2
- data/lib/measures/GeneralCalibrationMeasurePercentChange/measure.xml +16 -16
- data/lib/measures/HardSizeHvac/LICENSE.md +1 -1
- data/lib/measures/HardSizeHvac/measure.rb +2 -4
- data/lib/measures/HardSizeHvac/measure.xml +19 -19
- data/lib/measures/RValueOfInsulationForConstructionMultiplier/LICENSE.md +1 -1
- data/lib/measures/RValueOfInsulationForConstructionMultiplier/measure.rb +7 -9
- data/lib/measures/RValueOfInsulationForConstructionMultiplier/measure.xml +12 -12
- data/lib/measures/RValueOfInsulationForConstructionPercentageChange/LICENSE.md +1 -1
- data/lib/measures/RValueOfInsulationForConstructionPercentageChange/measure.rb +7 -9
- data/lib/measures/RValueOfInsulationForConstructionPercentageChange/measure.xml +12 -12
- data/lib/measures/RoofThermalPropertiesMultiplier/LICENSE.md +1 -1
- data/lib/measures/RoofThermalPropertiesMultiplier/measure.rb +8 -5
- data/lib/measures/RoofThermalPropertiesMultiplier/measure.xml +18 -18
- data/lib/measures/RoofThermalPropertiesPercentChange/LICENSE.md +1 -1
- data/lib/measures/RoofThermalPropertiesPercentChange/measure.rb +8 -5
- data/lib/measures/RoofThermalPropertiesPercentChange/measure.xml +18 -18
- data/lib/measures/TimeseriesObjectiveFunction/LICENSE.md +1 -1
- data/lib/measures/TimeseriesObjectiveFunction/measure.rb +26 -23
- data/lib/measures/TimeseriesObjectiveFunction/measure.xml +11 -16
- data/lib/measures/TimeseriesObjectiveFunction/resources/report.html.erb +3 -0
- data/lib/measures/TimeseriesPlot/LICENSE.md +1 -1
- data/lib/measures/TimeseriesPlot/measure.rb +1 -3
- data/lib/measures/TimeseriesPlot/measure.xml +13 -13
- data/lib/measures/TimeseriesPlot/resources/report.html.erb +3 -0
- data/lib/measures/WaterHeaterMixedMultiplier/LICENSE.md +1 -1
- data/lib/measures/WaterHeaterMixedMultiplier/measure.rb +17 -22
- data/lib/measures/WaterHeaterMixedMultiplier/measure.xml +14 -14
- data/lib/measures/WaterHeaterMixedPercentChange/LICENSE.md +1 -1
- data/lib/measures/WaterHeaterMixedPercentChange/measure.rb +17 -22
- data/lib/measures/WaterHeaterMixedPercentChange/measure.xml +14 -14
- data/lib/measures/inspect_and_edit_parametric_schedules/LICENSE.md +1 -1
- data/lib/measures/inspect_and_edit_parametric_schedules/measure.rb +13 -11
- data/lib/measures/inspect_and_edit_parametric_schedules/measure.xml +29 -29
- data/lib/measures/shift_hours_of_operation/LICENSE.md +1 -1
- data/lib/measures/shift_hours_of_operation/measure.rb +31 -29
- data/lib/measures/shift_hours_of_operation/measure.xml +51 -37
- data/lib/openstudio/calibration/version.rb +1 -1
- data/openstudio-calibration.gemspec +12 -6
- metadata +55 -13
@@ -27,9 +27,7 @@ class HardSizeHVAC < OpenStudio::Measure::ModelMeasure
|
|
27
27
|
|
28
28
|
# define the arguments that the user will input
|
29
29
|
def arguments(_model)
|
30
|
-
|
31
|
-
|
32
|
-
args
|
30
|
+
OpenStudio::Measure::OSArgumentVector.new
|
33
31
|
end
|
34
32
|
|
35
33
|
# define what happens when the measure is run
|
@@ -40,7 +38,7 @@ class HardSizeHVAC < OpenStudio::Measure::ModelMeasure
|
|
40
38
|
standard = Standard.build('90.1-2004') # template choice doesn't matter
|
41
39
|
|
42
40
|
# Perform a sizing run (2.5.1 and later)
|
43
|
-
sizing_run_path = OpenStudio::Path.new(File.dirname(__FILE__)
|
41
|
+
sizing_run_path = OpenStudio::Path.new("#{File.dirname(__FILE__)}/output/SR1").to_s
|
44
42
|
runner.registerInfo("Performing sizing run at #{sizing_run_path}.")
|
45
43
|
if standard.model_run_sizing_run(model, sizing_run_path) == false
|
46
44
|
return false
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
2
|
<measure>
|
3
|
-
<schema_version>3.
|
3
|
+
<schema_version>3.1</schema_version>
|
4
4
|
<name>hard_size_hvac</name>
|
5
5
|
<uid>d7da749f-6318-4077-b502-25994a713b27</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>ef3718a4-fe8f-4a47-ab4b-6dea39027638</version_id>
|
7
|
+
<version_modified>2024-11-16T23:44:49Z</version_modified>
|
8
8
|
<xml_checksum>2B526343</xml_checksum>
|
9
9
|
<class_name>HardSizeHVAC</class_name>
|
10
10
|
<display_name>Hard Size HVAC</display_name>
|
@@ -50,10 +50,10 @@
|
|
50
50
|
</attributes>
|
51
51
|
<files>
|
52
52
|
<file>
|
53
|
-
<filename>
|
54
|
-
<filetype>
|
55
|
-
<usage_type>
|
56
|
-
<checksum>
|
53
|
+
<filename>LICENSE.md</filename>
|
54
|
+
<filetype>md</filetype>
|
55
|
+
<usage_type>license</usage_type>
|
56
|
+
<checksum>8696A072</checksum>
|
57
57
|
</file>
|
58
58
|
<file>
|
59
59
|
<filename>README.md</filename>
|
@@ -62,16 +62,10 @@
|
|
62
62
|
<checksum>960BFA6F</checksum>
|
63
63
|
</file>
|
64
64
|
<file>
|
65
|
-
<filename>
|
66
|
-
<filetype>
|
67
|
-
<usage_type>
|
68
|
-
<checksum>
|
69
|
-
</file>
|
70
|
-
<file>
|
71
|
-
<filename>LICENSE.md</filename>
|
72
|
-
<filetype>md</filetype>
|
73
|
-
<usage_type>license</usage_type>
|
74
|
-
<checksum>BFFB1AA6</checksum>
|
65
|
+
<filename>README.md.erb</filename>
|
66
|
+
<filetype>erb</filetype>
|
67
|
+
<usage_type>readmeerb</usage_type>
|
68
|
+
<checksum>703C9964</checksum>
|
75
69
|
</file>
|
76
70
|
<file>
|
77
71
|
<version>
|
@@ -82,13 +76,19 @@
|
|
82
76
|
<filename>measure.rb</filename>
|
83
77
|
<filetype>rb</filetype>
|
84
78
|
<usage_type>script</usage_type>
|
85
|
-
<checksum>
|
79
|
+
<checksum>56DF50B7</checksum>
|
86
80
|
</file>
|
87
81
|
<file>
|
88
82
|
<filename>hard_size_hvac_test.rb</filename>
|
89
83
|
<filetype>rb</filetype>
|
90
84
|
<usage_type>test</usage_type>
|
91
|
-
<checksum>
|
85
|
+
<checksum>4A195AEA</checksum>
|
86
|
+
</file>
|
87
|
+
<file>
|
88
|
+
<filename>small_office.osm</filename>
|
89
|
+
<filetype>osm</filetype>
|
90
|
+
<usage_type>test</usage_type>
|
91
|
+
<checksum>0FB2ACC8</checksum>
|
92
92
|
</file>
|
93
93
|
</files>
|
94
94
|
</measure>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
OpenStudio(R), Copyright (c) 2008,
|
1
|
+
OpenStudio(R), Copyright (c) 2008, 2024 Alliance for Sustainable Energy, LLC.
|
2
2
|
|
3
3
|
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
4
4
|
|
@@ -63,7 +63,7 @@ class RValueOfInsulationForConstructionMultiplier < OpenStudio::Measure::ModelMe
|
|
63
63
|
args << r_value_multplier
|
64
64
|
|
65
65
|
args
|
66
|
-
end
|
66
|
+
end
|
67
67
|
|
68
68
|
# define what happens when the measure is run
|
69
69
|
def run(model, runner, user_arguments)
|
@@ -94,7 +94,7 @@ class RValueOfInsulationForConstructionMultiplier < OpenStudio::Measure::ModelMe
|
|
94
94
|
runner.registerError('Script Error - argument not showing up as construction.')
|
95
95
|
return false
|
96
96
|
end
|
97
|
-
end
|
97
|
+
end
|
98
98
|
|
99
99
|
# set limit for minimum insulation. This is used to limit input and for inferring insulation layer in construction.
|
100
100
|
min_expected_r_value_multplier_ip = 1 # ip units
|
@@ -114,11 +114,9 @@ class RValueOfInsulationForConstructionMultiplier < OpenStudio::Measure::ModelMe
|
|
114
114
|
# loop through construction layers and infer insulation layer/material
|
115
115
|
construction_layers.each do |construction_layer|
|
116
116
|
construction_layer_r_value = construction_layer.to_OpaqueMaterial.get.thermalResistance
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
max_thermal_resistance_material_index = counter
|
121
|
-
end
|
117
|
+
if !thermal_resistance_values.empty? && (construction_layer_r_value > thermal_resistance_values.max)
|
118
|
+
max_thermal_resistance_material = construction_layer
|
119
|
+
max_thermal_resistance_material_index = counter
|
122
120
|
end
|
123
121
|
thermal_resistance_values << construction_layer_r_value
|
124
122
|
counter += 1
|
@@ -159,8 +157,8 @@ class RValueOfInsulationForConstructionMultiplier < OpenStudio::Measure::ModelMe
|
|
159
157
|
runner.registerFinalCondition("The Final R-value of #{construction.name} is #{final_r_value_ip} (ft^2*h*R/Btu).")
|
160
158
|
runner.registerValue('final_r_value_ip', final_r_value_ip.to_f, 'ft^2*h*R/Btu')
|
161
159
|
true
|
162
|
-
end
|
163
|
-
end
|
160
|
+
end
|
161
|
+
end
|
164
162
|
|
165
163
|
# this allows the measure to be used by the application
|
166
164
|
RValueOfInsulationForConstructionMultiplier.new.registerWithApplication
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
2
|
<measure>
|
3
|
-
<schema_version>3.
|
3
|
+
<schema_version>3.1</schema_version>
|
4
4
|
<name>r_value_of_insulation_for_construction_multiplier</name>
|
5
5
|
<uid>3c7a6751-bb54-4600-9410-8f042e1a513b</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>3695bbeb-caaf-4b36-91d0-1b7ed446782f</version_id>
|
7
|
+
<version_modified>2024-11-16T23:44:47Z</version_modified>
|
8
8
|
<xml_checksum>0BF71A3E</xml_checksum>
|
9
9
|
<class_name>RValueOfInsulationForConstructionMultiplier</class_name>
|
10
10
|
<display_name>Change R-value of Insulation Layer for Construction By a Multiplier</display_name>
|
@@ -101,10 +101,10 @@
|
|
101
101
|
</attributes>
|
102
102
|
<files>
|
103
103
|
<file>
|
104
|
-
<filename>
|
105
|
-
<filetype>
|
106
|
-
<usage_type>
|
107
|
-
<checksum>
|
104
|
+
<filename>LICENSE.md</filename>
|
105
|
+
<filetype>md</filetype>
|
106
|
+
<usage_type>license</usage_type>
|
107
|
+
<checksum>8696A072</checksum>
|
108
108
|
</file>
|
109
109
|
<file>
|
110
110
|
<filename>README.md</filename>
|
@@ -113,10 +113,10 @@
|
|
113
113
|
<checksum>CE5C5F28</checksum>
|
114
114
|
</file>
|
115
115
|
<file>
|
116
|
-
<filename>
|
117
|
-
<filetype>
|
118
|
-
<usage_type>
|
119
|
-
<checksum>
|
116
|
+
<filename>README.md.erb</filename>
|
117
|
+
<filetype>erb</filetype>
|
118
|
+
<usage_type>readmeerb</usage_type>
|
119
|
+
<checksum>703C9964</checksum>
|
120
120
|
</file>
|
121
121
|
<file>
|
122
122
|
<version>
|
@@ -127,7 +127,7 @@
|
|
127
127
|
<filename>measure.rb</filename>
|
128
128
|
<filetype>rb</filetype>
|
129
129
|
<usage_type>script</usage_type>
|
130
|
-
<checksum>
|
130
|
+
<checksum>2C93B86A</checksum>
|
131
131
|
</file>
|
132
132
|
</files>
|
133
133
|
</measure>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
OpenStudio(R), Copyright (c) 2008,
|
1
|
+
OpenStudio(R), Copyright (c) 2008, 2024 Alliance for Sustainable Energy, LLC.
|
2
2
|
|
3
3
|
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
4
4
|
|
@@ -56,7 +56,7 @@ class RValueOfInsulationForConstructionPercentageChange < OpenStudio::Measure::M
|
|
56
56
|
args << r_value_prct_inc
|
57
57
|
|
58
58
|
args
|
59
|
-
end
|
59
|
+
end
|
60
60
|
|
61
61
|
# define what happens when the measure is run
|
62
62
|
def run(model, runner, user_arguments)
|
@@ -87,7 +87,7 @@ class RValueOfInsulationForConstructionPercentageChange < OpenStudio::Measure::M
|
|
87
87
|
runner.registerError('Script Error - argument not showing up as construction.')
|
88
88
|
return false
|
89
89
|
end
|
90
|
-
end
|
90
|
+
end
|
91
91
|
|
92
92
|
# set limit for minimum insulation. This is used to limit input and for inferring insulation layer in construction.
|
93
93
|
min_expected_r_value_prct_inc_ip = 1 # ip units
|
@@ -107,11 +107,9 @@ class RValueOfInsulationForConstructionPercentageChange < OpenStudio::Measure::M
|
|
107
107
|
# loop through construction layers and infer insulation layer/material
|
108
108
|
construction_layers.each do |construction_layer|
|
109
109
|
construction_layer_r_value = construction_layer.to_OpaqueMaterial.get.thermalResistance
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
max_thermal_resistance_material_index = counter
|
114
|
-
end
|
110
|
+
if !thermal_resistance_values.empty? && (construction_layer_r_value > thermal_resistance_values.max)
|
111
|
+
max_thermal_resistance_material = construction_layer
|
112
|
+
max_thermal_resistance_material_index = counter
|
115
113
|
end
|
116
114
|
thermal_resistance_values << construction_layer_r_value
|
117
115
|
counter += 1
|
@@ -152,8 +150,8 @@ class RValueOfInsulationForConstructionPercentageChange < OpenStudio::Measure::M
|
|
152
150
|
runner.registerFinalCondition("The Final R-value of #{construction.name} is #{final_r_value_ip} (ft^2*h*R/Btu).")
|
153
151
|
runner.registerValue('final_r_value_ip', final_r_value_ip.to_f, 'ft^2*h*R/Btu')
|
154
152
|
true
|
155
|
-
end
|
156
|
-
end
|
153
|
+
end
|
154
|
+
end
|
157
155
|
|
158
156
|
# this allows the measure to be used by the application
|
159
157
|
RValueOfInsulationForConstructionPercentageChange.new.registerWithApplication
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
2
|
<measure>
|
3
|
-
<schema_version>3.
|
3
|
+
<schema_version>3.1</schema_version>
|
4
4
|
<name>r_value_of_insulation_for_construction_percentage_change</name>
|
5
5
|
<uid>7ee248fd-052a-48d6-a8eb-b1fc6a0dc348</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>746ae24d-d8e7-440b-80cd-c8fe93970d2f</version_id>
|
7
|
+
<version_modified>2024-11-16T23:44:49Z</version_modified>
|
8
8
|
<xml_checksum>0BF71A3E</xml_checksum>
|
9
9
|
<class_name>RValueOfInsulationForConstructionPercentageChange</class_name>
|
10
10
|
<display_name>Change R-value of Insulation Layer for Construction By a Specified Percentage</display_name>
|
@@ -101,10 +101,10 @@
|
|
101
101
|
</attributes>
|
102
102
|
<files>
|
103
103
|
<file>
|
104
|
-
<filename>
|
105
|
-
<filetype>
|
106
|
-
<usage_type>
|
107
|
-
<checksum>
|
104
|
+
<filename>LICENSE.md</filename>
|
105
|
+
<filetype>md</filetype>
|
106
|
+
<usage_type>license</usage_type>
|
107
|
+
<checksum>8696A072</checksum>
|
108
108
|
</file>
|
109
109
|
<file>
|
110
110
|
<filename>README.md</filename>
|
@@ -113,10 +113,10 @@
|
|
113
113
|
<checksum>49A7DFFE</checksum>
|
114
114
|
</file>
|
115
115
|
<file>
|
116
|
-
<filename>
|
117
|
-
<filetype>
|
118
|
-
<usage_type>
|
119
|
-
<checksum>
|
116
|
+
<filename>README.md.erb</filename>
|
117
|
+
<filetype>erb</filetype>
|
118
|
+
<usage_type>readmeerb</usage_type>
|
119
|
+
<checksum>703C9964</checksum>
|
120
120
|
</file>
|
121
121
|
<file>
|
122
122
|
<version>
|
@@ -127,7 +127,7 @@
|
|
127
127
|
<filename>measure.rb</filename>
|
128
128
|
<filetype>rb</filetype>
|
129
129
|
<usage_type>script</usage_type>
|
130
|
-
<checksum>
|
130
|
+
<checksum>ED427A87</checksum>
|
131
131
|
</file>
|
132
132
|
</files>
|
133
133
|
</measure>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
OpenStudio(R), Copyright (c) 2008,
|
1
|
+
OpenStudio(R), Copyright (c) 2008, 2024 Alliance for Sustainable Energy, LLC.
|
2
2
|
|
3
3
|
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
4
4
|
|
@@ -21,7 +21,8 @@ class RoofThermalPropertiesMultiplier < OpenStudio::Measure::ModelMeasure
|
|
21
21
|
end
|
22
22
|
|
23
23
|
# short def to make numbers pretty (converts 4125001.25641 to 4,125,001.26 or 4,125,001). The definition be called through this measure
|
24
|
-
|
24
|
+
# round to 0 or 2)
|
25
|
+
def neat_numbers(number, roundto = 2)
|
25
26
|
number = if roundto == 2
|
26
27
|
format '%.2f', number
|
27
28
|
else
|
@@ -29,7 +30,7 @@ class RoofThermalPropertiesMultiplier < OpenStudio::Measure::ModelMeasure
|
|
29
30
|
end
|
30
31
|
# regex to add commas
|
31
32
|
number.to_s.reverse.gsub(/([0-9]{3}(?=([0-9])))/, '\\1,').reverse
|
32
|
-
end
|
33
|
+
end
|
33
34
|
|
34
35
|
# helper to make it easier to do unit conversions on the fly
|
35
36
|
def unit_helper(number, from_unit_string, to_unit_string)
|
@@ -64,7 +65,7 @@ class RoofThermalPropertiesMultiplier < OpenStudio::Measure::ModelMeasure
|
|
64
65
|
args << thermal_mass_mult
|
65
66
|
|
66
67
|
args
|
67
|
-
end
|
68
|
+
end
|
68
69
|
|
69
70
|
# define what happens when the measure is run
|
70
71
|
def run(model, runner, user_arguments)
|
@@ -89,6 +90,7 @@ class RoofThermalPropertiesMultiplier < OpenStudio::Measure::ModelMeasure
|
|
89
90
|
roof_surface_constructions = []
|
90
91
|
surfaces.each do |surface|
|
91
92
|
next unless surface.outsideBoundaryCondition == 'Outdoors' && surface.surfaceType == 'RoofCeiling'
|
93
|
+
|
92
94
|
roof_surfaces << surface
|
93
95
|
roof_surface_const = surface.construction.get
|
94
96
|
# only add construction if it hasn't been added yet
|
@@ -155,6 +157,7 @@ class RoofThermalPropertiesMultiplier < OpenStudio::Measure::ModelMeasure
|
|
155
157
|
end
|
156
158
|
initial_sol_abs.each_index do |index1|
|
157
159
|
next unless initial_sol_abs[index1]
|
160
|
+
|
158
161
|
desired_sol_abs[index1] = initial_sol_abs[index1] * solar_abs_mult
|
159
162
|
if desired_sol_abs[index1] > 1
|
160
163
|
desired_sol_abs[index1] = 1
|
@@ -226,8 +229,8 @@ class RoofThermalPropertiesMultiplier < OpenStudio::Measure::ModelMeasure
|
|
226
229
|
runner.registerFinalCondition("Applied R #{r_value_mult.round(1)}x Solar #{solar_abs_mult.round(1)}x Therm #{thermal_mass_mult.round(1)}x change")
|
227
230
|
|
228
231
|
true
|
229
|
-
end
|
230
|
-
end
|
232
|
+
end
|
233
|
+
end
|
231
234
|
|
232
235
|
# this allows the measure to be used by the application
|
233
236
|
RoofThermalPropertiesMultiplier.new.registerWithApplication
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
2
|
<measure>
|
3
|
-
<schema_version>3.
|
3
|
+
<schema_version>3.1</schema_version>
|
4
4
|
<name>roof_thermal_properties_multiplier</name>
|
5
5
|
<uid>6c4eb22b-770f-456c-bcd1-084cfad89eeb</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>68ef85d4-ac98-49a6-af17-bb4589e9f0c7</version_id>
|
7
|
+
<version_modified>2024-11-16T23:44:49Z</version_modified>
|
8
8
|
<xml_checksum>EB1A0C08</xml_checksum>
|
9
9
|
<class_name>RoofThermalPropertiesMultiplier</class_name>
|
10
10
|
<display_name>Roof Thermal Properties Multiplier</display_name>
|
@@ -65,10 +65,10 @@
|
|
65
65
|
</attributes>
|
66
66
|
<files>
|
67
67
|
<file>
|
68
|
-
<filename>
|
69
|
-
<filetype>
|
70
|
-
<usage_type>
|
71
|
-
<checksum>
|
68
|
+
<filename>LICENSE.md</filename>
|
69
|
+
<filetype>md</filetype>
|
70
|
+
<usage_type>license</usage_type>
|
71
|
+
<checksum>8696A072</checksum>
|
72
72
|
</file>
|
73
73
|
<file>
|
74
74
|
<filename>README.md</filename>
|
@@ -77,16 +77,10 @@
|
|
77
77
|
<checksum>44F0EAFF</checksum>
|
78
78
|
</file>
|
79
79
|
<file>
|
80
|
-
<filename>
|
81
|
-
<filetype>
|
82
|
-
<usage_type>
|
83
|
-
<checksum>
|
84
|
-
</file>
|
85
|
-
<file>
|
86
|
-
<filename>LICENSE.md</filename>
|
87
|
-
<filetype>md</filetype>
|
88
|
-
<usage_type>license</usage_type>
|
89
|
-
<checksum>BFFB1AA6</checksum>
|
80
|
+
<filename>README.md.erb</filename>
|
81
|
+
<filetype>erb</filetype>
|
82
|
+
<usage_type>readmeerb</usage_type>
|
83
|
+
<checksum>703C9964</checksum>
|
90
84
|
</file>
|
91
85
|
<file>
|
92
86
|
<version>
|
@@ -97,7 +91,7 @@
|
|
97
91
|
<filename>measure.rb</filename>
|
98
92
|
<filetype>rb</filetype>
|
99
93
|
<usage_type>script</usage_type>
|
100
|
-
<checksum>
|
94
|
+
<checksum>1E5855C1</checksum>
|
101
95
|
</file>
|
102
96
|
<file>
|
103
97
|
<filename>RoofThermalPropertiesMultiplier_test.rb</filename>
|
@@ -105,5 +99,11 @@
|
|
105
99
|
<usage_type>test</usage_type>
|
106
100
|
<checksum>7197D29B</checksum>
|
107
101
|
</file>
|
102
|
+
<file>
|
103
|
+
<filename>example_model.osm</filename>
|
104
|
+
<filetype>osm</filetype>
|
105
|
+
<usage_type>test</usage_type>
|
106
|
+
<checksum>53D14E69</checksum>
|
107
|
+
</file>
|
108
108
|
</files>
|
109
109
|
</measure>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
OpenStudio(R), Copyright (c) 2008,
|
1
|
+
OpenStudio(R), Copyright (c) 2008, 2024 Alliance for Sustainable Energy, LLC.
|
2
2
|
|
3
3
|
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
4
4
|
|
@@ -21,7 +21,8 @@ class RoofThermalPropertiesPercentChange < OpenStudio::Measure::ModelMeasure
|
|
21
21
|
end
|
22
22
|
|
23
23
|
# short def to make numbers pretty (converts 4125001.25641 to 4,125,001.26 or 4,125,001). The definition be called through this measure
|
24
|
-
|
24
|
+
# round to 0 or 2)
|
25
|
+
def neat_numbers(number, roundto = 2)
|
25
26
|
number = if roundto == 2
|
26
27
|
format '%.2f', number
|
27
28
|
else
|
@@ -29,7 +30,7 @@ class RoofThermalPropertiesPercentChange < OpenStudio::Measure::ModelMeasure
|
|
29
30
|
end
|
30
31
|
# regex to add commas
|
31
32
|
number.to_s.reverse.gsub(/([0-9]{3}(?=([0-9])))/, '\\1,').reverse
|
32
|
-
end
|
33
|
+
end
|
33
34
|
|
34
35
|
# helper to make it easier to do unit conversions on the fly
|
35
36
|
def unit_helper(number, from_unit_string, to_unit_string)
|
@@ -57,7 +58,7 @@ class RoofThermalPropertiesPercentChange < OpenStudio::Measure::ModelMeasure
|
|
57
58
|
args << thermal_mass_perc_change
|
58
59
|
|
59
60
|
args
|
60
|
-
end
|
61
|
+
end
|
61
62
|
|
62
63
|
# define what happens when the measure is run
|
63
64
|
def run(model, runner, user_arguments)
|
@@ -79,6 +80,7 @@ class RoofThermalPropertiesPercentChange < OpenStudio::Measure::ModelMeasure
|
|
79
80
|
roof_surface_constructions = []
|
80
81
|
surfaces.each do |surface|
|
81
82
|
next unless surface.outsideBoundaryCondition == 'Outdoors' && surface.surfaceType == 'RoofCeiling'
|
83
|
+
|
82
84
|
roof_surfaces << surface
|
83
85
|
roof_surface_const = surface.construction.get
|
84
86
|
# only add construction if it hasn't been added yet
|
@@ -145,6 +147,7 @@ class RoofThermalPropertiesPercentChange < OpenStudio::Measure::ModelMeasure
|
|
145
147
|
end
|
146
148
|
initial_sol_abs.each_index do |index1|
|
147
149
|
next unless initial_sol_abs[index1]
|
150
|
+
|
148
151
|
desired_sol_abs[index1] = initial_sol_abs[index1] + initial_sol_abs[index1] * solar_abs_perc_change * 0.01
|
149
152
|
if desired_sol_abs[index1] > 1
|
150
153
|
desired_sol_abs[index1] = 1
|
@@ -216,8 +219,8 @@ class RoofThermalPropertiesPercentChange < OpenStudio::Measure::ModelMeasure
|
|
216
219
|
runner.registerFinalCondition("Applied R #{r_value_perc_change.round(1)} Solar #{solar_abs_perc_change.round(1)} Therm #{thermal_mass_perc_change.round(1)} Percent change")
|
217
220
|
|
218
221
|
true
|
219
|
-
end
|
220
|
-
end
|
222
|
+
end
|
223
|
+
end
|
221
224
|
|
222
225
|
# this allows the measure to be used by the application
|
223
226
|
RoofThermalPropertiesPercentChange.new.registerWithApplication
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
2
|
<measure>
|
3
|
-
<schema_version>3.
|
3
|
+
<schema_version>3.1</schema_version>
|
4
4
|
<name>roof_thermal_properties_percent_change</name>
|
5
5
|
<uid>07516685-60fd-4da8-9872-1154a995047d</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>bef34852-8624-44d9-ad41-79c3dbf26488</version_id>
|
7
|
+
<version_modified>2024-11-16T23:44:49Z</version_modified>
|
8
8
|
<xml_checksum>EB1A0C08</xml_checksum>
|
9
9
|
<class_name>RoofThermalPropertiesPercentChange</class_name>
|
10
10
|
<display_name>Roof Thermal Properties Percent Change</display_name>
|
@@ -65,10 +65,10 @@
|
|
65
65
|
</attributes>
|
66
66
|
<files>
|
67
67
|
<file>
|
68
|
-
<filename>
|
69
|
-
<filetype>
|
70
|
-
<usage_type>
|
71
|
-
<checksum>
|
68
|
+
<filename>LICENSE.md</filename>
|
69
|
+
<filetype>md</filetype>
|
70
|
+
<usage_type>license</usage_type>
|
71
|
+
<checksum>8696A072</checksum>
|
72
72
|
</file>
|
73
73
|
<file>
|
74
74
|
<filename>README.md</filename>
|
@@ -77,16 +77,10 @@
|
|
77
77
|
<checksum>76CA84A4</checksum>
|
78
78
|
</file>
|
79
79
|
<file>
|
80
|
-
<filename>
|
81
|
-
<filetype>
|
82
|
-
<usage_type>
|
83
|
-
<checksum>
|
84
|
-
</file>
|
85
|
-
<file>
|
86
|
-
<filename>LICENSE.md</filename>
|
87
|
-
<filetype>md</filetype>
|
88
|
-
<usage_type>license</usage_type>
|
89
|
-
<checksum>BFFB1AA6</checksum>
|
80
|
+
<filename>README.md.erb</filename>
|
81
|
+
<filetype>erb</filetype>
|
82
|
+
<usage_type>readmeerb</usage_type>
|
83
|
+
<checksum>703C9964</checksum>
|
90
84
|
</file>
|
91
85
|
<file>
|
92
86
|
<version>
|
@@ -97,7 +91,7 @@
|
|
97
91
|
<filename>measure.rb</filename>
|
98
92
|
<filetype>rb</filetype>
|
99
93
|
<usage_type>script</usage_type>
|
100
|
-
<checksum>
|
94
|
+
<checksum>D0AD2402</checksum>
|
101
95
|
</file>
|
102
96
|
<file>
|
103
97
|
<filename>RoofThermalPropertiesMultiplier_test.rb</filename>
|
@@ -105,5 +99,11 @@
|
|
105
99
|
<usage_type>test</usage_type>
|
106
100
|
<checksum>3F4E0142</checksum>
|
107
101
|
</file>
|
102
|
+
<file>
|
103
|
+
<filename>example_model.osm</filename>
|
104
|
+
<filetype>osm</filetype>
|
105
|
+
<usage_type>test</usage_type>
|
106
|
+
<checksum>53D14E69</checksum>
|
107
|
+
</file>
|
108
108
|
</files>
|
109
109
|
</measure>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
OpenStudio(R), Copyright (c) 2008,
|
1
|
+
OpenStudio(R), Copyright (c) 2008, 2024 Alliance for Sustainable Energy, LLC.
|
2
2
|
|
3
3
|
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
4
4
|
|