honeybee-openstudio 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@
3
3
  "servers": [],
4
4
  "info": {
5
5
  "description": "This is the documentation for Honeybee energy simulation parameter schema.",
6
- "version": "1.27.1",
6
+ "version": "0.0.1",
7
7
  "title": "Honeybee Energy Simulation Parameter Schema",
8
8
  "contact": {
9
9
  "name": "Ladybug Tools",
@@ -44,6 +44,11 @@
44
44
  "x-displayName": "DesignDay",
45
45
  "description": "<SchemaDefinition schemaRef=\"#/components/schemas/DesignDay\" />\n"
46
46
  },
47
+ {
48
+ "name": "designdaytypes_model",
49
+ "x-displayName": "DesignDayTypes",
50
+ "description": "<SchemaDefinition schemaRef=\"#/components/schemas/DesignDayTypes\" />\n"
51
+ },
47
52
  {
48
53
  "name": "drybulbcondition_model",
49
54
  "x-displayName": "DryBulbCondition",
@@ -54,16 +59,41 @@
54
59
  "x-displayName": "HumidityCondition",
55
60
  "description": "<SchemaDefinition schemaRef=\"#/components/schemas/HumidityCondition\" />\n"
56
61
  },
62
+ {
63
+ "name": "humiditytypes_model",
64
+ "x-displayName": "HumidityTypes",
65
+ "description": "<SchemaDefinition schemaRef=\"#/components/schemas/HumidityTypes\" />\n"
66
+ },
57
67
  {
58
68
  "name": "runperiod_model",
59
69
  "x-displayName": "RunPeriod",
60
70
  "description": "<SchemaDefinition schemaRef=\"#/components/schemas/RunPeriod\" />\n"
61
71
  },
72
+ {
73
+ "name": "daysofweek_model",
74
+ "x-displayName": "DaysOfWeek",
75
+ "description": "<SchemaDefinition schemaRef=\"#/components/schemas/DaysOfWeek\" />\n"
76
+ },
62
77
  {
63
78
  "name": "shadowcalculation_model",
64
79
  "x-displayName": "ShadowCalculation",
65
80
  "description": "<SchemaDefinition schemaRef=\"#/components/schemas/ShadowCalculation\" />\n"
66
81
  },
82
+ {
83
+ "name": "solardistribution_model",
84
+ "x-displayName": "SolarDistribution",
85
+ "description": "<SchemaDefinition schemaRef=\"#/components/schemas/SolarDistribution\" />\n"
86
+ },
87
+ {
88
+ "name": "calculationmethod_model",
89
+ "x-displayName": "CalculationMethod",
90
+ "description": "<SchemaDefinition schemaRef=\"#/components/schemas/CalculationMethod\" />\n"
91
+ },
92
+ {
93
+ "name": "calculationupdatemethod_model",
94
+ "x-displayName": "CalculationUpdateMethod",
95
+ "description": "<SchemaDefinition schemaRef=\"#/components/schemas/CalculationUpdateMethod\" />\n"
96
+ },
67
97
  {
68
98
  "name": "simulationcontrol_model",
69
99
  "x-displayName": "SimulationControl",
@@ -74,11 +104,21 @@
74
104
  "x-displayName": "SimulationOutput",
75
105
  "description": "<SchemaDefinition schemaRef=\"#/components/schemas/SimulationOutput\" />\n"
76
106
  },
107
+ {
108
+ "name": "reportingfrequency_model",
109
+ "x-displayName": "ReportingFrequency",
110
+ "description": "<SchemaDefinition schemaRef=\"#/components/schemas/ReportingFrequency\" />\n"
111
+ },
77
112
  {
78
113
  "name": "simulationparameter_model",
79
114
  "x-displayName": "SimulationParameter",
80
115
  "description": "<SchemaDefinition schemaRef=\"#/components/schemas/SimulationParameter\" />\n"
81
116
  },
117
+ {
118
+ "name": "terriantypes_model",
119
+ "x-displayName": "TerrianTypes",
120
+ "description": "<SchemaDefinition schemaRef=\"#/components/schemas/TerrianTypes\" />\n"
121
+ },
82
122
  {
83
123
  "name": "sizingparameter_model",
84
124
  "x-displayName": "SizingParameter",
@@ -96,16 +136,24 @@
96
136
  "tags": [
97
137
  "ashraeclearsky_model",
98
138
  "ashraetau_model",
139
+ "calculationmethod_model",
140
+ "calculationupdatemethod_model",
99
141
  "daylightsavingtime_model",
142
+ "daysofweek_model",
100
143
  "designday_model",
144
+ "designdaytypes_model",
101
145
  "drybulbcondition_model",
102
146
  "humiditycondition_model",
147
+ "humiditytypes_model",
148
+ "reportingfrequency_model",
103
149
  "runperiod_model",
104
150
  "shadowcalculation_model",
105
151
  "simulationcontrol_model",
106
152
  "simulationoutput_model",
107
153
  "simulationparameter_model",
108
154
  "sizingparameter_model",
155
+ "solardistribution_model",
156
+ "terriantypes_model",
109
157
  "windcondition_model"
110
158
  ]
111
159
  }
@@ -126,15 +174,13 @@
126
174
  "readOnly": true
127
175
  },
