openstudio-analysis 0.1.13 → 0.1.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (191) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/lib/openstudio/analysis/translator/excel.rb +138 -61
  4. data/lib/openstudio/analysis/version.rb +1 -1
  5. data/lib/openstudio/templates/discrete_uncertain_variable.json.erb +15 -3
  6. data/lib/openstudio/templates/pivot_variable.json.erb +0 -1
  7. data/lib/openstudio/templates/static_variable.json.erb +0 -2
  8. data/lib/openstudio/templates/uncertain_variable.json.erb +4 -1
  9. data/spec/files/discrete_dynamic_columns.xlsx +0 -0
  10. data/spec/files/discrete_variables.xlsx +0 -0
  11. data/spec/files/export/analysis/discrete_dynamic_seed.json +445 -0
  12. data/spec/files/export/analysis/discrete_dynamic_seed.zip +0 -0
  13. data/spec/files/export/analysis/discrete_seed.json +156 -126
  14. data/spec/files/export/analysis/discrete_seed.zip +0 -0
  15. data/spec/files/export/analysis/output_vars.json +150 -121
  16. data/spec/files/export/analysis/output_vars.zip +0 -0
  17. data/spec/files/export/analysis/small_seed.json +138 -117
  18. data/spec/files/export/analysis/small_seed.zip +0 -0
  19. data/spec/files/no_variables.xlsx +0 -0
  20. data/spec/openstudio/analysis/translator/excel_spec.rb +66 -47
  21. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.51.xml +9 -0
  22. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.52.xml +9 -0
  23. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.53.xml +9 -0
  24. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.54.xml +9 -0
  25. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.55.xml +9 -0
  26. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.56.xml +9 -0
  27. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.57.xml +9 -0
  28. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.58.xml +9 -0
  29. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.59.xml +9 -0
  30. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.60.xml +9 -0
  31. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-localhost-instance.61.xml +9 -0
  32. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.51.xml +9 -0
  33. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.52.xml +9 -0
  34. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.53.xml +9 -0
  35. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.54.xml +9 -0
  36. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.55.xml +9 -0
  37. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.56.xml +9 -0
  38. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.57.xml +9 -0
  39. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.58.xml +9 -0
  40. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.59.xml +9 -0
  41. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.60.xml +9 -0
  42. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.61.xml +9 -0
  43. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.51.xml +7 -0
  44. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.52.xml +7 -0
  45. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.53.xml +7 -0
  46. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.54.xml +7 -0
  47. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.55.xml +7 -0
  48. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.56.xml +7 -0
  49. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.57.xml +7 -0
  50. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.58.xml +7 -0
  51. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.59.xml +7 -0
  52. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.60.xml +7 -0
  53. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.61.xml +7 -0
  54. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.10.xml +18 -0
  55. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.11.xml +18 -0
  56. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.12.xml +106 -0
  57. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.13.xml +18 -0
  58. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.14.xml +56 -0
  59. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.15.xml +64 -0
  60. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.16.xml +48 -0
  61. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.17.xml +18 -0
  62. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.18.xml +18 -0
  63. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.19.xml +18 -0
  64. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.9.xml +18 -0
  65. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.0.xml +17 -0
  66. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.1.xml +17 -0
  67. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.2.xml +17 -0
  68. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.3.xml +17 -0
  69. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.xml +25 -0
  70. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.51.xml +20 -0
  71. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.52.xml +20 -0
  72. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.53.xml +20 -0
  73. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.54.xml +20 -0
  74. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.55.xml +20 -0
  75. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.56.xml +20 -0
  76. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.57.xml +20 -0
  77. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.58.xml +20 -0
  78. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.59.xml +20 -0
  79. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.60.xml +20 -0
  80. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.61.xml +20 -0
  81. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.17.xml +9 -0
  82. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.18.xml +9 -0
  83. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.19.xml +9 -0
  84. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.20.xml +9 -0
  85. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.21.xml +9 -0
  86. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.22.xml +9 -0
  87. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.23.xml +14 -0
  88. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.24.xml +9 -0
  89. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.25.xml +9 -0
  90. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.26.xml +9 -0
  91. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.27.xml +9 -0
  92. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.23.xml +9 -0
  93. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.24.xml +9 -0
  94. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.25.xml +9 -0
  95. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.26.xml +9 -0
  96. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.27.xml +9 -0
  97. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.28.xml +9 -0
  98. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.29.xml +14 -0
  99. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.30.xml +9 -0
  100. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.31.xml +9 -0
  101. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.32.xml +9 -0
  102. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.33.xml +9 -0
  103. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.10.xml +93 -0
  104. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.11.xml +36 -0
  105. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.12.xml +36 -0
  106. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.13.xml +36 -0
  107. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.3.xml +36 -0
  108. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.4.xml +36 -0
  109. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.5.xml +36 -0
  110. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.6.xml +36 -0
  111. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.7.xml +36 -0
  112. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.8.xml +36 -0
  113. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.9.xml +43 -0
  114. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.0.xml +21 -0
  115. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.1.xml +21 -0
  116. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.10.xml +21 -0
  117. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.2.xml +21 -0
  118. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.3.xml +21 -0
  119. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.4.xml +21 -0
  120. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.5.xml +21 -0
  121. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.6.xml +26 -0
  122. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.7.xml +50 -0
  123. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.8.xml +21 -0
  124. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.9.xml +21 -0
  125. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.51.xml +9 -0
  126. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.52.xml +9 -0
  127. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.53.xml +9 -0
  128. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.54.xml +9 -0
  129. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.55.xml +9 -0
  130. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.56.xml +9 -0
  131. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.57.xml +12 -0
  132. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.58.xml +9 -0
  133. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.59.xml +9 -0
  134. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.60.xml +9 -0
  135. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.61.xml +9 -0
  136. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.51.xml +9 -0
  137. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.52.xml +9 -0
  138. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.53.xml +9 -0
  139. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.54.xml +9 -0
  140. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.55.xml +9 -0
  141. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.56.xml +9 -0
  142. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.57.xml +13 -0
  143. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.58.xml +9 -0
  144. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.59.xml +9 -0
  145. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.60.xml +9 -0
  146. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.61.xml +9 -0
  147. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.51.xml +23 -0
  148. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.52.xml +23 -0
  149. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.53.xml +23 -0
  150. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.54.xml +23 -0
  151. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.55.xml +23 -0
  152. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.56.xml +23 -0
  153. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.57.xml +30 -0
  154. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.58.xml +52 -0
  155. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.59.xml +23 -0
  156. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.60.xml +23 -0
  157. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.61.xml +23 -0
  158. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.51.xml +9 -0
  159. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.52.xml +9 -0
  160. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.53.xml +9 -0
  161. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.54.xml +9 -0
  162. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.55.xml +9 -0
  163. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.56.xml +9 -0
  164. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.57.xml +16 -0
  165. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.58.xml +9 -0
  166. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.59.xml +9 -0
  167. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.60.xml +9 -0
  168. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.61.xml +9 -0
  169. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.0.xml +13 -0
  170. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.1.xml +13 -0
  171. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.10.xml +13 -0
  172. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.2.xml +13 -0
  173. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.3.xml +13 -0
  174. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.4.xml +13 -0
  175. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.5.xml +13 -0
  176. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.6.xml +18 -0
  177. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.7.xml +13 -0
  178. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.8.xml +13 -0
  179. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.9.xml +13 -0
  180. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.51.xml +7 -0
  181. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.52.xml +7 -0
  182. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.53.xml +7 -0
  183. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.54.xml +7 -0
  184. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.55.xml +7 -0
  185. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.56.xml +7 -0
  186. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.57.xml +7 -0
  187. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.58.xml +7 -0
  188. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.59.xml +7 -0
  189. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.60.xml +7 -0
  190. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.61.xml +7 -0
  191. metadata +348 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cb69b7a18a9d452627f05a2c220023222134f2f4
