honeybee-openstudio 1.8.2 → 2.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +13 -11
- data/Gemfile +1 -1
- data/README.md +2 -2
- data/honeybee-openstudio.gemspec +6 -7
- data/lib/files/urbanopt_Gemfile +1 -1
- data/lib/from_honeybee.rb +0 -1
- data/lib/from_honeybee/_openapi/model.json +666 -101
- data/lib/from_honeybee/_openapi/simulation-parameter.json +202 -61
- data/lib/from_honeybee/schedule/ruleset.rb +15 -11
- data/lib/from_honeybee/simulation/parameter.rb +51 -12
- metadata +13 -15
- data/lib/from_honeybee/version.rb +0 -34
@@ -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": "
|
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":
|
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
|
-
"
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
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
|
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
|
-
"
|
445
|
-
|
446
|
-
|
447
|
-
|
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
|
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
|
-
"
|
640
|
-
|
641
|
-
|
642
|
-
|
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
|
}
|
@@ -58,10 +58,23 @@ module FromHoneybee
|
|
58
58
|
os_sch_ruleset = OpenStudio::Model::ScheduleRuleset.new(openstudio_model)
|
59
59
|
os_sch_ruleset.setName(@hash[:identifier])
|
60
60
|
|
61
|
+
# assign schedule type limit
|
62
|
+
sch_type_limit_obj = nil
|
63
|
+
if @hash[:schedule_type_limit]
|
64
|
+
schedule_type_limit = openstudio_model.getScheduleTypeLimitsByName(@hash[:schedule_type_limit])
|
65
|
+
unless schedule_type_limit.empty?
|
66
|
+
sch_type_limit_obj = schedule_type_limit.get
|
67
|
+
os_sch_ruleset.setScheduleTypeLimits(sch_type_limit_obj)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
61
71
|
# loop through day schedules and create openstudio schedule day object
|
62
72
|
@hash[:day_schedules].each do |day_schedule|
|
63
73
|
day_schedule_new = OpenStudio::Model::ScheduleDay.new(openstudio_model)
|
64
74
|
day_schedule_new.setName(day_schedule[:identifier])
|
75
|
+
unless sch_type_limit_obj.nil?
|
76
|
+
day_schedule_new.setScheduleTypeLimits(sch_type_limit_obj)
|
77
|
+
end
|
65
78
|
values_day_new = day_schedule[:values]
|
66
79
|
times_day_new = day_schedule[:times]
|
67
80
|
times_day_new.delete_at(0) # Remove [0, 0] from array at index 0.
|
@@ -78,8 +91,8 @@ module FromHoneybee
|
|
78
91
|
unless holiday_schedule.empty?
|
79
92
|
holiday_schedule_object = holiday_schedule.get
|
80
93
|
begin
|
81
|
-
os_sch_ruleset.setHolidaySchedule(holiday_schedule_object)
|
82
|
-
rescue NoMethodError
|
94
|
+
os_sch_ruleset.setHolidaySchedule(holiday_schedule_object)
|
95
|
+
rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
83
96
|
end
|
84
97
|
end
|
85
98
|
end
|
@@ -112,15 +125,6 @@ module FromHoneybee
|
|
112
125
|
os_sch_ruleset.defaultDaySchedule.addValue(times[i], values[i])
|
113
126
|
end
|
114
127
|
end
|
115
|
-
|
116
|
-
# assign schedule type limit
|
117
|
-
if @hash[:schedule_type_limit]
|
118
|
-
schedule_type_limit = openstudio_model.getScheduleTypeLimitsByName(@hash[:schedule_type_limit])
|
119
|
-
unless schedule_type_limit.empty?
|
120
|
-
schedule_type_limit_object = schedule_type_limit.get
|
121
|
-
os_sch_ruleset.setScheduleTypeLimits(schedule_type_limit_object)
|
122
|
-
end
|
123
|
-
end
|
124
128
|
|
125
129
|
# assign schedule rules
|
126
130
|
if @hash[:schedule_rules]
|
@@ -147,23 +147,62 @@ module FromHoneybee
|
|
147
147
|
|
148
148
|
# set defaults for the Model's ShadowCalculation object
|
149
149
|
os_shadow_calc = @openstudio_model.getShadowCalculation
|
150
|
-
|
151
|
-
|
152
|
-
|
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
|
162
|
+
begin
|
163
|
+
os_shadow_calc.setShadingCalculationUpdateFrequency(
|
164
|
+
shdw_defaults[:calculation_frequency][:default])
|
165
|
+
rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
166
|
+
os_shadow_calc.setCalculationFrequency(
|
167
|
+
shdw_defaults[:calculation_frequency][:default])
|
168
|
+
end
|
169
|
+
os_shadow_calc.setMaximumFiguresInShadowOverlapCalculations(
|
170
|
+
shdw_defaults[:maximum_figures][:default])
|
153
171
|
|
154
172
|
# override any ShadowCalculation defaults with lodaded JSON
|
155
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
|
156
190
|
if @hash[:shadow_calculation][:calculation_frequency]
|
157
|
-
|
191
|
+
begin
|
192
|
+
os_shadow_calc.setShadingCalculationUpdateFrequency(
|
193
|
+
@hash[:shadow_calculation][:calculation_frequency])
|
194
|
+
rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
195
|
+
os_shadow_calc.setCalculationFrequency(
|
196
|
+
@hash[:shadow_calculation][:calculation_frequency])
|
197
|
+
end
|
158
198
|
end
|
159
199
|
if @hash[:shadow_calculation][:maximum_figures]
|
160
|
-
os_shadow_calc.setMaximumFiguresInShadowOverlapCalculations(
|
161
|
-
|
162
|
-
if @hash[:shadow_calculation][:calculation_method]
|
163
|
-
os_shadow_calc.setCalculationMethod(@hash[:shadow_calculation][:calculation_method])
|
200
|
+
os_shadow_calc.setMaximumFiguresInShadowOverlapCalculations(
|
201
|
+
@hash[:shadow_calculation][:maximum_figures])
|
164
202
|
end
|
165
203
|
if @hash[:shadow_calculation][:solar_distribution]
|
166
|
-
os_sim_control.setSolarDistribution(
|
204
|
+
os_sim_control.setSolarDistribution(
|
205
|
+
@hash[:shadow_calculation][:solar_distribution])
|
167
206
|
end
|
168
207
|
end
|
169
208
|
|
@@ -203,13 +242,13 @@ module FromHoneybee
|
|
203
242
|
end
|
204
243
|
if @hash[:output][:summary_reports]
|
205
244
|
begin
|
206
|
-
os_report =
|
207
|
-
rescue
|
245
|
+
os_report = @openstudio_model.getOutputTableSummaryReports
|
246
|
+
rescue # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
208
247
|
end
|
209
248
|
@hash[:output][:summary_reports].each do |report|
|
210
249
|
begin
|
211
250
|
os_report.addSummaryReport(report)
|
212
|
-
rescue NoMethodError
|
251
|
+
rescue NoMethodError # REMOVE: Once the upgrade to OpenStudio 3.0 is official
|
213
252
|
end
|
214
253
|
end
|
215
254
|
end
|