openstudio-analysis 0.3.6 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/README.md +2 -4
  4. data/Rakefile +9 -38
  5. data/lib/openstudio-analysis.rb +6 -4
  6. data/lib/openstudio/analysis/server_api.rb +8 -9
  7. data/lib/openstudio/analysis/translator/excel.rb +114 -14
  8. data/lib/openstudio/analysis/version.rb +1 -1
  9. data/lib/openstudio/templates/discrete_uncertain_variable.json.erb +2 -2
  10. data/lib/openstudio/templates/pivot_variable.json.erb +2 -2
  11. data/lib/openstudio/templates/uncertain_variable.json.erb +2 -2
  12. data/lib/openstudio/templates/workflow_item.json.erb +4 -4
  13. data/spec/files/0_1_09_small_list_incomplete.xlsx +0 -0
  14. data/spec/files/0_3_5_multiple_measure_paths.xlsx +0 -0
  15. data/spec/files/0_3_7_unique_measure_names.xlsx +0 -0
  16. data/spec/files/0_3_7_worker_init_final.xlsx +0 -0
  17. data/spec/files/analysis/medium_office.json +88 -88
  18. data/spec/files/analysis/medium_office.zip +0 -0
  19. data/spec/files/export/analysis/0_1_09_outputvars.json +38 -38
  20. data/spec/files/export/analysis/0_1_09_outputvars.zip +0 -0
  21. data/spec/files/export/analysis/0_1_11_discrete_variables.json +40 -40
  22. data/spec/files/export/analysis/0_1_11_discrete_variables.zip +0 -0
  23. data/spec/files/export/analysis/0_1_12_discrete_dynamic_columns.json +8 -8
  24. data/spec/files/export/analysis/0_1_12_discrete_dynamic_columns.zip +0 -0
  25. data/spec/files/export/analysis/0_2_0_template_simpletest.json +12 -12
  26. data/spec/files/export/analysis/0_2_0_template_simpletest.zip +0 -0
  27. data/spec/files/export/analysis/0_3_0_outputs.json +6 -6
  28. data/spec/files/export/analysis/0_3_0_outputs.zip +0 -0
  29. data/spec/files/export/analysis/{aaef4bf0-2fc0-0132-c71b-14109fdf0b37.json → 10c791ce-cba7-4506-a863-3fb15703889b.json} +6 -6
  30. data/spec/files/export/analysis/{aaef4bf0-2fc0-0132-c71b-14109fdf0b37.zip → 10c791ce-cba7-4506-a863-3fb15703889b.zip} +0 -0
  31. data/spec/files/export/analysis/{abce96f0-2fc0-0132-c72d-14109fdf0b37.json → 55086845-70cf-487f-87f6-7a147cbf1e72.json} +14 -14
  32. data/spec/files/export/analysis/{abce96f0-2fc0-0132-c72d-14109fdf0b37.zip → 55086845-70cf-487f-87f6-7a147cbf1e72.zip} +0 -0
  33. data/spec/files/export/analysis/{ab594800-2fc0-0132-c722-14109fdf0b37.json → 6d6a08db-fdf8-4bb5-8ad3-18c471418c72.json} +10 -10
  34. data/spec/files/export/analysis/{ab594800-2fc0-0132-c722-14109fdf0b37.zip → 6d6a08db-fdf8-4bb5-8ad3-18c471418c72.zip} +0 -0
  35. data/spec/files/export/analysis/f028bfbe-e30e-488d-adad-a60a62bbf7e0.json +1443 -0
  36. data/spec/files/export/analysis/f028bfbe-e30e-488d-adad-a60a62bbf7e0.zip +0 -0
  37. data/spec/files/export/analysis/small_seed.json +38 -38
  38. data/spec/files/export/analysis/small_seed.zip +0 -0
  39. data/spec/files/worker_init/first_file.rb +15 -0
  40. data/spec/files/worker_init/second_file.rb +15 -0
  41. data/spec/openstudio/excel_spec.rb +55 -3
  42. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.xml +2 -6
  43. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.xml +2 -6
  44. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.xml +1 -5
  45. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.xml +3 -5
  46. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.xml +3 -5
  47. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.xml +6 -10
  48. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.xml +2 -6
  49. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.xml +2 -6
  50. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.xml +8 -10
  51. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.xml +5 -9
  52. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.xml +2 -6
  53. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.xml +2 -6
  54. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.xml +5 -7
  55. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.xml +2 -6
  56. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.xml +3 -5
  57. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.xml +5 -7
  58. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.xml +5 -7
  59. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.xml +4 -6
  60. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.xml +3 -5
  61. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.xml +5 -7
  62. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.xml +4 -6
  63. data/spec/reports/{SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.12.xml → SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-5-and-measure-paths.xml} +4 -6
  64. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-7-and-worker-init-final-scripts.0.xml +5 -0
  65. data/spec/reports/{SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.14.xml → SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-7-and-worker-init-final-scripts.xml} +4 -6
  66. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.xml +1 -5
  67. metadata +32 -494
  68. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.0.xml +0 -9
  69. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.1.xml +0 -9
  70. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.2.xml +0 -9
  71. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.3.xml +0 -9
  72. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.4.xml +0 -9
  73. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.5.xml +0 -9
  74. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.6.xml +0 -9
  75. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.7.xml +0 -9
  76. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.8.xml +0 -9
  77. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-create-a-new-object-instance.9.xml +0 -9
  78. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.0.xml +0 -9
  79. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.1.xml +0 -9
  80. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.2.xml +0 -9
  81. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.3.xml +0 -9
  82. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.4.xml +0 -9
  83. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.5.xml +0 -9
  84. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.6.xml +0 -9
  85. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.7.xml +0 -9
  86. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.8.xml +0 -9
  87. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi-test-not-localhost.9.xml +0 -9
  88. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.0.xml +0 -7
  89. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.1.xml +0 -7
  90. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.2.xml +0 -7
  91. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.3.xml +0 -7
  92. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.4.xml +0 -7
  93. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.5.xml +0 -7
  94. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.6.xml +0 -7
  95. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.7.xml +0 -7
  96. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.8.xml +0 -7
  97. data/spec/reports/SPEC-OpenStudio-Analysis-ServerApi.9.xml +0 -7
  98. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.0.xml +0 -15
  99. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.1.xml +0 -15
  100. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.2.xml +0 -15
  101. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.3.xml +0 -15
  102. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.4.xml +0 -15
  103. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.5.xml +0 -15
  104. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.6.xml +0 -15
  105. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.7.xml +0 -15
  106. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.8.xml +0 -15
  107. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-variables.9.xml +0 -15
  108. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.0.xml +0 -13
  109. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.1.xml +0 -13
  110. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.2.xml +0 -13
  111. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.3.xml +0 -13
  112. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.4.xml +0 -13
  113. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.5.xml +0 -13
  114. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.6.xml +0 -13
  115. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.7.xml +0 -13
  116. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.8.xml +0 -13
  117. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-discrete-with-dynamic-columns.9.xml +0 -13
  118. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.0.xml +0 -18
  119. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.1.xml +0 -18
  120. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.10.xml +0 -16
  121. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.2.xml +0 -18
  122. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.3.xml +0 -18
  123. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.4.xml +0 -18
  124. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.5.xml +0 -18
  125. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.6.xml +0 -46
  126. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.7.xml +0 -46
  127. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.8.xml +0 -37
  128. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-no-variables-defined.9.xml +0 -16
  129. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.0.xml +0 -9
  130. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.1.xml +0 -9
  131. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.2.xml +0 -9
  132. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.3.xml +0 -9
  133. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.4.xml +0 -9
  134. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.5.xml +0 -9
  135. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.6.xml +0 -9
  136. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.7.xml +0 -9
  137. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.8.xml +0 -9
  138. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup-with-user.9.xml +0 -9
  139. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.0.xml +0 -9
  140. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.1.xml +0 -9
  141. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.2.xml +0 -9
  142. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.3.xml +0 -9
  143. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.4.xml +0 -9
  144. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.5.xml +0 -9
  145. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.6.xml +0 -9
  146. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.7.xml +0 -9
  147. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.8.xml +0 -9
  148. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-proxy-setup.9.xml +0 -9
  149. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.0.xml +0 -25
  150. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.1.xml +0 -25
  151. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.2.xml +0 -25
  152. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.3.xml +0 -25
  153. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.4.xml +0 -25
  154. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.5.xml +0 -25
  155. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.6.xml +0 -25
  156. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.7.xml +0 -25
  157. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.8.xml +0 -25
  158. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-output-variables.9.xml +0 -25
  159. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.0.xml +0 -15
  160. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.1.xml +0 -15
  161. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.2.xml +0 -15
  162. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.3.xml +0 -15
  163. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.4.xml +0 -15
  164. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.5.xml +0 -15
  165. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.6.xml +0 -15
  166. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.7.xml +0 -15
  167. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.8.xml +0 -15
  168. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-setup-version-0-1-9.9.xml +0 -15
  169. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.0.xml +0 -9
  170. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.1.xml +0 -9
  171. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.10.xml +0 -9
  172. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.2.xml +0 -9
  173. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.3.xml +0 -9
  174. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.4.xml +0 -9
  175. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.5.xml +0 -9
  176. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.6.xml +0 -9
  177. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.7.xml +0 -9
  178. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.8.xml +0 -9
  179. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-incomplete-variables.9.xml +0 -9
  180. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.0.xml +0 -9
  181. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.1.xml +0 -9
  182. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.10.xml +0 -9
  183. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.2.xml +0 -9
  184. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.3.xml +0 -9
  185. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.4.xml +0 -9
  186. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.5.xml +0 -9
  187. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.6.xml +0 -9
  188. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.7.xml +0 -9
  189. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.8.xml +0 -9
  190. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables-should-not-validate.9.xml +0 -9
  191. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.0.xml +0 -19
  192. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.1.xml +0 -19
  193. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.10.xml +0 -19
  194. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.2.xml +0 -19
  195. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.3.xml +0 -7
  196. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.4.xml +0 -19
  197. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.5.xml +0 -19
  198. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.6.xml +0 -19
  199. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.7.xml +0 -19
  200. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.8.xml +0 -19
  201. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-of-variables.9.xml +0 -19
  202. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.0.xml +0 -9
  203. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.1.xml +0 -9
  204. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.10.xml +0 -9
  205. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.2.xml +0 -9
  206. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.3.xml +0 -9
  207. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.4.xml +0 -9
  208. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.5.xml +0 -9
  209. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.6.xml +0 -9
  210. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.7.xml +0 -9
  211. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.8.xml +0 -9
  212. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-small-list-with-with-repeated-variable-names.9.xml +0 -9
  213. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.0.xml +0 -13
  214. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.1.xml +0 -13
  215. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.2.xml +0 -13
  216. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.3.xml +0 -13
  217. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.4.xml +0 -13
  218. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.5.xml +0 -13
  219. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.6.xml +0 -13
  220. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.7.xml +0 -13
  221. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.8.xml +0 -13
  222. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-1-10.9.xml +0 -13
  223. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.0.xml +0 -20
  224. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.1.xml +0 -20
  225. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.2.xml +0 -20
  226. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.3.xml +0 -20
  227. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.4.xml +0 -20
  228. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.5.xml +0 -20
  229. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.6.xml +0 -20
  230. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.7.xml +0 -20
  231. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.8.xml +0 -20
  232. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0-simple.9.xml +0 -20
  233. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.0.xml +0 -20
  234. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.1.xml +0 -20
  235. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.2.xml +0 -20
  236. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.3.xml +0 -20
  237. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.4.xml +0 -20
  238. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.5.xml +0 -20
  239. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.6.xml +0 -20
  240. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.7.xml +0 -20
  241. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.8.xml +0 -20
  242. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-2-0.9.xml +0 -20
  243. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.0.xml +0 -13
  244. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.1.xml +0 -13
  245. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.2.xml +0 -13
  246. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.3.xml +0 -13
  247. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.4.xml +0 -13
  248. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.5.xml +0 -13
  249. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.6.xml +0 -13
  250. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.7.xml +0 -13
  251. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.8.xml +0 -13
  252. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-dynamic-uuid-assignments.9.xml +0 -13
  253. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.0.xml +0 -12
  254. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.1.xml +0 -12
  255. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.2.xml +0 -12
  256. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.3.xml +0 -12
  257. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.4.xml +0 -12
  258. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.5.xml +0 -12
  259. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.6.xml +0 -12
  260. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.7.xml +0 -12
  261. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.8.xml +0 -12
  262. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-measure-existence-checks.9.xml +0 -12
  263. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.0.xml +0 -19
  264. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.1.xml +0 -19
  265. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.2.xml +0 -19
  266. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.3.xml +0 -19
  267. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.4.xml +0 -19
  268. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.5.xml +0 -19
  269. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.6.xml +0 -19
  270. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.7.xml +0 -19
  271. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.8.xml +0 -19
  272. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-0-objective-functions.9.xml +0 -19
  273. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.0.xml +0 -14
  274. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.1.xml +0 -14
  275. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.10.xml +0 -15
  276. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.11.xml +0 -14
  277. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.13.xml +0 -14
  278. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.15.xml +0 -14
  279. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.16.xml +0 -15
  280. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.2.xml +0 -14
  281. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.3.xml +0 -14
  282. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.4.xml +0 -16
  283. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.5.xml +0 -14
  284. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.6.xml +0 -24
  285. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.7.xml +0 -14
  286. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.8.xml +0 -15
  287. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel-version-0-3-3-and-short-display-names.9.xml +0 -14
  288. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.0.xml +0 -7
  289. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.1.xml +0 -7
  290. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.10.xml +0 -7
  291. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.2.xml +0 -7
  292. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.3.xml +0 -7
  293. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.4.xml +0 -7
  294. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.5.xml +0 -7
  295. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.6.xml +0 -7
  296. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.7.xml +0 -7
  297. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.8.xml +0 -7
  298. data/spec/reports/SPEC-OpenStudio-Analysis-Translator-Excel.9.xml +0 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 35555c57a9856bcb1f7fb5f0a6595e4399bd022a
