openstudio-calibration 0.7.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/LICENSE.md +7 -21
  4. data/README.md +5 -3
  5. data/Rakefile +2 -32
  6. data/doc_templates/LICENSE.md +7 -21
  7. data/doc_templates/copyright_erb.txt +2 -32
  8. data/doc_templates/copyright_js.txt +2 -2
  9. data/doc_templates/copyright_ruby.txt +3 -33
  10. data/lib/measures/AddMonthlyJSONUtilityData/LICENSE.md +7 -21
  11. data/lib/measures/AddMonthlyJSONUtilityData/measure.rb +2 -32
  12. data/lib/measures/AddMonthlyJSONUtilityData/measure.xml +4 -4
  13. data/lib/measures/AddMonthlyUtilityData/LICENSE.md +7 -21
  14. data/lib/measures/AddMonthlyUtilityData/README.md +2 -2
  15. data/lib/measures/AddMonthlyUtilityData/measure.rb +4 -32
  16. data/lib/measures/AddMonthlyUtilityData/measure.xml +13 -11
  17. data/lib/measures/CalibrationReports/LICENSE.md +7 -21
  18. data/lib/measures/CalibrationReports/measure.rb +2 -32
  19. data/lib/measures/CalibrationReports/measure.xml +5 -5
  20. data/lib/measures/CalibrationReportsEnhanced/LICENSE.md +7 -21
  21. data/lib/measures/CalibrationReportsEnhanced/measure.rb +2 -32
  22. data/lib/measures/CalibrationReportsEnhanced/measure.xml +5 -5
  23. data/lib/measures/CoilCoolingDXSingleSpeedMultiplier/LICENSE.md +7 -21
  24. data/lib/measures/CoilCoolingDXSingleSpeedMultiplier/measure.rb +3 -35
  25. data/lib/measures/CoilCoolingDXSingleSpeedMultiplier/measure.xml +6 -6
  26. data/lib/measures/CoilCoolingDXSingleSpeedPercentChange/LICENSE.md +7 -21
  27. data/lib/measures/CoilCoolingDXSingleSpeedPercentChange/measure.rb +3 -35
  28. data/lib/measures/CoilCoolingDXSingleSpeedPercentChange/measure.xml +6 -6
  29. data/lib/measures/CoilCoolingDXTwoSpeedMultiplier/LICENSE.md +7 -21
  30. data/lib/measures/CoilCoolingDXTwoSpeedMultiplier/measure.rb +4 -38
  31. data/lib/measures/CoilCoolingDXTwoSpeedMultiplier/measure.xml +6 -6
  32. data/lib/measures/CoilCoolingDXTwoSpeedPercentChange/LICENSE.md +7 -21
  33. data/lib/measures/CoilCoolingDXTwoSpeedPercentChange/measure.rb +4 -38
  34. data/lib/measures/CoilCoolingDXTwoSpeedPercentChange/measure.xml +6 -6
  35. data/lib/measures/CoilCoolingWaterMultiplier/LICENSE.md +7 -21
  36. data/lib/measures/CoilCoolingWaterMultiplier/measure.rb +2 -32
  37. data/lib/measures/CoilCoolingWaterMultiplier/measure.xml +6 -6
  38. data/lib/measures/CoilCoolingWaterPercentChange/LICENSE.md +7 -21
  39. data/lib/measures/CoilCoolingWaterPercentChange/measure.rb +2 -32
  40. data/lib/measures/CoilCoolingWaterPercentChange/measure.xml +6 -6
  41. data/lib/measures/CoilHeatingElectricMultiplier/LICENSE.md +7 -21
  42. data/lib/measures/CoilHeatingElectricMultiplier/measure.rb +2 -32
  43. data/lib/measures/CoilHeatingElectricMultiplier/measure.xml +6 -6
  44. data/lib/measures/CoilHeatingElectricPercentChange/LICENSE.md +7 -21
  45. data/lib/measures/CoilHeatingElectricPercentChange/measure.rb +2 -32
  46. data/lib/measures/CoilHeatingElectricPercentChange/measure.xml +6 -6
  47. data/lib/measures/CoilHeatingGasMultiplier/LICENSE.md +7 -21
  48. data/lib/measures/CoilHeatingGasMultiplier/measure.rb +2 -32
  49. data/lib/measures/CoilHeatingGasMultiplier/measure.xml +6 -6
  50. data/lib/measures/CoilHeatingGasPercentChange/LICENSE.md +7 -21
  51. data/lib/measures/CoilHeatingGasPercentChange/measure.rb +2 -32
  52. data/lib/measures/CoilHeatingGasPercentChange/measure.xml +6 -6
  53. data/lib/measures/CoilHeatingWaterMultiplier/LICENSE.md +7 -21
  54. data/lib/measures/CoilHeatingWaterMultiplier/measure.rb +2 -32
  55. data/lib/measures/CoilHeatingWaterMultiplier/measure.xml +6 -6
  56. data/lib/measures/CoilHeatingWaterPercentChange/LICENSE.md +7 -21
  57. data/lib/measures/CoilHeatingWaterPercentChange/measure.rb +2 -32
  58. data/lib/measures/CoilHeatingWaterPercentChange/measure.xml +6 -6
  59. data/lib/measures/ConstructionLayerZeroMaterialProperties/LICENSE.md +7 -21
  60. data/lib/measures/ConstructionLayerZeroMaterialProperties/measure.rb +2 -32
  61. data/lib/measures/ConstructionLayerZeroMaterialProperties/measure.xml +4 -4
  62. data/lib/measures/ElectricBaseboardEfficiencyAndCapacity/LICENSE.md +7 -21
  63. data/lib/measures/ElectricBaseboardEfficiencyAndCapacity/measure.rb +2 -32
  64. data/lib/measures/ElectricBaseboardEfficiencyAndCapacity/measure.xml +4 -4
  65. data/lib/measures/ExteriorWallThermalPropertiesMultiplier/LICENSE.md +7 -21
  66. data/lib/measures/ExteriorWallThermalPropertiesMultiplier/measure.rb +2 -32
  67. data/lib/measures/ExteriorWallThermalPropertiesMultiplier/measure.xml +5 -5
  68. data/lib/measures/ExteriorWallThermalPropertiesPercentChange/LICENSE.md +7 -21
  69. data/lib/measures/ExteriorWallThermalPropertiesPercentChange/measure.rb +2 -32
  70. data/lib/measures/ExteriorWallThermalPropertiesPercentChange/measure.xml +5 -5
  71. data/lib/measures/FansMultiplier/LICENSE.md +7 -21
  72. data/lib/measures/FansMultiplier/measure.rb +2 -32
  73. data/lib/measures/FansMultiplier/measure.xml +6 -6
  74. data/lib/measures/FansPercentChange/LICENSE.md +7 -21
  75. data/lib/measures/FansPercentChange/measure.rb +2 -32
  76. data/lib/measures/FansPercentChange/measure.xml +6 -6
  77. data/lib/measures/GeneralCalibrationMeasureMultiplier/LICENSE.md +7 -21
  78. data/lib/measures/GeneralCalibrationMeasureMultiplier/measure.rb +2 -32
  79. data/lib/measures/GeneralCalibrationMeasureMultiplier/measure.xml +8 -8
  80. data/lib/measures/GeneralCalibrationMeasurePercentChange/LICENSE.md +7 -21
  81. data/lib/measures/GeneralCalibrationMeasurePercentChange/measure.rb +2 -32
  82. data/lib/measures/GeneralCalibrationMeasurePercentChange/measure.xml +8 -8
  83. data/lib/measures/HardSizeHvac/LICENSE.md +7 -21
  84. data/lib/measures/HardSizeHvac/measure.rb +2 -32
  85. data/lib/measures/HardSizeHvac/measure.xml +5 -5
  86. data/lib/measures/RValueOfInsulationForConstructionMultiplier/LICENSE.md +7 -21
  87. data/lib/measures/RValueOfInsulationForConstructionMultiplier/measure.rb +2 -32
  88. data/lib/measures/RValueOfInsulationForConstructionMultiplier/measure.xml +4 -4
  89. data/lib/measures/RValueOfInsulationForConstructionPercentageChange/LICENSE.md +7 -21
  90. data/lib/measures/RValueOfInsulationForConstructionPercentageChange/measure.rb +2 -32
  91. data/lib/measures/RValueOfInsulationForConstructionPercentageChange/measure.xml +4 -4
  92. data/lib/measures/RoofThermalPropertiesMultiplier/LICENSE.md +7 -21
  93. data/lib/measures/RoofThermalPropertiesMultiplier/measure.rb +2 -32
  94. data/lib/measures/RoofThermalPropertiesMultiplier/measure.xml +5 -5
  95. data/lib/measures/RoofThermalPropertiesPercentChange/LICENSE.md +7 -21
  96. data/lib/measures/RoofThermalPropertiesPercentChange/measure.rb +2 -32
  97. data/lib/measures/RoofThermalPropertiesPercentChange/measure.xml +5 -5
  98. data/lib/measures/TimeseriesObjectiveFunction/LICENSE.md +7 -21
  99. data/lib/measures/TimeseriesObjectiveFunction/README.md +51 -1
  100. data/lib/measures/TimeseriesObjectiveFunction/measure.rb +37 -64
  101. data/lib/measures/TimeseriesObjectiveFunction/measure.xml +25 -19
  102. data/lib/measures/TimeseriesObjectiveFunction/resources/report.html.erb +4 -32
  103. data/lib/measures/TimeseriesPlot/LICENSE.md +7 -21
  104. data/lib/measures/TimeseriesPlot/measure.rb +2 -32
  105. data/lib/measures/TimeseriesPlot/measure.xml +5 -5
  106. data/lib/measures/TimeseriesPlot/resources/report.html.erb +4 -32
  107. data/lib/measures/WaterHeaterMixedMultiplier/LICENSE.md +7 -21
  108. data/lib/measures/WaterHeaterMixedMultiplier/measure.rb +2 -32
  109. data/lib/measures/WaterHeaterMixedMultiplier/measure.xml +6 -6
  110. data/lib/measures/WaterHeaterMixedPercentChange/LICENSE.md +7 -21
  111. data/lib/measures/WaterHeaterMixedPercentChange/measure.rb +2 -32
  112. data/lib/measures/WaterHeaterMixedPercentChange/measure.xml +6 -6
  113. data/lib/measures/inspect_and_edit_parametric_schedules/LICENSE.md +7 -21
  114. data/lib/measures/inspect_and_edit_parametric_schedules/measure.rb +2 -32
  115. data/lib/measures/inspect_and_edit_parametric_schedules/measure.xml +5 -5
  116. data/lib/measures/shift_hours_of_operation/LICENSE.md +7 -21
  117. data/lib/measures/shift_hours_of_operation/measure.rb +2 -32
  118. data/lib/measures/shift_hours_of_operation/measure.xml +5 -5
  119. data/lib/openstudio/calibration/extension.rb +2 -32
  120. data/lib/openstudio/calibration/version.rb +3 -33
  121. data/lib/openstudio/calibration.rb +2 -32
  122. data/lib/openstudio-calibration.rb +2 -32
  123. data/openstudio-calibration.gemspec +2 -2
  124. metadata +7 -8
  125. data/lib/measures/TimeseriesObjectiveFunction/README.md.erb +0 -42