128
176
  "reporting_frequency": {
177
+ "allOf": [
178
+ {
179
+ "$ref": "#/components/schemas/ReportingFrequency"
180
+ }
181
+ ],
129
182
  "title": "Reporting Frequency",
130
183
  "default": "Hourly",
131
- "enum": [
132
- "Timestep",
133
- "Hourly",
134
- "Daily",
135
- "Monthly",
136
- "Annual"
137
- ],
138
184
  "type": "string"
139
185
  },
140
186
  "include_sqlite": {
@@ -146,7 +192,7 @@
146
192
  "include_html": {
147
193
  "title": "Include Html",
148
194
  "description": "Boolean to note whether an HTML report should be requested from the simulation.",
149
- "default": false,
195
+ "default": true,
150
196
  "type": "boolean"
151
197
  },
152
198
  "outputs": {
@@ -256,18 +302,14 @@
256
302
  "maxItems": 2
257
303
  },
258
304
  "start_day_of_week": {
305
+ "allOf": [
306
+ {
307
+ "$ref": "#/components/schemas/DaysOfWeek"
308
+ }
309
+ ],
259
310
  "title": "Start Day Of Week",
260
311
  "description": "Text for the day of the week on which the simulation starts.",
261
312
  "default": "Sunday",
262
- "enum": [
263
- "Sunday",
264
- "Monday",
265
- "Tuesday",
266
- "Wednesday",
267
- "Thursday",
268
- "Friday",
269
- "Saturday"
270
- ],
271
313
  "type": "string"
272
314
  },
273
315
  "holidays": {
@@ -362,34 +404,45 @@
362
404
  "readOnly": true
363
405
  },
364
406
  "solar_distribution": {
407
+ "allOf": [
408
+ {
409
+ "$ref": "#/components/schemas/SolarDistribution"
410
+ }
411
+ ],
365
412
  "title": "Solar Distribution",
366
413
  "default": "FullExteriorWithReflections",
367
- "enum": [
368
- "MinimalShadowing",
369
- "FullExterior",
370
- "FullInteriorAndExterior",
371
- "FullExteriorWithReflections",
372
- "FullInteriorAndExteriorWithReflections"
414
+ "type": "string"
415
+ },
416
+ "calculation_method": {
417
+ "allOf": [
418
+ {
419
+ "$ref": "#/components/schemas/CalculationMethod"
420
+ }
373
421
  ],
422
+ "title": "Calculation Method",
423
+ "description": "Text noting whether CPU-based polygon clipping method orGPU-based pixel counting method should be used. For low numbers of shadingsurfaces (less than ~200), PolygonClipping requires less runtime thanPixelCounting. However, PixelCounting runtime scales significantlybetter at higher numbers of shading surfaces. PixelCounting also hasno limitations related to zone concavity when used with any\u201cFullInterior\u201d solar distribution options.",
424
+ "default": "PolygonClipping",
425
+ "type": "string"
426
+ },
427
+ "calculation_update_method": {
428
+ "allOf": [
429
+ {
430
+ "$ref": "#/components/schemas/CalculationUpdateMethod"
431
+ }
432
+ ],
433
+ "title": "Calculation Update Method",
434
+ "description": "Text describing how often the solar and shading calculations are updated with respect to the flow of time in the simulation.",
435
+ "default": "Periodic",
374
436
  "type": "string"
375
437
  },
376
438
  "calculation_frequency": {
377
439
  "title": "Calculation Frequency",
378
- "description": "Integer for the number of days in each period for which a unique shadow calculation will be performed. This field is only used if the AverageOverDaysInFrequency calculation_method is used.",
440
+ "description": "Integer for the number of days in each period for which a unique shadow calculation will be performed. This field is only used if the Periodic calculation_method is used.",
379
441
  "default": 30,
380
442
  "minimum": 1,
381
443
  "type": "integer",
382
444
  "format": "int32"
383
445
  },
384
- "calculation_method": {
385
- "title": "Calculation Method",
386
- "default": "AverageOverDaysInFrequency",
387
- "enum": [
388
- "AverageOverDaysInFrequency",
389
- "TimestepFrequency"
390
- ],
391
- "type": "string"
392
- },
393
446
  "maximum_figures": {
394
447
  "title": "Maximum Figures",
395
448
  "description": "Number of allowable figures in shadow overlap calculations.",
@@ -441,13 +494,12 @@
441
494
  "type": "object",
442
495
  "properties": {
443
496
  "humidity_type": {
444
- "title": "Humidity Type",
445
- "enum": [
446
- "Wetbulb",
447
- "Dewpoint",
448
- "HumidityRatio",
449
- "Enthalpy"
497
+ "allOf": [
498
+ {
499
+ "$ref": "#/components/schemas/HumidityTypes"
500
+ }
450
501
  ],
502
+ "title": "Humidity Type",
451
503
  "type": "string"
452
504
  },
453
505
  "humidity_value": {
@@ -544,7 +596,7 @@
544
596
  },
545
597
  "clearness": {
546
598
  "title": "Clearness",
547
- "description": "Value between 0 and 1.2 that will get multiplied by the irradinace to correct for factors like elevation above sea level.",
599
+ "description": "Value between 0 and 1.2 that will get multiplied by the irradiance to correct for factors like elevation above sea level.",
548
600
  "minimum": 0,
549
601
  "maximum": 1.2,
550
602
  "type": "number",
@@ -636,20 +688,12 @@
636
688
  "type": "string"
637
689
  },
638
690
  "day_type": {
639
- "title": "Day Type",
640
- "enum": [
641
- "SummerDesignDay",
642
- "WinterDesignDay",
643
- "Sunday",
644
- "Monday",
645
- "Tuesday",
646
- "Wednesday",
647
- "Thursday",
648
- "Friday",
649
- "Holiday",
650
- "CustomDay1",
651
- "CustomDay2"
691
+ "allOf": [
692
+ {
693
+ "$ref": "#/components/schemas/DesignDayTypes"
694
+ }
652
695
  ],
696
+ "title": "Day Type",
653
697
  "type": "string"
654
698
  },
655
699
  "dry_bulb_condition": {
@@ -823,20 +867,117 @@
823
867
  "format": "double"
824
868
  },
825
869
  "terrain_type": {
870
+ "allOf": [
871
+ {
872
+ "$ref": "#/components/schemas/TerrianTypes"
873
+ }
874
+ ],
826
875
  "title": "Terrain Type",
827
876
  "description": "Text for the terrain in which the model sits. This is used to determine the wind profile over the height of the rooms.",
828
877
  "default": "City",
829
- "enum": [
830
- "Ocean",
831
- "Country",
832
- "Suburbs",
833
- "Urban",
834
- "City"
835
- ],
836
878
  "type": "string"
837
879
  }
838
880
  },
839
881
  "additionalProperties": false
882
+ },
883
+ "DesignDayTypes": {
884
+ "title": "Day Type",
885
+ "enum": [
886
+ "SummerDesignDay",
887
+ "WinterDesignDay",
888
+ "Sunday",
889
+ "Monday",
890
+ "Tuesday",
891
+ "Wednesday",
892
+ "Thursday",
893
+ "Friday",
894
+ "Holiday",
895
+ "CustomDay1",
896
+ "CustomDay2"
897
+ ],
898
+ "type": "string"
899
+ },
900
+ "HumidityTypes": {
901
+ "title": "Humidity Type",
902
+ "enum": [
903
+ "Wetbulb",
904
+ "Dewpoint",
905
+ "HumidityRatio",
906
+ "Enthalpy"
907
+ ],
908
+ "type": "string"
909
+ },
910
+ "DaysOfWeek": {
911
+ "title": "Start Day Of Week",
912
+ "description": "Text for the day of the week on which the simulation starts.",
913
+ "default": "Sunday",
914
+ "enum": [
915
+ "Sunday",
916
+ "Monday",
917
+ "Tuesday",
918
+ "Wednesday",
919
+ "Thursday",
920
+ "Friday",
921
+ "Saturday"
922
+ ],
923
+ "type": "string"
924
+ },
925
+ "SolarDistribution": {
926
+ "title": "Solar Distribution",
927
+ "default": "FullExteriorWithReflections",
928
+ "enum": [
929
+ "MinimalShadowing",
930
+ "FullExterior",
931
+ "FullInteriorAndExterior",
932
+ "FullExteriorWithReflections",
933
+ "FullInteriorAndExteriorWithReflections"
934
+ ],
935
+ "type": "string"
936
+ },
937
+ "CalculationMethod": {
938
+ "title": "Calculation Method",
939
+ "description": "Text noting whether CPU-based polygon clipping method orGPU-based pixel counting method should be used. For low numbers of shadingsurfaces (less than ~200), PolygonClipping requires less runtime thanPixelCounting. However, PixelCounting runtime scales significantlybetter at higher numbers of shading surfaces. PixelCounting also hasno limitations related to zone concavity when used with any\u201cFullInterior\u201d solar distribution options.",
940
+ "default": "PolygonClipping",
941
+ "enum": [
942
+ "PolygonClipping",
943
+ "PixelCounting"
944
+ ],
945
+ "type": "string"
946
+ },
947
+ "CalculationUpdateMethod": {
948
+ "title": "Calculation Update Method",
949
+ "description": "Text describing how often the solar and shading calculations are updated with respect to the flow of time in the simulation.",
950
+ "default": "Periodic",
951
+ "enum": [
952
+ "Periodic",
953
+ "Timestep"
954
+ ],
955
+ "type": "string"
956
+ },
957
+ "ReportingFrequency": {
958
+ "title": "Reporting Frequency",
959
+ "default": "Hourly",
960
+ "enum": [
961
+ "Timestep",
962
+ "Hourly",
963
+ "Daily",
964
+ "Monthly",
965
+ "Annual"
966
+ ],
967
+ "type": "string"
968
+ },
969
+ "TerrianTypes": {
970
+ "title": "Terrain Type",
971
+ "description": "Text for the terrain in which the model sits. This is used to determine the wind profile over the height of the rooms.",
972
+ "default": "City",
973
+ "enum": [
974
+ "Ocean",
975
+ "Country",
976
+ "Suburbs",
977
+ "Urban",
978
+ "City"
979
+ ],
980
+ "type": "string"
840
981
  }
841
982
  }
842
983
  }
@@ -147,6 +147,18 @@ module FromHoneybee
147
147
 
148
148
  # set defaults for the Model's ShadowCalculation object
149
149
  os_shadow_calc = @openstudio_model.getShadowCalculation
150
+ begin
151
+ os_shadow_calc.setShadingCalculationMethod(
152
+ shdw_defaults[:calculation_method][:default])
153
+ rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
154
+ os_shadow_calc.setCalculationMethod(
155
+ shdw_defaults[:calculation_method][:default])
156
+ end
157
+ begin
158
+ os_shadow_calc.setShadingCalculationUpdateFrequencyMethod(
159
+ shdw_defaults[:calculation_update_method][:default])
160
+ rescue # REMOVE: Once the upgrade to OpenStudio 3.0 is official
161
+ end
150
162
  begin
151
163
  os_shadow_calc.setShadingCalculationUpdateFrequency(
152
164
  shdw_defaults[:calculation_frequency][:default])
@@ -156,16 +168,25 @@ module FromHoneybee
156
168
  end
157
169
  os_shadow_calc.setMaximumFiguresInShadowOverlapCalculations(
158
170
  shdw_defaults[:maximum_figures][:default])
159
- begin
160
- os_shadow_calc.setShadingCalculationMethod(
161
- shdw_defaults[:calculation_method][:default])
162
- rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
163
- os_shadow_calc.setCalculationMethod(
164
- shdw_defaults[:calculation_method][:default])
165
- end
166
171
 
167
172
  # override any ShadowCalculation defaults with lodaded JSON
168
173
  if @hash[:shadow_calculation]
174
+ if @hash[:shadow_calculation][:calculation_method]
175
+ begin
176
+ os_shadow_calc.setShadingCalculationMethod(
177
+ @hash[:shadow_calculation][:calculation_method])
178
+ rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
179
+ os_shadow_calc.setCalculationMethod(
180
+ @hash[:shadow_calculation][:calculation_method])
181
+ end
182
+ end
183
+ if @hash[:shadow_calculation][:calculation_update_method]
184
+ begin
185
+ os_shadow_calc.setShadingCalculationUpdateFrequencyMethod(
186
+ @hash[:shadow_calculation][:calculation_update_method])
187
+ rescue # REMOVE: Once the upgrade to OpenStudio 3.0 is official
188
+ end
189
+ end
169
190
  if @hash[:shadow_calculation][:calculation_frequency]
170
191
  begin
171
192
  os_shadow_calc.setShadingCalculationUpdateFrequency(
@@ -176,19 +197,12 @@ module FromHoneybee
176
197
  end
177
198
  end
178
199
  if @hash[:shadow_calculation][:maximum_figures]
179
- os_shadow_calc.setMaximumFiguresInShadowOverlapCalculations(@hash[:shadow_calculation][:maximum_figures])
180
- end
181
- if @hash[:shadow_calculation][:calculation_method]
182
- begin
183
- os_shadow_calc.setShadingCalculationMethod(
184
- @hash[:shadow_calculation][:calculation_method])
185
- rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
186
- os_shadow_calc.setCalculationMethod(
187
- @hash[:shadow_calculation][:calculation_method])
188
- end
200
+ os_shadow_calc.setMaximumFiguresInShadowOverlapCalculations(
201
+ @hash[:shadow_calculation][:maximum_figures])
189
202
  end
190
203
  if @hash[:shadow_calculation][:solar_distribution]
191
- os_sim_control.setSolarDistribution(@hash[:shadow_calculation][:solar_distribution])
204
+ os_sim_control.setSolarDistribution(
205
+ @hash[:shadow_calculation][:solar_distribution])
192
206
  end
193
207
  end
194
208