4
- data.tar.gz: 790e9b5480f83fdee93a117d42dcdb98fc8574a9
3
+ metadata.gz: 9d66a0d90f0f410e7db18fbdc523c191991d5d20
4
+ data.tar.gz: da6f448c4902518e932ad8a17dd183be1d6ff8d7
5
5
  SHA512:
6
- metadata.gz: 3d806c1ef888b34e21b20d412dcd314a11c0a2a009cce212a2fdae2e1deffc5e4931202e504a14f212f2e52c8ae4590994da34f5786d0a046f79b7b0e256ae6a
7
- data.tar.gz: efaa94dab1049e80d0d42a66125e30851b851a0481dc69dfac9a089195adbd643998e11e2652e584145c253382ab6764f6af60e985160ab8cf6b89a9c99f9eb9
6
+ metadata.gz: d5440d40d0d9bcaf5d0d07e4f8a88471df0d8063b88c2fd2da335b5d48fd3900fe39c72045b398d8929f594ee5fb40fb3038c96bb9896bfef83e0c55f8c489cb
7
+ data.tar.gz: 22f2c7ab4cc3bae5e0bccda01921f95c22c7ee3b6bd221e0e75950cc79b760e5ccda9aaf1d660c6d5a249f16fbaf159c3c04e76cbc2fd43285d114353ad871b4
@@ -1,6 +1,11 @@
1
1
  OpenStudio Analysis Gem Change Log