4
- data.tar.gz: 105ff039f993bb29c25b88b581dba254761eeb36
3
+ metadata.gz: 82bc5a299bdff7a04904b481fc8e16c8677a1fbb
4
+ data.tar.gz: ab10dfa6c0da96f283181a0821aad4661e806150
5
5
  SHA512:
6
- metadata.gz: 6fc03e21d59ca92184b19445b31022b7a72434d0c03c6ca5a92bca3d564aa1eca2cf6fd25d1588de271f0b2d2f397ccc0af79715a7a6a9412d1d30292dbf49d0
7
- data.tar.gz: e5f9dfb8ea5818975779bfba3a0149e56d0c22f49f14ea8294f5ee6315ce8c2ea767226c89fca1e47f9bf47a41c3170904ffcddecb26964f2f2f61d1871563b3
6
+ metadata.gz: 4714bd1be5ac8468ae58d46db544b8ebca863e9b6960695f7562838ee927c9ca382eb0f4559d30d86fe8ad449f41c6d0466a1c9955d959945086ec2b66c653bb
7
+ data.tar.gz: 59ead749ca9db498cd0bd1d386d29d59afbe2f96268d4404a9bb6e9861525963a1bcb5bd28586f67471e8c21be8c5e8b9278a0f14caa160a0c6ba71f0f7a2d02
@@ -1,6 +1,12 @@
1
1
  OpenStudio Analysis Gem Change Log
2
2
  ==================================
3
3
 
4
+ Version 0.1.14
5
+ --------------
6
+
7
+ * Symbolize headers parsed from excel file.
8
+
9
+
4
10
  Version 0.1.12/13
5
11
  -------------
6
12
 
@@ -25,14 +25,15 @@ module OpenStudio
25
25
 
26
26
  # pass in the filename to read
27
27
  def initialize(xls_filename)
28
- @root_path = File.expand_path(File.dirname(xls_filename))
28
+ @xls_filename = xls_filename
29
+ @root_path = File.expand_path(File.dirname(@xls_filename))
29
30
 
30
31
  @xls = nil
31
32
  # try to read the spreadsheet as a roo object
32
- if File.exists?(xls_filename)
33
- @xls = Roo::Spreadsheet.open(xls_filename)
33
+ if File.exists?(@xls_filename)
34
+ @xls = Roo::Spreadsheet.open(@xls_filename)
34
35
  else
35
- raise "File #{xls_filename} does not exist"
36
+ raise "File #{@xls_filename} does not exist"
36
37
  end
37
38
 
38
39
  # Initialize some other instance variables
@@ -119,23 +120,28 @@ module OpenStudio
119
120
  raise "Variable #{measure['name']}:#{variable['name']} needs discrete values"
120
121
  end
121
122
  else
122
- if variable['distribution']['min'].nil? || variable['distribution']['min'] == ""
123
- raise "Variable #{measure['name']}:#{variable['name']} must have a minimum"
124
- end
125
- if variable['distribution']['max'].nil? || variable['distribution']['max'] == ""
126
- raise "Variable #{measure['name']}:#{variable['name']} must have a maximum"
127
- end
128
123
  if variable['distribution']['mean'].nil? || variable['distribution']['mean'] == ""
129
124
  raise "Variable #{measure['name']}:#{variable['name']} must have a mean"
130
125
  end
131
126
  if variable['distribution']['stddev'].nil? || variable['distribution']['stddev'] == ""
