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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/LICENSE.md +7 -21
- data/README.md +5 -3
- data/Rakefile +2 -32
- data/doc_templates/LICENSE.md +7 -21
- data/doc_templates/copyright_erb.txt +2 -32
- data/doc_templates/copyright_js.txt +2 -2
- data/doc_templates/copyright_ruby.txt +3 -33
- data/lib/measures/AddMonthlyJSONUtilityData/LICENSE.md +7 -21
- data/lib/measures/AddMonthlyJSONUtilityData/measure.rb +2 -32
- data/lib/measures/AddMonthlyJSONUtilityData/measure.xml +4 -4
- data/lib/measures/AddMonthlyUtilityData/LICENSE.md +7 -21
- data/lib/measures/AddMonthlyUtilityData/README.md +2 -2
- data/lib/measures/AddMonthlyUtilityData/measure.rb +4 -32
- data/lib/measures/AddMonthlyUtilityData/measure.xml +13 -11
- data/lib/measures/CalibrationReports/LICENSE.md +7 -21
- data/lib/measures/CalibrationReports/measure.rb +2 -32
- data/lib/measures/CalibrationReports/measure.xml +5 -5
- data/lib/measures/CalibrationReportsEnhanced/LICENSE.md +7 -21
- data/lib/measures/CalibrationReportsEnhanced/measure.rb +2 -32
- data/lib/measures/CalibrationReportsEnhanced/measure.xml +5 -5
- data/lib/measures/CoilCoolingDXSingleSpeedMultiplier/LICENSE.md +7 -21
- data/lib/measures/CoilCoolingDXSingleSpeedMultiplier/measure.rb +3 -35
- data/lib/measures/CoilCoolingDXSingleSpeedMultiplier/measure.xml +6 -6
- data/lib/measures/CoilCoolingDXSingleSpeedPercentChange/LICENSE.md +7 -21
- data/lib/measures/CoilCoolingDXSingleSpeedPercentChange/measure.rb +3 -35
- data/lib/measures/CoilCoolingDXSingleSpeedPercentChange/measure.xml +6 -6
- data/lib/measures/CoilCoolingDXTwoSpeedMultiplier/LICENSE.md +7 -21
- data/lib/measures/CoilCoolingDXTwoSpeedMultiplier/measure.rb +4 -38
- data/lib/measures/CoilCoolingDXTwoSpeedMultiplier/measure.xml +6 -6
- data/lib/measures/CoilCoolingDXTwoSpeedPercentChange/LICENSE.md +7 -21
- data/lib/measures/CoilCoolingDXTwoSpeedPercentChange/measure.rb +4 -38
- data/lib/measures/CoilCoolingDXTwoSpeedPercentChange/measure.xml +6 -6
- data/lib/measures/CoilCoolingWaterMultiplier/LICENSE.md +7 -21
- data/lib/measures/CoilCoolingWaterMultiplier/measure.rb +2 -32
- data/lib/measures/CoilCoolingWaterMultiplier/measure.xml +6 -6
- data/lib/measures/CoilCoolingWaterPercentChange/LICENSE.md +7 -21
- data/lib/measures/CoilCoolingWaterPercentChange/measure.rb +2 -32
- data/lib/measures/CoilCoolingWaterPercentChange/measure.xml +6 -6
- data/lib/measures/CoilHeatingElectricMultiplier/LICENSE.md +7 -21
- data/lib/measures/CoilHeatingElectricMultiplier/measure.rb +2 -32
- data/lib/measures/CoilHeatingElectricMultiplier/measure.xml +6 -6
- data/lib/measures/CoilHeatingElectricPercentChange/LICENSE.md +7 -21
- data/lib/measures/CoilHeatingElectricPercentChange/measure.rb +2 -32
- data/lib/measures/CoilHeatingElectricPercentChange/measure.xml +6 -6
- data/lib/measures/CoilHeatingGasMultiplier/LICENSE.md +7 -21
- data/lib/measures/CoilHeatingGasMultiplier/measure.rb +2 -32
- data/lib/measures/CoilHeatingGasMultiplier/measure.xml +6 -6
- data/lib/measures/CoilHeatingGasPercentChange/LICENSE.md +7 -21
- data/lib/measures/CoilHeatingGasPercentChange/measure.rb +2 -32
- data/lib/measures/CoilHeatingGasPercentChange/measure.xml +6 -6
- data/lib/measures/CoilHeatingWaterMultiplier/LICENSE.md +7 -21
- data/lib/measures/CoilHeatingWaterMultiplier/measure.rb +2 -32
- data/lib/measures/CoilHeatingWaterMultiplier/measure.xml +6 -6
- data/lib/measures/CoilHeatingWaterPercentChange/LICENSE.md +7 -21
- data/lib/measures/CoilHeatingWaterPercentChange/measure.rb +2 -32
- data/lib/measures/CoilHeatingWaterPercentChange/measure.xml +6 -6
- data/lib/measures/ConstructionLayerZeroMaterialProperties/LICENSE.md +7 -21
- data/lib/measures/ConstructionLayerZeroMaterialProperties/measure.rb +2 -32
- data/lib/measures/ConstructionLayerZeroMaterialProperties/measure.xml +4 -4
- data/lib/measures/ElectricBaseboardEfficiencyAndCapacity/LICENSE.md +7 -21
- data/lib/measures/ElectricBaseboardEfficiencyAndCapacity/measure.rb +2 -32
- data/lib/measures/ElectricBaseboardEfficiencyAndCapacity/measure.xml +4 -4
- data/lib/measures/ExteriorWallThermalPropertiesMultiplier/LICENSE.md +7 -21
- data/lib/measures/ExteriorWallThermalPropertiesMultiplier/measure.rb +2 -32
- data/lib/measures/ExteriorWallThermalPropertiesMultiplier/measure.xml +5 -5
- data/lib/measures/ExteriorWallThermalPropertiesPercentChange/LICENSE.md +7 -21
- data/lib/measures/ExteriorWallThermalPropertiesPercentChange/measure.rb +2 -32
- data/lib/measures/ExteriorWallThermalPropertiesPercentChange/measure.xml +5 -5
- data/lib/measures/FansMultiplier/LICENSE.md +7 -21
- data/lib/measures/FansMultiplier/measure.rb +2 -32
- data/lib/measures/FansMultiplier/measure.xml +6 -6
- data/lib/measures/FansPercentChange/LICENSE.md +7 -21
- data/lib/measures/FansPercentChange/measure.rb +2 -32
- data/lib/measures/FansPercentChange/measure.xml +6 -6
- data/lib/measures/GeneralCalibrationMeasureMultiplier/LICENSE.md +7 -21
- data/lib/measures/GeneralCalibrationMeasureMultiplier/measure.rb +2 -32
- data/lib/measures/GeneralCalibrationMeasureMultiplier/measure.xml +8 -8
- data/lib/measures/GeneralCalibrationMeasurePercentChange/LICENSE.md +7 -21
- data/lib/measures/GeneralCalibrationMeasurePercentChange/measure.rb +2 -32
- data/lib/measures/GeneralCalibrationMeasurePercentChange/measure.xml +8 -8
- data/lib/measures/HardSizeHvac/LICENSE.md +7 -21
- data/lib/measures/HardSizeHvac/measure.rb +2 -32
- data/lib/measures/HardSizeHvac/measure.xml +5 -5
- data/lib/measures/RValueOfInsulationForConstructionMultiplier/LICENSE.md +7 -21
- data/lib/measures/RValueOfInsulationForConstructionMultiplier/measure.rb +2 -32
- data/lib/measures/RValueOfInsulationForConstructionMultiplier/measure.xml +4 -4
- data/lib/measures/RValueOfInsulationForConstructionPercentageChange/LICENSE.md +7 -21
- data/lib/measures/RValueOfInsulationForConstructionPercentageChange/measure.rb +2 -32
- data/lib/measures/RValueOfInsulationForConstructionPercentageChange/measure.xml +4 -4
- data/lib/measures/RoofThermalPropertiesMultiplier/LICENSE.md +7 -21
- data/lib/measures/RoofThermalPropertiesMultiplier/measure.rb +2 -32
- data/lib/measures/RoofThermalPropertiesMultiplier/measure.xml +5 -5
- data/lib/measures/RoofThermalPropertiesPercentChange/LICENSE.md +7 -21
- data/lib/measures/RoofThermalPropertiesPercentChange/measure.rb +2 -32
- data/lib/measures/RoofThermalPropertiesPercentChange/measure.xml +5 -5
- data/lib/measures/TimeseriesObjectiveFunction/LICENSE.md +7 -21
- data/lib/measures/TimeseriesObjectiveFunction/README.md +51 -1
- data/lib/measures/TimeseriesObjectiveFunction/measure.rb +37 -64
- data/lib/measures/TimeseriesObjectiveFunction/measure.xml +25 -19
- data/lib/measures/TimeseriesObjectiveFunction/resources/report.html.erb +4 -32
- data/lib/measures/TimeseriesPlot/LICENSE.md +7 -21
- data/lib/measures/TimeseriesPlot/measure.rb +2 -32
- data/lib/measures/TimeseriesPlot/measure.xml +5 -5
- data/lib/measures/TimeseriesPlot/resources/report.html.erb +4 -32
- data/lib/measures/WaterHeaterMixedMultiplier/LICENSE.md +7 -21
- data/lib/measures/WaterHeaterMixedMultiplier/measure.rb +2 -32
- data/lib/measures/WaterHeaterMixedMultiplier/measure.xml +6 -6
- data/lib/measures/WaterHeaterMixedPercentChange/LICENSE.md +7 -21
- data/lib/measures/WaterHeaterMixedPercentChange/measure.rb +2 -32
- data/lib/measures/WaterHeaterMixedPercentChange/measure.xml +6 -6
- data/lib/measures/inspect_and_edit_parametric_schedules/LICENSE.md +7 -21
- data/lib/measures/inspect_and_edit_parametric_schedules/measure.rb +2 -32
- data/lib/measures/inspect_and_edit_parametric_schedules/measure.xml +5 -5
- data/lib/measures/shift_hours_of_operation/LICENSE.md +7 -21
- data/lib/measures/shift_hours_of_operation/measure.rb +2 -32
- data/lib/measures/shift_hours_of_operation/measure.xml +5 -5
- data/lib/openstudio/calibration/extension.rb +2 -32
- data/lib/openstudio/calibration/version.rb +3 -33
- data/lib/openstudio/calibration.rb +2 -32
- data/lib/openstudio-calibration.rb +2 -32
- data/openstudio-calibration.gemspec +2 -2
- metadata +7 -8
- data/lib/measures/TimeseriesObjectiveFunction/README.md.erb +0 -42
@@ -1,27 +1,13 @@
|
|
1
|
-
OpenStudio(R), Copyright (c) 2008
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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)
|
3
|
-
#
|
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>
|
7
|
-
<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>
|
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>
|
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>
|
106
|
+
<checksum>7197D29B</checksum>
|
107
107
|
</file>
|
108
108
|
</files>
|
109
109
|
</measure>
|
@@ -1,27 +1,13 @@
|
|
1
|
-
OpenStudio(R), Copyright (c) 2008
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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)
|
3
|
-
#
|
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>
|
7
|
-
<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>
|
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>
|
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>
|
106
|
+
<checksum>3F4E0142</checksum>
|
107
107
|
</file>
|
108
108
|
</files>
|
109
109
|
</measure>
|
@@ -1,27 +1,13 @@
|
|
1
|
-
OpenStudio(R), Copyright (c) 2008
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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
|
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)
|
3
|
-
#
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
-
|
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("
|
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("
|
664
|
+
FileUtils.cp("timeseries_#{plot_name}.csv", directory_name)
|
692
665
|
end
|
693
666
|
end
|
694
667
|
diff = Math.sqrt(diff) if norm == 2
|