2
2
  ==================================
3
3
 
4
+ Version 0.3.7 (Unreleased)
5
+ -------------
6
+ * Worker initilization and finalization scripts
7
+ * Do not allow the file to proccess if the Measure Display Names are not unique
8
+
4
9
  Version 0.3.6
5
10
  -------------
6
11
  * Allow multiple measure paths. Will search by order for the measure.
data/README.md CHANGED
@@ -4,7 +4,7 @@ OpenStudio Analysis Gem
4
4
 
5
5
  The OpenStudio Analysis Gem is used to communicate files to the OpenStudio Distributed Analysis.
6
6
 
7
- The purpose of this gem is to generate the analysis.json file, analysis.zip, and communicate with the server to upload
7
+ The purpose of this gem is to generate the analysis.json file, analysis.zip, and communicate with the server to upload
8
8
  the simulations.
9
9
 
10
10
  The gem does not create the cluster. Currently the only supported Cloud platform is
@@ -16,6 +16,4 @@ Instructions
16
16
  Testing
17
17
  -------
18
18
 
19
- This gem used RSpec for testing. To test simple run `rspec` at the command line.
20
-
21
-
19
+ This gem used RSpec for testing. To test simply run `rspec` at the command line.
data/Rakefile CHANGED
@@ -1,54 +1,25 @@
1
1
  require 'bundler'