132
127
  raise "Variable #{measure['name']}:#{variable['name']} must have a stddev"
133
128
  end
134
- if variable['distribution']['min'] > variable['distribution']['max']
135
- raise "Variable min is greater than variable max for #{measure['name']}:#{variable['name']}"
136
- end
137
129
  end
138
130
 
131
+ if variable['distribution']['mean'].nil? || variable['distribution']['mean'] == ""
132
+ raise "Variable #{measure['name']}:#{variable['name']} must have a mean/mode"
133
+ end
134
+ if variable['distribution']['min'].nil? || variable['distribution']['min'] == ""
135
+ raise "Variable #{measure['name']}:#{variable['name']} must have a minimum"
136
+ end
137
+ if variable['distribution']['max'].nil? || variable['distribution']['max'] == ""
138
+ raise "Variable #{measure['name']}:#{variable['name']} must have a maximum"
139
+ end
140
+ if variable['distribution']['min'] > variable['distribution']['max']
141
+ raise "Variable min is greater than variable max for #{measure['name']}:#{variable['name']}"
142
+ end
143
+
144
+
139
145
  end
140
146
  elsif variable['method'] == 'pivot'
141
147
  # check something
@@ -319,7 +325,7 @@ module OpenStudio
319
325
  Dir.glob("#{@measure_path}/**/*.rb").each do |measure|
320
326
  next if measure.include?("spec") # don't include the spec folders nor files
321
327
  measure_name = measure.split(File::SEPARATOR).last(2).first
322
- #puts " Adding ./measures/#{measure_name}/#{File.basename(measure)}"
328
+ #puts " Adding ./measures/#{measure_name}/#{File.basename(measure)}"
323
329
  zipfile.add("./measures/#{measure_name}/#{File.basename(measure)}", measure)
324
330
  end
325
331
 
@@ -482,12 +488,88 @@ module OpenStudio
482
488
  # a higher level JSON file. The JSON file is historic and it should really
483
489
  # be omitted as an intermediate step
484
490
  def parse_variables()
485
- rows = @xls.sheet('Variables').parse()
486
491
 
487
- if !rows
488
- raise "Could not find the sheet name 'Variables' in excel file #{@root_path}"
492
+ # clean remove whitespace and unicode chars
493
+ # The parse is a unique format (https://github.com/Empact/roo/blob/master/lib/roo/base.rb#L444)
494
+ # If you add a new column and you want that variable in the hash, then you must add it here.
495
+ #rows = @xls.sheet('Variables').parse(:enabled => "# variable")
496
+ #puts rows.inspect
497
+ rows = nil
498
+ begin
499
+ if @version >= "0.1.12" # add delta x
500
+ rows = @xls.sheet('Variables').parse(:enabled => '# variable',
501
+ :measure_name_or_var_type => 'type',
502
+ :measure_file_name_or_var_display_name => 'parameter display name.*',
503
+ :measure_type_or_parameter_name_in_measure => 'parameter name in measure',
504
+ :sampling_method => 'sampling method',
505
+ :variable_type => 'Variable Type',
506
+ :units => 'units',
507
+ :default_value => 'static.default value',
508
+ :enums => 'enumerations',
509
+ :min => 'min',
510
+ :max => 'max',
511
+ :mode => 'mean|mode',
512
+ :stddev => 'std dev',
513
+ :delta_x => 'delta.x',
514
+ :discrete_values => 'discrete values',
515
+ :discrete_weights => 'discrete weights',
516
+ :distribution => 'distribution',
517
+ :source => 'data source',
518
+ :notes => 'notes',
519
+ :relation_to_eui => 'typical var to eui relationship',
520
+ :clean => true)
521
+ elsif @version >= "0.1.11" # add discrete variables
522
+ rows = @xls.sheet('Variables').parse(:enabled => '# variable',
523
+ :measure_name_or_var_type => 'type',
524
+ :measure_file_name_or_var_display_name => 'parameter display name.*',
525
+ :measure_type_or_parameter_name_in_measure => 'parameter name in measure',
526
+ :sampling_method => 'sampling method',
527
+ :variable_type => 'Variable Type',
528
+ :units => 'units',
529
+ :default_value => 'static.default value',
530
+ :enums => 'enumerations',
531
+ :min => 'min',
532
+ :max => 'max',
533
+ :mode => 'mean|mode',
534
+ :stddev => 'std dev',
535
+ #:delta_x => 'delta.x',
536
+ :discrete_values => 'discrete values',
537
+ :discrete_weights => 'discrete weights',
538
+ :distribution => 'distribution',
539
+ :source => 'data source',
540
+ :notes => 'notes',
541
+ :relation_to_eui => 'typical var to eui relationship',
542
+ :clean => true)
543
+ else
544
+ rows = @xls.sheet('Variables').parse(:enabled => '# variable',
545
+ :measure_name_or_var_type => 'type',
546
+ :measure_file_name_or_var_display_name => 'parameter display name.*',
547
+ :measure_type_or_parameter_name_in_measure => 'parameter name in measure',
548
+ :sampling_method => 'sampling method',
549
+ :variable_type => 'Variable Type',
550
+ :units => 'units',
551
+ :default_value => 'static.default value',
552
+ :enums => 'enumerations',
553
+ :min => 'min',
554
+ :max => 'max',
555
+ :mode => 'mean|mode',
556
+ :stddev => 'std dev',
557
+ #:delta_x => 'delta.x',
558
+ #:discrete_values => 'discrete values',
559
+ #:discrete_weights => 'discrete weights',
560
+ :distribution => 'distribution',
561
+ :source => 'data source',
562
+ :notes => 'notes',
563
+ :relation_to_eui => 'typical var to eui relationship',
564
+ :clean => true)
565
+ end
566
+ rescue Exception => e
567
+ raise "#{e.message} with Spreadsheet #{@xls_filename} with Version #{@version} "
489
568
  end
