honeybee-schema 1.59.1__py3-none-any.whl
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.
- honeybee_schema/__init__.py +1 -0
- honeybee_schema/__main__.py +4 -0
- honeybee_schema/_base.py +42 -0
- honeybee_schema/altnumber.py +18 -0
- honeybee_schema/boundarycondition.py +81 -0
- honeybee_schema/cli.py +115 -0
- honeybee_schema/comparison.py +208 -0
- honeybee_schema/doe2/__init__.py +0 -0
- honeybee_schema/doe2/properties.py +75 -0
- honeybee_schema/energy/__init__.py +0 -0
- honeybee_schema/energy/_base.py +64 -0
- honeybee_schema/energy/construction.py +324 -0
- honeybee_schema/energy/constructionset.py +359 -0
- honeybee_schema/energy/daylight.py +62 -0
- honeybee_schema/energy/designday.py +212 -0
- honeybee_schema/energy/generator.py +140 -0
- honeybee_schema/energy/global_constructionset.py +129 -0
- honeybee_schema/energy/hvac/__init__.py +0 -0
- honeybee_schema/energy/hvac/_template.py +38 -0
- honeybee_schema/energy/hvac/allair.py +257 -0
- honeybee_schema/energy/hvac/detailed.py +20 -0
- honeybee_schema/energy/hvac/doas.py +248 -0
- honeybee_schema/energy/hvac/heatcool.py +309 -0
- honeybee_schema/energy/hvac/idealair.py +107 -0
- honeybee_schema/energy/internalmass.py +25 -0
- honeybee_schema/energy/load.py +627 -0
- honeybee_schema/energy/material.py +949 -0
- honeybee_schema/energy/programtype.py +117 -0
- honeybee_schema/energy/properties.py +382 -0
- honeybee_schema/energy/schedule.py +350 -0
- honeybee_schema/energy/shw.py +53 -0
- honeybee_schema/energy/simulation.py +440 -0
- honeybee_schema/energy/ventcool.py +337 -0
- honeybee_schema/geometry.py +161 -0
- honeybee_schema/model.py +473 -0
- honeybee_schema/projectinfo.py +94 -0
- honeybee_schema/radiance/__init__.py +0 -0
- honeybee_schema/radiance/_base.py +22 -0
- honeybee_schema/radiance/asset.py +191 -0
- honeybee_schema/radiance/global_modifierset.py +92 -0
- honeybee_schema/radiance/modifier.py +373 -0
- honeybee_schema/radiance/modifierset.py +296 -0
- honeybee_schema/radiance/properties.py +149 -0
- honeybee_schema/radiance/state.py +69 -0
- honeybee_schema/updater/__init__.py +0 -0
- honeybee_schema/updater/version_1_39_12.py +14 -0
- honeybee_schema/updater/version_1_40_1.py +153 -0
- honeybee_schema/updater/version_1_43_1.py +18 -0
- honeybee_schema/updater/version_1_43_2.py +12 -0
- honeybee_schema/updater/version_1_43_5.py +11 -0
- honeybee_schema/validation.py +205 -0
- honeybee_schema-1.59.1.dist-info/METADATA +108 -0
- honeybee_schema-1.59.1.dist-info/RECORD +57 -0
- honeybee_schema-1.59.1.dist-info/WHEEL +5 -0
- honeybee_schema-1.59.1.dist-info/entry_points.txt +2 -0
- honeybee_schema-1.59.1.dist-info/licenses/LICENSE +23 -0
- honeybee_schema-1.59.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,296 @@
|
|
1
|
+
"""ModifierSet Schema"""
|
2
|
+
from pydantic import Field, constr
|
3
|
+
from .._base import NoExtraBaseModel
|
4
|
+
from ._base import IDdRadianceBaseModel
|
5
|
+
from .modifier import _REFERENCE_UNION_MODIFIERS
|
6
|
+
|
7
|
+
|
8
|
+
class BaseModifierSetAbridged(NoExtraBaseModel):
|
9
|
+
"""Base class for the abridged modifier sets assigned to Faces."""
|
10
|
+
|
11
|
+
exterior_modifier: str = Field(
|
12
|
+
default=None,
|
13
|
+
description='Identifier for a radiance modifier object for faces with an '
|
14
|
+
' Outdoors boundary condition.'
|
15
|
+
)
|
16
|
+
|
17
|
+
interior_modifier: str = Field(
|
18
|
+
default=None,
|
19
|
+
description='Identifier for a radiance modifier object for faces with a '
|
20
|
+
'boundary condition other than Outdoors.'
|
21
|
+
)
|
22
|
+
|
23
|
+
|
24
|
+
class WallModifierSetAbridged(BaseModifierSetAbridged):
|
25
|
+
"""Abridged set containing radiance modifiers needed for a model's Walls."""
|
26
|
+
|
27
|
+
type: constr(regex='^WallModifierSetAbridged$') = 'WallModifierSetAbridged'
|
28
|
+
|
29
|
+
|
30
|
+
class FloorModifierSetAbridged(BaseModifierSetAbridged):
|
31
|
+
"""Abridged set containing radiance modifiers needed for a model's Floors."""
|
32
|
+
|
33
|
+
type: constr(regex='^FloorModifierSetAbridged$') = 'FloorModifierSetAbridged'
|
34
|
+
|
35
|
+
|
36
|
+
class RoofCeilingModifierSetAbridged(BaseModifierSetAbridged):
|
37
|
+
"""Abridged set containing radiance modifiers needed for a model's Roofs."""
|
38
|
+
|
39
|
+
type: constr(regex='^RoofCeilingModifierSetAbridged$') = \
|
40
|
+
'RoofCeilingModifierSetAbridged'
|
41
|
+
|
42
|
+
|
43
|
+
class ShadeModifierSetAbridged(BaseModifierSetAbridged):
|
44
|
+
"""Abridged set containing radiance modifiers needed for a model's Shade."""
|
45
|
+
|
46
|
+
type: constr(regex='^ShadeModifierSetAbridged$') = 'ShadeModifierSetAbridged'
|
47
|
+
|
48
|
+
|
49
|
+
class ApertureModifierSetAbridged(NoExtraBaseModel):
|
50
|
+
"""Abridged set containing radiance modifiers needed for a model's Apertures."""
|
51
|
+
|
52
|
+
type: constr(regex='^ApertureModifierSetAbridged$') = 'ApertureModifierSetAbridged'
|
53
|
+
|
54
|
+
window_modifier: str = Field(
|
55
|
+
default=None,
|
56
|
+
description='Identifier of modifier object for apertures with an Outdoors '
|
57
|
+
'boundary condition, False is_operable property, '
|
58
|
+
'and Wall parent Face.'
|
59
|
+
)
|
60
|
+
|
61
|
+
interior_modifier: str = Field(
|
62
|
+
default=None,
|
63
|
+
description='Identifier of modifier object for apertures with a Surface '
|
64
|
+
'boundary condition.'
|
65
|
+
)
|
66
|
+
|
67
|
+
skylight_modifier: str = Field(
|
68
|
+
default=None,
|
69
|
+
description='Identifier of modifier object for apertures with an Outdoors '
|
70
|
+
'boundary condition, False is_operable property, and a '
|
71
|
+
'RoofCeiling or Floor face type for their parent face.'
|
72
|
+
)
|
73
|
+
|
74
|
+
operable_modifier: str = Field(
|
75
|
+
default=None,
|
76
|
+
description='Identifier of modifier object for apertures with an Outdoors '
|
77
|
+
'boundary condition and a True is_operable property.'
|
78
|
+
)
|
79
|
+
|
80
|
+
|
81
|
+
class DoorModifierSetAbridged(BaseModifierSetAbridged):
|
82
|
+
"""Abridged set containing radiance modifiers needed for a model's Doors."""
|
83
|
+
|
84
|
+
type: constr(regex='^DoorModifierSetAbridged$') = 'DoorModifierSetAbridged'
|
85
|
+
|
86
|
+
interior_glass_modifier: str = Field(
|
87
|
+
default=None,
|
88
|
+
description='Identifier of modifier object for glass with a Surface '
|
89
|
+
'boundary condition.'
|
90
|
+
)
|
91
|
+
|
92
|
+
exterior_glass_modifier: str = Field(
|
93
|
+
default=None,
|
94
|
+
description='Identifier of modifier object for glass with an Outdoors '
|
95
|
+
'boundary condition.'
|
96
|
+
)
|
97
|
+
|
98
|
+
overhead_modifier: str = Field(
|
99
|
+
default=None,
|
100
|
+
description='Identifier of a modifier object for doors with an '
|
101
|
+
'Outdoors boundary condition and a RoofCeiling or Floor '
|
102
|
+
'face type for their parent face.'
|
103
|
+
)
|
104
|
+
|
105
|
+
|
106
|
+
class ModifierSetAbridged(IDdRadianceBaseModel):
|
107
|
+
"""Abridged set containing all modifiers needed to create a radiance model."""
|
108
|
+
|
109
|
+
type: constr(regex='^ModifierSetAbridged$') = 'ModifierSetAbridged'
|
110
|
+
|
111
|
+
wall_set: WallModifierSetAbridged = Field(
|
112
|
+
default=None,
|
113
|
+
description='Optional WallModifierSet object for this '
|
114
|
+
'ModifierSet (default: None).'
|
115
|
+
)
|
116
|
+
|
117
|
+
floor_set: FloorModifierSetAbridged = Field(
|
118
|
+
default=None,
|
119
|
+
description='Optional FloorModifierSet object for '
|
120
|
+
'this ModifierSet (default: None).'
|
121
|
+
)
|
122
|
+
|
123
|
+
roof_ceiling_set: RoofCeilingModifierSetAbridged = Field(
|
124
|
+
default=None,
|
125
|
+
description='Optional RoofCeilingModifierSet object for this '
|
126
|
+
'ModifierSet (default: None).'
|
127
|
+
)
|
128
|
+
|
129
|
+
aperture_set: ApertureModifierSetAbridged = Field(
|
130
|
+
default=None,
|
131
|
+
description='Optional ApertureModifierSet object for this '
|
132
|
+
'ModifierSet (default: None).'
|
133
|
+
)
|
134
|
+
|
135
|
+
door_set: DoorModifierSetAbridged = Field(
|
136
|
+
default=None,
|
137
|
+
description='Optional DoorModifierSet object for this '
|
138
|
+
'ModifierSet (default: None).'
|
139
|
+
)
|
140
|
+
|
141
|
+
shade_set: ShadeModifierSetAbridged = Field(
|
142
|
+
default=None,
|
143
|
+
description='Optional ShadeModifierSet object for this '
|
144
|
+
'ModifierSet (default: None).'
|
145
|
+
)
|
146
|
+
|
147
|
+
air_boundary_modifier: str = Field(
|
148
|
+
default=None,
|
149
|
+
description='Optional Modifier to be used for all Faces '
|
150
|
+
'with an AirBoundary face type. If None, it will be the '
|
151
|
+
'honeybee generic air wall modifier.'
|
152
|
+
)
|
153
|
+
|
154
|
+
|
155
|
+
class BaseModifierSet(NoExtraBaseModel):
|
156
|
+
"""Base class for the modifier sets assigned to Faces."""
|
157
|
+
|
158
|
+
exterior_modifier: _REFERENCE_UNION_MODIFIERS = Field(
|
159
|
+
default=None,
|
160
|
+
description='A radiance modifier object for faces with an Outdoors boundary '
|
161
|
+
'condition.'
|
162
|
+
)
|
163
|
+
|
164
|
+
interior_modifier: _REFERENCE_UNION_MODIFIERS = Field(
|
165
|
+
default=None,
|
166
|
+
description='A radiance modifier object for faces with a boundary condition '
|
167
|
+
'other than Outdoors.'
|
168
|
+
)
|
169
|
+
|
170
|
+
|
171
|
+
class WallModifierSet(BaseModifierSet):
|
172
|
+
"""Set containing radiance modifiers needed for a model's Walls."""
|
173
|
+
|
174
|
+
type: constr(regex='^WallModifierSet$') = 'WallModifierSet'
|
175
|
+
|
176
|
+
|
177
|
+
class FloorModifierSet(BaseModifierSet):
|
178
|
+
"""Set containing radiance modifiers needed for a model's Floors."""
|
179
|
+
|
180
|
+
type: constr(regex='^FloorModifierSet$') = 'FloorModifierSet'
|
181
|
+
|
182
|
+
|
183
|
+
class RoofCeilingModifierSet(BaseModifierSet):
|
184
|
+
"""Set containing radiance modifiers needed for a model's roofs."""
|
185
|
+
|
186
|
+
type: constr(regex='^RoofCeilingModifierSet$') = 'RoofCeilingModifierSet'
|
187
|
+
|
188
|
+
|
189
|
+
class ShadeModifierSet(BaseModifierSet):
|
190
|
+
"""Set containing radiance modifiers needed for a model's Shade."""
|
191
|
+
|
192
|
+
type: constr(regex='^ShadeModifierSet$') = 'ShadeModifierSet'
|
193
|
+
|
194
|
+
|
195
|
+
class ApertureModifierSet(NoExtraBaseModel):
|
196
|
+
"""Set containing radiance modifiers needed for a model's Apertures."""
|
197
|
+
|
198
|
+
type: constr(regex='^ApertureModifierSet$') = 'ApertureModifierSet'
|
199
|
+
|
200
|
+
window_modifier: _REFERENCE_UNION_MODIFIERS = Field(
|
201
|
+
default=None,
|
202
|
+
description='A modifier object for apertures with an Outdoors '
|
203
|
+
'boundary condition, False is_operable property, '
|
204
|
+
'and Wall parent Face.'
|
205
|
+
)
|
206
|
+
|
207
|
+
interior_modifier: _REFERENCE_UNION_MODIFIERS = Field(
|
208
|
+
default=None,
|
209
|
+
description='A modifier object for apertures with a Surface '
|
210
|
+
'boundary condition.'
|
211
|
+
)
|
212
|
+
|
213
|
+
skylight_modifier: _REFERENCE_UNION_MODIFIERS = Field(
|
214
|
+
default=None,
|
215
|
+
description='A modifier object for apertures with an Outdoors '
|
216
|
+
'boundary condition, False is_operable property, and a '
|
217
|
+
'RoofCeiling or Floor face type for their parent face.'
|
218
|
+
)
|
219
|
+
|
220
|
+
operable_modifier: _REFERENCE_UNION_MODIFIERS = Field(
|
221
|
+
default=None,
|
222
|
+
description='A modifier object for apertures with an Outdoors boundary '
|
223
|
+
'condition and a True is_operable property.'
|
224
|
+
)
|
225
|
+
|
226
|
+
|
227
|
+
class DoorModifierSet(BaseModifierSet):
|
228
|
+
"""Set containing radiance modifiers needed for a model's Doors."""
|
229
|
+
|
230
|
+
type: constr(regex='^DoorModifierSet$') = 'DoorModifierSet'
|
231
|
+
|
232
|
+
interior_glass_modifier: _REFERENCE_UNION_MODIFIERS = Field(
|
233
|
+
default=None,
|
234
|
+
description='A modifier object for glass with a Surface boundary condition.'
|
235
|
+
)
|
236
|
+
|
237
|
+
exterior_glass_modifier: _REFERENCE_UNION_MODIFIERS = Field(
|
238
|
+
default=None,
|
239
|
+
description='A modifier object for glass with an Outdoors boundary condition.'
|
240
|
+
)
|
241
|
+
|
242
|
+
overhead_modifier: _REFERENCE_UNION_MODIFIERS = Field(
|
243
|
+
default=None,
|
244
|
+
description='A window modifier object for doors with an Outdoors boundary '
|
245
|
+
'condition and a RoofCeiling or Floor face type for their '
|
246
|
+
'parent face.'
|
247
|
+
)
|
248
|
+
|
249
|
+
|
250
|
+
class ModifierSet(IDdRadianceBaseModel):
|
251
|
+
"""Set containing all radiance modifiers needed to create a radiance model."""
|
252
|
+
|
253
|
+
type: constr(regex='^ModifierSet$') = 'ModifierSet'
|
254
|
+
|
255
|
+
wall_set: WallModifierSet = Field(
|
256
|
+
default=None,
|
257
|
+
description='An optional WallModifierSet object for this ModifierSet. '
|
258
|
+
'(default: None).'
|
259
|
+
)
|
260
|
+
|
261
|
+
floor_set: FloorModifierSet = Field(
|
262
|
+
default=None,
|
263
|
+
description='An optional FloorModifierSet object for this ModifierSet. '
|
264
|
+
'(default: None).'
|
265
|
+
)
|
266
|
+
|
267
|
+
roof_ceiling_set: RoofCeilingModifierSet = Field(
|
268
|
+
default=None,
|
269
|
+
description='An optional RoofCeilingModifierSet object for this ModifierSet. '
|
270
|
+
'(default: None).'
|
271
|
+
)
|
272
|
+
|
273
|
+
aperture_set: ApertureModifierSet = Field(
|
274
|
+
default=None,
|
275
|
+
description='An optional ApertureModifierSet object for this ModifierSet. '
|
276
|
+
'(default: None).'
|
277
|
+
)
|
278
|
+
|
279
|
+
door_set: DoorModifierSet = Field(
|
280
|
+
default=None,
|
281
|
+
description='An optional DoorModifierSet object for this ModifierSet. '
|
282
|
+
'(default: None).'
|
283
|
+
)
|
284
|
+
|
285
|
+
shade_set: ShadeModifierSet = Field(
|
286
|
+
default=None,
|
287
|
+
description='An optional ShadeModifierSet object for this ModifierSet. '
|
288
|
+
'(default: None).'
|
289
|
+
)
|
290
|
+
|
291
|
+
air_boundary_modifier: _REFERENCE_UNION_MODIFIERS = Field(
|
292
|
+
default=None,
|
293
|
+
description='An optional Modifier to be used for all Faces with an AirBoundary '
|
294
|
+
'face type. If None, it will be the honeybee generic air wall '
|
295
|
+
'modifier.'
|
296
|
+
)
|
@@ -0,0 +1,149 @@
|
|
1
|
+
"""Properties Schema"""
|
2
|
+
from pydantic import Field, constr
|
3
|
+
from typing import List, Union
|
4
|
+
|
5
|
+
from .modifier import _REFERENCE_UNION_MODIFIERS
|
6
|
+
from .modifierset import ModifierSet, ModifierSetAbridged
|
7
|
+
from .global_modifierset import GlobalModifierSet
|
8
|
+
from .asset import SensorGrid, View
|
9
|
+
from .._base import NoExtraBaseModel
|
10
|
+
|
11
|
+
from honeybee_schema.radiance.state import RadianceShadeStateAbridged, \
|
12
|
+
RadianceSubFaceStateAbridged
|
13
|
+
|
14
|
+
|
15
|
+
class _PropertiesBaseAbridged(NoExtraBaseModel):
|
16
|
+
"""Base class of Abridged Radiance Properties."""
|
17
|
+
|
18
|
+
modifier: str = Field(
|
19
|
+
default=None,
|
20
|
+
description='A string for a Honeybee Radiance Modifier (default: None).'
|
21
|
+
)
|
22
|
+
|
23
|
+
modifier_blk: str = Field(
|
24
|
+
default=None,
|
25
|
+
description='A string for a Honeybee Radiance Modifier to be used '
|
26
|
+
'in direct solar simulations and in isolation studies (assessing'
|
27
|
+
'the contribution of individual objects) (default: None).'
|
28
|
+
)
|
29
|
+
|
30
|
+
|
31
|
+
class ShadeMeshRadiancePropertiesAbridged(_PropertiesBaseAbridged):
|
32
|
+
"""Radiance Properties for Honeybee ShadeMesh Abridged."""
|
33
|
+
|
34
|
+
type: constr(regex='^ShadeMeshRadiancePropertiesAbridged$') = \
|
35
|
+
'ShadeMeshRadiancePropertiesAbridged'
|
36
|
+
|
37
|
+
|
38
|
+
class ApertureRadiancePropertiesAbridged(_PropertiesBaseAbridged):
|
39
|
+
"""Radiance Properties for Honeybee Aperture Abridged."""
|
40
|
+
|
41
|
+
type: constr(regex='^ApertureRadiancePropertiesAbridged$') = \
|
42
|
+
'ApertureRadiancePropertiesAbridged'
|
43
|
+
|
44
|
+
dynamic_group_identifier: str = Field(
|
45
|
+
default=None,
|
46
|
+
description="An optional string to note the dynamic group ' \
|
47
|
+
'to which the Aperture is a part of. Apertures sharing the same ' \
|
48
|
+
'dynamic_group_identifier will have their states change in unison. ' \
|
49
|
+
'If None, the Aperture is assumed to be static. (default: None)."
|
50
|
+
)
|
51
|
+
|
52
|
+
states: List[RadianceSubFaceStateAbridged] = Field(
|
53
|
+
default=None,
|
54
|
+
description="An optional list of abridged states (default: None)."
|
55
|
+
)
|
56
|
+
|
57
|
+
|
58
|
+
class DoorRadiancePropertiesAbridged(_PropertiesBaseAbridged):
|
59
|
+
"""Radiance Properties for Honeybee Door Abridged."""
|
60
|
+
|
61
|
+
type: constr(regex='^DoorRadiancePropertiesAbridged$') = \
|
62
|
+
'DoorRadiancePropertiesAbridged'
|
63
|
+
|
64
|
+
dynamic_group_identifier: str = Field(
|
65
|
+
default=None,
|
66
|
+
description="An optional string to note the dynamic group ' \
|
67
|
+
'to which the Door is a part of. Doors sharing the same ' \
|
68
|
+
'dynamic_group_identifier will have their states change in unison. ' \
|
69
|
+
'If None, the Door is assumed to be static. (default: None)."
|
70
|
+
)
|
71
|
+
|
72
|
+
states: List[RadianceSubFaceStateAbridged] = Field(
|
73
|
+
default=None,
|
74
|
+
description="An optional list of abridged states (default: None)."
|
75
|
+
)
|
76
|
+
|
77
|
+
|
78
|
+
class FaceRadiancePropertiesAbridged(_PropertiesBaseAbridged):
|
79
|
+
"""Radiance Properties for Honeybee Face Abridged."""
|
80
|
+
|
81
|
+
type: constr(regex='^FaceRadiancePropertiesAbridged$') = \
|
82
|
+
'FaceRadiancePropertiesAbridged'
|
83
|
+
|
84
|
+
|
85
|
+
class ShadeRadiancePropertiesAbridged(_PropertiesBaseAbridged):
|
86
|
+
"""Radiance Properties for Honeybee Shade Abridged."""
|
87
|
+
|
88
|
+
type: constr(regex='^ShadeRadiancePropertiesAbridged$') = \
|
89
|
+
'ShadeRadiancePropertiesAbridged'
|
90
|
+
|
91
|
+
dynamic_group_identifier: str = Field(
|
92
|
+
default=None,
|
93
|
+
description="An optional string to note the dynamic group ' \
|
94
|
+
'to which the Shade is a part of. Shades sharing the same ' \
|
95
|
+
'dynamic_group_identifier will have their states change in unison. ' \
|
96
|
+
'If None, the Shade is assumed to be static. (default: None)."
|
97
|
+
)
|
98
|
+
|
99
|
+
states: List[RadianceShadeStateAbridged] = Field(
|
100
|
+
default=None,
|
101
|
+
description="An optional list of abridged states (default: None)."
|
102
|
+
)
|
103
|
+
|
104
|
+
|
105
|
+
class RoomRadiancePropertiesAbridged(NoExtraBaseModel):
|
106
|
+
"""Abridged Radiance Properties for Honeybee Room."""
|
107
|
+
|
108
|
+
type: constr(regex='^RoomRadiancePropertiesAbridged$') = \
|
109
|
+
'RoomRadiancePropertiesAbridged'
|
110
|
+
|
111
|
+
modifier_set: str = Field(
|
112
|
+
default=None,
|
113
|
+
description='An identifier for a unique Room-Assigned ModifierSet '
|
114
|
+
'(default: None).'
|
115
|
+
)
|
116
|
+
|
117
|
+
|
118
|
+
class ModelRadianceProperties(NoExtraBaseModel):
|
119
|
+
"""Radiance Properties for Honeybee Model."""
|
120
|
+
|
121
|
+
type: constr(regex='^ModelRadianceProperties$') = 'ModelRadianceProperties'
|
122
|
+
|
123
|
+
global_modifier_set: GlobalModifierSet = Field(
|
124
|
+
default=GlobalModifierSet(),
|
125
|
+
description='Global Radiance modifier set.',
|
126
|
+
readOnly=True
|
127
|
+
)
|
128
|
+
|
129
|
+
modifiers: List[_REFERENCE_UNION_MODIFIERS] = Field(
|
130
|
+
default=None,
|
131
|
+
description='A list of all unique modifiers in the model. '
|
132
|
+
'This includes modifiers across all Faces, Apertures, Doors, '
|
133
|
+
'Shades, Room ModifierSets, and the global_modifier_set.'
|
134
|
+
)
|
135
|
+
|
136
|
+
modifier_sets: List[Union[ModifierSet, ModifierSetAbridged]] = Field(
|
137
|
+
default=None,
|
138
|
+
description='A list of all unique Room-Assigned ModifierSets in the Model.'
|
139
|
+
)
|
140
|
+
|
141
|
+
sensor_grids: List[SensorGrid] = Field(
|
142
|
+
default=None,
|
143
|
+
description='An array of SensorGrids that are associated with the model.'
|
144
|
+
)
|
145
|
+
|
146
|
+
views: List[View] = Field(
|
147
|
+
default=None,
|
148
|
+
description='An array of Views that are associated with the model.'
|
149
|
+
)
|
@@ -0,0 +1,69 @@
|
|
1
|
+
"""State Schema"""
|
2
|
+
from pydantic import Field, constr
|
3
|
+
from typing import List
|
4
|
+
from .._base import NoExtraBaseModel
|
5
|
+
from ._base import IDdRadianceBaseModel
|
6
|
+
|
7
|
+
from ..geometry import Face3D
|
8
|
+
|
9
|
+
|
10
|
+
class StateGeometryAbridged(IDdRadianceBaseModel):
|
11
|
+
"""A single planar geometry that can be assigned to Radiance states."""
|
12
|
+
|
13
|
+
type: constr(regex='^StateGeometryAbridged$') = 'StateGeometryAbridged'
|
14
|
+
|
15
|
+
modifier: str = Field(
|
16
|
+
default=None,
|
17
|
+
description='A string for a Honeybee Radiance Modifier identifier '
|
18
|
+
'(default: None).'
|
19
|
+
)
|
20
|
+
|
21
|
+
modifier_direct: str = Field(
|
22
|
+
default=None,
|
23
|
+
description='A string for Honeybee Radiance Modifier identifiers to be used '
|
24
|
+
'in direct solar simulations and in isolation studies (assessing'
|
25
|
+
'the contribution of individual objects) (default: None).'
|
26
|
+
)
|
27
|
+
|
28
|
+
geometry: Face3D = Field(
|
29
|
+
...,
|
30
|
+
description='A ladybug_geometry Face3D.'
|
31
|
+
)
|
32
|
+
|
33
|
+
|
34
|
+
class RadianceShadeStateAbridged(NoExtraBaseModel):
|
35
|
+
"""RadianceShadeStateAbridged represents a single state for a dynamic Shade."""
|
36
|
+
|
37
|
+
type: constr(regex='^RadianceShadeStateAbridged$') = 'RadianceShadeStateAbridged'
|
38
|
+
|
39
|
+
modifier: str = Field(
|
40
|
+
default=None,
|
41
|
+
description='A Radiance Modifier identifier (default: None).'
|
42
|
+
)
|
43
|
+
|
44
|
+
modifier_direct: str = Field(
|
45
|
+
default=None,
|
46
|
+
description='A Radiance Modifier identifier (default: None).'
|
47
|
+
)
|
48
|
+
|
49
|
+
shades: List[StateGeometryAbridged] = Field(
|
50
|
+
default=None,
|
51
|
+
description='A list of StateGeometryAbridged objects (default: None).'
|
52
|
+
)
|
53
|
+
|
54
|
+
|
55
|
+
class RadianceSubFaceStateAbridged(RadianceShadeStateAbridged):
|
56
|
+
"""RadianceSubFaceStateAbridged is an abridged state for a dynamic Aperture or Door.
|
57
|
+
"""
|
58
|
+
|
59
|
+
type: constr(regex='^RadianceSubFaceStateAbridged$') = 'RadianceSubFaceStateAbridged'
|
60
|
+
|
61
|
+
vmtx_geometry: Face3D = Field(
|
62
|
+
default=None,
|
63
|
+
description='A Face3D for the view matrix geometry (default: None).'
|
64
|
+
)
|
65
|
+
|
66
|
+
dmtx_geometry: Face3D = Field(
|
67
|
+
default=None,
|
68
|
+
description='A Face3D for the daylight matrix geometry (default: None).'
|
69
|
+
)
|
File without changes
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"""Changes associated with version Honeybee schema version 1.39.12."""
|
2
|
+
|
3
|
+
|
4
|
+
def version_1_39_12(model_dict):
|
5
|
+
"""Implement changes in a Model dict to make it compatible with version 1.39.12."""
|
6
|
+
removed_equip = 'PSZ-AC district chilled water with baseboard district hot water'
|
7
|
+
replaced_equip = 'PSZ-AC district chilled water with district hot water'
|
8
|
+
if 'energy' in model_dict['properties']:
|
9
|
+
if 'hvacs' in model_dict['properties']['energy']:
|
10
|
+
for hvac in model_dict['properties']['energy']['hvacs']:
|
11
|
+
if hvac['type'] != 'IdealAirSystemAbridged' and \
|
12
|
+
hvac['equipment_type'] == removed_equip:
|
13
|
+
hvac['equipment_type'] = replaced_equip
|
14
|
+
return model_dict
|