2
2
  Bundler.setup
3
3
 
4
- require 'rake'
5
4
  require 'rspec/core/rake_task'
6
5
 
7
- $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
8
- require 'openstudio/analysis/version'
6
+ # Always create spec reports
7
+ require 'ci/reporter/rake/rspec'
9
8
 
10
- task gem: :build
11
- desc 'build gem locally'
12
- task :build do
13
- system 'gem build openstudio-analysis.gemspec'
14
- end
15
-
16
- desc 'build and install gem locally'
17
- task install: :build do
18
- system "gem install openstudio-analysis-#{OpenStudio::Analysis::VERSION}.gem --no-ri --no-rdoc"
19
- end
20
-
21
- desc 'release gem (this builds, pushes to rubygems, and tags in github'
22
- task release: :build do
23
- # add catch if there are local changes not committed to crash
24
- system "git tag -a v#{OpenStudio::Analysis::VERSION} -m 'Tagging #{OpenStudio::Analysis::VERSION}'"
25
- system 'git push --tags'
26
- system "gem push openstudio-analysis-#{OpenStudio::Analysis::VERSION}.gem"
27
- system "rm openstudio-analysis-#{OpenStudio::Analysis::VERSION}.gem"
28
- end
9
+ # Gem tasks
10
+ require 'bundler/gem_tasks'
29
11
 