490
569
 
570
+ raise "Could not find the sheet name 'Variables' in excel file #{@root_path}" if !rows
571
+
572
+ # map the data to another hash that is more easily processed
491
573
  data = {}
492
574
  data['data'] = []
493
575
 
@@ -497,30 +579,30 @@ module OpenStudio
497
579
  measure_name = nil
498
580
  rows.each do |row|
499
581
  icnt += 1
500
- # puts "Parsing line: #{icnt}"
501
- next if icnt <= 3 # skip the first 3 lines of the file
582
+ next if icnt <= 1 # skip the first line after the header
583
+ #puts "Parsing line: #{icnt}:#{row}"
502
584
 
503
- # check if we are a measure
504
- if row[0].nil?
585
+ # check if we are a measure - nil means that the cell was blank
586
+ if row[:enabled].nil?
505
587
  unless measure_name.nil?
506
588
  variable_index += 1
507
589
 
508
590
  var = {}
509
- var['variable_type'] = row[1]
510
- var['display_name'] = row[2].strip
511
- var['machine_name'] = var['display_name'].downcase.strip.gsub("-", "_").gsub(" ", "_").strip
512
- var['name'] = row[3].strip
513
- var['index'] = variable_index #order of the variable (eventually use to force order of applying measures)
591
+ var['variable_type'] = row[:measure_name_or_var_type]
592
+ var['display_name'] = row[:measure_file_name_or_var_display_name]
593
+ var['machine_name'] = row[:measure_file_name_or_var_display_name].downcase.strip.gsub("-", "_").gsub(" ", "_").strip
594
+ var['name'] = row[:measure_type_or_parameter_name_in_measure]
595
+ var['index'] = variable_index #order of the variable (not sure of its need)
514
596
 
515
- var['method'] = row[4]
516
- var['type'] = row[5]
517
- var['units'] = row[6]
597
+ var['method'] = row[:sampling_method]
598
+ var['type'] = row[:variable_type] ? row[:variable_type].downcase : row[:variable_type]
599
+ var['units'] = row[:units]
518
600
 
519
601
  var['distribution'] = {}
520
602
 
521
603
  #parse the choices/enums
522
- if var['type'] == 'enum' || var['type'] == 'Choice' # this is now a choice
523
- var['distribution']['enumerations'] = row[8].gsub("|", "").split(",").map { |v| v.strip }
604
+ if var['type'] == 'enum' || var['type'] == 'choice' # this is now a choice
605
+ var['distribution']['enumerations'] = row[:enums].gsub("|", "").split(",").map { |v| v.strip }
524
606
  elsif var['type'] == 'bool'
525
607
  var['distribution']['enumerations'] = []
526
608
  var['distribution']['enumerations'] << 'true' #todo: should this be a real bool?
@@ -528,32 +610,20 @@ module OpenStudio
528
610
  end
529
611
 
530
612
  if var['method'] == 'lhs'
531
- var['distribution']['min'] = row[9]
532
- var['distribution']['max'] = row[10]
533
- var['distribution']['mean'] = row[11]
534
- var['distribution']['stddev'] = row[12]
535
-
536
- if @version >= "0.1.10"
537
- var['distribution']['discrete_values'] = row[13]
538
- var['distribution']['discrete_weights'] = row[14]
539
- var['distribution']['type'] = row[15]
540
- else
541
- var['distribution']['type'] = row[13]
542
- end
613
+ var['distribution']['min'] = row[:min]
614
+ var['distribution']['max'] = row[:max]
615
+ var['distribution']['mean'] = row[:mode]
616
+ var['distribution']['stddev'] = row[:stddev]
617
+ var['distribution']['discrete_values'] = row[:discrete_values]
618
+ var['distribution']['discrete_weights'] = row[:discrete_weights]
619
+ var['distribution']['type'] = row[:distribution]
543
620
  elsif var['method'] == 'static'
544
- var['distribution']['static_value'] = row[7]
621
+ var['distribution']['static_value'] = row[:default_value]
545
622
  end
546
623
 
547
- if @version >= "0.1.10"
548
- # new columns for discrete variables
549
- var['distribution']['source'] = row[16]
550
- var['notes'] = row[17]
551
- var['relation_to_eui'] = row[18]
552
- else
553
- var['distribution']['source'] = row[14]
554
- var['notes'] = row[15]
555
- var['relation_to_eui'] = row[16]
556
- end
624
+ var['distribution']['source'] = row[:source]
625
+ var['notes'] = row[:notes]
626
+ var['relation_to_eui'] = row[:relation_to_eui]
557
627
 
558
628
  data['data'][measure_index]['variables'] << var
559
629
  end
@@ -564,22 +634,21 @@ module OpenStudio
564
634
 
565
635
  #generate name id
566
636
  #todo: put this into a logger. puts "Parsing measure #{row[1]}"
567
- display_name = row[1].chomp.strip
637
+ display_name = row[:measure_name_or_var_type]
568
638
  measure_name = display_name.downcase.strip.gsub("-", "_").gsub(" ", "_")
569
639
  data['data'][measure_index]['display_name'] = display_name
570
640
  data['data'][measure_index]['name'] = measure_name