@@ -1,27 +1,13 @@
1
- OpenStudio(R), Copyright (c) 2008-2022, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008, 2023 Alliance for Sustainable Energy, LLC.
2
2
 
3
- Redistribution and use in source and binary forms, with or without modification, are permitted
4
- provided that the following conditions are met:
3
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5
4
 
6
- (1) Redistributions of source code must retain the above copyright notice, this list of conditions
7
- and the following disclaimer.
5
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8
6
 
9
- (2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions
10
- and the following disclaimer in the documentation and/or other materials provided with the distribution.
7
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
11
8
 
12
- (3) Neither the name of the copyright holder nor the names of any contributors may be used to endorse
13
- or promote products derived from this software without specific prior written permission from the
14
- respective party.
9
+ 3. Redistribution of this software, without modification, must refer to the software by the same designation. Redistribution of a modified version of this software (i) may not refer to the modified version by the same designation, or by any confusingly similar designation, and (ii) must refer to the underlying software originally provided by Alliance as “OpenStudio®”. Except to comply with the foregoing, the term “OpenStudio®”, or any confusingly similar designation may not be used to refer to any modified version of this software or any modified version of the underlying software originally provided by Alliance without the prior written consent of Alliance.
15
10
 
16
- (4) Other than as required in clauses (1) and (2), distributions in any form of modifications or other
17
- derivative works may not use the "OpenStudio" trademark, "OS", "os", or any other confusingly similar
18
- designation without specific prior written permission from Alliance for Sustainable Energy, LLC.
11
+ 4. The name of the copyright holder(s), any contributors, the United States Government, the United States Department of Energy, or any of their employees may not be used to endorse or promote products derived from this software without specific prior written permission from the respective party.
19
12
 
20
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
21
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER, THE UNITED STATES GOVERNMENT,
23
- OR ANY CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
25
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,36 +1,6 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2022, Alliance for Sustainable Energy, LLC.
3
- # All rights reserved.
4
- # Redistribution and use in source and binary forms, with or without
5
- # modification, are permitted provided that the following conditions are met:
6
- #
7
- # (1) Redistributions of source code must retain the above copyright notice,
8
- # this list of conditions and the following disclaimer.
9
- #
10
- # (2) Redistributions in binary form must reproduce the above copyright notice,
11
- # this list of conditions and the following disclaimer in the documentation
12
- # and/or other materials provided with the distribution.
13
- #
14
- # (3) Neither the name of the copyright holder nor the names of any contributors
15
- # may be used to endorse or promote products derived from this software without
16
- # specific prior written permission from the respective party.
17
- #
18
- # (4) Other than as required in clauses (1) and (2), distributions in any form
19
- # of modifications or other derivative works may not use the "OpenStudio"
20
- # trademark, "OS", "os", or any other confusingly similar designation without
21
- # specific prior written permission from Alliance for Sustainable Energy, LLC.
22
- #
23
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS
24
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
25
- # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26
- # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE
27
- # UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF
28
- # THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29
- # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
30
- # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33
- # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
34
4
  # *******************************************************************************
35
5
 
36
6
  # start the measure
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>roof_thermal_properties_multiplier</name>
5
5
  <uid>6c4eb22b-770f-456c-bcd1-084cfad89eeb</uid>
6
- <version_id>8d985618-d187-4491-8b80-45711e889dc9</version_id>
7
- <version_modified>20221115T231449Z</version_modified>
6
+ <version_id>2bb4add5-d936-4469-8a46-d458142e98dd</version_id>
7
+ <version_modified>20230602T154657Z</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>
@@ -86,7 +86,7 @@
86
86
  <filename>LICENSE.md</filename>
87
87
  <filetype>md</filetype>
88
88
  <usage_type>license</usage_type>
89
- <checksum>64FFEBDE</checksum>
89
+ <checksum>BFFB1AA6</checksum>
90
90
  </file>
91
91
  <file>
92
92
  <version>
@@ -97,13 +97,13 @@
97
97
  <filename>measure.rb</filename>
98
98
  <filetype>rb</filetype>
99
99
  <usage_type>script</usage_type>
100
- <checksum>B9518183</checksum>
100
+ <checksum>7C6B77F6</checksum>
101
101
  </file>
102
102
  <file>
103
103
  <filename>RoofThermalPropertiesMultiplier_test.rb</filename>
104
104
  <filetype>rb</filetype>
105
105
  <usage_type>test</usage_type>
106
- <checksum>C98635A2</checksum>
106
+ <checksum>7197D29B</checksum>
107
107
  </file>
108
108
  </files>
109
109
  </measure>
@@ -1,27 +1,13 @@
1
- OpenStudio(R), Copyright (c) 2008-2022, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008, 2023 Alliance for Sustainable Energy, LLC.
2
2
 
3
- Redistribution and use in source and binary forms, with or without modification, are permitted
4
- provided that the following conditions are met:
3
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5
4
 
6
- (1) Redistributions of source code must retain the above copyright notice, this list of conditions
7
- and the following disclaimer.
5
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8
6
 
9
- (2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions
10
- and the following disclaimer in the documentation and/or other materials provided with the distribution.
7
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
11
8
 
12
- (3) Neither the name of the copyright holder nor the names of any contributors may be used to endorse
13
- or promote products derived from this software without specific prior written permission from the
14
- respective party.
9
+ 3. Redistribution of this software, without modification, must refer to the software by the same designation. Redistribution of a modified version of this software (i) may not refer to the modified version by the same designation, or by any confusingly similar designation, and (ii) must refer to the underlying software originally provided by Alliance as “OpenStudio®”. Except to comply with the foregoing, the term “OpenStudio®”, or any confusingly similar designation may not be used to refer to any modified version of this software or any modified version of the underlying software originally provided by Alliance without the prior written consent of Alliance.
15
10
 
16
- (4) Other than as required in clauses (1) and (2), distributions in any form of modifications or other
17
- derivative works may not use the "OpenStudio" trademark, "OS", "os", or any other confusingly similar
18
- designation without specific prior written permission from Alliance for Sustainable Energy, LLC.
11
+ 4. The name of the copyright holder(s), any contributors, the United States Government, the United States Department of Energy, or any of their employees may not be used to endorse or promote products derived from this software without specific prior written permission from the respective party.
19
12
 
20
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
21
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER, THE UNITED STATES GOVERNMENT,
23
- OR ANY CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
25
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,36 +1,6 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2022, Alliance for Sustainable Energy, LLC.
3
- # All rights reserved.
4
- # Redistribution and use in source and binary forms, with or without
5
- # modification, are permitted provided that the following conditions are met:
6
- #
7
- # (1) Redistributions of source code must retain the above copyright notice,
8
- # this list of conditions and the following disclaimer.
9
- #
10
- # (2) Redistributions in binary form must reproduce the above copyright notice,
11
- # this list of conditions and the following disclaimer in the documentation
12
- # and/or other materials provided with the distribution.
13
- #
14
- # (3) Neither the name of the copyright holder nor the names of any contributors
15
- # may be used to endorse or promote products derived from this software without
16
- # specific prior written permission from the respective party.
17
- #
18
- # (4) Other than as required in clauses (1) and (2), distributions in any form
19
- # of modifications or other derivative works may not use the "OpenStudio"
20
- # trademark, "OS", "os", or any other confusingly similar designation without
21
- # specific prior written permission from Alliance for Sustainable Energy, LLC.
22
- #
23
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS
24
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
25
- # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26
- # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE
27
- # UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF
28
- # THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29
- # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
30
- # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33
- # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
34
4
  # *******************************************************************************
35
5
 
36
6
  # start the measure
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>roof_thermal_properties_percent_change</name>
5
5
  <uid>07516685-60fd-4da8-9872-1154a995047d</uid>
6
- <version_id>31e6f50f-fdec-4791-8e73-c672998edd50</version_id>
7
- <version_modified>20221115T231447Z</version_modified>
6
+ <version_id>db469840-e1ca-40ba-a628-58855984662f</version_id>
7
+ <version_modified>20230602T154656Z</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>
@@ -86,7 +86,7 @@
86
86
  <filename>LICENSE.md</filename>
87
87
  <filetype>md</filetype>
88
88
  <usage_type>license</usage_type>
89
- <checksum>64FFEBDE</checksum>
89
+ <checksum>BFFB1AA6</checksum>
90
90
  </file>
91
91
  <file>
92
92
  <version>
@@ -97,13 +97,13 @@
97
97
  <filename>measure.rb</filename>
98
98
  <filetype>rb</filetype>
99
99
  <usage_type>script</usage_type>
100
- <checksum>C9FA7592</checksum>
100
+ <checksum>3A4BB94C</checksum>
101
101
  </file>
102
102
  <file>
103
103
  <filename>RoofThermalPropertiesMultiplier_test.rb</filename>
104
104
  <filetype>rb</filetype>
105
105
  <usage_type>test</usage_type>
106
- <checksum>2B71C690</checksum>
106
+ <checksum>3F4E0142</checksum>
107
107
  </file>
108
108
  </files>
109
109
  </measure>
@@ -1,27 +1,13 @@
1
- OpenStudio(R), Copyright (c) 2008-2022, Alliance for Sustainable Energy, LLC. All rights reserved.
1
+ OpenStudio(R), Copyright (c) 2008, 2023 Alliance for Sustainable Energy, LLC.
2
2
 
3
- Redistribution and use in source and binary forms, with or without modification, are permitted
4
- provided that the following conditions are met:
3
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5
4
 
6
- (1) Redistributions of source code must retain the above copyright notice, this list of conditions
7
- and the following disclaimer.
5
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8
6
 
9
- (2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions
10
- and the following disclaimer in the documentation and/or other materials provided with the distribution.
7
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
11
8
 
12
- (3) Neither the name of the copyright holder nor the names of any contributors may be used to endorse
13
- or promote products derived from this software without specific prior written permission from the
14
- respective party.
9
+ 3. Redistribution of this software, without modification, must refer to the software by the same designation. Redistribution of a modified version of this software (i) may not refer to the modified version by the same designation, or by any confusingly similar designation, and (ii) must refer to the underlying software originally provided by Alliance as “OpenStudio®”. Except to comply with the foregoing, the term “OpenStudio®”, or any confusingly similar designation may not be used to refer to any modified version of this software or any modified version of the underlying software originally provided by Alliance without the prior written consent of Alliance.
15
10
 
16
- (4) Other than as required in clauses (1) and (2), distributions in any form of modifications or other
17
- derivative works may not use the "OpenStudio" trademark, "OS", "os", or any other confusingly similar
18
- designation without specific prior written permission from Alliance for Sustainable Energy, LLC.
11
+ 4. The name of the copyright holder(s), any contributors, the United States Government, the United States Department of Energy, or any of their employees may not be used to endorse or promote products derived from this software without specific prior written permission from the respective party.
19
12
 
20
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
21
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER, THE UNITED STATES GOVERNMENT,
23
- OR ANY CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
25
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -18,6 +18,56 @@ ReportingMeasure
18
18
 
19
19
  ## Arguments
20
20
 
21
+ **verbose_messages** will display all the runner.registerInfo statements for the metered value, simulated value and their difference at EVERY timestep. while this is useful for debugging the usage of the Measure, it has a MAJOR impact on performance and will slow the running of the measure. Turn to False for production runs.
22
+
23
+ **csv_name** is the file path, relative to the Measure at runtime, to the CSV data. If this run is taking place on an OS-Server or (OSAF) instance, where the project data is zipped up into an OSA.zip file and posted to the OS-Server Web node (in a directory called **calibration_data**), then relative path to the data would be: '../../../lib/calibration_data/electric_json.json'. Notice the **lib** in the path name for the OSAF use case.
24
+
25
+ **csv_time_header** is the Header Value in the CSV file with metered data for the TIMESTAMP, ex: "timestamp"
26
+
27
+ **csv_var**, is the column name of the metered data, ex: "Electricity:Facility[J]"
28
+
29
+ **convert_data** is used to convert the units in the CSV from 'F to C', 'WH to J', 'CFM to m3/s', 'PSI to Pa' or **None**
30
+
31
+ The timestamp of the CSV data should follow a mm/dd/yyyy hh:mm:ss format with NO AM/PM
32
+
33
+ **year** (true) Is the Year in the csv data timestamp => mm/dd/yyyy or mm/dd
34
+
35
+ **seconds** (true) Is the Seconds in the csv data timestamp => hh:mm:ss or hh:mm
36
+
37
+ The model output variables/meters are listed in the eplusout.rdd and .mdd files.
38
+
39
+ The Measure argument **find_avail** (true) will print out ALL the available RunPeriods (EnvPeriod), ReportingFrequencies, Variables and key values in the run.log file:
40
+
41
+ `[15:11:26.640379 INFO] environment_periods: ["Run Period 1"]`\
42
+ `[15:11:26.640418 INFO] available timeseries: ["Electricity:Facility", "NaturalGas:Facility", "Surface Inside Face Temperature", "Zone Outdoor Air Drybulb Temperature"]`\
43
+ `[15:11:26.640424 INFO] `\
44
+ `[15:11:26.640443 INFO] available EnvPeriod: Run Period 1, available ReportingFrequencies: ["Daily", "Hourly", "Zone Timestep"]`\
45
+ `[15:11:26.640454 INFO] available ReportingFrequency: Daily, available variable names: ["Electricity:Facility", "NaturalGas:Facility"]`\
46
+ `[15:11:26.640463 INFO] variable names: Electricity:Facility`\
47
+ `[15:11:26.640469 INFO] available key value: [""]`\
48
+ `[15:11:26.640476 INFO] variable names: NaturalGas:Facility`\
49
+ `[15:11:26.640481 INFO] available key value: [""]`\
50
+ `[15:11:26.640493 INFO] available ReportingFrequency: Hourly, available variable names: ["Electricity:Facility", "NaturalGas:Facility", "Surface Inside Face Temperature", "Zone Outdoor Air Drybulb Temperature"]`\
51
+ `[15:11:26.640499 INFO] variable names: Electricity:Facility`\
52
+ `[15:11:26.640505 INFO] available key value: [""]`\
53
+ `[15:11:26.640511 INFO] variable names: NaturalGas:Facility`\
54
+ `[15:11:26.640516 INFO] available key value: [""]`\
55
+ `[15:11:26.640526 INFO] variable names: Surface Inside Face Temperature`\
56
+ `[15:11:26.640539 INFO] available key value: ["SUB SURFACE 1", "SUB SURFACE 2", "SURFACE 1"]`\
57
+ `[15:11:26.640546 INFO] variable names: Zone Outdoor Air Drybulb Temperature`\
58
+ `[15:11:26.640552 INFO] available key value: ["THERMAL ZONE 1"]`\
59
+ `[15:11:26.640561 INFO] available ReportingFrequency: Zone Timestep, available variable names: ["Electricity:Facility", "NaturalGas:Facility"]`\
60
+ `[15:11:26.640567 INFO] variable names: Electricity:Facility`\
61
+ `[15:11:26.640573 INFO] available key value: [""]`\
62
+ `[15:11:26.640579 INFO] variable names: NaturalGas:Facility`\
63
+ `[15:11:26.640585 INFO] available key value: [""]`\
64
+
65
+ * The name of the variable/timeseries to be compared is used in the **timeseries_name** measure argument.
66
+ * Some variables require a further **key_value** to narrow down the results to a specific object like a Surface or Zone. Some Meter based outputs have no key, i.e, Electricity:Facility. For those, use the value **no_key**
67
+ * RunPeriods/EnvPeriod are set in the **environment_period** measure argument.
68
+ * ReportingFrequencies ["Daily", "Hourly", "Zone Timestep"] are set in the **reporting_frequency** measure argument.
69
+
70
+
21
71
 
22
72
  ### Path to CSV file for the metered data
23
73
  Path to CSV file including file name.
@@ -60,7 +110,7 @@ CSV variable display name. Not yet Implemented
60
110
  **Model Dependent:** false
61
111
 
62
112
  ### Year in csv data timestamp
63
- Is the Year in the csv data timestamp => mm:dd:yy or mm:dd (true/false)
113
+ Is the Year in the csv data timestamp => mm/dd/yyyy or mm/dd (true/false)
64
114
  **Name:** year,
65
115
  **Type:** Boolean,
66
116
  **Units:** ,
@@ -1,36 +1,6 @@
1
1
  # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) 2008-2022, Alliance for Sustainable Energy, LLC.
3
- # All rights reserved.
4
- # Redistribution and use in source and binary forms, with or without
5
- # modification, are permitted provided that the following conditions are met:
6
- #
7
- # (1) Redistributions of source code must retain the above copyright notice,
8
- # this list of conditions and the following disclaimer.
9
- #
10
- # (2) Redistributions in binary form must reproduce the above copyright notice,
11
- # this list of conditions and the following disclaimer in the documentation
12
- # and/or other materials provided with the distribution.
13
- #
14
- # (3) Neither the name of the copyright holder nor the names of any contributors
15
- # may be used to endorse or promote products derived from this software without
16
- # specific prior written permission from the respective party.
17
- #
18
- # (4) Other than as required in clauses (1) and (2), distributions in any form
19
- # of modifications or other derivative works may not use the "OpenStudio"
20
- # trademark, "OS", "os", or any other confusingly similar designation without
21
- # specific prior written permission from Alliance for Sustainable Energy, LLC.
22
- #
23
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS
24
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
25
- # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26
- # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE
27
- # UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF
28
- # THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29
- # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
30
- # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
32
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33
- # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
34
4
  # *******************************************************************************
35
5
 
36
6
  # see the URL below for information on how to write OpenStudio measures
@@ -45,17 +15,17 @@ require 'erb'
45
15
  class TimeseriesObjectiveFunction < OpenStudio::Measure::ReportingMeasure
46
16
  # human readable name
47
17
  def name
48
- 'TimeSeries Objective Function'
18
+ return 'TimeSeries Objective Function'
49
19
  end
50
20
 
51
21
  # human readable description
52
22
  def description
53
- 'Creates Objective Function from Timeseries Data'
23
+ return 'Creates Objective Function from Timeseries Data'
54
24
  end
55
25
 
56
26
  # human readable description of modeling approach
57
27
  def modeler_description
58
- "Creates Objective Function from Timeseries Data. The measure applies a Norm at each timestep between the difference of CSV metered data and SQL model data. A timeseries plot can also be created. Possible outputs are 'cvrmse', 'nmbe', 'simdata' = sum of the simulated data, 'csvdata' = sum of metered data, 'diff' = P Norm between the metered and simulated data if Norm is 1 or 2, else its just the Difference."
28
+ return "Creates Objective Function from Timeseries Data. The measure applies a Norm at each timestep between the difference of CSV metered data and SQL model data. A timeseries plot can also be created. Possible outputs are 'cvrmse', 'nmbe', 'simdata' = sum of the simulated data, 'csvdata' = sum of metered data, 'diff' = P Norm between the metered and simulated data if Norm is 1 or 2, else its just the Difference."
59
29
  end
60
30
 
61
31
  # define the arguments that the user will input
@@ -101,7 +71,7 @@ class TimeseriesObjectiveFunction < OpenStudio::Measure::ReportingMeasure
101
71
 
102
72
  years = OpenStudio::Measure::OSArgument.makeBoolArgument('year', true)
103
73
  years.setDisplayName('Year in csv data timestamp')
104
- years.setDescription('Is the Year in the csv data timestamp => mm:dd:yy or mm:dd (true/false)')
74
+ years.setDescription('Is the Year in the csv data timestamp => mm/dd/yyyy or mm/dd (true/false)')
105
75
  years.setDefaultValue(true)
106
76
  args << years
107
77
 
@@ -112,9 +82,9 @@ class TimeseriesObjectiveFunction < OpenStudio::Measure::ReportingMeasure
112
82
  args << seconds
113
83
 
114
84
  sql_key = OpenStudio::Measure::OSArgument.makeStringArgument('key_value', true)
115
- sql_key.setDisplayName('SQL key value')
85
+ sql_key.setDisplayName('SQL key value. use no_key if there is no key, i.e. Electricity:Facility')
116
86
  sql_key.setDescription('SQL key value for the SQL query to find the variable in the SQL file')
117
- sql_key.setDefaultValue('')
87
+ sql_key.setDefaultValue('no_key')
118
88
  args << sql_key
119
89
 
120
90
  sql_var = OpenStudio::Measure::OSArgument.makeStringArgument('timeseries_name', true)
@@ -125,7 +95,7 @@ class TimeseriesObjectiveFunction < OpenStudio::Measure::ReportingMeasure
125
95
 
126
96
  reportfreq_chs = OpenStudio::StringVector.new
127
97
  reportfreq_chs << 'Detailed'
128
- reportfreq_chs << 'Timestep'
98
+ reportfreq_chs << 'Zone Timestep'
129
99
  reportfreq_chs << 'Hourly'
130
100
  reportfreq_chs << 'Daily'
131
101
  reportfreq_chs << 'Monthly'
@@ -175,7 +145,7 @@ class TimeseriesObjectiveFunction < OpenStudio::Measure::ReportingMeasure
175
145
  plot_name = OpenStudio::Measure::OSArgument.makeStringArgument('plot_name', true)
176
146
  plot_name.setDisplayName('Plot name')
177
147
  plot_name.setDescription('Name to include in reporting file name.')
178
- plot_name.setDefaultValue('')
148
+ plot_name.setDefaultValue('plot_name')
179
149
  args << plot_name
180
150
 
181
151
  verbose_messages = OpenStudio::Measure::OSArgument.makeBoolArgument('verbose_messages', true)
@@ -292,6 +262,11 @@ class TimeseriesObjectiveFunction < OpenStudio::Measure::ReportingMeasure
292
262
  convert_data = runner.getStringArgumentValue('convert_data', user_arguments)
293
263
  last_zero = runner.getBoolArgumentValue('add_last_zero_for_plots', user_arguments)
294
264
  first_zero = runner.getBoolArgumentValue('add_first_zero_for_plots', user_arguments)
265
+
266
+ # remove leading and trailing double quotes
267
+ # windows users can shift + right click a file to copy as path, which has double quotes
268
+ csv_name.gsub!('"', '')
269
+
295
270
  @name = plot_name
296
271
  # Method to translate from OpenStudio's time formatting
297
272
  # to Javascript time formatting
@@ -368,11 +343,11 @@ class TimeseriesObjectiveFunction < OpenStudio::Measure::ReportingMeasure
368
343
  runner.registerInfo("available EnvPeriod: #{env_s}, available ReportingFrequencies: #{freqs}")
369
344
  freqs.each do |freq|
370
345
  vn = sql.availableVariableNames(env_s, freq.to_s)
371
- runner.registerInfo("available variable names: #{vn}")
346
+ runner.registerInfo(" available ReportingFrequency: #{freq}, available variable names: #{vn}")
372
347
  vn.each do |v|
373
348
  kv = sql.availableKeyValues(env_s, freq.to_s, v)
374
- runner.registerInfo("variable names: #{v}")
375
- runner.registerInfo("available key value: #{kv}")
349
+ runner.registerInfo(" variable names: #{v}")
350
+ runner.registerInfo(" available key value: #{kv}")
376
351
  end
377
352
  end
378
353
  end
@@ -380,63 +355,63 @@ class TimeseriesObjectiveFunction < OpenStudio::Measure::ReportingMeasure
380
355
  runner.registerInfo("year: #{years}")
381
356
  runner.registerInfo("seconds: #{seconds}")
382
357
  if !years && seconds
383
- # mm:dd hh:mm:ss
358
+ # mm/dd hh:mm:ss
384
359
  # check day time splits into two valid parts
385
360
  if !csv[1][0].split(' ')[0].nil? && !csv[1][0].split(' ')[1].nil?
386
361
  # check remaining splits are valid
387
362
  if !csv[1][0].split(' ')[0].split('/')[0].nil? && !csv[1][0].split(' ')[0].split('/')[1].nil? && !csv[1][0].split(' ')[1].split(':')[0].nil? && !csv[1][0].split(' ')[1].split(':')[1].nil? && !csv[1][0].split(' ')[1].split(':')[2].nil?
388
- runner.registerInfo("CSV Time format is correct: #{csv[1][0]} mm:dd hh:mm:ss")
363
+ runner.registerInfo("CSV Time format is correct: #{csv[1][0]} mm/dd hh:mm:ss")
389
364
  else
390
- runner.registerError("CSV Time format not correct: #{csv[1][0]}. Selected format is mm:dd hh:mm:ss")
365
+ runner.registerError("CSV Time format not correct: #{csv[1][0]}. Selected format is mm/dd hh:mm:ss")
391
366
  return false
392
367
  end
393
368
  else
394
- runner.registerError("CSV Time format not correct: #{csv[1][0]}. Does not split into 'day time'. Selected format is mm:dd hh:mm:ss")
369
+ runner.registerError("CSV Time format not correct: #{csv[1][0]}. Does not split into 'day time'. Selected format is mm/dd hh:mm:ss")
395
370
  return false
396
371
  end
397
372
  elsif !years && !seconds
398
- # mm:dd hh:mm
373
+ # mm/dd hh:mm
399
374
  # check day time splits into two valid parts
400
375
  if !csv[1][0].split(' ')[0].nil? && !csv[1][0].split(' ')[1].nil?
401
376
  # check remaining splits are valid
402
377
  if !csv[1][0].split(' ')[0].split('/')[0].nil? && !csv[1][0].split(' ')[0].split('/')[1].nil? && !csv[1][0].split(' ')[1].split(':')[0].nil? && !csv[1][0].split(' ')[1].split(':')[1].nil?
403
- runner.registerInfo("CSV Time format is correct: #{csv[1][0]} mm:dd hh:mm")
378
+ runner.registerInfo("CSV Time format is correct: #{csv[1][0]} mm/dd hh:mm")
404
379
  else
405
- runner.registerError("CSV Time format not correct: #{csv[1][0]}. Selected format is mm:dd hh:mm")
380
+ runner.registerError("CSV Time format not correct: #{csv[1][0]}. Selected format is mm/dd hh:mm")
406
381
  return false
407
382
  end
408
383
  else
409
- runner.registerError("CSV Time format not correct: #{csv[1][0]}. Does not split into 'day time'. Selected format is mm:dd hh:mm")
384
+ runner.registerError("CSV Time format not correct: #{csv[1][0]}. Does not split into 'day time'. Selected format is mm/dd hh:mm")
410
385
  return false
411
386
  end
412
387
  elsif years && !seconds
413
- # mm:dd:yy hh:mm
388
+ # mm/dd/yyyy hh:mm
414
389
  # check day time splits into two valid parts
415
390
  if !csv[1][0].split(' ')[0].nil? && !csv[1][0].split(' ')[1].nil?
416
391
  # check remaining splits are valid
417
392
  if !csv[1][0].split(' ')[0].split('/')[0].nil? && !csv[1][0].split(' ')[0].split('/')[1].nil? && !csv[1][0].split(' ')[0].split('/')[2].nil? && !csv[1][0].split(' ')[1].split(':')[0].nil? && !csv[1][0].split(' ')[1].split(':')[1].nil?
418
- runner.registerInfo("CSV Time format is correct: #{csv[1][0]} mm:dd:yy hh:mm")
393
+ runner.registerInfo("CSV Time format is correct: #{csv[1][0]} mm/dd/yyyy hh:mm")
419
394
  else
420
- runner.registerError("CSV Time format not correct: #{csv[1][0]}. Selected format is mm:dd:yy hh:mm")
395
+ runner.registerError("CSV Time format not correct: #{csv[1][0]}. Selected format is mm/dd/yyyy hh:mm")
421
396
  return false
422
397
  end
423
398
  else
424
- runner.registerError("CSV Time format not correct: #{csv[1][0]}. Does not split into 'day time'. Selected format is mm:dd:yy hh:mm")
399
+ runner.registerError("CSV Time format not correct: #{csv[1][0]}. Does not split into 'day time'. Selected format is mm/dd/yyyy hh:mm")
425
400
  return false
426
401
  end
427
402
  elsif years && seconds
428
- # mm:dd:yy hh:mm:ss
403
+ # mm/dd/yyyy hh:mm:ss
429
404
  # check day time splits into two valid parts
430
405
  if !csv[1][0].split(' ')[0].nil? && !csv[1][0].split(' ')[1].nil?
431
406
  # check remaining splits are valid
432
407
  if !csv[1][0].split(' ')[0].split('/')[0].nil? && !csv[1][0].split(' ')[0].split('/')[1].nil? && !csv[1][0].split(' ')[0].split('/')[2].nil? && !csv[1][0].split(' ')[1].split(':')[0].nil? && !csv[1][0].split(' ')[1].split(':')[1].nil? && !csv[1][0].split(' ')[1].split(':')[2].nil?
433
- runner.registerInfo("CSV Time format is correct: #{csv[1][0]} mm:dd:yy hh:mm:ss")
408
+ runner.registerInfo("CSV Time format is correct: #{csv[1][0]} mm/dd/yyyy hh:mm:ss")
434
409
  else
435
- runner.registerError("CSV Time format not correct: #{csv[1][0]}. Selected format is mm:dd:yy hh:mm:ss")
410
+ runner.registerError("CSV Time format not correct: #{csv[1][0]}. Selected format is mm/dd/yyyy hh:mm:ss")
436
411
  return false
437
412
  end
438
413
  else
439
- runner.registerError("CSV Time format not correct: #{csv[1][0]}. Does not split into 'day time'. Selected format is mm:dd:yy hh:mm:ss")
414
+ runner.registerError("CSV Time format not correct: #{csv[1][0]}. Does not split into 'day time'. Selected format is mm/dd/yyyy hh:mm:ss")
440
415
  return false
441
416
  end
442
417
  end
@@ -541,9 +516,7 @@ class TimeseriesObjectiveFunction < OpenStudio::Measure::ReportingMeasure
541
516
  if year.nil?
542
517
  dat = OpenStudio::Date.new(OpenStudio::MonthOfYear.new(cal[mon]), day)
543
518
  else
544
- # dat = OpenStudio::Date.new(OpenStudio::MonthOfYear.new(cal[mon]),day,year)
545
- # hack since year is not in the sql file correctly
546
- dat = OpenStudio::Date.new(OpenStudio::MonthOfYear.new(cal[mon]), day)
519
+ dat = OpenStudio::Date.new(OpenStudio::MonthOfYear.new(cal[mon]),day,year)
547
520
  end
548
521
  tim = if sec.nil?
549
522
  OpenStudio::Time.new(0, hou, min, 0)
@@ -659,7 +632,7 @@ class TimeseriesObjectiveFunction < OpenStudio::Measure::ReportingMeasure
659
632
 
660
633
  if algorithm_download
661
634
  require 'csv'
662
- CSV.open("timeseries#{plot_name}.csv", 'wb') do |csv|
635
+ CSV.open("timeseries_#{plot_name}.csv", 'wb') do |csv|
663
636
  csv << ['Simulation Time', 'Simulated Value', 'Metered time', 'Metered Value']
664
637
  data.size.times do |i|
665
638
  csv << [data[i]['time'], data[i]['y'], data2[i]['time'], data2[i]['y']]
@@ -688,7 +661,7 @@ class TimeseriesObjectiveFunction < OpenStudio::Measure::ReportingMeasure
688
661
  Dir.mkdir(directory_name) unless File.exist?(directory_name)
689
662
  FileUtils.cp("timeseries_#{csv_var}.json", directory_name)
690
663
  FileUtils.cp("allseries_#{csv_var}.json", directory_name)
691
- FileUtils.cp("timeseries#{plot_name}.csv", directory_name)
664
+ FileUtils.cp("timeseries_#{plot_name}.csv", directory_name)
692
665
  end
693
666
  end
694
667
  diff = Math.sqrt(diff) if norm == 2