30
12
  RSpec::Core::RakeTask.new('spec:unit') do |spec|
31
- spec.rspec_opts = %w(--format progress --format CI::Reporter::RSpec)
13
+ spec.rspec_opts = %w(--format progress)
32
14
  spec.pattern = FileList['spec/openstudio/**/*_spec.rb']
33
15
  end
34
16
 
35
17
  RSpec::Core::RakeTask.new('spec:integration') do |spec|
36
- spec.rspec_opts = %w(--format progress --format CI::Reporter::RSpec)
18
+ spec.rspec_opts = %w(--format progress)
37
19
  spec.pattern = FileList['spec/integration/**/*_spec.rb']
38
20
  end
39
21
 
40
- task default: 'spec:unit'
41
-
42
- desc 'import files from other repos'
43
- task :import_files do
44
- # tbd
45
- end
46
-
47
- desc 'uninstall all openstudio-analysis gems'
48
- task :uninstall do
22
+ task 'spec:unit' => 'ci:setup:rspec'
23
+ task 'spec:integration' => 'ci:setup:rspec'
49
24
 
50
- system 'gem uninstall openstudio-analysis -a'
51
- end
52
-
53
- desc 'reinstall the gem (uninstall, build, and reinstall'
54
- task reinstall: [:uninstall, :install]
25
+ task default: 'spec:unit'
@@ -1,14 +1,16 @@
1
+ # Ruby libraries to include
1
2
  require 'json'
3
+ require 'securerandom'
4
+ require 'logger'
5
+ require 'pathname'
6
+
7
+ # gems to always include
2
8
  require 'faraday'
3
- require 'uuid'
4
9
  require 'roo'
5
10
  require 'erb'
6
11
  require 'zip'
7
12
  require 'semantic'
8
13
  require 'semantic/core_ext'
9
- require 'logger'
10
- require 'pp'
11
- require 'pathname'
12
14
 
13
15
  # core
14
16
  require 'openstudio/analysis/server_api'
@@ -269,7 +269,7 @@ module OpenStudio
269
269
  file_path_and_name = nil
270
270
 
271
271
  response = @conn.get do |r|
272
- r.url '/admin/backup_database?full_backup=true'
272
+ r.url '/admin/backup_database?full_backup=true'
273
273
  r.options.timeout = 3600 # 60 minutes
274
274
  end
275
275
 
@@ -379,20 +379,20 @@ module OpenStudio
379
379
  analysis_id = nil
380
380
  if formulation_json
381
381
  if options[:reset_uuids]
382
- analysis_id = UUID.new.generate
382
+ analysis_id = SecureRandom.uuid
383
383
  formulation_json[:analysis][:uuid] = analysis_id
384
384
 
385
385
  formulation_json[:analysis][:problem][:workflow].each do |wf|
386
- wf[:uuid] = UUID.new.generate
386
+ wf[:uuid] = SecureRandom.uuid
387
387
  if wf[:arguments]
388
388
  wf[:arguments].each do |arg|
389
- arg[:uuid] = UUID.new.generate
389
+ arg[:uuid] = SecureRandom.uuid
390
390
  end
391
391
  end
392
392
  if wf[:variables]
393
393
  wf[:variables].each do |var|
394
- var[:uuid] = UUID.new.generate
395
- var[:argument][:uuid] = UUID.new.generate if var[:argument]
394
+ var[:uuid] = SecureRandom.uuid
395
+ var[:argument][:uuid] = SecureRandom.uuid if var[:argument]
396
396
  end
397
397
  end
398
398
  end
@@ -407,7 +407,7 @@ module OpenStudio
407
407
  analysis: options
408
408
  }
409
409
  puts formulation_json
410
- analysis_id = UUID.new.generate
410
+ analysis_id = SecureRandom.uuid
411
411
  formulation_json[:analysis][:uuid] = analysis_id
412
412
  end
413
413
  fail "No analysis id defined in analyis.json #{options[:formulation_file]}" if analysis_id.nil?
@@ -440,7 +440,6 @@ module OpenStudio
440
440
  req.options[:timeout] = 1800 # seconds
441
441
  end
442
442
 
443
-
444
443
  if response.status == 201
445
444
  puts 'Successfully uploaded ZIP file'
446
445
  else
@@ -463,7 +462,7 @@ module OpenStudio
463
462
 