571
- data['data'][measure_index]['enabled'] = row[0] == "TRUE" ? true : false
572
- data['data'][measure_index]['measure_file_name'] = row[2]
573
- data['data'][measure_index]['measure_file_name_directory'] = row[2].underscore
574
- data['data'][measure_index]['measure_type'] = row[3]
575
-
641
+ data['data'][measure_index]['enabled'] = row[:enabled] == "TRUE" ? true : false
642
+ data['data'][measure_index]['measure_file_name'] = row[:measure_file_name_or_var_display_name]
643
+ data['data'][measure_index]['measure_file_name_directory'] = row[:measure_file_name_or_var_display_name].underscore
644
+ data['data'][measure_index]['measure_type'] = row[:measure_type_or_parameter_name_in_measure]
576
645
  data['data'][measure_index]['version'] = @version_id
577
646
 
578
647
  data['data'][measure_index]['variables'] = []
579
-
580
648
  end
581
649
  end
582
650
 
651
+ #puts data.inspect
583
652
  data
584
653
  end
585
654
 
@@ -595,6 +664,7 @@ module OpenStudio
595
664
 
596
665
  icnt = 0
597
666
  variable_index = -1
667
+ group_index = 1
598
668
  @algorithm['objective_functions'] = []
599
669
 
600
670
  rows.each do |row|
@@ -615,6 +685,13 @@ module OpenStudio
615
685
  var['objective_function_index'] = nil
616
686
  end
617
687
  var['objective_function_target'] = row[4]
688
+ var['scaling_factor'] = row[5]
689
+ if row[6].nil?
690
+ var['objective_function_group'] = group_index
691
+ group_index += 1
692
+ else
693
+ var['objective_function_group'] = row[6]
694
+ end
618
695
  data['output_variables'] << var
619
696
  end
620
697
 
@@ -1,5 +1,5 @@
1
1
  module OpenStudio
2
2
  module Analysis
3
- VERSION = "0.1.13"
3
+ VERSION = "0.1.14"
4
4
  end
5
5
  end
@@ -10,17 +10,29 @@
10
10
  "display_name": "<%= @variable['display_name'] %>",
11
11
  "machine_name": "<%= @variable['machine_name'] %>",
12
12
  "name": "<%= @variable['machine_name'] %>",
13
+ "minimum": <%= @variable['distribution']['min'] ? @variable['distribution']['min'].inspect : 'null' %>,
14
+ "maximum": <%= @variable['distribution']['max'] ? @variable['distribution']['max'].inspect : 'null' %>,
13
15
  "units": "<%= @variable['units'] %>",
14
16
  "value_type": "<%= @variable['type'] %>",
15
17
  "variable": true,
16
- "variable_ADDME": true,
17
18
  "relation_to_output": "<%= @variable['relation_to_eui'] %>",
