-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathASHRAE205.schema.yaml
289 lines (264 loc) · 8.96 KB
/
ASHRAE205.schema.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
# ASHRAE205.schema.yaml
# The purpose of this "open205 schema" is to provide a single source generator format from which
# all open205 standard materials, both normative and informative, will be created.
# YAML single-source files will be created in accordance with the open205 schema.
# Meta
Schema:
Object Type: "Meta"
Title: "ASHRAE 205"
Description: "Base schema for ASHRAE 205 representations"
Version: "2.0.0"
# Data Types
Integer:
Object Type: "Data Type"
Description: "A positive or negative base 10 whole number (i.e., a number that can be written without a fractional part)."
JSON Schema Type: integer
Examples:
- "3"
- "19"
- "-4"
Numeric:
Object Type: "Data Type"
Description: "A base 10 number that may include a fractional part with optional leading sign and optional exponent (engineering notation). Numeric values are conveyed in CBOR files in IEEE 754[@IEEE754] binary64 format without rounding."
JSON Schema Type: number
Examples:
- "3.43"
- "0"
- "-4"
- "1.03e4"
Boolean:
Object Type: "Data Type"
Description: "True or false."
JSON Schema Type: boolean
Examples:
- "true"
- "false"
String:
Object Type: "Data Type"
Description: "A sequence of characters of any length using any (specified) character set."
JSON Schema Type: string
Examples:
- "Indirect evaporative cooler"
UUID:
Object Type: "String Type"
Description: "An effectively unique character string conforming to ITU-T X.667[@ITUUUID]."
JSON Schema Pattern: "[0-9,a-f,A-F]{8}-[0-9,a-f,A-F]{4}-[0-9,a-f,A-F]{4}-[0-9,a-f,A-F]{4}-[0-9,a-f,A-F]{12}"
Examples:
- "123e4567-e89b-12d3-a456-426655440000"
Date:
Object Type: "String Type"
Description: "A calendar date formatted per ISO 8601[@ISODateTime]"
JSON Schema Pattern: "[0-9]{4}-[0-9]{2}-[0-9]{2}"
Examples:
- "2015-04-29"
Timestamp:
Object Type: "String Type"
Description: "Date with UTC time formatted per ISO 8601[@ISODateTime]"
JSON Schema Pattern: "[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}Z"
Examples:
- "2016-06-29T14:35Z"
Version:
Object Type: "String Type"
Description: "Version identifier in the form major.minor.patch as defined by SemVer[@SemVer]"
JSON Schema Pattern: "(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(?:-((?:0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?"
Examples:
- "1.1.3"
- "1.2.0-beta-92"
Pattern:
Object Type: "String Type"
Description: "A regular expression pattern as defined by ECMA-262[@RegEx]. Used for characterization (e.g., model numbers)."
Is Regex: True
Examples:
- "CA225FB.[1-9]"
# Common Enumerations
SchemaType:
Object Type: "Enumeration"
Enumerators:
RS0001:
Description: "Chiller"
RS0002:
Description: "Unitary Cooling Air-Conditioning Equipment"
RS0003:
Description: "Fan Assembly"
RS0004:
Description: "Air-to-Air Direct Expansion Refrigerant System"
RS0005:
Description: "Motor"
RS0006:
Description: "Electronic Motor Drive"
RS0007:
Description: "Mechanical Drive"
CompressorType:
Object Type: "Enumeration"
Enumerators:
RECIPROCATING:
Description: "Reciprocating compressor"
Display Text: "Reciprocating"
SCREW:
Description: "Screw compressor"
Display Text: "Screw"
CENTRIFUGAL:
Description: "Centrifugal compressor"
Display Text: "Centrifugal"
ROTARY:
Description: "Rotary compressor"
Display Text: "Rotary"
SCROLL:
Description: "Scroll compressor"
Display Text: "Scroll"
SpeedControlType:
Object Type: "Enumeration"
Enumerators:
DISCRETE:
Description: "Loading is controlled by cycling between one or more discrete stages"
Display Text: "Discrete"
CONTINUOUS:
Description: "Loading is controlled by continuously varying the speed"
Display Text: "Continuous"
CondenserType:
Object Type: "Enumeration"
Enumerators:
AIR:
Description: "Air-cooled condenser"
Display Text: "Air"
LIQUID:
Description: "Liquid-cooled condenser"
Display Text: "Liquid"
EVAPORATIVE:
Description: "Evaporative condenser"
Display Text: "Evaporative"
Notes: "Evaporative condensers include adiabatically-cooled condensers"
LiquidConstituent:
Object Type: "Enumeration"
Enumerators:
WATER:
Description: "Water"
Display Text: "Water"
PROPYLENE_GLYCOL:
Description: "Propylene glycol"
Display Text: "Propylene Glycol"
ETHYLENE_GLYCOL:
Description: "Ethylene glycol"
Display Text: "Ethylene Glycol"
SODIUM_CHLORIDE:
Description: "Sodium chloride"
Display Text: "Sodium Chloride"
CALCIUM_CHLORIDE:
Description: "Calcium chloride"
Display Text: "Calcium Chloride"
ETHANOL:
Description: "Ethanol"
Display Text: "Ethanol"
METHANOL:
Description: "Methanol"
Display Text: "Methanol"
ConcentrationType:
Object Type: "Enumeration"
Enumerators:
BY_VOLUME:
Description: "Concentration is defined as a fraction of total liquid mixture volume"
Display Text: "By Volume"
BY_MASS:
Description: "Concentration is defined as a fraction of total liquid mixture mass"
Display Text: "By Mass"
OperationState:
Object Type: "Enumeration"
Enumerators:
NORMAL:
Description: "Indicates that the equipment is in normal operating state"
Display Text: "Normal"
STANDBY:
Description: "Indicates that the equipment is in standby operating state"
Display Text: "Standby"
#Common Data Groups
Metadata:
Object Type: "Data Group"
Data Elements:
data_model:
Description: "Data model name"
Data Type: "String"
Constraints: '"ASHRAE_205"'
Required: True
Notes: "Identifies the data model where the schema is defined"
schema:
Description: "Schema name or identifier"
Data Type: "<SchemaType>"
Required: True
Notes: "Identifies the schema used to define the data content"
schema_version:
Description: "The version of the schema the data complies with"
Data Type: "Version"
Required: True
id:
Description: "Unique equipment identifier"
Data Type: "UUID"
Required: True
Notes: ["Assigned by data publisher to identify the contained data",
"`id` shall remain unchanged for revised data"]
description:
Description: "Description of data (suitable for display)"
Data Type: "String"
Required: True
data_timestamp:
Description: "Date of publication"
Data Type: "Timestamp"
Required: True
Notes: "Date/time of publication of the data"
data_version:
Description: "Integer version identifier for the data in the representation"
Data Type: "Integer"
Constraints: ">=1"
Required: True
Notes: ["Used by data publisher to track revisions of the data for a specific representation",
"`data_version` shall be incremented for each data revision"]
data_source:
Description: "Source(s) of the data"
Data Type: "String"
Notes: ["Used by data publisher to document methods (e.g., software and version) used to generate data",
"***Informative note:*** `data_source` may be different from other data source(s) included elsewhere within the data"]
disclaimer:
Description: "Characterization of accuracy, limitations, and applicability of this data"
Data Type: "String"
notes:
Description: "Additional Information"
Data Type: "String"
# Reusable Data Groups
LiquidMixture:
Object Type: "Data Group"
Data Elements:
liquid_components:
Description: "An array of all liquid components within the liquid mixture"
Data Type: "[{LiquidComponent}]"
Required: True
Notes: "Array may contain a single component"
concentration_type:
Description: "Defines whether concentration is defined on a volume or mass basis"
Data Type: "<ConcentrationType>"
Required: True
LiquidComponent:
Object Type: "Data Group"
Data Elements:
liquid_constituent:
Description: "Substance of this component of the mixture"
Data Type: "<LiquidConstituent>"
Required: True
concentration:
Description: "Concentration of this component of the mixture"
Data Type: "Numeric"
Constraints: [">=0.0", "<=1.0"]
Notes: "If omitted, assume equal distribution with any other component with no defined concentration (e.g., can be left blank for the primary component)"
Scaling:
Object Type: "Data Group"
Data Elements:
minimum:
Description: "Minimum scaling factor"
Data Type: "Numeric"
Units: "-"
Constraints: [">0.0", "<=1.0"]
Notes: "If not specified, may be scaled down to any value greater than zero"
maximum:
Description: "Maximum scaling factor"
Data Type: "Numeric"
Units: "-"
Constraints: [">=1.0"]
Notes: "If not specified, unlimited"