464
463
  if options[:reset_uuids]
465
464
  dp_hash[:analysis_uuid] = analysis_id
466
- dp_hash[:uuid] = UUID.new.generate
465
+ dp_hash[:uuid] = SecureRandom.uuid
467
466
  end
468
467
 
469
468
  # merge in the analysis_id as it has to be what is in the database
@@ -9,6 +9,8 @@ module OpenStudio
9
9
  attr_reader :models
10
10
  attr_reader :weather_files
11
11
  attr_reader :measure_paths
12
+ attr_reader :worker_inits
13
+ attr_reader :worker_finals
12
14
  attr_reader :export_path
13
15
  attr_reader :cluster_name
14
16
  attr_reader :variables
@@ -46,6 +48,8 @@ module OpenStudio
46
48
  @weather_files = []
47
49
  @models = []
48
50
  @other_files = []
51
+ @worker_inits = []
52
+ @worker_finals = []
49
53
  @export_path = './export'
50
54
  @measure_paths = []
51
55
  @number_of_samples = 0 # todo: remove this
@@ -98,7 +102,6 @@ module OpenStudio
98
102
  fail "Measures directory '#{mp}' does not exist" unless Dir.exist?(mp)
99
103
  end
100
104
 
101
-
102
105
  @models.uniq!
103
106
  fail 'No seed models defined in spreadsheet' if @models.empty?
104
107
 
@@ -114,12 +117,28 @@ module OpenStudio
114
117
  end
115
118
 
116
119
  # This can be a directory as well
117
- @other_files.each do |of|
118
- fail "Other files do not exist for: #{of[:path]}" unless File.exist?(of[:path])
120
+ @other_files.each do |f|
121
+ fail "Other files do not exist for: #{f[:path]}" unless File.exist?(f[:path])
122
+ end
123
+
124
+ @worker_inits.each do |f|
125
+ fail "Worker initialization file does not exist for: #{f[:path]}" unless File.exist?(f[:path])
126
+ end
127
+
128
+ @worker_finals.each do |f|
129
+ fail "Worker finalization file does not exist for: #{f[:path]}" unless File.exist?(f[:path])
119
130
  end
120
131
 
121
132
  FileUtils.mkdir_p(@export_path)
122
133
 
134
+ # verify that the measure display names are unique
135
+ # puts @variables.inspect
136
+ measure_display_names = @variables['data'].map { |m| m['enabled'] ? m['display_name'] : nil }.compact
137
+ measure_display_names_mult = measure_display_names.select { |m| measure_display_names.count(m) > 1 }.uniq
138
+ if measure_display_names_mult && !measure_display_names_mult.empty?
139
+ fail "Measure Display Names are not unique for '#{measure_display_names_mult.join('\', \'')}'"
140
+ end
141
+
123
142
  # verify that all continuous variables have all the data needed and create a name maps
124
143
  variable_names = []
125
144
  @variables['data'].each do |measure|
@@ -349,9 +368,9 @@ module OpenStudio
349
368
  # Package up the seed, weather files, and measures
350
369
  def save_analysis_zip(model)
351
370
  def add_directory_to_zip(zipfile, local_directory, relative_zip_directory)
352
- # pp "Add Directory #{local_directory}"
371
+ # puts "Add Directory #{local_directory}"
353
372
  Dir[File.join("#{local_directory}", '**', '**')].each do |file|
354
- # pp "Adding File #{file}"
373
+ # puts "Adding File #{file}"
355
374
  zipfile.add(file.sub(local_directory, relative_zip_directory), file)
356
375
  end
357
376
  zipfile
@@ -371,7 +390,7 @@ module OpenStudio
371
390
 
372
391
  # Convert this into a hash which looks like {name: measure_name}. This will allow us to add more
373
392
  # fields to the measure, such as which directory is the measure.
374
- required_measures = required_measures.map { |value| {name: value} }
393
+ required_measures = required_measures.map { |value| { name: value } }
375
394
 
376
395
  # first validate that all the measures exist
377
396
  errors = []
@@ -408,10 +427,10 @@ module OpenStudio
408
427
  if File.basename(file) == 'resources' || File.basename(file) == 'lib'
409
428
  add_directory_to_zip(zipfile, file, "./measures/#{measure[:name]}/#{File.basename(file)}")
410
429
  else
411
- # pp "Skipping Directory #{File.basename(file)}"
430
+ # puts "Skipping Directory #{File.basename(file)}"
412
431
  end
413
432
  else
414
- # pp "Adding File #{file}"
433
+ # puts "Adding File #{file}"
415
434
  # added_measures << measure_dir unless added_measures.include? measure_dir