18
19
  "uncertainty_description": {
19
20
  "attributes": [
20
21
  {
21
22
  "name": "discrete",
22
- "values_and_weights":
23
- <%= @values_and_weights %>
23
+ "values_and_weights": <%= @values_and_weights %>
24
+ },
25
+ {
26
+ "name": "lower_bounds",
27
+ "value": <%= @variable['distribution']['min'] %>
28
+ },
29
+ {
30
+ "name": "upper_bounds",
31
+ "value": <%= @variable['distribution']['max'] %>
32
+ },
33
+ {
34
+ "name": "modes",
35
+ "value": <%= @variable['distribution']['mean'] ? @variable['distribution']['mean'].inspect : 'null' %>
24
36
  }
25
37
  ],
26
38
  "type": "discrete_uncertain"
@@ -13,7 +13,6 @@
13
13
  "units": "<%= @variable['units'] %>",
14
14
  "value_type": "<%= @variable['type'] %>",
15
15
  "pivot": true,
16
- "pivot_ADDME": true,
17
16
  "relation_to_output": "<%= @variable['relation_to_eui'] %>",
18
17
  "uncertainty_description": {
19
18
  "attributes": [
@@ -12,11 +12,9 @@
12
12
  "units": "<%= @variable['units'] %>",
13
13
  "value_type": "<%= @variable['type'] %>",
14
14
  "static": true,
15
- "static_ADDME": true,
16
15
  "relation_to_output": "<%= @variable['relation_to_eui'] %>",
17
16
  "relation_to_output_ADDME": "<%= @variable['relation_to_eui'] %>",
18
17
  "static_value": <%= @variable['distribution']['static_value'].inspect %>,
19
- "static_value_ADDME": <%= @variable['distribution']['static_value'].inspect %>,
20
18
  "uuid": "<%= UUID.new.generate %>",
21
19
  "variable_type": "RubyContinuousVariable",
22
20
  "version_uuid": "<%= UUID.new.generate %>"
@@ -14,7 +14,6 @@
14
14
  "units": "<%= @variable['units'] %>",
15
15
  "value_type": "<%= @variable['type'] %>",
16
16
  "variable": true,
17
- "variable_ADDME": true,
18
17
  "relation_to_output": "<%= @variable['relation_to_eui'] %>",
19
18
  "uncertainty_description": {
20
19
  "attributes": [
@@ -33,6 +32,10 @@
33
32
  {
34
33
  "name": "stddev",
35
34
  "value": <%= @variable['distribution']['stddev'] %>
35
+ },
36
+ {
37
+ "name": "delta_x",
38
+ "value": <%= @variable['distribution']['delta_x'] ? @variable['distribution']['delta_x'].inspect : 'null' %>
36
39
  }
37
40
  ],
38
41
  "type": <%= @variable['distribution']['type'].inspect %>
@@ -0,0 +1,445 @@
1
+ {
2
+ "analysis": {
3
+ "display_name": "test_model",
4
+ "name": "test_model",
5
+ "output_variables": [
6
+ {
7
+ "display_name": "Total Natual Gas",
8
+ "name": "total_natural_gas",
9
+ "units": "MJ/m2",
10
+ "objective_function": true,
11
+ "objective_function_index": 0,
12
+ "objective_function_target": 330.7,
13
+ "scaling_factor": null,
14
+ "objective_function_group": 1
15
+ },
16
+ {
17
+ "display_name": "Total Electricity",
18
+ "name": "total_electricity",
19
+ "units": "MJ/m2",
20
+ "objective_function": true,
21
+ "objective_function_index": 1,
22
+ "objective_function_target": 496.5,
23
+ "scaling_factor": null,
24
+ "objective_function_group": 2
25
+ },
26
+ {
27
+ "display_name": "cooling_electricity_jan",
28
+ "name": "cooling_electricity_jan",
29
+ "units": "J",
30
+ "objective_function": true,
31
+ "objective_function_index": 2,
32
+ "objective_function_target": 63597914341.3388,
33
+ "scaling_factor": 46320380000.0,
34
+ "objective_function_group": 3
35
+ },
36
+ {
37
+ "display_name": "cooling_electricity_feb",
38
+ "name": "cooling_electricity_feb",
39
+ "units": "J",
40
+ "objective_function": true,
41
+ "objective_function_index": 3,
42
+ "objective_function_target": 58138465958.3439,
43
+ "scaling_factor": 46320380000.0,
44
+ "objective_function_group": 4
45
+ },
46
+ {
47
+ "display_name": "cooling_electricity_mar",
48
+ "name": "cooling_electricity_mar",
49
+ "units": "J",
50
+ "objective_function": true,
51
+ "objective_function_index": 4,
52
+ "objective_function_target": 301531761648.05,
53
+ "scaling_factor": 46320380000.0,
54
+ "objective_function_group": 5
55
+ },
56
+ {
57
+ "display_name": "cooling_electricity_apr",
58
+ "name": "cooling_electricity_apr",
59
+ "units": "J",
60
+ "objective_function": true,
61
+ "objective_function_index": 5,
62
+ "objective_function_target": 336163175378.778,
63
+ "scaling_factor": 46320380000.0,
64
+ "objective_function_group": 6
65
+ },
66
+ {
67
+ "display_name": "cooling_electricity_may",
68
+ "name": "cooling_electricity_may",
69
+ "units": "J",
70
+ "objective_function": true,
71
+ "objective_function_index": 6,
72
+ "objective_function_target": 1412749721236.32,
73
+ "scaling_factor": 46320380000.0,
74
+ "objective_function_group": 7
75
+ },
76
+ {
77
+ "display_name": "cooling_electricity_jun",
78
+ "name": "cooling_electricity_jun",
79
+ "units": "J",
80
+ "objective_function": true,
81
+ "objective_function_index": 7,
82
+ "objective_function_target": 2327741408781.58,
83
+ "scaling_factor": 46320380000.0,
84
+ "objective_function_group": 8
85
+ },
86
+ {
87
+ "display_name": "cooling_electricity_jul",
88
+ "name": "cooling_electricity_jul",
89
+ "units": "J",
90
+ "objective_function": true,
91
+ "objective_function_index": 8,
92
+ "objective_function_target": 2402590637505.39,
93
+ "scaling_factor": 46320380000.0,
94
+ "objective_function_group": 9
95
+ },
96
+ {
97
+ "display_name": "cooling_electricity_aug",
98
+ "name": "cooling_electricity_aug",
99
+ "units": "J",
100
+ "objective_function": true,
101
+ "objective_function_index": 9,
102
+ "objective_function_target": 2472656245279.37,
103
+ "scaling_factor": 46320380000.0,
104
+ "objective_function_group": 10
105
+ },
106
+ {
107
+ "display_name": "cooling_electricity_sep",
108
+ "name": "cooling_electricity_sep",
109
+ "units": "J",
110
+ "objective_function": true,
111
+ "objective_function_index": 10,
112
+ "objective_function_target": 1807432185051.14,
113
+ "scaling_factor": 46320380000.0,
114
+ "objective_function_group": 11
115
+ },
116
+ {
117
+ "display_name": "cooling_electricity_oct",
118
+ "name": "cooling_electricity_oct",
119
+ "units": "J",
120
+ "objective_function": true,
121
+ "objective_function_index": 11,
122
+ "objective_function_target": 619615878181.616,
123
+ "scaling_factor": 46320380000.0,
124
+ "objective_function_group": 12
125
+ },
126
+ {
127
+ "display_name": "cooling_electricity_nov",
128
+ "name": "cooling_electricity_nov",
129
+ "units": "J",
130
+ "objective_function": true,
131
+ "objective_function_index": 12,
132
+ "objective_function_target": 117109844324.095,
133
+ "scaling_factor": 46320380000.0,
134
+ "objective_function_group": 13
135
+ },
136
+ {
137
+ "display_name": "cooling_electricity_dec",
138
+ "name": "cooling_electricity_dec",
139
+ "units": "J",
140
+ "objective_function": true,
141
+ "objective_function_index": 13,
142
+ "objective_function_target": 103360013175.794,
143
+ "scaling_factor": 46320380000.0,
144
+ "objective_function_group": 14
145
+ },
146
+ {
147
+ "display_name": "heating_gas_jan",
148
+ "name": "heating_gas_jan",
149
+ "units": "J",
150
+ "objective_function": true,
151
+ "objective_function_index": 14,
152
+ "objective_function_target": 2799558466140.68,
153
+ "scaling_factor": 46320380000.0,
154
+ "objective_function_group": 15
155
+ },
156
+ {
157
+ "display_name": "heating_gas_feb",
158
+ "name": "heating_gas_feb",
159
+ "units": "J",
160
+ "objective_function": true,
161
+ "objective_function_index": 15,
162
+ "objective_function_target": 2663349812763.18,
163
+ "scaling_factor": 46320380000.0,
164
+ "objective_function_group": 16
165
+ },
166
+ {
167
+ "display_name": "heating_gas_mar",
168
+ "name": "heating_gas_mar",
169
+ "units": "J",
170
+ "objective_function": true,
171
+ "objective_function_index": 16,
172
+ "objective_function_target": 1576136833664.73,
173
+ "scaling_factor": 46320380000.0,
174
+ "objective_function_group": 17
175
+ },
176
+ {
177
+ "display_name": "heating_gas_apr",
178
+ "name": "heating_gas_apr",
179
+ "units": "J",
180
+ "objective_function": true,
181
+ "objective_function_index": 17,
182
+ "objective_function_target": 1752794439290.69,
183
+ "scaling_factor": 46320380000.0,
184
+ "objective_function_group": 18
185
+ },
186
+ {
187
+ "display_name": "heating_gas_may",
188
+ "name": "heating_gas_may",
189
+ "units": "J",
190
+ "objective_function": true,
191
+ "objective_function_index": 18,
192
+ "objective_function_target": 375145279804.892,
193
+ "scaling_factor": 46320380000.0,
194
+ "objective_function_group": 19
195
+ },
196
+ {
197
+ "display_name": "heating_gas_jun",
198
+ "name": "heating_gas_jun",
199
+ "units": "J",
200
+ "objective_function": true,
201
+ "objective_function_index": 19,
202
+ "objective_function_target": 32970706746.2053,
203
+ "scaling_factor": 46320380000.0,
204
+ "objective_function_group": 20
205
+ },
206
+ {
207
+ "display_name": "heating_gas_jul",
208
+ "name": "heating_gas_jul",
209
+ "units": "J",
210
+ "objective_function": true,
211
+ "objective_function_index": 20,
212
+ "objective_function_target": 50096876832.5083,
213
+ "scaling_factor": 46320380000.0,
214
+ "objective_function_group": 21
215
+ },
216
+ {
217
+ "display_name": "heating_gas_aug",
218
+ "name": "heating_gas_aug",
219
+ "units": "J",
220
+ "objective_function": true,
221
+ "objective_function_index": 21,
222
+ "objective_function_target": 32660740137.6019,
223
+ "scaling_factor": 46320380000.0,
224
+ "objective_function_group": 22
225
+ },
226
+ {
227
+ "display_name": "heating_gas_sep",
228
+ "name": "heating_gas_sep",
229
+ "units": "J",
230
+ "objective_function": true,
231
+ "objective_function_index": 22,
232
+ "objective_function_target": 144097879467.636,
233
+ "scaling_factor": 46320380000.0,
234
+ "objective_function_group": 23
235
+ },
236
+ {
237
+ "display_name": "heating_gas_oct",
238
+ "name": "heating_gas_oct",
239
+ "units": "J",
240
+ "objective_function": true,
241
+ "objective_function_index": 23,
242
+ "objective_function_target": 970975709027.067,
243
+ "scaling_factor": 46320380000.0,
244
+ "objective_function_group": 24
245
+ },
246
+ {
247
+ "display_name": "heating_gas_nov",
248
+ "name": "heating_gas_nov",
249
+ "units": "J",
250
+ "objective_function": true,
251
+ "objective_function_index": 24,
252
+ "objective_function_target": 2261115778226.24,
253
+ "scaling_factor": 46320380000.0,
254
+ "objective_function_group": 25
255
+ },
256
+ {
257
+ "display_name": "heating_gas_dec",
258
+ "name": "heating_gas_dec",
259
+ "units": "J",
260
+ "objective_function": true,
261
+ "objective_function_index": 25,
262
+ "objective_function_target": 2657735386128.84,
263
+ "scaling_factor": 46320380000.0,
264
+ "objective_function_group": 26
265
+ }
266
+ ],
267
+ "problem": {
268
+ "algorithm": {
269
+ "sample_method": "all_variables",
270
+ "number_of_samples": 4,
271
+ "epsilongradient": 0.01,
272
+ "pgtol": 0.0001,
273
+ "normtype": "minkowski",
274
+ "ppower": 1,
275
+ "objective_functions": [
276
+ "total_natural_gas",
277
+ "total_electricity",
278
+ "cooling_electricity_jan",
279
+ "cooling_electricity_feb",
280
+ "cooling_electricity_mar",
281
+ "cooling_electricity_apr",
282
+ "cooling_electricity_may",
283
+ "cooling_electricity_jun",
284
+ "cooling_electricity_jul",
285
+ "cooling_electricity_aug",
286
+ "cooling_electricity_sep",
287
+ "cooling_electricity_oct",
288
+ "cooling_electricity_nov",
289
+ "cooling_electricity_dec",
290
+ "heating_gas_jan",
291
+ "heating_gas_feb",
292
+ "heating_gas_mar",
293
+ "heating_gas_apr",
294
+ "heating_gas_may",
295
+ "heating_gas_jun",
296
+ "heating_gas_jul",
297
+ "heating_gas_aug",
298
+ "heating_gas_sep",
299
+ "heating_gas_oct",
300
+ "heating_gas_nov",
301
+ "heating_gas_dec"
302
+ ]
303
+ },
304
+ "name": "Problem",
305
+ "workflow": [
306
+ {
307
+ "arguments": [
308
+ {
309
+ "display_name": "Alter Design Day Thermostats?",
310
+ "machine_name": "alter_design_day_thermostats?",
311
+ "name": "alter_design_days",
312
+ "value": false,
313
+ "value_type": "bool",
314
+ "uuid": "d9b75270-a647-0131-d2b1-2820663576f4",
315
+ "version_uuid": "d9b75790-a647-0131-d2b2-2820663576f4"
316
+ }
317
+ ],
318
+ "bcl_measure_directory": "./measures/adjust_theromstat_setpoints_by_degrees",
319
+ "measure_definition_directory_CHANGE_TO_ME": "./measures/adjust_theromstat_setpoints_by_degrees",
320
+ "bcl_measure_class_name_ADDME": "AdjustTheromstatSetpointsByDegrees",
321
+ "measure_definition_class_name_CHANGE_TO_ME": "AdjustTheromstatSetpointsByDegrees",
322
+ "measure_definition_class_name": "AdjustTheromstatSetpointsByDegrees",
323
+ "bcl_measure_uuid": "d9b6b940-a647-0131-d2a3-2820663576f4",
324
+ "measure_definition_uuid_CHANGE_TO_ME": "d9b6eb70-a647-0131-d2a4-2820663576f4",
325
+ "bcl_measure_version_uuid": "d9b6f0d0-a647-0131-d2a5-2820663576f4",
326
+ "measure_definition_version_uuid_CHANGE_TO_ME": "d9b700a0-a647-0131-d2a6-2820663576f4",
327
+ "measure_type": "RubyMeasure",
328
+ "name": "adjust_thermostat_setpoints_by_degrees",
329
+ "display_name": "Adjust Thermostat Setpoints by Degrees",
330
+ "uuid": "d9b70610-a647-0131-d2a7-2820663576f4",
331
+ "variables": [
332
+ {
333
+ "argument": {
334
+ "display_name": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
335
+ "machine_name": "degrees_fahrenheit_to_adjust_cooling_setpoint_by.",
336
+ "name": "cooling_adjustment",
337
+ "required": false,
338
+ "uuid": "d9b719f0-a647-0131-d2a9-2820663576f4",
339
+ "version_uuid": "d9b71ef0-a647-0131-d2aa-2820663576f4"
340
+ },
341
+ "display_name": "Degrees Fahrenheit to Adjust Cooling Setpoint By.",
342
+ "machine_name": "degrees_fahrenheit_to_adjust_cooling_setpoint_by.",
343
+ "name": "degrees_fahrenheit_to_adjust_cooling_setpoint_by.",
344
+ "minimum": null,
345
+ "maximum": null,
346
+ "units": "",
347
+ "value_type": "double",
348
+ "variable": true,
349
+ "relation_to_output": "",
350
+ "uncertainty_description": {
351
+ "attributes": [
352
+ {
353
+ "name": "discrete",
354
+ "values_and_weights": [
355
+ {
356
+ "value": -2,
357
+ "weight": 0.33
358
+ },
359
+ {
360
+ "value": 0,
361
+ "weight": 0.33
362
+ },
363
+ {
364
+ "value": 2,
365
+ "weight": 0.33
366
+ }
367
+ ]
368
+ },
369
+ {
370
+ "name": "modes",
371
+ "value": 5.0
372
+ }
373
+ ],
374
+ "type": "discrete_uncertain"
375
+ },
376
+ "uuid": "d9b72430-a647-0131-d2ab-2820663576f4",
377
+ "variable_type": "RubyContinuousVariable",
378
+ "version_uuid": "d9b72980-a647-0131-d2ac-2820663576f4"
379
+ },
380
+ {
381
+ "argument": {
382
+ "display_name": "Degrees Fahrenheit to Adjust heating Setpoint By.",
383
+ "machine_name": "degrees_fahrenheit_to_adjust_heating_setpoint_by.",
384
+ "name": "heating_adjustment",
385
+ "required": false,
386
+ "uuid": "d9b736f0-a647-0131-d2ad-2820663576f4",
387
+ "version_uuid": "d9b73c20-a647-0131-d2ae-2820663576f4"
388
+ },
389
+ "display_name": "Degrees Fahrenheit to Adjust heating Setpoint By.",
390
+ "machine_name": "degrees_fahrenheit_to_adjust_heating_setpoint_by.",
391
+ "name": "degrees_fahrenheit_to_adjust_heating_setpoint_by.",
392
+ "minimum": null,
393
+ "maximum": null,
394
+ "units": "",
395
+ "value_type": "double",
396
+ "variable": true,
397
+ "relation_to_output": "",
398
+ "uncertainty_description": {
399
+ "attributes": [
400
+ {
401
+ "name": "discrete",
402
+ "values_and_weights": [
403
+ {
404
+ "value": -2,
405
+ "weight": 0.33
406
+ },
407
+ {
408
+ "value": 0,
409
+ "weight": 0.33
410
+ },
411
+ {
412
+ "value": 2,
413
+ "weight": 0.33
414
+ }
415
+ ]
416
+ },
417
+ {
418
+ "name": "modes",
419
+ "value": null
420
+ }
421
+ ],
422
+ "type": "discrete_uncertain"
423
+ },
424
+ "uuid": "d9b74160-a647-0131-d2af-2820663576f4",
425
+ "variable_type": "RubyContinuousVariable",
426
+ "version_uuid": "d9b74870-a647-0131-d2b0-2820663576f4"
427
+ }
428
+ ],
429
+ "version_uuid": "d9b70b40-a647-0131-d2a8-2820663576f4",
430
+ "workflow_index": 0,
431
+ "workflow_step_type": "Measure"
432
+ }
433
+ ],
434
+ "analysis_type": "lhs"
435
+ },
436
+ "seed": {
437
+ "file_type": "OSM",
438
+ "path": "./seed/small_seed.osm"
439
+ },
440
+ "weather_file": {
441
+ "file_type": "EPW",
442
+ "path": "./weather/partial_weather.epw"
443
+ }
444
+ }
445
+ }