416
435
  zipfile.add(file.sub(measure_dir_to_add, "./measures/#{measure[:name]}/"), file)
417
436
  end
@@ -427,6 +446,34 @@ module OpenStudio
427
446
  zipfile.add(file.sub(others[:path], "./lib/#{others[:lib_zip_name]}/"), file)
428
447
  end
429
448
  end
449
+
450
+ # puts "Adding in Worker initialize scripts #{@worker_inits}"
451
+ @worker_inits.each_with_index do |f, index|
452
+ # this is ordered
453
+ f[:ordered_file_name] = "#{index.to_s.rjust(2, '0')}_#{File.basename(f[:path])}"
454
+ f[:index] = index
455
+
456
+ zipfile.add(f[:path].sub(f[:path], "./lib/worker_initialize/#{f[:ordered_file_name]}"), f[:path])
457
+ arg_file = "#{File.basename(f[:ordered_file_name], '.*')}.args"
458
+ file = Tempfile.new('arg')
459
+ file.write(f[:args])
460
+ zipfile.add("./lib/worker_initialize/#{arg_file}", file)
461
+ file.close
462
+ end
463
+
464
+ # puts "Adding in Worker finalize scripts #{@worker_finals}"
465
+ @worker_finals.each_with_index do |f, index|
466
+ # this is ordered
467
+ f[:ordered_file_name] = "#{index.to_s.rjust(2, '0')}_#{File.basename(f[:path])}"
468
+ f[:index] = index
469
+
470
+ zipfile.add(f[:path].sub(f[:path], "./lib/worker_finalize/#{f[:ordered_file_name]}"), f[:path])
471
+ arg_file = "#{File.basename(f[:ordered_file_name], '.*')}.args"
472
+ file = Tempfile.new('arg')
473
+ file.write(f[:args])
474
+ zipfile.add("./lib/worker_finalize/#{arg_file}", file)
475
+ file.close
476
+ end
430
477
  end
431
478
  end
432
479
 
@@ -474,6 +521,8 @@ module OpenStudio
474
521
  b_weather_files = false
475
522
  b_models = false
476
523
  b_other_libs = false
524
+ b_worker_init = false
525
+ b_worker_final = false
477
526
 
478
527
  rows.each do |row|
479
528
  if row[0] == 'Settings'
@@ -484,6 +533,8 @@ module OpenStudio
484
533
  b_weather_files = false
485
534
  b_models = false
486
535
  b_other_libs = false
536
+ b_worker_init = false
537
+ b_worker_final = false
487
538
  next
488
539
  elsif row[0] == 'Running Setup'
489
540
  b_settings = false
@@ -493,6 +544,8 @@ module OpenStudio
493
544
  b_weather_files = false
494
545
  b_models = false
495
546
  b_other_libs = false
547
+ b_worker_init = false
548
+ b_worker_final = false
496
549
  next
497
550
  elsif row[0] == 'Problem Definition'
498
551
  b_settings = false
@@ -502,6 +555,8 @@ module OpenStudio
502
555
  b_weather_files = false
503
556
  b_models = false
504
557
  b_other_libs = false
558
+ b_worker_init = false
559
+ b_worker_final = false
505
560
  next
506
561
  elsif row[0] == 'Algorithm Setup'
507
562
  b_settings = false
@@ -511,6 +566,8 @@ module OpenStudio
511
566
  b_weather_files = false
512
567
  b_models = false
513
568
  b_other_libs = false
569
+ b_worker_init = false
570
+ b_worker_final = false
514
571
  next
515
572
  elsif row[0] == 'Weather Files'
516
573
  b_settings = false
@@ -520,6 +577,8 @@ module OpenStudio
520
577
  b_weather_files = true
521
578
  b_models = false
522
579
  b_other_libs = false
580
+ b_worker_init = false
581
+ b_worker_final = false
523
582
  next
524
583
  elsif row[0] == 'Models'
525
584
  b_settings = false
@@ -529,6 +588,8 @@ module OpenStudio
529
588
  b_weather_files = false
530
589
  b_models = true
531
590
  b_other_libs = false
591
+ b_worker_init = false
592
+ b_worker_final = false
532
593
  next
533
594
  elsif row[0] == 'Other Library Files'
534
595
  b_settings = false
@@ -538,6 +599,30 @@ module OpenStudio
538
599
  b_weather_files = false
539
600
  b_models = false
540
601
  b_other_libs = true
602
+ b_worker_init = false
603
+ b_worker_final = false
604
+ next
605
+ elsif row[0] =~ /Worker Initialization Scripts/
606
+ b_settings = false
607
+ b_run_setup = false
608
+ b_problem_setup = false
609
+ b_algorithm_setup = false
610
+ b_weather_files = false
611
+ b_models = false
612
+ b_other_libs = false
613
+ b_worker_init = true
614
+ b_worker_final = false
615
+ next
616
+ elsif row[0] =~ /Worker Finalization Scripts/
617
+ b_settings = false
618
+ b_run_setup = false
619
+ b_problem_setup = false
620
+ b_algorithm_setup = false
621
+ b_weather_files = false
622
+ b_models = false
623
+ b_other_libs = false
624
+ b_worker_init = false
625
+ b_worker_final = true
541
626
  next
542
627
  end
543
628
 
@@ -555,13 +640,12 @@ module OpenStudio
555
640
  # type some of the values that we know
556
641
  @settings['proxy_port'] = @settings['proxy_port'].to_i if @settings['proxy_port']
557
642
 
558
-
559
643
  elsif b_run_setup
560
644
  if row[0] == 'Analysis Name'
561
645
  if row[1]
562
646
  @name = row[1]
563
647
  else
564
- @name = UUID.new.generate
648
+ @name = SecureRandom.uuid
565
649
  end
566
650
  @analysis_name = @name.snake_case
567
651
  end
@@ -611,7 +695,7 @@ module OpenStudio
611
695
  if row[1]
612
696
  tmp_m_name = row[1]
613
697
  else
614
- tmp_m_name = UUID.new.generate
698
+ tmp_m_name = SecureRandom.uuid
615
699
  end
616
700
  # Only add models if the row is flagged
617
701
  if row[0] && row[0].downcase == 'model'
@@ -629,7 +713,23 @@ module OpenStudio
629
713
  end
630
714
 
631
715
  @other_files << { lib_zip_name: row[1], path: other_path }
716
+ elsif b_worker_init
717
+ worker_init_path = row[1]
718
+ unless (Pathname.new worker_init_path).absolute?
719
+ worker_init_path = File.expand_path(File.join(@root_path, worker_init_path))
720
+ end
721
+
722
+ @worker_inits << { name: row[0], path: worker_init_path, args: row[2] }
723
+ elsif b_worker_final
724
+ worker_final_path = row[1]
725
+ unless (Pathname.new worker_final_path).absolute?
726
+ worker_final_path = File.expand_path(File.join(@root_path, worker_final_path))
727
+ end
728
+
729
+ @worker_finals << { name: row[0], path: worker_final_path, args: row[2] }
632
730
  end
731
+
732
+ next
633
733
  end
634
734
 
635
735
  # do some last checks
@@ -639,7 +739,7 @@ module OpenStudio
639
739
  # parse_variables will parse the XLS spreadsheet and save the data into
640
740
  # a higher level JSON file. The JSON file is historic and it should really
641
741
  # be omitted as an intermediate step
642
- def parse_variables
742
+ def parse_variables
643
743
  # clean remove whitespace and unicode chars
644
744
  # The parse is a unique format (https://github.com/Empact/roo/blob/master/lib/roo/base.rb#L444)
645
745
  # If you add a new column and you want that variable in the hash, then you must add it here.
@@ -818,7 +918,7 @@ module OpenStudio
818
918
 
819
919
  # parse the choices/enums
820
920
  if var['type'] == 'enum' || var['type'] == 'choice' # this is now a choice
821
- var['distribution']['enumerations'] = row[:enums].gsub('|', '').split(',').map { |v| v.strip }
921
+ var['distribution']['enumerations'] = row[:enums].gsub('|', '').split(',').map(&:strip)
822
922
  elsif var['type'] == 'bool'
823
923
  var['distribution']['enumerations'] = []
824
924
  var['distribution']['enumerations'] << 'true' # TODO: should this be a real bool?
@@ -848,7 +948,7 @@ module OpenStudio
848
948
  # generate name id
849
949
  # TODO: put this into a logger. puts "Parsing measure #{row[1]}"
850
950
  display_name = row[:measure_name_or_var_type]
851
- measure_name = display_name.downcase.strip.gsub('-', '_').gsub(' ', '_')
951
+ measure_name = display_name.downcase.strip.gsub('-', '_').gsub(' ', '_').gsub('__', '_')
852
952
  data['data'][measure_index]['display_name'] = display_name
853
953
  data['data'][measure_index]['name'] = measure_name
854
954
  data['data'][measure_index]['enabled'] = row[:enabled] == 'TRUE' ? true : false