From 48a533907b1676c4190cf94d9904562f7b6ee2d7 Mon Sep 17 00:00:00 2001 From: chriswmackey Date: Sun, 3 Mar 2024 21:41:04 +0000 Subject: [PATCH] deploy: update docs --- .nojekyll | 1 + comparison-report.html | 23 + comparison-report.json | 286 + comparison-report_inheritance.json | 402 + comparison-report_mapper.json | 12 + index.html | 72 + model.html | 3399 ++++++ model.json | 14901 +++++++++++++++++++++++ model_inheritance.json | 15347 ++++++++++++++++++++++++ model_json_schema.json | 13199 ++++++++++++++++++++ model_mapper.json | 224 + model_redoc.json | 14809 +++++++++++++++++++++++ project-info.html | 23 + project-information.json | 293 + project-information_inheritance.json | 345 + project-information_mapper.json | 12 + simulation-parameter.html | 23 + simulation-parameter.json | 1033 ++ simulation-parameter_inheritance.json | 1231 ++ simulation-parameter_mapper.json | 31 + sync-instructions.html | 23 + sync-instructions.json | 251 + sync-instructions_inheritance.json | 367 + sync-instructions_mapper.json | 12 + validation-report.html | 23 + validation-report.json | 420 + validation-report_inheritance.json | 492 + validation-report_mapper.json | 14 + 28 files changed, 67268 insertions(+) create mode 100644 .nojekyll create mode 100644 comparison-report.html create mode 100644 comparison-report.json create mode 100644 comparison-report_inheritance.json create mode 100644 comparison-report_mapper.json create mode 100644 index.html create mode 100644 model.html create mode 100644 model.json create mode 100644 model_inheritance.json create mode 100644 model_json_schema.json create mode 100644 model_mapper.json create mode 100644 model_redoc.json create mode 100644 project-info.html create mode 100644 project-information.json create mode 100644 project-information_inheritance.json create mode 100644 project-information_mapper.json create mode 100644 simulation-parameter.html create mode 100644 simulation-parameter.json create mode 100644 simulation-parameter_inheritance.json create mode 100644 simulation-parameter_mapper.json create mode 100644 sync-instructions.html create mode 100644 sync-instructions.json create mode 100644 sync-instructions_inheritance.json create mode 100644 sync-instructions_mapper.json create mode 100644 validation-report.html create mode 100644 validation-report.json create mode 100644 validation-report_inheritance.json create mode 100644 validation-report_mapper.json diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.nojekyll @@ -0,0 +1 @@ + diff --git a/comparison-report.html b/comparison-report.html new file mode 100644 index 0000000..daf9b2e --- /dev/null +++ b/comparison-report.html @@ -0,0 +1,23 @@ + + + +Honeybee Energy Simulation Parameter Schema + + + + + + + + + + + + + + diff --git a/comparison-report.json b/comparison-report.json new file mode 100644 index 0000000..4f1ceb7 --- /dev/null +++ b/comparison-report.json @@ -0,0 +1,286 @@ +{ + "openapi": "3.0.2", + "servers": [], + "info": { + "description": "Honeybee comparison-report schema.", + "version": "1.57.3", + "title": "Honeybee Comparison Report Schema", + "contact": { + "name": "Ladybug Tools", + "email": "info@ladybug.tools", + "url": "https://github.com/ladybug-tools/honeybee-schema" + }, + "x-logo": { + "url": "https://www.ladybug.tools/assets/img/honeybee-large.png", + "altText": "Honeybee logo" + }, + "license": { + "name": "BSD", + "url": "https://github.com/ladybug-tools-in2/honeybee-schema/blob/master/LICENSE" + } + }, + "externalDocs": { + "description": "OpenAPI Specification with Inheritance", + "url": "./comparison-report_inheritance.json" + }, + "tags": [ + { + "name": "addedobject_model", + "x-displayName": "AddedObject", + "description": "\n" + }, + { + "name": "changedobject_model", + "x-displayName": "ChangedObject", + "description": "\n" + }, + { + "name": "comparisonreport_model", + "x-displayName": "ComparisonReport", + "description": "\n" + }, + { + "name": "deletedobject_model", + "x-displayName": "DeletedObject", + "description": "\n" + }, + { + "name": "geometryobjecttypes_model", + "x-displayName": "GeometryObjectTypes", + "description": "\n" + } + ], + "x-tagGroups": [ + { + "name": "Models", + "tags": [ + "addedobject_model", + "changedobject_model", + "comparisonreport_model", + "deletedobject_model", + "geometryobjecttypes_model" + ] + } + ], + "paths": {}, + "components": { + "schemas": { + "GeometryObjectTypes": { + "title": "GeometryObjectTypes", + "description": "Types of Honeybee geometry objects.", + "enum": [ + "Shade", + "Aperture", + "Door", + "Face", + "Room" + ], + "type": "string" + }, + "ChangedObject": { + "title": "ChangedObject", + "type": "object", + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "geometry_changed": { + "title": "Geometry Changed", + "description": "A boolean to note whether the geometry of the object has changed (True) or not (False). For the case of a Room, any change in the geometry of child Faces, Apertures or Doors will cause this property to be True. Note that this property is only True if the change in geometry produces a visible change greater than the base model tolerance. So converting the model between different unit systems, removing colinear vertices, or doing other transformations that are common for export to simulation engines will not trigger this property to become True.", + "type": "boolean" + }, + "geometry": { + "title": "Geometry", + "description": "A list of DisplayFace3D dictionaries for the new, changed geometry. The schema of DisplayFace3D can be found in the ladybug-display-schema documentation (https://www.ladybug.tools/ladybug-display-schema) and these objects can be used to generate visualizations of individual objects that have been changed. Note that this attribute is always included in the ChangedObject, even when geometry_changed is False.", + "type": "array", + "items": { + "type": "object" + } + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ChangedObject", + "pattern": "^ChangedObject$", + "type": "string", + "readOnly": true + }, + "energy_changed": { + "title": "Energy Changed", + "description": "A boolean to note whether the energy properties of the object have changed (True) or not (False) such that it is possible for the properties of the changed object to be applied to the base model. For Rooms, this property will only be true if the energy property assigned to the Room has changed and will not be true if a property assigned to an individual child Face or Aperture has changed.", + "default": false, + "type": "boolean" + }, + "radiance_changed": { + "title": "Radiance Changed", + "description": "A boolean to note whether the radiance properties of the object have changed (True) or not (False) such that it is possible for the properties of the changed object to be applied to the base model. For Rooms, this property will only be true if the radiance property assigned to the Room has changed and will not be true if a property assigned to an individual child Face or Aperture has changed.", + "default": false, + "type": "boolean" + }, + "existing_geometry": { + "title": "Existing Geometry", + "description": "A list of DisplayFace3D dictionaries for the existing (base) geometry. The schema of DisplayFace3D can be found in the ladybug-display-schema documentation (https://www.ladybug.tools/ladybug-display-schema) and these objects can be used to generate visualizations of individual objects that have been changed. This attribute is optional and will NOT be output if geometry_changed is False.", + "type": "array", + "items": { + "type": "object" + } + } + }, + "required": [ + "element_type", + "element_id", + "geometry_changed", + "geometry" + ] + }, + "DeletedObject": { + "title": "DeletedObject", + "type": "object", + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "A list of DisplayFace3D dictionaries for the deleted geometry. The schema of DisplayFace3D can be found in the ladybug-display-schema documentation (https://www.ladybug.tools/ladybug-display-schema) and these objects can be used to generate visualizations of individual objects that have been deleted.", + "type": "array", + "items": { + "type": "object" + } + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "DeletedObject", + "pattern": "^DeletedObject$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "element_type", + "element_id", + "geometry" + ] + }, + "AddedObject": { + "title": "AddedObject", + "type": "object", + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "A list of DisplayFace3D dictionaries for the added geometry. The schema of DisplayFace3D can be found in the ladybug-display-schema documentation (https://www.ladybug.tools/ladybug-display-schema) and these objects can be used to generate visualizations of individual objects that have been added.", + "type": "array", + "items": { + "type": "object" + } + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "AddedObject", + "pattern": "^AddedObject$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "element_type", + "element_id", + "geometry" + ] + }, + "ComparisonReport": { + "title": "ComparisonReport", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ComparisonReport", + "pattern": "^ComparisonReport$", + "type": "string", + "readOnly": true + }, + "changed_objects": { + "title": "Changed Objects", + "description": "A list of ChangedObject definitions for each top-level object that has changed in the model. To be a changed object, the object identifier must be the same in both models but some other property (either geometry or extension attributes) has experienced a meaningful change.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ChangedObject" + } + }, + "deleted_objects": { + "title": "Deleted Objects", + "description": "A list of DeletedObject definitions for each top-level object that has been deleted in the process of going from the base model to the new model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/DeletedObject" + } + }, + "added_objects": { + "title": "Added Objects", + "description": "A list of AddedObject definitions for each top-level object that has been added in the process of going from the base model to the new model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/AddedObject" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/comparison-report_inheritance.json b/comparison-report_inheritance.json new file mode 100644 index 0000000..3a478f4 --- /dev/null +++ b/comparison-report_inheritance.json @@ -0,0 +1,402 @@ +{ + "openapi": "3.0.2", + "servers": [], + "info": { + "description": "Documentation for Honeybee comparison-report schema", + "version": "1.57.3", + "title": "Honeybee Comparison Report Schema", + "contact": { + "name": "Ladybug Tools", + "email": "info@ladybug.tools", + "url": "https://github.com/ladybug-tools/honeybee-schema" + }, + "x-logo": { + "url": "https://www.ladybug.tools/assets/img/honeybee-large.png", + "altText": "Honeybee logo" + }, + "license": { + "name": "BSD", + "url": "https://github.com/ladybug-tools-in2/honeybee-schema/blob/master/LICENSE" + } + }, + "externalDocs": { + "description": "OpenAPI Specification with Inheritance", + "url": "./comparison-report_inheritance.json" + }, + "tags": [ + { + "name": "addedobject_model", + "x-displayName": "AddedObject", + "description": "\n" + }, + { + "name": "changedobject_model", + "x-displayName": "ChangedObject", + "description": "\n" + }, + { + "name": "comparisonreport_model", + "x-displayName": "ComparisonReport", + "description": "\n" + }, + { + "name": "deletedobject_model", + "x-displayName": "DeletedObject", + "description": "\n" + }, + { + "name": "geometryobjecttypes_model", + "x-displayName": "GeometryObjectTypes", + "description": "\n" + }, + { + "name": "_diffobjectbase_model", + "x-displayName": "_DiffObjectBase", + "description": "\n" + }, + { + "name": "_openapigenbasemodel_model", + "x-displayName": "_OpenAPIGenBaseModel", + "description": "\n" + } + ], + "x-tagGroups": [ + { + "name": "Models", + "tags": [ + "_diffobjectbase_model", + "_openapigenbasemodel_model", + "addedobject_model", + "changedobject_model", + "comparisonreport_model", + "deletedobject_model", + "geometryobjecttypes_model" + ] + } + ], + "paths": {}, + "components": { + "schemas": { + "GeometryObjectTypes": { + "title": "GeometryObjectTypes", + "description": "Types of Honeybee geometry objects.", + "enum": [ + "Shade", + "Aperture", + "Door", + "Face", + "Room" + ], + "type": "string" + }, + "DeletedObject": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "required": [ + "element_type", + "element_id", + "geometry" + ], + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "A list of DisplayFace3D dictionaries for the deleted geometry. The schema of DisplayFace3D can be found in the ladybug-display-schema documentation (https://www.ladybug.tools/ladybug-display-schema) and these objects can be used to generate visualizations of individual objects that have been deleted.", + "type": "array", + "items": { + "type": "object" + } + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "DeletedObject", + "pattern": "^DeletedObject$", + "type": "string", + "readOnly": true + } + } + } + ], + "title": "DeletedObject", + "discriminator": { + "propertyName": "type" + } + }, + "ChangedObject": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "required": [ + "element_type", + "element_id", + "geometry_changed", + "geometry" + ], + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "geometry_changed": { + "title": "Geometry Changed", + "description": "A boolean to note whether the geometry of the object has changed (True) or not (False). For the case of a Room, any change in the geometry of child Faces, Apertures or Doors will cause this property to be True. Note that this property is only True if the change in geometry produces a visible change greater than the base model tolerance. So converting the model between different unit systems, removing colinear vertices, or doing other transformations that are common for export to simulation engines will not trigger this property to become True.", + "type": "boolean" + }, + "geometry": { + "title": "Geometry", + "description": "A list of DisplayFace3D dictionaries for the new, changed geometry. The schema of DisplayFace3D can be found in the ladybug-display-schema documentation (https://www.ladybug.tools/ladybug-display-schema) and these objects can be used to generate visualizations of individual objects that have been changed. Note that this attribute is always included in the ChangedObject, even when geometry_changed is False.", + "type": "array", + "items": { + "type": "object" + } + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "energy_changed": { + "title": "Energy Changed", + "description": "A boolean to note whether the energy properties of the object have changed (True) or not (False) such that it is possible for the properties of the changed object to be applied to the base model. For Rooms, this property will only be true if the energy property assigned to the Room has changed and will not be true if a property assigned to an individual child Face or Aperture has changed.", + "default": false, + "type": "boolean" + }, + "radiance_changed": { + "title": "Radiance Changed", + "description": "A boolean to note whether the radiance properties of the object have changed (True) or not (False) such that it is possible for the properties of the changed object to be applied to the base model. For Rooms, this property will only be true if the radiance property assigned to the Room has changed and will not be true if a property assigned to an individual child Face or Aperture has changed.", + "default": false, + "type": "boolean" + }, + "existing_geometry": { + "title": "Existing Geometry", + "description": "A list of DisplayFace3D dictionaries for the existing (base) geometry. The schema of DisplayFace3D can be found in the ladybug-display-schema documentation (https://www.ladybug.tools/ladybug-display-schema) and these objects can be used to generate visualizations of individual objects that have been changed. This attribute is optional and will NOT be output if geometry_changed is False.", + "type": "array", + "items": { + "type": "object" + } + }, + "type": { + "title": "Type", + "default": "ChangedObject", + "pattern": "^ChangedObject$", + "type": "string", + "readOnly": true + } + } + } + ], + "title": "ChangedObject", + "discriminator": { + "propertyName": "type" + } + }, + "AddedObject": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "required": [ + "element_type", + "element_id", + "geometry" + ], + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "A list of DisplayFace3D dictionaries for the added geometry. The schema of DisplayFace3D can be found in the ladybug-display-schema documentation (https://www.ladybug.tools/ladybug-display-schema) and these objects can be used to generate visualizations of individual objects that have been added.", + "type": "array", + "items": { + "type": "object" + } + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "AddedObject", + "pattern": "^AddedObject$", + "type": "string", + "readOnly": true + } + } + } + ], + "title": "AddedObject", + "discriminator": { + "propertyName": "type" + } + }, + "ComparisonReport": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ComparisonReport", + "pattern": "^ComparisonReport$", + "type": "string", + "readOnly": true + }, + "changed_objects": { + "title": "Changed Objects", + "description": "A list of ChangedObject definitions for each top-level object that has changed in the model. To be a changed object, the object identifier must be the same in both models but some other property (either geometry or extension attributes) has experienced a meaningful change.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ChangedObject" + } + }, + "deleted_objects": { + "title": "Deleted Objects", + "description": "A list of DeletedObject definitions for each top-level object that has been deleted in the process of going from the base model to the new model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/DeletedObject" + } + }, + "added_objects": { + "title": "Added Objects", + "description": "A list of AddedObject definitions for each top-level object that has been added in the process of going from the base model to the new model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/AddedObject" + } + } + } + } + ], + "title": "ComparisonReport", + "discriminator": { + "propertyName": "type" + } + }, + "_DiffObjectBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "_DiffObjectBase", + "type": "string", + "pattern": "^_DiffObjectBase$", + "readOnly": true + } + }, + "required": [ + "element_type", + "element_id" + ] + } + ], + "title": "_DiffObjectBase", + "discriminator": { + "propertyName": "type" + } + }, + "_OpenAPIGenBaseModel": { + "title": "_OpenAPIGenBaseModel", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "A base class to use when there is no baseclass available to fall on.", + "default": "InvalidType", + "type": "string", + "readOnly": true + } + }, + "discriminator": { + "propertyName": "type" + } + } + } + } +} \ No newline at end of file diff --git a/comparison-report_mapper.json b/comparison-report_mapper.json new file mode 100644 index 0000000..6268ac1 --- /dev/null +++ b/comparison-report_mapper.json @@ -0,0 +1,12 @@ +{ + "classes": { + "AddedObject": "honeybee_schema.comparison", + "ChangedObject": "honeybee_schema.comparison", + "ComparisonReport": "honeybee_schema.comparison", + "DeletedObject": "honeybee_schema.comparison", + "_DiffObjectBase": "honeybee_schema.comparison" + }, + "enums": { + "GeometryObjectTypes": "honeybee_schema.comparison" + } +} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..2e25a9c --- /dev/null +++ b/index.html @@ -0,0 +1,72 @@ + + + +Honeybee Schema + + + + + + + + + + +
Honeybee Schemas
+
+ +
+ + + diff --git a/model.html b/model.html new file mode 100644 index 0000000..35d24f7 --- /dev/null +++ b/model.html @@ -0,0 +1,3399 @@ + + + + + + Honeybee Model Schema + + + + + + + + + +

Honeybee Model Schema (1.57.3)

Download OpenAPI specification:Download

Documentation for Honeybee model schema

+

_AllAirBase

type
string (Type) ^_AllAirBase$
Default: "_AllAirBase"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
economizer_type
string (AllAirEconomizerType)
Default: "NoEconomizer"
Enum: "NoEconomizer" "DifferentialDryBulb" "DifferentialEnthalpy" "DifferentialDryBulbAndEnthalpy" "FixedDryBulb" "FixedEnthalpy" "ElectronicEnthalpy"

An enumeration.

+
sensible_heat_recovery
number <double> (Sensible Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.

+
latent_heat_recovery
number <double> (Latent Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of latent heat recovery within the system.

+
demand_controlled_ventilation
boolean (Demand Controlled Ventilation)
Default: false

Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.

+
{
  • "type": "_AllAirBase",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "economizer_type": "NoEconomizer",
  • "sensible_heat_recovery": 0,
  • "latent_heat_recovery": 0,
  • "demand_controlled_ventilation": false
}

_DOASBase

type
string (Type) ^_DOASBase$
Default: "_DOASBase"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
sensible_heat_recovery
number <double> (Sensible Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.

+
latent_heat_recovery
number <double> (Latent Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of latent heat recovery within the system.

+
demand_controlled_ventilation
boolean (Demand Controlled Ventilation)
Default: false

Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.

+
doas_availability_schedule
string (Doas Availability Schedule) [ 1 .. 100 ] characters

An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.

+
{
  • "type": "_DOASBase",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "sensible_heat_recovery": 0,
  • "latent_heat_recovery": 0,
  • "demand_controlled_ventilation": false,
  • "doas_availability_schedule": "string"
}

_EquipmentBase

type
string (Type) ^_EquipmentBase$
Default: "_EquipmentBase"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
watts_per_area
required
number <double> (Watts Per Area) >= 0

Equipment level per floor area as [W/m2].

+
schedule
required
string (Schedule) [ 1 .. 100 ] characters

Identifier of the schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.

+
radiant_fraction
number <double> (Radiant Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.

+
latent_fraction
number <double> (Latent Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of latent heat given off by equipment. Default value is 0.

+
lost_fraction
number <double> (Lost Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of “lost” heat being given off by equipment. The default value is 0.

+
{
  • "type": "_EquipmentBase",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "watts_per_area": 0,
  • "schedule": "string",
  • "radiant_fraction": 0,
  • "latent_fraction": 0,
  • "lost_fraction": 0
}

_FaceSubSet

type
string (Type) ^_FaceSubSet$
Default: "_FaceSubSet"

A base class to use when there is no baseclass available to fall on.

+
interior_construction
object (Interior Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
exterior_construction
object (Exterior Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
ground_construction
object (Ground Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
{
  • "type": "_FaceSubSet",
  • "interior_construction": {
    },
  • "exterior_construction": {
    },
  • "ground_construction": {
    }
}

_FaceSubSetAbridged

type
string (Type) ^_FaceSubSetAbridged$
Default: "_FaceSubSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
interior_construction
string (Interior Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for faces with a Surface or Adiabatic boundary condition.

+
exterior_construction
string (Exterior Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for faces with an Outdoors boundary condition.

+
ground_construction
string (Ground Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for faces with a Ground boundary condition.

+
{
  • "type": "_FaceSubSetAbridged",
  • "interior_construction": "string",
  • "exterior_construction": "string",
  • "ground_construction": "string"
}

_HeatCoolBase

type
string (Type) ^_HeatCoolBase$
Default: "_HeatCoolBase"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
{
  • "type": "_HeatCoolBase",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019"
}

_OpenAPIGenBaseModel

type
string (Type)
Default: "InvalidType"

A base class to use when there is no baseclass available to fall on.

+
{
  • "type": "InvalidType"
}

_PropertiesBaseAbridged

type
string (Type) ^_PropertiesBaseAbridged$
Default: "_PropertiesBaseAbridged"

A base class to use when there is no baseclass available to fall on.

+
modifier
string (Modifier)

A string for a Honeybee Radiance Modifier (default: None).

+
modifier_blk
string (Modifier Blk)

A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).

+
{
  • "type": "_PropertiesBaseAbridged",
  • "modifier": "string",
  • "modifier_blk": "string"
}

_RadianceAsset

type
string (Type) ^_RadianceAsset$
Default: "_RadianceAsset"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
room_identifier
string (Room Identifier) [ 1 .. 100 ] characters [.A-Za-z0-9_-]

Optional text string for the Room identifier to which this object belongs. This will be used to narrow down the number of aperture groups that have to be run with this sensor grid. If None, the grid will be run with all aperture groups in the model.

+
light_path
Array of strings (Light Path) [ items ]

Get or set a list of lists for the light path from the object to the sky. Each sub-list contains identifiers of aperture groups through which light passes. (eg. [["SouthWindow1"], ["static_apertures", "NorthWindow2"]]).Setting this property will override any auto-calculation of the light path from the model and room_identifier upon export to the simulation.

+
{
  • "type": "_RadianceAsset",
  • "identifier": "string",
  • "display_name": "string",
  • "room_identifier": "string",
  • "light_path": [
    ]
}

_TemplateSystem

type
string (Type) ^_TemplateSystem$
Default: "_TemplateSystem"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
{
  • "type": "_TemplateSystem",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019"
}

Adiabatic

type
string (Type) ^Adiabatic$
Default: "Adiabatic"

A base class to use when there is no baseclass available to fall on.

+
{
  • "type": "Adiabatic"
}

AFNCrack

type
string (Type) ^AFNCrack$
Default: "AFNCrack"

A base class to use when there is no baseclass available to fall on.

+
flow_coefficient
required
number <double> (Flow Coefficient) > 0

A number in kg/s-m at 1 Pa per meter of crack length at the conditions defined in the ReferenceCrack condition; required to run an AirflowNetwork simulation. The DesignBuilder Cracks template defines the flow coefficient for a tight, low-leakage wall to be 0.00001 and 0.001 for external and internal constructions, respectively. Flow coefficients for a very poor, high-leakage wall are defined to be 0.0004 and 0.019 for external and internal constructions, respectively.

+
flow_exponent
number <double> (Flow Exponent) [ 0.5 .. 1 ]
Default: 0.65

An optional dimensionless number between 0.5 and 1 used to calculate the crack mass flow rate; required to run an AirflowNetwork simulation. This value represents the leak geometry impact on airflow, with 0.5 generally corresponding to turbulent orifice flow and 1 generally corresponding to laminar flow. The default of 0.65 is representative of many cases of wall and window leakage, used when the exponent cannot be measured.

+
{
  • "type": "AFNCrack",
  • "flow_coefficient": 0,
  • "flow_exponent": 0.65
}

AirBoundaryConstruction

type
string (Type) ^AirBoundaryConstruction$
Default: "AirBoundaryConstruction"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
air_mixing_per_area
number <double> (Air Mixing Per Area) >= 0
Default: 0.1

A positive number for the amount of air mixing between Rooms across the air boundary surface [m3/s-m2]. Default: 0.1 corresponds to average indoor air speeds of 0.1 m/s (roughly 20 fpm), which is typical of what would be induced by a HVAC system.

+
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Air Mixing Schedule)

A fractional schedule as a ScheduleRuleset or ScheduleFixedInterval for the air mixing schedule across the construction. If unspecified, an Always On schedule will be assumed.

+
{
  • "type": "AirBoundaryConstruction",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "air_mixing_per_area": 0.1,
  • "air_mixing_schedule": {
    }
}

AirBoundaryConstructionAbridged

type
string (Type) ^AirBoundaryConstructionAbridged$
Default: "AirBoundaryConstructionAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
air_mixing_per_area
number <double> (Air Mixing Per Area) >= 0
Default: 0.1

A positive number for the amount of air mixing between Rooms across the air boundary surface [m3/s-m2]. Default: 0.1 corresponds to average indoor air speeds of 0.1 m/s (roughly 20 fpm), which is typical of what would be induced by a HVAC system.

+
air_mixing_schedule
string (Air Mixing Schedule) [ 1 .. 100 ] characters

Identifier of a fractional schedule for the air mixing schedule across the construction. If unspecified, an Always On schedule will be assumed.

+
{
  • "type": "AirBoundaryConstructionAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "air_mixing_per_area": 0.1,
  • "air_mixing_schedule": "string"
}

AllAirEconomizerType

string (AllAirEconomizerType)
Enum: "NoEconomizer" "DifferentialDryBulb" "DifferentialEnthalpy" "DifferentialDryBulbAndEnthalpy" "FixedDryBulb" "FixedEnthalpy" "ElectronicEnthalpy"

An enumeration.

+
"NoEconomizer"

Aperture

type
string (Type) ^Aperture$
Default: "Aperture"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[.A-Za-z0-9_-]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
geometry
required
object (Geometry) Recursive

A single planar face in 3D space.

+
required
Outdoors (object) or Surface (object) (Boundary Condition)
properties
required
object (Properties) Recursive

Extension properties for particular simulation engines (Radiance, EnergyPlus).

+
is_operable
boolean (Is Operable)
Default: false

Boolean to note whether the Aperture can be opened for ventilation.

+
Array of objects (Indoor Shades)

Shades assigned to the interior side of this object (eg. window sill, light shelf).

+
Array of objects (Outdoor Shades)

Shades assigned to the exterior side of this object (eg. mullions, louvers).

+
{
  • "type": "Aperture",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "geometry": {
    },
  • "boundary_condition": {
    },
  • "properties": {
    },
  • "is_operable": false,
  • "indoor_shades": [
    ],
  • "outdoor_shades": [
    ]
}

ApertureConstructionSet

type
string (Type) ^ApertureConstructionSet$
Default: "ApertureConstructionSet"

A base class to use when there is no baseclass available to fall on.

+
WindowConstruction (object) or WindowConstructionShade (object) or WindowConstructionDynamic (object) (Interior Construction)

A WindowConstruction for all apertures with a Surface boundary condition.

+
WindowConstruction (object) or WindowConstructionShade (object) or WindowConstructionDynamic (object) (Window Construction)

A WindowConstruction for apertures with an Outdoors boundary condition, False is_operable property, and a Wall face type for their parent face.

+
WindowConstruction (object) or WindowConstructionShade (object) or WindowConstructionDynamic (object) (Skylight Construction)

A WindowConstruction for apertures with a Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.

+
WindowConstruction (object) or WindowConstructionShade (object) or WindowConstructionDynamic (object) (Operable Construction)

A WindowConstruction for all apertures with an Outdoors boundary condition and True is_operable property.

+
{
  • "type": "ApertureConstructionSet",
  • "interior_construction": {
    },
  • "window_construction": {
    },
  • "skylight_construction": {
    },
  • "operable_construction": {
    }
}

ApertureConstructionSetAbridged

type
string (Type) ^ApertureConstructionSetAbridged$
Default: "ApertureConstructionSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
interior_construction
string (Interior Construction) [ 1 .. 100 ] characters

Identifier for a WindowConstruction for all apertures with a Surface boundary condition.

+
window_construction
string (Window Construction) [ 1 .. 100 ] characters

Identifier for a WindowConstruction for apertures with an Outdoors boundary condition, False is_operable property, and a Wall face type for their parent face.

+
skylight_construction
string (Skylight Construction) [ 1 .. 100 ] characters

Identifier for a WindowConstruction for apertures with a Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.

+
operable_construction
string (Operable Construction) [ 1 .. 100 ] characters

Identifier for a WindowConstruction for all apertures with an Outdoors boundary condition and True is_operable property.

+
{
  • "type": "ApertureConstructionSetAbridged",
  • "interior_construction": "string",
  • "window_construction": "string",
  • "skylight_construction": "string",
  • "operable_construction": "string"
}

ApertureEnergyPropertiesAbridged

type
string (Type) ^ApertureEnergyPropertiesAbridged$
Default: "ApertureEnergyPropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
construction
string (Construction) [ 1 .. 100 ] characters

Identifier of a WindowConstruction for the aperture. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.

+
vent_opening
object (Vent Opening) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
{
  • "type": "ApertureEnergyPropertiesAbridged",
  • "construction": "string",
  • "vent_opening": {
    }
}

ApertureModifierSet

type
string (Type) ^ApertureModifierSet$
Default: "ApertureModifierSet"

A base class to use when there is no baseclass available to fall on.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Window Modifier)

A modifier object for apertures with an Outdoors boundary condition, False is_operable property, and Wall parent Face.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Interior Modifier)

A modifier object for apertures with a Surface boundary condition.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Skylight Modifier)

A modifier object for apertures with an Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Operable Modifier)

A modifier object for apertures with an Outdoors boundary condition and a True is_operable property.

+
{
  • "type": "ApertureModifierSet",
  • "window_modifier": {
    },
  • "interior_modifier": {
    },
  • "skylight_modifier": {
    },
  • "operable_modifier": {
    }
}

ApertureModifierSetAbridged

type
string (Type) ^ApertureModifierSetAbridged$
Default: "ApertureModifierSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
window_modifier
string (Window Modifier)

Identifier of modifier object for apertures with an Outdoors boundary condition, False is_operable property, and Wall parent Face.

+
interior_modifier
string (Interior Modifier)

Identifier of modifier object for apertures with a Surface boundary condition.

+
skylight_modifier
string (Skylight Modifier)

Identifier of modifier object for apertures with an Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.

+
operable_modifier
string (Operable Modifier)

Identifier of modifier object for apertures with an Outdoors boundary condition and a True is_operable property.

+
{
  • "type": "ApertureModifierSetAbridged",
  • "window_modifier": "string",
  • "interior_modifier": "string",
  • "skylight_modifier": "string",
  • "operable_modifier": "string"
}

AperturePropertiesAbridged

type
string (Type) ^AperturePropertiesAbridged$
Default: "AperturePropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
energy
object (ApertureEnergyPropertiesAbridged) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
radiance
object (ApertureRadiancePropertiesAbridged) Recursive

Base class of Abridged Radiance Properties.

+
{
  • "type": "AperturePropertiesAbridged",
  • "energy": {
    },
  • "radiance": {
    }
}

ApertureRadiancePropertiesAbridged

type
string (Type) ^ApertureRadiancePropertiesAbridged$
Default: "ApertureRadiancePropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
modifier
string (Modifier)

A string for a Honeybee Radiance Modifier (default: None).

+
modifier_blk
string (Modifier Blk)

A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).

+
dynamic_group_identifier
string (Dynamic Group Identifier)

An optional string to note the dynamic group ' 'to which the Aperture is a part of. Apertures sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Aperture is assumed to be static. (default: None).

+
Array of objects (States)

An optional list of abridged states (default: None).

+
{
  • "type": "ApertureRadiancePropertiesAbridged",
  • "modifier": "string",
  • "modifier_blk": "string",
  • "dynamic_group_identifier": "string",
  • "states": [
    ]
}

Autocalculate

type
string (Type) ^Autocalculate$
Default: "Autocalculate"

A base class to use when there is no baseclass available to fall on.

+
{
  • "type": "Autocalculate"
}

Autosize

type
string (Type) ^Autosize$
Default: "Autosize"

A base class to use when there is no baseclass available to fall on.

+
{
  • "type": "Autosize"
}

Baseboard

type
string (Type) ^Baseboard$
Default: "Baseboard"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
equipment_type
string (BaseboardEquipmentType)
Default: "ElectricBaseboard"
Enum: "ElectricBaseboard" "BoilerBaseboard" "ASHPBaseboard" "DHWBaseboard"

An enumeration.

+
{
  • "type": "Baseboard",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "equipment_type": "ElectricBaseboard"
}

BaseboardEquipmentType

string (BaseboardEquipmentType)
Enum: "ElectricBaseboard" "BoilerBaseboard" "ASHPBaseboard" "DHWBaseboard"

An enumeration.

+
"ElectricBaseboard"

BaseModifierSet

type
string (Type) ^BaseModifierSet$
Default: "BaseModifierSet"

A base class to use when there is no baseclass available to fall on.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Exterior Modifier)

A radiance modifier object for faces with an Outdoors boundary condition.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Interior Modifier)

A radiance modifier object for faces with a boundary condition other than Outdoors.

+
{
  • "type": "BaseModifierSet",
  • "exterior_modifier": {
    },
  • "interior_modifier": {
    }
}

BaseModifierSetAbridged

type
string (Type) ^BaseModifierSetAbridged$
Default: "BaseModifierSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
exterior_modifier
string (Exterior Modifier)

Identifier for a radiance modifier object for faces with an Outdoors boundary condition.

+
interior_modifier
string (Interior Modifier)

Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.

+
{
  • "type": "BaseModifierSetAbridged",
  • "exterior_modifier": "string",
  • "interior_modifier": "string"
}

BSDF

type
string (Type) ^BSDF$
Default: "BSDF"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
bsdf_data
required
string (Bsdf Data)

A string with the contents of the BSDF XML file.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Modifier)
Default: {"type":"Void"}

Material modifier.

+
Array of Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Dependencies)

List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.

+
up_orientation
Array of numbers <double> (Up Orientation) = 3 items [ items <double > ]
Default: [0.01,0.01,1]

Vector as sequence that sets the hemisphere that the BSDF material faces.

+
thickness
number <double> (Thickness)
Default: 0

Optional number to set the thickness of the BSDF material Sign of thickness indicates whether proxied geometry is behind the BSDF surface (when thickness is positive) or in front (when thickness is negative).

+
function_file
string (Function File) [ 1 .. 100 ] characters
Default: "."

Optional input for function file. Using "." will ensure that BSDF data is written to the root of wherever a given study is run.

+
transform
string (Transform) [ 1 .. 100 ] characters

Optional transform input to scale the thickness and reorient the up vector.

+
front_diffuse_reflectance
Array of numbers <double> (Front Diffuse Reflectance) = 3 items [ items <double > ]

Optional additional front diffuse reflectance as sequence of three RGB numbers.

+
back_diffuse_reflectance
Array of numbers <double> (Back Diffuse Reflectance) = 3 items [ items <double > ]

Optional additional back diffuse reflectance as sequence of three RGB numbers.

+
diffuse_transmittance
Array of numbers <double> (Diffuse Transmittance) = 3 items [ items <double > ]

Optional additional diffuse transmittance as sequence of three RGB numbers.

+
{
  • "type": "BSDF",
  • "identifier": "string",
  • "display_name": "string",
  • "bsdf_data": "string",
  • "modifier": {
    },
  • "dependencies": [
    ],
  • "up_orientation": [
    ],
  • "thickness": 0,
  • "function_file": ".",
  • "transform": "string",
  • "front_diffuse_reflectance": [
    ],
  • "back_diffuse_reflectance": [
    ],
  • "diffuse_transmittance": [
    ]
}

BuildingType

string (BuildingType)
Enum: "LowRise" "HighRise"

An enumeration.

+
"LowRise"

Color

type
string (Type) ^Color$
Default: "Color"

A base class to use when there is no baseclass available to fall on.

+
r
required
integer <int32> (R) [ 0 .. 255 ]

Value for red channel.

+
g
required
integer <int32> (G) [ 0 .. 255 ]

Value for green channel.

+
b
required
integer <int32> (B) [ 0 .. 255 ]

Value for blue channel.

+
a
integer <int32> (A) [ 0 .. 255 ]
Default: 255

Value for the alpha channel, which defines the opacity as a number between 0 (fully transparent) and 255 (fully opaque).

+
{
  • "type": "Color",
  • "r": 255,
  • "g": 255,
  • "b": 255,
  • "a": 255
}

ConstructionSet

type
string (Type) ^ConstructionSet$
Default: "ConstructionSet"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
wall_set
object (Wall Set) Recursive

A set of constructions for wall assemblies.

+
floor_set
object (Floor Set) Recursive

A set of constructions for floor assemblies.

+
roof_ceiling_set
object (Roof Ceiling Set) Recursive

A set of constructions for roof and ceiling assemblies.

+
aperture_set
object (Aperture Set) Recursive

A set of constructions for aperture assemblies.

+
door_set
object (Door Set) Recursive

A set of constructions for door assemblies.

+
shade_construction
object (Shade Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
AirBoundaryConstruction (object) or OpaqueConstruction (object) (Air Boundary Construction)

An AirBoundaryConstruction or OpaqueConstruction to set the properties of Faces with an AirBoundary type.

+
{
  • "type": "ConstructionSet",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "wall_set": {
    },
  • "floor_set": {
    },
  • "roof_ceiling_set": {
    },
  • "aperture_set": {
    },
  • "door_set": {
    },
  • "shade_construction": {
    },
  • "air_boundary_construction": {
    }
}

ConstructionSetAbridged

type
string (Type) ^ConstructionSetAbridged$
Default: "ConstructionSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
wall_set
object (Wall Set) Recursive

A set of constructions for wall, floor, or roof assemblies.

+
floor_set
object (Floor Set) Recursive

A set of constructions for wall, floor, or roof assemblies.

+
roof_ceiling_set
object (Roof Ceiling Set) Recursive

A set of constructions for wall, floor, or roof assemblies.

+
aperture_set
object (Aperture Set) Recursive

A set of constructions for aperture assemblies.

+
door_set
object (Door Set) Recursive

A set of constructions for door assemblies.

+
shade_construction
string (Shade Construction) [ 1 .. 100 ] characters

The identifier of a ShadeConstruction to set the reflectance properties of all outdoor shades of all objects to which this ConstructionSet is assigned.

+
air_boundary_construction
string (Air Boundary Construction) [ 1 .. 100 ] characters

The identifier of an AirBoundaryConstruction or OpaqueConstruction to set the properties of Faces with an AirBoundary type.

+
{
  • "type": "ConstructionSetAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "wall_set": {
    },
  • "floor_set": {
    },
  • "roof_ceiling_set": {
    },
  • "aperture_set": {
    },
  • "door_set": {
    },
  • "shade_construction": "string",
  • "air_boundary_construction": "string"
}

ControlType

string (ControlType)
Enum: "AlwaysOn" "OnIfHighSolarOnWindow" "OnIfHighHorizontalSolar" "OnIfHighOutdoorAirTemperature" "OnIfHighZoneAirTemperature" "OnIfHighZoneCooling" "OnNightIfLowOutdoorTempAndOffDay" "OnNightIfLowInsideTempAndOffDay" "OnNightIfHeatingAndOffDay"

Choices for how the shading device is controlled.

+
"AlwaysOn"

DatedBaseModel

type
string (Type) ^DatedBaseModel$
Default: "DatedBaseModel"

A base class to use when there is no baseclass available to fall on.

+
{
  • "type": "DatedBaseModel"
}

DaylightingControl

type
string (Type) ^DaylightingControl$
Default: "DaylightingControl"

A base class to use when there is no baseclass available to fall on.

+
sensor_position
required
Array of numbers <double> (Sensor Position) = 3 items [ items <double > ]

A point as 3 (x, y, z) values for the position of the daylight sensor within the parent Room. This point should lie within the Room volume in order for the results to be meaningful.

+
illuminance_setpoint
number <double> (Illuminance Setpoint) > 0
Default: 300

A number for the illuminance setpoint in lux beyond which electric lights are dimmed if there is sufficient daylight.

+
control_fraction
number <double> (Control Fraction) [ 0 .. 1 ]
Default: 1

A number between 0 and 1 that represents the fraction of the Room lights that are dimmed when the illuminance at the sensor position is at the specified illuminance. 1 indicates that all lights are dim-able while 0 indicates that no lights are dim-able. Deeper rooms should have lower control fractions to account for the face that the lights in the back of the space do not dim in response to suitable daylight at the front of the room.

+
min_power_input
number <double> (Min Power Input) [ 0 .. 1 ]
Default: 0.3

A number between 0 and 1 for the the lowest power the lighting system can dim down to, expressed as a fraction of maximum input power.

+
min_light_output
number <double> (Min Light Output) [ 0 .. 1 ]
Default: 0.2

A number between 0 and 1 the lowest lighting output the lighting system can dim down to, expressed as a fraction of maximum light output.

+
off_at_minimum
boolean (Off At Minimum)
Default: false

Boolean to note whether lights should switch off completely when they get to the minimum power input.

+
{
  • "type": "DaylightingControl",
  • "sensor_position": [
    ],
  • "illuminance_setpoint": 300,
  • "control_fraction": 1,
  • "min_power_input": 0.3,
  • "min_light_output": 0.2,
  • "off_at_minimum": false
}

DetailedHVAC

type
string (Type) ^DetailedHVAC$
Default: "DetailedHVAC"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
specification
required
object (Specification)

A JSON-serializable dictionary representing the full specification of the detailed system. This can be obtained by calling the ToJson() method on any IronBug HVAC system and then serializing the resulting JSON string into a Python dictionary using the native Python json package. Note that the Rooms that the HVAC is assigned to must be specified as ThermalZones under this specification in order for the resulting Model this HVAC is a part of to be valid.

+
{
  • "type": "DetailedHVAC",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "specification": { }
}

Door

type
string (Type) ^Door$
Default: "Door"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[.A-Za-z0-9_-]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
geometry
required
object (Geometry) Recursive

A single planar face in 3D space.

+
required
Outdoors (object) or Surface (object) (Boundary Condition)
properties
required
object (Properties) Recursive

Extension properties for particular simulation engines (Radiance, EnergyPlus).

+
is_glass
boolean (Is Glass)
Default: false

Boolean to note whether this object is a glass door as opposed to an opaque door.

+
Array of objects (Indoor Shades)

Shades assigned to the interior side of this object.

+
Array of objects (Outdoor Shades)

Shades assigned to the exterior side of this object (eg. entryway awning).

+
{
  • "type": "Door",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "geometry": {
    },
  • "boundary_condition": {
    },
  • "properties": {
    },
  • "is_glass": false,
  • "indoor_shades": [
    ],
  • "outdoor_shades": [
    ]
}

DoorConstructionSet

type
string (Type) ^DoorConstructionSet$
Default: "DoorConstructionSet"

A base class to use when there is no baseclass available to fall on.

+
interior_construction
object (Interior Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
exterior_construction
object (Exterior Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
overhead_construction
object (Overhead Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
WindowConstruction (object) or WindowConstructionShade (object) or WindowConstructionDynamic (object) (Exterior Glass Construction)

A WindowConstruction for all glass doors with an Outdoors boundary condition.

+
WindowConstruction (object) or WindowConstructionShade (object) or WindowConstructionDynamic (object) (Interior Glass Construction)

A WindowConstruction for all glass doors with a Surface boundary condition.

+
{
  • "type": "DoorConstructionSet",
  • "interior_construction": {
    },
  • "exterior_construction": {
    },
  • "overhead_construction": {
    },
  • "exterior_glass_construction": {
    },
  • "interior_glass_construction": {
    }
}

DoorConstructionSetAbridged

type
string (Type) ^DoorConstructionSetAbridged$
Default: "DoorConstructionSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
interior_construction
string (Interior Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for all opaque doors with a Surface boundary condition.

+
exterior_construction
string (Exterior Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for opaque doors with an Outdoors boundary condition and a Wall face type for their parent face.

+
overhead_construction
string (Overhead Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for opaque doors with an Outdoors boundary condition and a RoofCeiling or Floor type for their parent face.

+
exterior_glass_construction
string (Exterior Glass Construction) [ 1 .. 100 ] characters

Identifier for a WindowConstruction for all glass doors with an Outdoors boundary condition.

+
interior_glass_construction
string (Interior Glass Construction) [ 1 .. 100 ] characters

Identifier for a WindowConstruction for all glass doors with a Surface boundary condition.

+
{
  • "type": "DoorConstructionSetAbridged",
  • "interior_construction": "string",
  • "exterior_construction": "string",
  • "overhead_construction": "string",
  • "exterior_glass_construction": "string",
  • "interior_glass_construction": "string"
}

DoorEnergyPropertiesAbridged

type
string (Type) ^DoorEnergyPropertiesAbridged$
Default: "DoorEnergyPropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
construction
string (Construction) [ 1 .. 100 ] characters

Identifier of an OpaqueConstruction or WindowConstruction for the door. Note that the host door must have the is_glass property set to True to assign a WindowConstruction. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.

+
vent_opening
object (Vent Opening) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
{
  • "type": "DoorEnergyPropertiesAbridged",
  • "construction": "string",
  • "vent_opening": {
    }
}

DoorModifierSet

type
string (Type) ^DoorModifierSet$
Default: "DoorModifierSet"

A base class to use when there is no baseclass available to fall on.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Exterior Modifier)

A radiance modifier object for faces with an Outdoors boundary condition.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Interior Modifier)

A radiance modifier object for faces with a boundary condition other than Outdoors.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Interior Glass Modifier)

A modifier object for glass with a Surface boundary condition.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Exterior Glass Modifier)

A modifier object for glass with an Outdoors boundary condition.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Overhead Modifier)

A window modifier object for doors with an Outdoors boundary condition and a RoofCeiling or Floor face type for their parent face.

+
{
  • "type": "DoorModifierSet",
  • "exterior_modifier": {
    },
  • "interior_modifier": {
    },
  • "interior_glass_modifier": {
    },
  • "exterior_glass_modifier": {
    },
  • "overhead_modifier": {
    }
}

DoorModifierSetAbridged

type
string (Type) ^DoorModifierSetAbridged$
Default: "DoorModifierSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
exterior_modifier
string (Exterior Modifier)

Identifier for a radiance modifier object for faces with an Outdoors boundary condition.

+
interior_modifier
string (Interior Modifier)

Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.

+
interior_glass_modifier
string (Interior Glass Modifier)

Identifier of modifier object for glass with a Surface boundary condition.

+
exterior_glass_modifier
string (Exterior Glass Modifier)

Identifier of modifier object for glass with an Outdoors boundary condition.

+
overhead_modifier
string (Overhead Modifier)

Identifier of a modifier object for doors with an Outdoors boundary condition and a RoofCeiling or Floor face type for their parent face.

+
{
  • "type": "DoorModifierSetAbridged",
  • "exterior_modifier": "string",
  • "interior_modifier": "string",
  • "interior_glass_modifier": "string",
  • "exterior_glass_modifier": "string",
  • "overhead_modifier": "string"
}

DoorPropertiesAbridged

type
string (Type) ^DoorPropertiesAbridged$
Default: "DoorPropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
energy
object (DoorEnergyPropertiesAbridged) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
radiance
object (DoorRadiancePropertiesAbridged) Recursive

Base class of Abridged Radiance Properties.

+
{
  • "type": "DoorPropertiesAbridged",
  • "energy": {
    },
  • "radiance": {
    }
}

DoorRadiancePropertiesAbridged

type
string (Type) ^DoorRadiancePropertiesAbridged$
Default: "DoorRadiancePropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
modifier
string (Modifier)

A string for a Honeybee Radiance Modifier (default: None).

+
modifier_blk
string (Modifier Blk)

A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).

+
dynamic_group_identifier
string (Dynamic Group Identifier)

An optional string to note the dynamic group ' 'to which the Door is a part of. Doors sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Door is assumed to be static. (default: None).

+
Array of objects (States)

An optional list of abridged states (default: None).

+
{
  • "type": "DoorRadiancePropertiesAbridged",
  • "modifier": "string",
  • "modifier_blk": "string",
  • "dynamic_group_identifier": "string",
  • "states": [
    ]
}

EconomizerType

string (EconomizerType)
Enum: "NoEconomizer" "DifferentialDryBulb" "DifferentialEnthalpy"

An enumeration.

+
"NoEconomizer"

ElectricEquipment

type
string (Type) ^ElectricEquipment$
Default: "ElectricEquipment"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
watts_per_area
required
number <double> (Watts Per Area) >= 0

Equipment level per floor area as [W/m2].

+
required
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Schedule)

The schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.

+
radiant_fraction
number <double> (Radiant Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.

+
latent_fraction
number <double> (Latent Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of latent heat given off by equipment. Default value is 0.

+
lost_fraction
number <double> (Lost Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of “lost” heat being given off by equipment. The default value is 0.

+
{
  • "type": "ElectricEquipment",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "watts_per_area": 0,
  • "schedule": {
    },
  • "radiant_fraction": 0,
  • "latent_fraction": 0,
  • "lost_fraction": 0
}

ElectricEquipmentAbridged

type
string (Type) ^ElectricEquipmentAbridged$
Default: "ElectricEquipmentAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
watts_per_area
required
number <double> (Watts Per Area) >= 0

Equipment level per floor area as [W/m2].

+
schedule
required
string (Schedule) [ 1 .. 100 ] characters

Identifier of the schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.

+
radiant_fraction
number <double> (Radiant Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.

+
latent_fraction
number <double> (Latent Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of latent heat given off by equipment. Default value is 0.

+
lost_fraction
number <double> (Lost Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of “lost” heat being given off by equipment. The default value is 0.

+
{
  • "type": "ElectricEquipmentAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "watts_per_area": 0,
  • "schedule": "string",
  • "radiant_fraction": 0,
  • "latent_fraction": 0,
  • "lost_fraction": 0
}

ElectricLoadCenter

type
string (Type) ^ElectricLoadCenter$
Default: "ElectricLoadCenter"

A base class to use when there is no baseclass available to fall on.

+
inverter_efficiency
number <double> (Inverter Efficiency) ( 0 .. 1 ]
Default: 0.96

A number between 0 and 1 for the load center inverter nominal rated DC-to-AC conversion efficiency. An inverter converts DC power, such as that output by photovoltaic panels, to AC power, such as that distributed by the electrical grid and is available from standard electrical outlets. Inverter efficiency is defined as the inverter rated AC power output divided by its rated DC power output.

+
inverter_dc_to_ac_size_ratio
number <double> (Inverter Dc To Ac Size Ratio) > 0
Default: 1.1

A positive number (typically greater than 1) for the ratio of the inverter DC rated size to its AC rated size. Typically, inverters are not sized to convert the full DC output under standard test conditions (STC) as such conditions rarely occur in reality and therefore unnecessarily add to the size/cost of the inverter. For a system with a high DC to AC size ratio, during times when the DC power output exceeds the inverter rated DC input size, the inverter limits the power output by increasing the DC operating voltage, which moves the arrays operating point down its current-voltage (I-V) curve. In EnergyPlus, this is accomplished by simply limiting the system output to the AC size as dictated by the ratio. The default value of 1.1 is reasonable for most systems. A typical range is 1.1 to 1.25, although some large-scale systems have ratios of as high as 1.5. The optimal value depends on the system location, array orientation, and module cost.

+
{
  • "type": "ElectricLoadCenter",
  • "inverter_efficiency": 0.96,
  • "inverter_dc_to_ac_size_ratio": 1.1
}

EnergyBaseModel

type
string (Type) ^EnergyBaseModel$
Default: "EnergyBaseModel"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
{
  • "type": "EnergyBaseModel",
  • "identifier": "string",
  • "display_name": "string"
}

EnergyMaterial

type
string (Type) ^EnergyMaterial$
Default: "EnergyMaterial"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
thickness
required
number <double> (Thickness) ( 0 .. 3 ]

Thickness of the material layer in meters.

+
conductivity
required
number <double> (Conductivity) > 0

Thermal conductivity of the material layer in W/m-K.

+
density
required
number <double> (Density) > 0

Density of the material layer in kg/m3.

+
specific_heat
required
number <double> (Specific Heat) >= 100

Specific heat of the material layer in J/kg-K.

+
roughness
string (Roughness)
Default: "MediumRough"
Enum: "VeryRough" "Rough" "MediumRough" "MediumSmooth" "Smooth" "VerySmooth"

Relative roughness of a particular material layer.

+
thermal_absorptance
number <double> (Thermal Absorptance) ( 0 .. 0.99999 ]
Default: 0.9

Fraction of incident long wavelength radiation that is absorbed by the material. Default: 0.9.

+
solar_absorptance
number <double> (Solar Absorptance) [ 0 .. 1 ]
Default: 0.7

Fraction of incident solar radiation absorbed by the material. Default: 0.7.

+
visible_absorptance
number <double> (Visible Absorptance) [ 0 .. 1 ]
Default: 0.7

Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.

+
{
  • "type": "EnergyMaterial",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "thickness": 3,
  • "conductivity": 0,
  • "density": 0,
  • "specific_heat": 100,
  • "roughness": "MediumRough",
  • "thermal_absorptance": 0.9,
  • "solar_absorptance": 0.7,
  • "visible_absorptance": 0.7
}

EnergyMaterialNoMass

type
string (Type) ^EnergyMaterialNoMass$
Default: "EnergyMaterialNoMass"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
r_value
required
number <double> (R Value) >= 0.001

The thermal resistance (R-value) of the material layer [m2-K/W].

+
roughness
string (Roughness)
Default: "MediumRough"
Enum: "VeryRough" "Rough" "MediumRough" "MediumSmooth" "Smooth" "VerySmooth"

Relative roughness of a particular material layer.

+
thermal_absorptance
number <double> (Thermal Absorptance) ( 0 .. 0.99999 ]
Default: 0.9

Fraction of incident long wavelength radiation that is absorbed by the material. Default: 0.9.

+
solar_absorptance
number <double> (Solar Absorptance) [ 0 .. 1 ]
Default: 0.7

Fraction of incident solar radiation absorbed by the material. Default: 0.7.

+
visible_absorptance
number <double> (Visible Absorptance) [ 0 .. 1 ]
Default: 0.7

Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.

+
{
  • "type": "EnergyMaterialNoMass",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "r_value": 0.001,
  • "roughness": "MediumRough",
  • "thermal_absorptance": 0.9,
  • "solar_absorptance": 0.7,
  • "visible_absorptance": 0.7
}

EnergyMaterialVegetation

type
string (Type) ^EnergyMaterialVegetation$
Default: "EnergyMaterialVegetation"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
roughness
string (Roughness)
Default: "MediumRough"
Enum: "VeryRough" "Rough" "MediumRough" "MediumSmooth" "Smooth" "VerySmooth"

Relative roughness of a particular material layer.

+
thickness
number <double> (Thickness) ( 0 .. 3 ]
Default: 0.1

Thickness of the soil layer in meters.

+
conductivity
number <double> (Conductivity) > 0
Default: 0.35

Thermal conductivity of the dry soil in W/m-K.

+
density
number <double> (Density) > 0
Default: 1100

Density of the dry soil in kg/m3.

+
specific_heat
number <double> (Specific Heat) >= 100
Default: 1200

Specific heat of the dry soil in J/kg-K.

+
soil_thermal_absorptance
number <double> (Soil Thermal Absorptance) ( 0 .. 0.99999 ]
Default: 0.9

Fraction of incident long wavelength radiation that is absorbed by the soil. Default: 0.9.

+
soil_solar_absorptance
number <double> (Soil Solar Absorptance) [ 0 .. 1 ]
Default: 0.7

Fraction of incident solar radiation absorbed by the soil. Default: 0.7.

+
soil_visible_absorptance
number <double> (Soil Visible Absorptance) [ 0 .. 1 ]
Default: 0.7

Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.

+
plant_height
number <double> (Plant Height) [ 0.005 .. 1 ]
Default: 0.2

The height of plants in the vegetation in meters.

+
leaf_area_index
number <double> (Leaf Area Index) [ 0.001 .. 5 ]
Default: 1

The projected leaf area per unit area of soil surface (aka. Leaf Area Index or LAI). Note that the fraction of vegetation cover is calculated directly from LAI using an empirical relation.

+
leaf_reflectivity
number <double> (Leaf Reflectivity) [ 0.005 .. 0.5 ]
Default: 0.22

The fraction of incident solar radiation that is reflected by the leaf surfaces. Solar radiation includes the visible spectrum as well as infrared and ultraviolet wavelengths. Typical values are 0.18 to 0.25.

+
leaf_emissivity
number <double> (Leaf Emissivity) [ 0.8 .. 1 ]
Default: 0.95

The ratio of thermal radiation emitted from leaf surfaces to that emitted by an ideal black body at the same temperature.

+
min_stomatal_resist
number <double> (Min Stomatal Resist) [ 50 .. 300 ]
Default: 180

The resistance of the plants to moisture transport [s/m]. Plants with low values of stomatal resistance will result in higher evapotranspiration rates than plants with high resistance.

+
sat_vol_moist_cont
number <double> (Sat Vol Moist Cont) [ 0.1 .. 0.5 ]
Default: 0.3

The saturation moisture content of the soil by volume.

+
residual_vol_moist_cont
number <double> (Residual Vol Moist Cont) [ 0.01 .. 0.1 ]
Default: 0.01

The residual moisture content of the soil by volume.

+
init_vol_moist_cont
number <double> (Init Vol Moist Cont) [ 0.05 .. 0.5 ]
Default: 0.01

The initial moisture content of the soil by volume.

+
moist_diff_model
string (MoistureDiffusionModel)
Default: "Simple"
Enum: "Simple" "Advanced"

Acceptable values for the moisture diffusion model for vegetation.

+
{
  • "type": "EnergyMaterialVegetation",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "roughness": "MediumRough",
  • "thickness": 0.1,
  • "conductivity": 0.35,
  • "density": 1100,
  • "specific_heat": 1200,
  • "soil_thermal_absorptance": 0.9,
  • "soil_solar_absorptance": 0.7,
  • "soil_visible_absorptance": 0.7,
  • "plant_height": 0.2,
  • "leaf_area_index": 1,
  • "leaf_reflectivity": 0.22,
  • "leaf_emissivity": 0.95,
  • "min_stomatal_resist": 180,
  • "sat_vol_moist_cont": 0.3,
  • "residual_vol_moist_cont": 0.01,
  • "init_vol_moist_cont": 0.01,
  • "moist_diff_model": "Simple"
}

EnergyWindowFrame

type
string (Type) ^EnergyWindowFrame$
Default: "EnergyWindowFrame"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
width
required
number <double> (Width) ( 0 .. 1 ]

Number for the width of frame in plane of window [m]. The frame width is assumed to be the same on all sides of window..

+
conductance
required
number <double> (Conductance) > 0

Number for the thermal conductance of the frame material measured from inside to outside of the frame surface (no air films) and taking 2D conduction effects into account [W/m2-K].

+
edge_to_center_ratio
number <double> (Edge To Center Ratio) ( 0 .. 4 ]
Default: 1

Number between 0 and 4 for the ratio of the glass conductance near the frame (excluding air films) divided by the glass conductance at the center of the glazing (excluding air films). This is used only for multi-pane glazing constructions. This ratio should usually be greater than 1.0 since the spacer material that separates the glass panes is usually more conductive than the gap between panes. A value of 1 effectively indicates no spacer. Values should usually be obtained from the LBNL WINDOW program so that the unique characteristics of the window construction can be accounted for.

+
outside_projection
number <double> (Outside Projection) [ 0 .. 0.5 ]
Default: 0

Number for the distance that the frame projects outward from the outside face of the glazing [m]. This is used to calculate shadowing of frame onto glass, solar absorbed by the frame, IR emitted and absorbed by the frame, and convection from frame.

+
inside_projection
number <double> (Inside Projection) [ 0 .. 0.5 ]
Default: 0

Number for the distance that the frame projects inward from the inside face of the glazing [m]. This is used to calculate solar absorbed by the frame, IR emitted and absorbed by the frame, and convection from frame.

+
thermal_absorptance
number <double> (Thermal Absorptance) ( 0 .. 0.99999 ]
Default: 0.9

Fraction of incident long wavelength radiation that is absorbed by the frame material.

+
solar_absorptance
number <double> (Solar Absorptance) [ 0 .. 1 ]
Default: 0.7

Fraction of incident solar radiation absorbed by the frame material.

+
visible_absorptance
number <double> (Visible Absorptance) [ 0 .. 1 ]
Default: 0.7

Fraction of incident visible wavelength radiation absorbed by the frame material.

+
{
  • "type": "EnergyWindowFrame",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "width": 1,
  • "conductance": 0,
  • "edge_to_center_ratio": 1,
  • "outside_projection": 0,
  • "inside_projection": 0,
  • "thermal_absorptance": 0.9,
  • "solar_absorptance": 0.7,
  • "visible_absorptance": 0.7
}

EnergyWindowMaterialBlind

type
string (Type) ^EnergyWindowMaterialBlind$
Default: "EnergyWindowMaterialBlind"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
slat_orientation
string (SlatOrientation)
Default: "Horizontal"
Enum: "Horizontal" "Vertical"

An enumeration.

+
slat_width
number <double> (Slat Width) ( 0 .. 1 ]
Default: 0.025

The width of slat measured from edge to edge in meters.

+
slat_separation
number <double> (Slat Separation) ( 0 .. 1 ]
Default: 0.01875

The distance between the front of a slat and the back of the adjacent slat in meters.

+
slat_thickness
number <double> (Slat Thickness) ( 0 .. 0.1 ]
Default: 0.001

The distance between the faces of a slat in meters. The default value is 0.001.

+
slat_angle
number <double> (Slat Angle) [ 0 .. 180 ]
Default: 45

The angle (degrees) between the glazing outward normal and the slat outward normal where the outward normal points away from the front face of the slat (degrees). The default value is 45.

+
slat_conductivity
number <double> (Slat Conductivity) > 0
Default: 221

The thermal conductivity of the slat in W/(m-K). Default: 221.

+
beam_solar_transmittance
number <double> (Beam Solar Transmittance) [ 0 .. 1 )
Default: 0

The beam solar transmittance of the slat, assumed to be independent of angle of incidence on the slat. Any transmitted beam radiation is assumed to be 100% diffuse (i.e., slats are translucent). The default value is 0.

+
beam_solar_reflectance
number <double> (Beam Solar Reflectance) [ 0 .. 1 )
Default: 0.5

The beam solar reflectance of the front side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.

+
beam_solar_reflectance_back
number <double> (Beam Solar Reflectance Back) [ 0 .. 1 )
Default: 0.5

The beam solar reflectance of the back side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.

+
diffuse_solar_transmittance
number <double> (Diffuse Solar Transmittance) [ 0 .. 1 )
Default: 0

The slat transmittance for hemispherically diffuse solar radiation. Default: 0.

+
diffuse_solar_reflectance
number <double> (Diffuse Solar Reflectance) [ 0 .. 1 )
Default: 0.5

The front-side slat reflectance for hemispherically diffuse solar radiation. Default: 0.5.

+
diffuse_solar_reflectance_back
number <double> (Diffuse Solar Reflectance Back) [ 0 .. 1 )
Default: 0.5

The back-side slat reflectance for hemispherically diffuse solar radiation. Default: 0.5.

+
beam_visible_transmittance
number <double> (Beam Visible Transmittance) [ 0 .. 1 )
Default: 0

The beam visible transmittance of the slat, it is assumed to be independent of the angle of incidence. Default: 0.

+
beam_visible_reflectance
number <double> (Beam Visible Reflectance) [ 0 .. 1 )
Default: 0.5

The beam visible reflectance on the front side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.

+
beam_visible_reflectance_back
number <double> (Beam Visible Reflectance Back) [ 0 .. 1 )
Default: 0.5

The beam visible reflectance on the back side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.

+
diffuse_visible_transmittance
number <double> (Diffuse Visible Transmittance) [ 0 .. 1 )
Default: 0

The slat transmittance for hemispherically diffuse visible radiation. This value should equal “Slat Beam Visible Transmittance.”

+
diffuse_visible_reflectance
number <double> (Diffuse Visible Reflectance) [ 0 .. 1 )
Default: 0.5

The front-side slat reflectance for hemispherically diffuse visible radiation. This value should equal “Front Side Slat Beam Visible Reflectance.” Default: 0.5.

+
diffuse_visible_reflectance_back
number <double> (Diffuse Visible Reflectance Back) [ 0 .. 1 )
Default: 0.5

The back-side slat reflectance for hemispherically diffuse visible radiation. This value should equal “Back Side Slat Beam Visible Reflectance. Default: 0.5.”

+
infrared_transmittance
number <double> (Infrared Transmittance) [ 0 .. 1 )
Default: 0

The slat infrared hemispherical transmittance. It is zero for solid metallic, wooden or glass slats, but may be non-zero in some cases such as for thin plastic slats. The default value is 0.

+
emissivity
number <double> (Emissivity) [ 0 .. 1 )
Default: 0.9

Front side hemispherical emissivity of the slat. Default is 0.9 for most materials. The default value is 0.9.

+
emissivity_back
number <double> (Emissivity Back) [ 0 .. 1 )
Default: 0.9

Back side hemispherical emissivity of the slat. Default is 0.9 for most materials. The default value is 0.9.

+
distance_to_glass
number <double> (Distance To Glass) [ 0.01 .. 1 ]
Default: 0.05

The distance from the mid-plane of the blind to the adjacent glass in meters. The default value is 0.05.

+
top_opening_multiplier
number <double> (Top Opening Multiplier) [ 0 .. 1 ]
Default: 0.5

The effective area for air flow at the top of the shade, divided by the horizontal area between glass and shade.

+
bottom_opening_multiplier
number <double> (Bottom Opening Multiplier) [ 0 .. 1 ]
Default: 0.5

The effective area for air flow at the bottom of the shade, divided by the horizontal area between glass and shade.

+
left_opening_multiplier
number <double> (Left Opening Multiplier) [ 0 .. 1 ]
Default: 0.5

The effective area for air flow at the left side of the shade, divided by the vertical area between glass and shade.

+
right_opening_multiplier
number <double> (Right Opening Multiplier) [ 0 .. 1 ]
Default: 0.5

The effective area for air flow at the right side of the shade, divided by the vertical area between glass and shade.

+
{
  • "type": "EnergyWindowMaterialBlind",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "slat_orientation": "Horizontal",
  • "slat_width": 0.025,
  • "slat_separation": 0.01875,
  • "slat_thickness": 0.001,
  • "slat_angle": 45,
  • "slat_conductivity": 221,
  • "beam_solar_transmittance": 0,
  • "beam_solar_reflectance": 0.5,
  • "beam_solar_reflectance_back": 0.5,
  • "diffuse_solar_transmittance": 0,
  • "diffuse_solar_reflectance": 0.5,
  • "diffuse_solar_reflectance_back": 0.5,
  • "beam_visible_transmittance": 0,
  • "beam_visible_reflectance": 0.5,
  • "beam_visible_reflectance_back": 0.5,
  • "diffuse_visible_transmittance": 0,
  • "diffuse_visible_reflectance": 0.5,
  • "diffuse_visible_reflectance_back": 0.5,
  • "infrared_transmittance": 0,
  • "emissivity": 0.9,
  • "emissivity_back": 0.9,
  • "distance_to_glass": 0.05,
  • "top_opening_multiplier": 0.5,
  • "bottom_opening_multiplier": 0.5,
  • "left_opening_multiplier": 0.5,
  • "right_opening_multiplier": 0.5
}

EnergyWindowMaterialGas

type
string (Type) ^EnergyWindowMaterialGas$
Default: "EnergyWindowMaterialGas"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
thickness
number <double> (Thickness) > 0
Default: 0.0125

Thickness of the gas layer in meters. Default: 0.0125.

+
gas_type
string (GasType)
Default: "Air"
Enum: "Air" "Argon" "Krypton" "Xenon"

An enumeration.

+
{
  • "type": "EnergyWindowMaterialGas",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "thickness": 0.0125,
  • "gas_type": "Air"
}

EnergyWindowMaterialGasCustom

type
string (Type) ^EnergyWindowMaterialGasCustom$
Default: "EnergyWindowMaterialGasCustom"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
conductivity_coeff_a
required
number <double> (Conductivity Coeff A)

The A coefficient for gas conductivity in W/(m-K).

+
viscosity_coeff_a
required
number <double> (Viscosity Coeff A) > 0

The A coefficient for gas viscosity in kg/(m-s).

+
specific_heat_coeff_a
required
number <double> (Specific Heat Coeff A) > 0

The A coefficient for gas specific heat in J/(kg-K).

+
specific_heat_ratio
required
number <double> (Specific Heat Ratio) > 1

The specific heat ratio for gas.

+
molecular_weight
required
number <double> (Molecular Weight) [ 20 .. 200 ]

The molecular weight for gas in g/mol.

+
thickness
number <double> (Thickness) > 0
Default: 0.0125

Thickness of the gas layer in meters. Default: 0.0125.

+
conductivity_coeff_b
number <double> (Conductivity Coeff B)
Default: 0

The B coefficient for gas conductivity in W/(m-K2).

+
conductivity_coeff_c
number <double> (Conductivity Coeff C)
Default: 0

The C coefficient for gas conductivity in W/(m-K3).

+
viscosity_coeff_b
number <double> (Viscosity Coeff B)
Default: 0

The B coefficient for gas viscosity in kg/(m-s-K).

+
viscosity_coeff_c
number <double> (Viscosity Coeff C)
Default: 0

The C coefficient for gas viscosity in kg/(m-s-K2).

+
specific_heat_coeff_b
number <double> (Specific Heat Coeff B)
Default: 0

The B coefficient for gas specific heat in J/(kg-K2).

+
specific_heat_coeff_c
number <double> (Specific Heat Coeff C)
Default: 0

The C coefficient for gas specific heat in J/(kg-K3).

+
{
  • "type": "EnergyWindowMaterialGasCustom",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "conductivity_coeff_a": 0,
  • "viscosity_coeff_a": 0,
  • "specific_heat_coeff_a": 0,
  • "specific_heat_ratio": 2,
  • "molecular_weight": 20,
  • "thickness": 0.0125,
  • "conductivity_coeff_b": 0,
  • "conductivity_coeff_c": 0,
  • "viscosity_coeff_b": 0,
  • "viscosity_coeff_c": 0,
  • "specific_heat_coeff_b": 0,
  • "specific_heat_coeff_c": 0
}

EnergyWindowMaterialGasMixture

type
string (Type) ^EnergyWindowMaterialGasMixture$
Default: "EnergyWindowMaterialGasMixture"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
gas_types
required
Array of strings (GasType) [ 2 .. 4 ] items
Items Enum: "Air" "Argon" "Krypton" "Xenon"

List of gases in the gas mixture.

+
gas_fractions
required
Array of numbers <double> (Gas Fractions) [ 2 .. 4 ] items [ items <double > ( 0 .. 1 ) ]

A list of fractional numbers describing the volumetric fractions of gas types in the mixture. This list must align with the gas_types list and must sum to 1.

+
thickness
number <double> (Thickness) > 0
Default: 0.0125

The thickness of the gas mixture layer in meters.

+
{
  • "type": "EnergyWindowMaterialGasMixture",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "gas_types": [
    ],
  • "gas_fractions": [
    ],
  • "thickness": 0.0125
}

EnergyWindowMaterialGlazing

type
string (Type) ^EnergyWindowMaterialGlazing$
Default: "EnergyWindowMaterialGlazing"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
thickness
number <double> (Thickness) > 0
Default: 0.003

The surface-to-surface thickness of the glass in meters. Default: 0.003.

+
solar_transmittance
number <double> (Solar Transmittance) [ 0 .. 1 ]
Default: 0.85

Transmittance of solar radiation through the glass at normal incidence. Default: 0.85 for clear glass.

+
solar_reflectance
number <double> (Solar Reflectance) [ 0 .. 1 ]
Default: 0.075

Reflectance of solar radiation off of the front side of the glass at normal incidence, averaged over the solar spectrum. Default: 0.075 for clear glass.

+
Autocalculate (object) or Solar Reflectance Back (number) (Solar Reflectance Back)
Default: {"type":"Autocalculate"}

Reflectance of solar radiation off of the back side of the glass at normal incidence, averaged over the solar spectrum.

+
visible_transmittance
number <double> (Visible Transmittance) [ 0 .. 1 ]
Default: 0.9

Transmittance of visible light through the glass at normal incidence. Default: 0.9 for clear glass.

+
visible_reflectance
number <double> (Visible Reflectance) [ 0 .. 1 ]
Default: 0.075

Reflectance of visible light off of the front side of the glass at normal incidence. Default: 0.075 for clear glass.

+
Autocalculate (object) or Visible Reflectance Back (number) (Visible Reflectance Back)
Default: {"type":"Autocalculate"}

Reflectance of visible light off of the back side of the glass at normal incidence averaged over the solar spectrum and weighted by the response of the human eye.

+
infrared_transmittance
number <double> (Infrared Transmittance) [ 0 .. 1 ]
Default: 0

Long-wave transmittance at normal incidence.

+
emissivity
number <double> (Emissivity) [ 0 .. 1 ]
Default: 0.84

Infrared hemispherical emissivity of the front (outward facing) side of the glass. Default: 0.84, which is typical for clear glass without a low-e coating.

+
emissivity_back
number <double> (Emissivity Back) [ 0 .. 1 ]
Default: 0.84

Infrared hemispherical emissivity of the back (inward facing) side of the glass. Default: 0.84, which is typical for clear glass without a low-e coating.

+
conductivity
number <double> (Conductivity) > 0
Default: 0.9

Thermal conductivity of the glass in W/(m-K). Default: 0.9, which is typical for clear glass without a low-e coating.

+
dirt_correction
number <double> (Dirt Correction)
Default: 1

Factor that corrects for the presence of dirt on the glass. A default value of 1 indicates the glass is clean.

+
solar_diffusing
boolean (Solar Diffusing)
Default: false

If False (default), the beam solar radiation incident on the glass is transmitted as beam radiation with no diffuse component.If True, the beam solar radiation incident on the glass is transmitted as hemispherical diffuse radiation with no beam component.

+
{
  • "type": "EnergyWindowMaterialGlazing",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "thickness": 0.003,
  • "solar_transmittance": 0.85,
  • "solar_reflectance": 0.075,
  • "solar_reflectance_back": {
    },
  • "visible_transmittance": 0.9,
  • "visible_reflectance": 0.075,
  • "visible_reflectance_back": {
    },
  • "infrared_transmittance": 0,
  • "emissivity": 0.84,
  • "emissivity_back": 0.84,
  • "conductivity": 0.9,
  • "dirt_correction": 1,
  • "solar_diffusing": false
}

EnergyWindowMaterialShade

type
string (Type) ^EnergyWindowMaterialShade$
Default: "EnergyWindowMaterialShade"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
solar_transmittance
number <double> (Solar Transmittance) [ 0 .. 1 )
Default: 0.4

The transmittance averaged over the solar spectrum. It is assumed independent of incidence angle. Default: 0.4.

+
solar_reflectance
number <double> (Solar Reflectance) [ 0 .. 1 )
Default: 0.5

The reflectance averaged over the solar spectrum. It us assumed same on both sides of shade and independent of incidence angle. Default value is 0.5

+
visible_transmittance
number <double> (Visible Transmittance) [ 0 .. 1 )
Default: 0.4

The transmittance averaged over the solar spectrum and weighted by the response of the human eye. It is assumed independent of incidence angle. Default: 0.4.

+
visible_reflectance
number <double> (Visible Reflectance) [ 0 .. 1 )
Default: 0.4

The transmittance averaged over the solar spectrum and weighted by the response of the human eye. It is assumed independent of incidence angle. Default: 0.4

+
emissivity
number <double> (Emissivity) ( 0 .. 1 )
Default: 0.9

The effective long-wave infrared hemispherical emissivity. It is assumed same on both sides of shade. Default: 0.9.

+
infrared_transmittance
number <double> (Infrared Transmittance) [ 0 .. 1 )
Default: 0

The effective long-wave transmittance. It is assumed independent of incidence angle. Default: 0.

+
thickness
number <double> (Thickness) > 0
Default: 0.005

The thickness of the shade material in meters. Default: 0.005.

+
conductivity
number <double> (Conductivity) > 0
Default: 0.1

The conductivity of the shade material in W/(m-K). Default value is 0.1.

+
distance_to_glass
number <double> (Distance To Glass) [ 0.001 .. 1 ]
Default: 0.05

The distance from shade to adjacent glass in meters. Default value is 0.05

+
top_opening_multiplier
number <double> (Top Opening Multiplier) [ 0 .. 1 ]
Default: 0.5

The effective area for air flow at the top of the shade, divided by the horizontal area between glass and shade. Default: 0.5.

+
bottom_opening_multiplier
number <double> (Bottom Opening Multiplier) [ 0 .. 1 ]
Default: 0.5

The effective area for air flow at the bottom of the shade, divided by the horizontal area between glass and shade. Default: 0.5.

+
left_opening_multiplier
number <double> (Left Opening Multiplier) [ 0 .. 1 ]
Default: 0.5

The effective area for air flow at the left side of the shade, divided by the vertical area between glass and shade. Default: 0.5.

+
right_opening_multiplier
number <double> (Right Opening Multiplier) [ 0 .. 1 ]
Default: 0.5

The effective area for air flow at the right side of the shade, divided by the vertical area between glass and shade. Default: 0.5.

+
airflow_permeability
number <double> (Airflow Permeability) [ 0 .. 0.8 ]
Default: 0

The fraction of the shade surface that is open to air flow. If air cannot pass through the shade material, airflow_permeability = 0. Default: 0.

+
{
  • "type": "EnergyWindowMaterialShade",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "solar_transmittance": 0.4,
  • "solar_reflectance": 0.5,
  • "visible_transmittance": 0.4,
  • "visible_reflectance": 0.4,
  • "emissivity": 0.9,
  • "infrared_transmittance": 0,
  • "thickness": 0.005,
  • "conductivity": 0.1,
  • "distance_to_glass": 0.05,
  • "top_opening_multiplier": 0.5,
  • "bottom_opening_multiplier": 0.5,
  • "left_opening_multiplier": 0.5,
  • "right_opening_multiplier": 0.5,
  • "airflow_permeability": 0
}

EnergyWindowMaterialSimpleGlazSys

type
string (Type) ^EnergyWindowMaterialSimpleGlazSys$
Default: "EnergyWindowMaterialSimpleGlazSys"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
u_factor
required
number <double> (U Factor) ( 0 .. 12 ]

The overall heat transfer coefficient for window system in W/m2-K. Note that constructions with U-values above 5.8 should not be assigned to skylights as this implies the resistance of the window is negative when air films are subtracted.

+
shgc
required
number <double> (Shgc) ( 0 .. 1 )

Unit-less quantity for the Solar Heat Gain Coefficient (solar transmittance + conduction) at normal incidence and vertical orientation.

+
vt
number <double> (Vt) ( 0 .. 1 )
Default: 0.54

The fraction of visible light falling on the window that makes it through the glass at normal incidence.

+
{
  • "type": "EnergyWindowMaterialSimpleGlazSys",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "u_factor": 12,
  • "shgc": 0,
  • "vt": 0.54
}

EvaporativeCooler

type
string (Type) ^EvaporativeCooler$
Default: "EvaporativeCooler"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
equipment_type
string (EvaporativeCoolerEquipmentType)
Default: "EvapCoolers_ElectricBaseboard"
Enum: "EvapCoolers_ElectricBaseboard" "EvapCoolers_BoilerBaseboard" "EvapCoolers_ASHPBaseboard" "EvapCoolers_DHWBaseboard" "EvapCoolers_Furnace" "EvapCoolers_UnitHeaters" "EvapCoolers"

An enumeration.

+
{
  • "type": "EvaporativeCooler",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "equipment_type": "EvapCoolers_ElectricBaseboard"
}

EvaporativeCoolerEquipmentType

string (EvaporativeCoolerEquipmentType)
Enum: "EvapCoolers_ElectricBaseboard" "EvapCoolers_BoilerBaseboard" "EvapCoolers_ASHPBaseboard" "EvapCoolers_DHWBaseboard" "EvapCoolers_Furnace" "EvapCoolers_UnitHeaters" "EvapCoolers"

An enumeration.

+
"EvapCoolers_ElectricBaseboard"

Face3D

type
string (Type) ^Face3D$
Default: "Face3D"

A base class to use when there is no baseclass available to fall on.

+
boundary
required
Array of numbers (Boundary) >= 3 items [ items <double > = 3 items [ items <double > ] ]

A list of points representing the outer boundary vertices of the face. The list should include at least 3 points and each point should be a list of 3 (x, y, z) values.

+
holes
Array of numbers (Holes) [ items >= 3 items [ items <double > = 3 items [ items <double > ] ] ]

Optional list of lists with one list for each hole in the face.Each hole should be a list of at least 3 points and each point a list of 3 (x, y, z) values. If None, it will be assumed that there are no holes in the face.

+
plane
object (Plane) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
{
  • "type": "Face3D",
  • "boundary": [
    ],
  • "holes": [
    ],
  • "plane": {
    }
}

Face

type
string (Type) ^Face$
Default: "Face"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[.A-Za-z0-9_-]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
geometry
required
object (Geometry) Recursive

A single planar face in 3D space.

+
face_type
required
string (FaceType)
Enum: "Wall" "Floor" "RoofCeiling" "AirBoundary"

An enumeration.

+
required
Ground (object) or Outdoors (object) or Adiabatic (object) or Surface (object) or OtherSideTemperature (object) (Boundary Condition)
properties
required
object (Properties) Recursive

Extension properties for particular simulation engines (Radiance, EnergyPlus).

+
Array of objects (Apertures)

Apertures assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid.

+
Array of objects (Doors)

Doors assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid.

+
Array of objects (Indoor Shades)

Shades assigned to the interior side of this object.

+
Array of objects (Outdoor Shades)

Shades assigned to the exterior side of this object (eg. balcony, overhang).

+
{
  • "type": "Face",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "geometry": {
    },
  • "face_type": "Wall",
  • "boundary_condition": {
    },
  • "properties": {
    },
  • "apertures": [
    ],
  • "doors": [
    ],
  • "indoor_shades": [
    ],
  • "outdoor_shades": [
    ]
}

FaceEnergyPropertiesAbridged

type
string (Type) ^FaceEnergyPropertiesAbridged$
Default: "FaceEnergyPropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
construction
string (Construction) [ 1 .. 100 ] characters

Identifier of an OpaqueConstruction for the Face. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.

+
vent_crack
object (Vent Crack) Recursive

Properties for airflow through a crack.

+
{
  • "type": "FaceEnergyPropertiesAbridged",
  • "construction": "string",
  • "vent_crack": {
    }
}

FacePropertiesAbridged

type
string (Type) ^FacePropertiesAbridged$
Default: "FacePropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
energy
object (FaceEnergyPropertiesAbridged) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
radiance
object (FaceRadiancePropertiesAbridged) Recursive

Base class of Abridged Radiance Properties.

+
{
  • "type": "FacePropertiesAbridged",
  • "energy": {
    },
  • "radiance": {
    }
}

FaceRadiancePropertiesAbridged

type
string (Type) ^FaceRadiancePropertiesAbridged$
Default: "FaceRadiancePropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
modifier
string (Modifier)

A string for a Honeybee Radiance Modifier (default: None).

+
modifier_blk
string (Modifier Blk)

A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).

+
{
  • "type": "FaceRadiancePropertiesAbridged",
  • "modifier": "string",
  • "modifier_blk": "string"
}

FaceType

string (FaceType)
Enum: "Wall" "Floor" "RoofCeiling" "AirBoundary"

An enumeration.

+
"Wall"

FCU

type
string (Type) ^FCU$
Default: "FCU"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
equipment_type
string (FCUEquipmentType)
Default: "FCU_Chiller_Boiler"
Enum: "FCU_Chiller_Boiler" "FCU_Chiller_ASHP" "FCU_Chiller_DHW" "FCU_Chiller_ElectricBaseboard" "FCU_Chiller_GasHeaters" "FCU_Chiller" "FCU_ACChiller_Boiler" "FCU_ACChiller_ASHP" "FCU_ACChiller_DHW" "FCU_ACChiller_ElectricBaseboard" "FCU_ACChiller_GasHeaters" "FCU_ACChiller" "FCU_DCW_Boiler" "FCU_DCW_ASHP" "FCU_DCW_DHW" "FCU_DCW_ElectricBaseboard" "FCU_DCW_GasHeaters" "FCU_DCW"

An enumeration.

+
{
  • "type": "FCU",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "equipment_type": "FCU_Chiller_Boiler"
}

FCUEquipmentType

string (FCUEquipmentType)
Enum: "FCU_Chiller_Boiler" "FCU_Chiller_ASHP" "FCU_Chiller_DHW" "FCU_Chiller_ElectricBaseboard" "FCU_Chiller_GasHeaters" "FCU_Chiller" "FCU_ACChiller_Boiler" "FCU_ACChiller_ASHP" "FCU_ACChiller_DHW" "FCU_ACChiller_ElectricBaseboard" "FCU_ACChiller_GasHeaters" "FCU_ACChiller" "FCU_DCW_Boiler" "FCU_DCW_ASHP" "FCU_DCW_DHW" "FCU_DCW_ElectricBaseboard" "FCU_DCW_GasHeaters" "FCU_DCW"

An enumeration.

+
"FCU_Chiller_Boiler"

FCUwithDOASAbridged

type
string (Type) ^FCUwithDOASAbridged$
Default: "FCUwithDOASAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
sensible_heat_recovery
number <double> (Sensible Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.

+
latent_heat_recovery
number <double> (Latent Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of latent heat recovery within the system.

+
demand_controlled_ventilation
boolean (Demand Controlled Ventilation)
Default: false

Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.

+
doas_availability_schedule
string (Doas Availability Schedule) [ 1 .. 100 ] characters

An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.

+
equipment_type
string (FCUwithDOASEquipmentType)
Default: "DOAS_FCU_Chiller_Boiler"
Enum: "DOAS_FCU_Chiller_Boiler" "DOAS_FCU_Chiller_ASHP" "DOAS_FCU_Chiller_DHW" "DOAS_FCU_Chiller_ElectricBaseboard" "DOAS_FCU_Chiller_GasHeaters" "DOAS_FCU_Chiller" "DOAS_FCU_ACChiller_Boiler" "DOAS_FCU_ACChiller_ASHP" "DOAS_FCU_ACChiller_DHW" "DOAS_FCU_ACChiller_ElectricBaseboard" "DOAS_FCU_ACChiller_GasHeaters" "DOAS_FCU_ACChiller" "DOAS_FCU_DCW_Boiler" "DOAS_FCU_DCW_ASHP" "DOAS_FCU_DCW_DHW" "DOAS_FCU_DCW_ElectricBaseboard" "DOAS_FCU_DCW_GasHeaters" "DOAS_FCU_DCW"

An enumeration.

+
{
  • "type": "FCUwithDOASAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "sensible_heat_recovery": 0,
  • "latent_heat_recovery": 0,
  • "demand_controlled_ventilation": false,
  • "doas_availability_schedule": "string",
  • "equipment_type": "DOAS_FCU_Chiller_Boiler"
}

FCUwithDOASEquipmentType

string (FCUwithDOASEquipmentType)
Enum: "DOAS_FCU_Chiller_Boiler" "DOAS_FCU_Chiller_ASHP" "DOAS_FCU_Chiller_DHW" "DOAS_FCU_Chiller_ElectricBaseboard" "DOAS_FCU_Chiller_GasHeaters" "DOAS_FCU_Chiller" "DOAS_FCU_ACChiller_Boiler" "DOAS_FCU_ACChiller_ASHP" "DOAS_FCU_ACChiller_DHW" "DOAS_FCU_ACChiller_ElectricBaseboard" "DOAS_FCU_ACChiller_GasHeaters" "DOAS_FCU_ACChiller" "DOAS_FCU_DCW_Boiler" "DOAS_FCU_DCW_ASHP" "DOAS_FCU_DCW_DHW" "DOAS_FCU_DCW_ElectricBaseboard" "DOAS_FCU_DCW_GasHeaters" "DOAS_FCU_DCW"

An enumeration.

+
"DOAS_FCU_Chiller_Boiler"

FloorConstructionSet

type
string (Type) ^FloorConstructionSet$
Default: "FloorConstructionSet"

A base class to use when there is no baseclass available to fall on.

+
interior_construction
object (Interior Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
exterior_construction
object (Exterior Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
ground_construction
object (Ground Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
{
  • "type": "FloorConstructionSet",
  • "interior_construction": {
    },
  • "exterior_construction": {
    },
  • "ground_construction": {
    }
}

FloorConstructionSetAbridged

type
string (Type) ^FloorConstructionSetAbridged$
Default: "FloorConstructionSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
interior_construction
string (Interior Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for faces with a Surface or Adiabatic boundary condition.

+
exterior_construction
string (Exterior Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for faces with an Outdoors boundary condition.

+
ground_construction
string (Ground Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for faces with a Ground boundary condition.

+
{
  • "type": "FloorConstructionSetAbridged",
  • "interior_construction": "string",
  • "exterior_construction": "string",
  • "ground_construction": "string"
}

FloorModifierSet

type
string (Type) ^FloorModifierSet$
Default: "FloorModifierSet"

A base class to use when there is no baseclass available to fall on.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Exterior Modifier)

A radiance modifier object for faces with an Outdoors boundary condition.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Interior Modifier)

A radiance modifier object for faces with a boundary condition other than Outdoors.

+
{
  • "type": "FloorModifierSet",
  • "exterior_modifier": {
    },
  • "interior_modifier": {
    }
}

FloorModifierSetAbridged

type
string (Type) ^FloorModifierSetAbridged$
Default: "FloorModifierSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
exterior_modifier
string (Exterior Modifier)

Identifier for a radiance modifier object for faces with an Outdoors boundary condition.

+
interior_modifier
string (Interior Modifier)

Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.

+
{
  • "type": "FloorModifierSetAbridged",
  • "exterior_modifier": "string",
  • "interior_modifier": "string"
}

ForcedAirFurnace

type
string (Type) ^ForcedAirFurnace$
Default: "ForcedAirFurnace"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
equipment_type
string (FurnaceEquipmentType)
Default: "Furnace"
Enum: "Furnace" "Furnace_Electric"

An enumeration.

+
{
  • "type": "ForcedAirFurnace",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "equipment_type": "Furnace"
}

FuelTypes

string (FuelTypes)
Enum: "Electricity" "NaturalGas" "Propane" "FuelOilNo1" "FuelOilNo2" "Diesel" "Gasoline" "Coal" "Steam" "DistrictHeating" "DistrictCooling" "OtherFuel1" "OtherFuel2" "None"

Designates the acceptable fuel types for process loads.

+
"Electricity"

FurnaceEquipmentType

string (FurnaceEquipmentType)
Enum: "Furnace" "Furnace_Electric"

An enumeration.

+
"Furnace"

GasEquipment

type
string (Type) ^GasEquipment$
Default: "GasEquipment"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
watts_per_area
required
number <double> (Watts Per Area) >= 0

Equipment level per floor area as [W/m2].

+
required
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Schedule)

The schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.

+
radiant_fraction
number <double> (Radiant Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.

+
latent_fraction
number <double> (Latent Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of latent heat given off by equipment. Default value is 0.

+
lost_fraction
number <double> (Lost Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of “lost” heat being given off by equipment. The default value is 0.

+
{
  • "type": "GasEquipment",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "watts_per_area": 0,
  • "schedule": {
    },
  • "radiant_fraction": 0,
  • "latent_fraction": 0,
  • "lost_fraction": 0
}

GasEquipmentAbridged

type
string (Type) ^GasEquipmentAbridged$
Default: "GasEquipmentAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
watts_per_area
required
number <double> (Watts Per Area) >= 0

Equipment level per floor area as [W/m2].

+
schedule
required
string (Schedule) [ 1 .. 100 ] characters

Identifier of the schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.

+
radiant_fraction
number <double> (Radiant Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.

+
latent_fraction
number <double> (Latent Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of latent heat given off by equipment. Default value is 0.

+
lost_fraction
number <double> (Lost Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of “lost” heat being given off by equipment. The default value is 0.

+
{
  • "type": "GasEquipmentAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "watts_per_area": 0,
  • "schedule": "string",
  • "radiant_fraction": 0,
  • "latent_fraction": 0,
  • "lost_fraction": 0
}

GasType

string (GasType)
Enum: "Air" "Argon" "Krypton" "Xenon"

An enumeration.

+
"Air"

GasUnitHeater

type
string (Type) ^GasUnitHeater$
Default: "GasUnitHeater"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
equipment_type
string (GasUnitHeaterEquipmentType)
Default: "GasHeaters"
Value: "GasHeaters"

An enumeration.

+
{
  • "type": "GasUnitHeater",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "equipment_type": "GasHeaters"
}

GasUnitHeaterEquipmentType

string (GasUnitHeaterEquipmentType)
Value: "GasHeaters"

An enumeration.

+
"GasHeaters"

Glass

type
string (Type) ^Glass$
Default: "Glass"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Modifier)
Default: {"type":"Void"}

Material modifier.

+
Array of Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Dependencies)

List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.

+
r_transmissivity
number <double> (R Transmissivity) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the red channel transmissivity.

+
g_transmissivity
number <double> (G Transmissivity) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the green channel transmissivity.

+
b_transmissivity
number <double> (B Transmissivity) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the blue channel transmissivity.

+
refraction_index
number <double> (Refraction Index) > 1
Default: 1.52

A value greater than 1 for the index of refraction. Typical values are 1.52 for float glass and 1.4 for ETFE.

+
{
  • "type": "Glass",
  • "identifier": "string",
  • "display_name": "string",
  • "modifier": {
    },
  • "dependencies": [
    ],
  • "r_transmissivity": 0,
  • "g_transmissivity": 0,
  • "b_transmissivity": 0,
  • "refraction_index": 1.52
}

GlobalConstructionSet

type
string (Type) ^GlobalConstructionSet$
Default: "GlobalConstructionSet"

A base class to use when there is no baseclass available to fall on.

+
Array of EnergyMaterial (object) or EnergyMaterialNoMass (object) or EnergyWindowMaterialGlazing (object) or EnergyWindowMaterialGas (object) (Materials)
Default: [{"identifier":"Generic Roof Membrane","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumRough","thickness":0.01,"conductivity":0.16,"density":1120,"specific_heat":1460,"thermal_absorptance":0.9,"solar_absorptance":0.65,"visible_absorptance":0.65},{"identifier":"Generic Acoustic Tile","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumSmooth","thickness":0.02,"conductivity":0.06,"density":368,"specific_heat":590,"thermal_absorptance":0.9,"solar_absorptance":0.2,"visible_absorptance":0.2},{"identifier":"Generic 25mm Wood","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumSmooth","thickness":0.0254,"conductivity":0.15,"density":608,"specific_heat":1630,"thermal_absorptance":0.9,"solar_absorptance":0.5,"visible_absorptance":0.5},{"identifier":"Generic HW Concrete","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumRough","thickness":0.2,"conductivity":1.95,"density":2240,"specific_heat":900,"thermal_absorptance":0.9,"solar_absorptance":0.8,"visible_absorptance":0.8},{"identifier":"Generic Window Air Gap","display_name":null,"user_data":null,"type":"EnergyWindowMaterialGas","thickness":0.0127,"gas_type":"Air"},{"identifier":"Generic Gypsum Board","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumSmooth","thickness":0.0127,"conductivity":0.16,"density":800,"specific_heat":1090,"thermal_absorptance":0.9,"solar_absorptance":0.5,"visible_absorptance":0.5},{"identifier":"Generic Wall Air Gap","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"Smooth","thickness":0.1,"conductivity":0.667,"density":1.28,"specific_heat":1000,"thermal_absorptance":0.9,"solar_absorptance":0.7,"visible_absorptance":0.7},{"identifier":"Generic Ceiling Air Gap","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"Smooth","thickness":0.1,"conductivity":0.556,"density":1.28,"specific_heat":1000,"thermal_absorptance":0.9,"solar_absorptance":0.7,"visible_absorptance":0.7},{"identifier":"Generic Brick","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumRough","thickness":0.1,"conductivity":0.9,"density":1920,"specific_heat":790,"thermal_absorptance":0.9,"solar_absorptance":0.65,"visible_absorptance":0.65},{"identifier":"Generic 50mm Insulation","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumRough","thickness":0.05,"conductivity":0.03,"density":43,"specific_heat":1210,"thermal_absorptance":0.9,"solar_absorptance":0.7,"visible_absorptance":0.7},{"identifier":"Generic Low-e Glass","display_name":null,"user_data":null,"type":"EnergyWindowMaterialGlazing","thickness":0.006,"solar_transmittance":0.45,"solar_reflectance":0.36,"solar_reflectance_back":0.36,"visible_transmittance":0.71,"visible_reflectance":0.21,"visible_reflectance_back":0.21,"infrared_transmittance":0,"emissivity":0.84,"emissivity_back":0.047,"conductivity":1,"dirt_correction":1,"solar_diffusing":false},{"identifier":"Generic Painted Metal","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"Smooth","thickness":0.0015,"conductivity":45,"density":7690,"specific_heat":410,"thermal_absorptance":0.9,"solar_absorptance":0.5,"visible_absorptance":0.5},{"identifier":"Generic LW Concrete","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumRough","thickness":0.1,"conductivity":0.53,"density":1280,"specific_heat":840,"thermal_absorptance":0.9,"solar_absorptance":0.8,"visible_absorptance":0.8},{"identifier":"Generic 25mm Insulation","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumRough","thickness":0.025,"conductivity":0.03,"density":43,"specific_heat":1210,"thermal_absorptance":0.9,"solar_absorptance":0.7,"visible_absorptance":0.7},{"identifier":"Generic Clear Glass","display_name":null,"user_data":null,"type":"EnergyWindowMaterialGlazing","thickness":0.006,"solar_transmittance":0.77,"solar_reflectance":0.07,"solar_reflectance_back":0.07,"visible_transmittance":0.88,"visible_reflectance":0.08,"visible_reflectance_back":0.08,"infrared_transmittance":0,"emissivity":0.84,"emissivity_back":0.84,"conductivity":1,"dirt_correction":1,"solar_diffusing":false}]

Global Honeybee Energy materials.

+
Array of OpaqueConstructionAbridged (object) or WindowConstructionAbridged (object) or ShadeConstruction (object) or AirBoundaryConstructionAbridged (object) (Constructions)
Default: [{"identifier":"Generic Interior Door","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic 25mm Wood"]},{"identifier":"Generic Single Pane","display_name":null,"user_data":null,"type":"WindowConstructionAbridged","materials":["Generic Clear Glass"],"frame":null},{"identifier":"Generic Shade","display_name":null,"user_data":null,"type":"ShadeConstruction","solar_reflectance":0.35,"visible_reflectance":0.35,"is_specular":false},{"identifier":"Generic Context","display_name":null,"user_data":null,"type":"ShadeConstruction","solar_reflectance":0.2,"visible_reflectance":0.2,"is_specular":false},{"identifier":"Generic Interior Ceiling","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{"identifier":"Generic Interior Wall","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic Gypsum Board","Generic Wall Air Gap","Generic Gypsum Board"]},{"identifier":"Generic Exposed Floor","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic Painted Metal","Generic Ceiling Air Gap","Generic 50mm Insulation","Generic LW Concrete"]},{"identifier":"Generic Interior Floor","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic Acoustic Tile","Generic Ceiling Air Gap","Generic LW Concrete"]},{"identifier":"Generic Ground Slab","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic 50mm Insulation","Generic HW Concrete"]},{"identifier":"Generic Roof","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic Roof Membrane","Generic 50mm Insulation","Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{"identifier":"Generic Exterior Wall","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic Brick","Generic LW Concrete","Generic 50mm Insulation","Generic Wall Air Gap","Generic Gypsum Board"]},{"identifier":"Generic Underground Wall","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic 50mm Insulation","Generic HW Concrete","Generic Wall Air Gap","Generic Gypsum Board"]},{"identifier":"Generic Air Boundary","display_name":null,"user_data":null,"type":"AirBoundaryConstructionAbridged","air_mixing_per_area":0.1,"air_mixing_schedule":"Always On"},{"identifier":"Generic Underground Roof","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic 50mm Insulation","Generic HW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{"identifier":"Generic Double Pane","display_name":null,"user_data":null,"type":"WindowConstructionAbridged","materials":["Generic Low-e Glass","Generic Window Air Gap","Generic Clear Glass"],"frame":null},{"identifier":"Generic Exterior Door","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic Painted Metal","Generic 25mm Insulation","Generic Painted Metal"]}]

Global Honeybee Energy constructions.

+
wall_set
object (Wall Set) Recursive
Default: {"interior_construction":"Generic Interior Wall","exterior_construction":"Generic Exterior Wall","ground_construction":"Generic Underground Wall","type":"WallConstructionSetAbridged"}

A set of constructions for wall, floor, or roof assemblies.

+
floor_set
object (Floor Set) Recursive
Default: {"interior_construction":"Generic Interior Floor","exterior_construction":"Generic Exposed Floor","ground_construction":"Generic Ground Slab","type":"FloorConstructionSetAbridged"}

A set of constructions for wall, floor, or roof assemblies.

+
roof_ceiling_set
object (Roof Ceiling Set) Recursive
Default: {"interior_construction":"Generic Interior Ceiling","exterior_construction":"Generic Roof","ground_construction":"Generic Underground Roof","type":"RoofCeilingConstructionSetAbridged"}

A set of constructions for wall, floor, or roof assemblies.

+
aperture_set
object (Aperture Set) Recursive
Default: {"type":"ApertureConstructionSetAbridged","interior_construction":"Generic Single Pane","window_construction":"Generic Double Pane","skylight_construction":"Generic Double Pane","operable_construction":"Generic Double Pane"}

A set of constructions for aperture assemblies.

+
door_set
object (Door Set) Recursive
Default: {"type":"DoorConstructionSetAbridged","interior_construction":"Generic Interior Door","exterior_construction":"Generic Exterior Door","overhead_construction":"Generic Exterior Door","exterior_glass_construction":"Generic Double Pane","interior_glass_construction":"Generic Single Pane"}

A set of constructions for door assemblies.

+
shade_construction
string (Shade Construction)
Default: "Generic Shade"

Global Honeybee Construction for building-attached Shades.

+
context_construction
string (Context Construction)
Default: "Generic Context"

Global Honeybee Construction for context Shades.

+
air_boundary_construction
string (Air Boundary Construction)
Default: "Generic Air Boundary"

Global Honeybee Construction for AirBoundary Faces.

+
{
  • "type": "GlobalConstructionSet",
  • "materials": [
    ],
  • "constructions": [
    ],
  • "wall_set": {
    },
  • "floor_set": {
    },
  • "roof_ceiling_set": {
    },
  • "aperture_set": {
    },
  • "door_set": {
    },
  • "shade_construction": "Generic Shade",
  • "context_construction": "Generic Context",
  • "air_boundary_construction": "Generic Air Boundary"
}

GlobalModifierSet

type
string (Type) ^GlobalModifierSet$
Default: "GlobalModifierSet"

A base class to use when there is no baseclass available to fall on.

+
Array of Plastic (object) or Glass (object) or Trans (object) (Modifiers)
Default: [{"identifier":"generic_floor_0.20","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.2,"g_reflectance":0.2,"b_reflectance":0.2,"specularity":0,"roughness":0},{"identifier":"generic_wall_0.50","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.5,"g_reflectance":0.5,"b_reflectance":0.5,"specularity":0,"roughness":0},{"identifier":"generic_ceiling_0.80","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.8,"g_reflectance":0.8,"b_reflectance":0.8,"specularity":0,"roughness":0},{"identifier":"generic_opaque_door_0.50","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.5,"g_reflectance":0.5,"b_reflectance":0.5,"specularity":0,"roughness":0},{"identifier":"generic_interior_shade_0.50","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.5,"g_reflectance":0.5,"b_reflectance":0.5,"specularity":0,"roughness":0},{"identifier":"generic_exterior_shade_0.35","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.35,"g_reflectance":0.35,"b_reflectance":0.35,"specularity":0,"roughness":0},{"identifier":"generic_context_0.20","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.2,"g_reflectance":0.2,"b_reflectance":0.2,"specularity":0,"roughness":0},{"identifier":"generic_interior_window_vis_0.88","display_name":null,"type":"Glass","modifier":null,"dependencies":[],"r_transmissivity":0.9584154328610596,"g_transmissivity":0.9584154328610596,"b_transmissivity":0.9584154328610596,"refraction_index":null},{"identifier":"generic_exterior_window_vis_0.64","display_name":null,"type":"Glass","modifier":null,"dependencies":[],"r_transmissivity":0.6975761815384331,"g_transmissivity":0.6975761815384331,"b_transmissivity":0.6975761815384331,"refraction_index":null},{"identifier":"air_boundary","display_name":null,"type":"Trans","modifier":null,"dependencies":[],"r_reflectance":1,"g_reflectance":1,"b_reflectance":1,"specularity":0,"roughness":0,"transmitted_diff":1,"transmitted_spec":1}]

Global Honeybee Radiance modifiers.

+
wall_set
object (Wall Set) Recursive
Default: {"exterior_modifier":"generic_wall_0.50","interior_modifier":"generic_wall_0.50","type":"WallModifierSetAbridged"}

Base class for the abridged modifier sets assigned to Faces.

+
floor_set
object (Floor Set) Recursive
Default: {"exterior_modifier":"generic_floor_0.20","interior_modifier":"generic_floor_0.20","type":"FloorModifierSetAbridged"}

Base class for the abridged modifier sets assigned to Faces.

+
roof_ceiling_set
object (Roof Ceiling Set) Recursive
Default: {"exterior_modifier":"generic_ceiling_0.80","interior_modifier":"generic_ceiling_0.80","type":"RoofCeilingModifierSetAbridged"}

Base class for the abridged modifier sets assigned to Faces.

+
aperture_set
object (Aperture Set) Recursive
Default: {"type":"ApertureModifierSetAbridged","window_modifier":"generic_exterior_window_vis_0.64","interior_modifier":"generic_interior_window_vis_0.88","skylight_modifier":"generic_exterior_window_vis_0.64","operable_modifier":"generic_exterior_window_vis_0.64"}

Abridged set containing radiance modifiers needed for a model's Apertures.

+
door_set
object (Door Set) Recursive
Default: {"exterior_modifier":"generic_opaque_door_0.50","interior_modifier":"generic_opaque_door_0.50","type":"DoorModifierSetAbridged","interior_glass_modifier":"generic_interior_window_vis_0.88","exterior_glass_modifier":"generic_exterior_window_vis_0.64","overhead_modifier":"generic_opaque_door_0.50"}

Base class for the abridged modifier sets assigned to Faces.

+
shade_set
object (Shade Set) Recursive
Default: {"exterior_modifier":"generic_exterior_shade_0.35","interior_modifier":"generic_interior_shade_0.50","type":"ShadeModifierSetAbridged"}

Base class for the abridged modifier sets assigned to Faces.

+
air_boundary_modifier
string (Air Boundary Modifier)
Default: "air_boundary"

Global Honeybee Modifier for AirBoundary Faces.

+
context_modifier
string (Context Modifier)
Default: "generic_context_0.20"

Global Honeybee Modifier for context Shades.

+
{
  • "type": "GlobalModifierSet",
  • "modifiers": [
    ],
  • "wall_set": {
    },
  • "floor_set": {
    },
  • "roof_ceiling_set": {
    },
  • "aperture_set": {
    },
  • "door_set": {
    },
  • "shade_set": {
    },
  • "air_boundary_modifier": "air_boundary",
  • "context_modifier": "generic_context_0.20"
}

Glow

type
string (Type) ^Glow$
Default: "Glow"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Modifier)
Default: {"type":"Void"}

Material modifier.

+
Array of Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Dependencies)

List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.

+
r_emittance
number <double> (R Emittance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the red channel of the modifier.

+
g_emittance
number <double> (G Emittance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the green channel of the modifier.

+
b_emittance
number <double> (B Emittance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the blue channel of the modifier.

+
max_radius
number <double> (Max Radius)
Default: 0

Maximum radius for shadow testing. Objects with zero radius are permissable and may participate in interreflection calculation (though they are not representative of real light sources). Negative values will never contribute to scene illumination.

+
{
  • "type": "Glow",
  • "identifier": "string",
  • "display_name": "string",
  • "modifier": {
    },
  • "dependencies": [
    ],
  • "r_emittance": 0,
  • "g_emittance": 0,
  • "b_emittance": 0,
  • "max_radius": 0
}

Ground

type
string (Type) ^Ground$
Default: "Ground"

A base class to use when there is no baseclass available to fall on.

+
{
  • "type": "Ground"
}

IDdBaseModel

type
string (Type) ^IDdBaseModel$
Default: "IDdBaseModel"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[.A-Za-z0-9_-]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
{
  • "type": "IDdBaseModel",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { }
}

IDdEnergyBaseModel

type
string (Type) ^IDdEnergyBaseModel$
Default: "IDdEnergyBaseModel"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
{
  • "type": "IDdEnergyBaseModel",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { }
}

IDdRadianceBaseModel

type
string (Type) ^IDdRadianceBaseModel$
Default: "IDdRadianceBaseModel"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
{
  • "type": "IDdRadianceBaseModel",
  • "identifier": "string",
  • "display_name": "string"
}

IdealAirSystemAbridged

type
string (Type) ^IdealAirSystemAbridged$
Default: "IdealAirSystemAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
economizer_type
string (EconomizerType)
Default: "DifferentialDryBulb"
Enum: "NoEconomizer" "DifferentialDryBulb" "DifferentialEnthalpy"

An enumeration.

+
demand_controlled_ventilation
boolean (Demand Controlled Ventilation)
Default: false

Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the zone.

+
sensible_heat_recovery
number <double> (Sensible Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.

+
latent_heat_recovery
number <double> (Latent Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of latent heat recovery within the system.

+
heating_air_temperature
number <double> (Heating Air Temperature) ( 0 .. 100 )
Default: 50

A number for the maximum heating supply air temperature [C].

+
cooling_air_temperature
number <double> (Cooling Air Temperature) ( -100 .. 50 )
Default: 13

A number for the minimum cooling supply air temperature [C].

+
Autosize (object) or NoLimit (object) or Heating Limit (number) (Heating Limit)
Default: {"type":"Autosize"}

A number for the maximum heating capacity in Watts. This can also be an Autosize object to indicate that the capacity should be determined during the EnergyPlus sizing calculation. This can also be a NoLimit object to indicate no upper limit to the heating capacity.

+
Autosize (object) or NoLimit (object) or Cooling Limit (number) (Cooling Limit)
Default: {"type":"Autosize"}

A number for the maximum cooling capacity in Watts. This can also be an Autosize object to indicate that the capacity should be determined during the EnergyPlus sizing calculation. This can also be a NoLimit object to indicate no upper limit to the cooling capacity.

+
heating_availability
string (Heating Availability) [ 1 .. 100 ] characters

An optional identifier of a schedule to set the availability of heating over the course of the simulation.

+
cooling_availability
string (Cooling Availability) [ 1 .. 100 ] characters

An optional identifier of a schedule to set the availability of cooling over the course of the simulation.

+
{
  • "type": "IdealAirSystemAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "economizer_type": "DifferentialDryBulb",
  • "demand_controlled_ventilation": false,
  • "sensible_heat_recovery": 0,
  • "latent_heat_recovery": 0,
  • "heating_air_temperature": 50,
  • "cooling_air_temperature": 13,
  • "heating_limit": {
    },
  • "cooling_limit": {
    },
  • "heating_availability": "string",
  • "cooling_availability": "string"
}

Infiltration

type
string (Type) ^Infiltration$
Default: "Infiltration"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
flow_per_exterior_area
required
number <double> (Flow Per Exterior Area) >= 0

Number for the infiltration per exterior surface area in m3/s-m2.

+
required
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Schedule)

The schedule for the infiltration over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_exterior_area to yield a complete infiltration profile.

+
constant_coefficient
number <double> (Constant Coefficient) >= 0
Default: 1
temperature_coefficient
number <double> (Temperature Coefficient) >= 0
Default: 0
velocity_coefficient
number <double> (Velocity Coefficient) >= 0
Default: 0
{
  • "type": "Infiltration",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "flow_per_exterior_area": 0,
  • "schedule": {
    },
  • "constant_coefficient": 1,
  • "temperature_coefficient": 0,
  • "velocity_coefficient": 0
}

InfiltrationAbridged

type
string (Type) ^InfiltrationAbridged$
Default: "InfiltrationAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
flow_per_exterior_area
required
number <double> (Flow Per Exterior Area) >= 0

Number for the infiltration per exterior surface area in m3/s-m2.

+
schedule
required
string (Schedule) [ 1 .. 100 ] characters

Identifier of the schedule for the infiltration over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_exterior_area to yield a complete infiltration profile.

+
constant_coefficient
number <double> (Constant Coefficient) >= 0
Default: 1
temperature_coefficient
number <double> (Temperature Coefficient) >= 0
Default: 0
velocity_coefficient
number <double> (Velocity Coefficient) >= 0
Default: 0
{
  • "type": "InfiltrationAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "flow_per_exterior_area": 0,
  • "schedule": "string",
  • "constant_coefficient": 1,
  • "temperature_coefficient": 0,
  • "velocity_coefficient": 0
}

InternalMassAbridged

type
string (Type) ^InternalMassAbridged$
Default: "InternalMassAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
construction
required
string (Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction that represents the material that the internal thermal mass is composed of.

+
area
required
number <double> (Area) > 0

A number representing the surface area of the internal mass that is exposed to the Room air. This value should always be in square meters regardless of what units system the parent model is a part of.

+
{
  • "type": "InternalMassAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "construction": "string",
  • "area": 0
}

Light

type
string (Type) ^Light$
Default: "Light"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Modifier)
Default: {"type":"Void"}

Material modifier.

+
Array of Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Dependencies)

List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.

+
r_emittance
number <double> (R Emittance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the red channel of the modifier.

+
g_emittance
number <double> (G Emittance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the green channel of the modifier.

+
b_emittance
number <double> (B Emittance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the blue channel of the modifier.

+
{
  • "type": "Light",
  • "identifier": "string",
  • "display_name": "string",
  • "modifier": {
    },
  • "dependencies": [
    ],
  • "r_emittance": 0,
  • "g_emittance": 0,
  • "b_emittance": 0
}

Lighting

type
string (Type) ^Lighting$
Default: "Lighting"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
watts_per_area
required
number <double> (Watts Per Area) >= 0

Lighting per floor area as [W/m2].

+
required
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Schedule)

The schedule for the use of lights over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete lighting profile.

+
visible_fraction
number <double> (Visible Fraction) [ 0 .. 1 ]
Default: 0.25

The fraction of heat from lights that goes into the zone as visible (short-wave) radiation. (Default: 0.25).

+
radiant_fraction
number <double> (Radiant Fraction) [ 0 .. 1 ]
Default: 0.32

The fraction of heat from lights that is long-wave radiation. (Default: 0.32).

+
return_air_fraction
number <double> (Return Air Fraction) [ 0 .. 1 ]
Default: 0

The fraction of the heat from lights that goes into the zone return air. (Default: 0).

+
baseline_watts_per_area
number <double> (Baseline Watts Per Area) >= 0
Default: 11.84029

The baseline lighting power density in [W/m2] of floor area. This baseline is useful to track how much better the installed lights are in comparison to a standard like ASHRAE 90.1. If set to None, it will default to 11.84029 W/m2, which is that ASHRAE 90.1-2004 baseline for an office.

+
{
  • "type": "Lighting",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "watts_per_area": 0,
  • "schedule": {
    },
  • "visible_fraction": 0.25,
  • "radiant_fraction": 0.32,
  • "return_air_fraction": 0,
  • "baseline_watts_per_area": 11.84029
}

LightingAbridged

type
string (Type) ^LightingAbridged$
Default: "LightingAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
watts_per_area
required
number <double> (Watts Per Area) >= 0

Lighting per floor area as [W/m2].

+
schedule
required
string (Schedule) [ 1 .. 100 ] characters

Identifier of the schedule for the use of lights over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete lighting profile.

+
visible_fraction
number <double> (Visible Fraction) [ 0 .. 1 ]
Default: 0.25

The fraction of heat from lights that goes into the zone as visible (short-wave) radiation. (Default: 0.25).

+
radiant_fraction
number <double> (Radiant Fraction) [ 0 .. 1 ]
Default: 0.32

The fraction of heat from lights that is long-wave radiation. (Default: 0.32).

+
return_air_fraction
number <double> (Return Air Fraction) [ 0 .. 1 ]
Default: 0

The fraction of the heat from lights that goes into the zone return air. (Default: 0).

+
baseline_watts_per_area
number <double> (Baseline Watts Per Area) >= 0
Default: 11.84029

The baseline lighting power density in [W/m2] of floor area. This baseline is useful to track how much better the installed lights are in comparison to a standard like ASHRAE 90.1. If set to None, it will default to 11.84029 W/m2, which is that ASHRAE 90.1-2004 baseline for an office.

+
{
  • "type": "LightingAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "watts_per_area": 0,
  • "schedule": "string",
  • "visible_fraction": 0.25,
  • "radiant_fraction": 0.32,
  • "return_air_fraction": 0,
  • "baseline_watts_per_area": 11.84029
}

Mesh3D

type
string (Type) ^Mesh3D$
Default: "Mesh3D"

A base class to use when there is no baseclass available to fall on.

+
vertices
required
Array of numbers (Vertices) >= 3 items [ items <double > = 3 items [ items <double > ] ]

A list of points representing the vertices of the mesh. The list should include at least 3 points and each point should be a list of 3 (x, y, z) values.

+
faces
required
Array of integers (Faces) non-empty [ items <int32 > [ 3 .. 4 ] items [ items <int32 > >= 0 ] ]

A list of lists with each sub-list having either 3 or 4 integers. These integers correspond to indices within the list of vertices.

+
Array of objects (Colors)

An optional list of colors that correspond to either the faces of the mesh or the vertices of the mesh.

+
{
  • "type": "Mesh3D",
  • "vertices": [
    ],
  • "faces": [
    ],
  • "colors": [
    ]
}

Metal

type
string (Type) ^Metal$
Default: "Metal"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Modifier)
Default: {"type":"Void"}

Material modifier.

+
Array of Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Dependencies)

List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.

+
r_reflectance
number <double> (R Reflectance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the red channel reflectance.

+
g_reflectance
number <double> (G Reflectance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the green channel reflectance.

+
b_reflectance
number <double> (B Reflectance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the blue channel reflectance.

+
specularity
number <double> (Specularity) [ 0 .. 1 ]
Default: 0.9

A value between 0 and 1 for the fraction of specularity. Specularity fractions lower than 0.9 are not realistic for metallic materials.

+
roughness
number <double> (Roughness) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.

+
{
  • "type": "Metal",
  • "identifier": "string",
  • "display_name": "string",
  • "modifier": {
    },
  • "dependencies": [
    ],
  • "r_reflectance": 0,
  • "g_reflectance": 0,
  • "b_reflectance": 0,
  • "specularity": 0.9,
  • "roughness": 0
}

Mirror

type
string (Type) ^Mirror$
Default: "Mirror"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Modifier)
Default: {"type":"Void"}

Material modifier.

+
Array of Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Dependencies)

List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.

+
r_reflectance
number <double> (R Reflectance) [ 0 .. 1 ]
Default: 1

A value between 0 and 1 for the red channel reflectance.

+
g_reflectance
number <double> (G Reflectance) [ 0 .. 1 ]
Default: 1

A value between 0 and 1 for the green channel reflectance.

+
b_reflectance
number <double> (B Reflectance) [ 0 .. 1 ]
Default: 1

A value between 0 and 1 for the blue channel reflectance.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Alternate Material)

An optional material (like the illum type) that may be used to specify a different material to be used for shading non-source rays. If None, this will keep the alternat_material as mirror. If this alternate material is given as Void, then the mirror surface will be invisible. Using Void is only appropriate if the surface hides other (more detailed) geometry with the same overall reflectance.

+
{
  • "type": "Mirror",
  • "identifier": "string",
  • "display_name": "string",
  • "modifier": {
    },
  • "dependencies": [
    ],
  • "r_reflectance": 1,
  • "g_reflectance": 1,
  • "b_reflectance": 1,
  • "alternate_material": {
    }
}

Model

type
string (Type) ^Model$
Default: "Model"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[.A-Za-z0-9_-]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
properties
required
object (Properties) Recursive

Extension properties for particular simulation engines (Radiance, EnergyPlus).

+
version
string (Version) ([0-9]+)\.([0-9]+)\.([0-9]+)
Default: "0.0.0"

Text string for the current version of the schema.

+
Array of objects (Rooms)

A list of Rooms in the model.

+
Array of objects (Orphaned Faces)

A list of Faces in the model that lack a parent Room. Note that orphaned Faces are not acceptable for Models that are to be exported for energy simulation.

+
Array of objects (Orphaned Shades)

A list of Shades in the model that lack a parent.

+
Array of objects (Orphaned Apertures)

A list of Apertures in the model that lack a parent Face. Note that orphaned Apertures are not acceptable for Models that are to be exported for energy simulation.

+
Array of objects (Orphaned Doors)

A list of Doors in the model that lack a parent Face. Note that orphaned Doors are not acceptable for Models that are to be exported for energy simulation.

+
Array of objects (Shade Meshes)

A list of ShadeMesh in the model.

+
units
string (Units)
Default: "Meters"
Enum: "Meters" "Millimeters" "Feet" "Inches" "Centimeters"

An enumeration.

+
tolerance
number <double> (Tolerance) >= 0
Default: 0.01

The maximum difference between x, y, and z values at which vertices are considered equivalent. This value should be in the Model units and it is used in a variety of checks, including checks for whether Room faces form a closed volume and subsequently correcting all face normals point outward from the Room. A value of 0 will result in bypassing all checks so it is recommended that this always be a positive number when such checks have not already been performed on a Model. The default of 0.01 is suitable for models in meters.

+
angle_tolerance
number <double> (Angle Tolerance) >= 0
Default: 1

The max angle difference in degrees that vertices are allowed to differ from one another in order to consider them colinear. This value is used in a variety of checks, including checks for whether Room faces form a closed volume and subsequently correcting all face normals point outward from the Room. A value of 0 will result in bypassing all checks so it is recommended that this always be a positive number when such checks have not already been performed on a given Model.

+
{
  • "type": "Model",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "properties": {
    },
  • "version": "0.0.0",
  • "rooms": [
    ],
  • "orphaned_faces": [
    ],
  • "orphaned_shades": [
    ],
  • "orphaned_apertures": [
    ],
  • "orphaned_doors": [
    ],
  • "shade_meshes": [
    ],
  • "units": "Meters",
  • "tolerance": 0.01,
  • "angle_tolerance": 1
}

ModelEnergyProperties

type
string (Type) ^ModelEnergyProperties$
Default: "ModelEnergyProperties"

A base class to use when there is no baseclass available to fall on.

+
global_construction_set
object (Global Construction Set) Recursive
Default: {"type":"GlobalConstructionSet","materials":[{"identifier":"Generic Roof Membrane","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumRough","thickness":0.01,"conductivity":0.16,"density":1120,"specific_heat":1460,"thermal_absorptance":0.9,"solar_absorptance":0.65,"visible_absorptance":0.65},{"identifier":"Generic Acoustic Tile","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumSmooth","thickness":0.02,"conductivity":0.06,"density":368,"specific_heat":590,"thermal_absorptance":0.9,"solar_absorptance":0.2,"visible_absorptance":0.2},{"identifier":"Generic 25mm Wood","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumSmooth","thickness":0.0254,"conductivity":0.15,"density":608,"specific_heat":1630,"thermal_absorptance":0.9,"solar_absorptance":0.5,"visible_absorptance":0.5},{"identifier":"Generic HW Concrete","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumRough","thickness":0.2,"conductivity":1.95,"density":2240,"specific_heat":900,"thermal_absorptance":0.9,"solar_absorptance":0.8,"visible_absorptance":0.8},{"identifier":"Generic Window Air Gap","display_name":null,"user_data":null,"type":"EnergyWindowMaterialGas","thickness":0.0127,"gas_type":"Air"},{"identifier":"Generic Gypsum Board","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumSmooth","thickness":0.0127,"conductivity":0.16,"density":800,"specific_heat":1090,"thermal_absorptance":0.9,"solar_absorptance":0.5,"visible_absorptance":0.5},{"identifier":"Generic Wall Air Gap","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"Smooth","thickness":0.1,"conductivity":0.667,"density":1.28,"specific_heat":1000,"thermal_absorptance":0.9,"solar_absorptance":0.7,"visible_absorptance":0.7},{"identifier":"Generic Ceiling Air Gap","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"Smooth","thickness":0.1,"conductivity":0.556,"density":1.28,"specific_heat":1000,"thermal_absorptance":0.9,"solar_absorptance":0.7,"visible_absorptance":0.7},{"identifier":"Generic Brick","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumRough","thickness":0.1,"conductivity":0.9,"density":1920,"specific_heat":790,"thermal_absorptance":0.9,"solar_absorptance":0.65,"visible_absorptance":0.65},{"identifier":"Generic 50mm Insulation","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumRough","thickness":0.05,"conductivity":0.03,"density":43,"specific_heat":1210,"thermal_absorptance":0.9,"solar_absorptance":0.7,"visible_absorptance":0.7},{"identifier":"Generic Low-e Glass","display_name":null,"user_data":null,"type":"EnergyWindowMaterialGlazing","thickness":0.006,"solar_transmittance":0.45,"solar_reflectance":0.36,"solar_reflectance_back":0.36,"visible_transmittance":0.71,"visible_reflectance":0.21,"visible_reflectance_back":0.21,"infrared_transmittance":0,"emissivity":0.84,"emissivity_back":0.047,"conductivity":1,"dirt_correction":1,"solar_diffusing":false},{"identifier":"Generic Painted Metal","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"Smooth","thickness":0.0015,"conductivity":45,"density":7690,"specific_heat":410,"thermal_absorptance":0.9,"solar_absorptance":0.5,"visible_absorptance":0.5},{"identifier":"Generic LW Concrete","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumRough","thickness":0.1,"conductivity":0.53,"density":1280,"specific_heat":840,"thermal_absorptance":0.9,"solar_absorptance":0.8,"visible_absorptance":0.8},{"identifier":"Generic 25mm Insulation","display_name":null,"user_data":null,"type":"EnergyMaterial","roughness":"MediumRough","thickness":0.025,"conductivity":0.03,"density":43,"specific_heat":1210,"thermal_absorptance":0.9,"solar_absorptance":0.7,"visible_absorptance":0.7},{"identifier":"Generic Clear Glass","display_name":null,"user_data":null,"type":"EnergyWindowMaterialGlazing","thickness":0.006,"solar_transmittance":0.77,"solar_reflectance":0.07,"solar_reflectance_back":0.07,"visible_transmittance":0.88,"visible_reflectance":0.08,"visible_reflectance_back":0.08,"infrared_transmittance":0,"emissivity":0.84,"emissivity_back":0.84,"conductivity":1,"dirt_correction":1,"solar_diffusing":false}],"constructions":[{"identifier":"Generic Interior Door","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic 25mm Wood"]},{"identifier":"Generic Single Pane","display_name":null,"user_data":null,"type":"WindowConstructionAbridged","materials":["Generic Clear Glass"],"frame":null},{"identifier":"Generic Shade","display_name":null,"user_data":null,"type":"ShadeConstruction","solar_reflectance":0.35,"visible_reflectance":0.35,"is_specular":false},{"identifier":"Generic Context","display_name":null,"user_data":null,"type":"ShadeConstruction","solar_reflectance":0.2,"visible_reflectance":0.2,"is_specular":false},{"identifier":"Generic Interior Ceiling","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{"identifier":"Generic Interior Wall","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic Gypsum Board","Generic Wall Air Gap","Generic Gypsum Board"]},{"identifier":"Generic Exposed Floor","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic Painted Metal","Generic Ceiling Air Gap","Generic 50mm Insulation","Generic LW Concrete"]},{"identifier":"Generic Interior Floor","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic Acoustic Tile","Generic Ceiling Air Gap","Generic LW Concrete"]},{"identifier":"Generic Ground Slab","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic 50mm Insulation","Generic HW Concrete"]},{"identifier":"Generic Roof","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic Roof Membrane","Generic 50mm Insulation","Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{"identifier":"Generic Exterior Wall","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic Brick","Generic LW Concrete","Generic 50mm Insulation","Generic Wall Air Gap","Generic Gypsum Board"]},{"identifier":"Generic Underground Wall","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic 50mm Insulation","Generic HW Concrete","Generic Wall Air Gap","Generic Gypsum Board"]},{"identifier":"Generic Air Boundary","display_name":null,"user_data":null,"type":"AirBoundaryConstructionAbridged","air_mixing_per_area":0.1,"air_mixing_schedule":"Always On"},{"identifier":"Generic Underground Roof","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic 50mm Insulation","Generic HW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{"identifier":"Generic Double Pane","display_name":null,"user_data":null,"type":"WindowConstructionAbridged","materials":["Generic Low-e Glass","Generic Window Air Gap","Generic Clear Glass"],"frame":null},{"identifier":"Generic Exterior Door","display_name":null,"user_data":null,"type":"OpaqueConstructionAbridged","materials":["Generic Painted Metal","Generic 25mm Insulation","Generic Painted Metal"]}],"wall_set":{"interior_construction":"Generic Interior Wall","exterior_construction":"Generic Exterior Wall","ground_construction":"Generic Underground Wall","type":"WallConstructionSetAbridged"},"floor_set":{"interior_construction":"Generic Interior Floor","exterior_construction":"Generic Exposed Floor","ground_construction":"Generic Ground Slab","type":"FloorConstructionSetAbridged"},"roof_ceiling_set":{"interior_construction":"Generic Interior Ceiling","exterior_construction":"Generic Roof","ground_construction":"Generic Underground Roof","type":"RoofCeilingConstructionSetAbridged"},"aperture_set":{"type":"ApertureConstructionSetAbridged","interior_construction":"Generic Single Pane","window_construction":"Generic Double Pane","skylight_construction":"Generic Double Pane","operable_construction":"Generic Double Pane"},"door_set":{"type":"DoorConstructionSetAbridged","interior_construction":"Generic Interior Door","exterior_construction":"Generic Exterior Door","overhead_construction":"Generic Exterior Door","exterior_glass_construction":"Generic Double Pane","interior_glass_construction":"Generic Single Pane"},"shade_construction":"Generic Shade","context_construction":"Generic Context","air_boundary_construction":"Generic Air Boundary"}

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
Array of ConstructionSetAbridged (object) or ConstructionSet (object) (Construction Sets)

List of all unique ConstructionSets in the Model.

+
Array of OpaqueConstructionAbridged (object) or WindowConstructionAbridged (object) or WindowConstructionShadeAbridged (object) or AirBoundaryConstructionAbridged (object) or OpaqueConstruction (object) or WindowConstruction (object) or WindowConstructionShade (object) or WindowConstructionDynamicAbridged (object) or WindowConstructionDynamic (object) or AirBoundaryConstruction (object) or ShadeConstruction (object) (Constructions)

A list of all unique constructions in the model. This includes constructions across all Faces, Apertures, Doors, Shades, Room ConstructionSets, and the global_construction_set.

+
Array of EnergyMaterial (object) or EnergyMaterialNoMass (object) or EnergyMaterialVegetation (object) or EnergyWindowMaterialGlazing (object) or EnergyWindowMaterialSimpleGlazSys (object) or EnergyWindowMaterialGas (object) or EnergyWindowMaterialGasMixture (object) or EnergyWindowMaterialGasCustom (object) or EnergyWindowFrame (object) or EnergyWindowMaterialBlind (object) or EnergyWindowMaterialShade (object) (Materials)

A list of all unique materials in the model. This includes materials needed to make the Model constructions.

+
Array of IdealAirSystemAbridged (object) or VAV (object) or PVAV (object) or PSZ (object) or PTAC (object) or ForcedAirFurnace (object) or FCUwithDOASAbridged (object) or WSHPwithDOASAbridged (object) or VRFwithDOASAbridged (object) or RadiantwithDOASAbridged (object) or FCU (object) or WSHP (object) or VRF (object) or Baseboard (object) or EvaporativeCooler (object) or Residential (object) or WindowAC (object) or GasUnitHeater (object) or Radiant (object) or DetailedHVAC (object) (Hvacs)

List of all unique HVAC systems in the Model.

+
Array of objects (Shws)

List of all unique Service Hot Water (SHW) systems in the Model.

+
Array of ProgramTypeAbridged (object) or ProgramType (object) (Program Types)

List of all unique ProgramTypes in the Model.

+
Array of ScheduleRulesetAbridged (object) or ScheduleFixedIntervalAbridged (object) or ScheduleRuleset (object) or ScheduleFixedInterval (object) (Schedules)

A list of all unique schedules in the model. This includes schedules across all HVAC systems, ProgramTypes, Rooms, and Shades.

+
Array of objects (Schedule Type Limits)

A list of all unique ScheduleTypeLimits in the model. This all ScheduleTypeLimits needed to make the Model schedules.

+
ventilation_simulation_control
object (Ventilation Simulation Control) Recursive

The global parameters used in the ventilation simulation.

+
electric_load_center
object (Electric Load Center) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
{
  • "type": "ModelEnergyProperties",
  • "global_construction_set": {
    },
  • "construction_sets": [
    ],
  • "constructions": [
    ],
  • "materials": [
    ],
  • "hvacs": [
    ],
  • "shws": [
    ],
  • "program_types": [
    ],
  • "schedules": [
    ],
  • "schedule_type_limits": [
    ],
  • "ventilation_simulation_control": {
    },
  • "electric_load_center": {
    }
}

ModelProperties

type
string (Type) ^ModelProperties$
Default: "ModelProperties"

A base class to use when there is no baseclass available to fall on.

+
energy
object (ModelEnergyProperties) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
radiance
object (ModelRadianceProperties) Recursive

Radiance Properties for Honeybee Model.

+
{
  • "type": "ModelProperties",
  • "energy": {
    },
  • "radiance": {
    }
}

ModelRadianceProperties

type
string (Type) ^ModelRadianceProperties$
Default: "ModelRadianceProperties"

A base class to use when there is no baseclass available to fall on.

+
global_modifier_set
object (Global Modifier Set) Recursive
Default: {"type":"GlobalModifierSet","modifiers":[{"identifier":"generic_floor_0.20","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.2,"g_reflectance":0.2,"b_reflectance":0.2,"specularity":0,"roughness":0},{"identifier":"generic_wall_0.50","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.5,"g_reflectance":0.5,"b_reflectance":0.5,"specularity":0,"roughness":0},{"identifier":"generic_ceiling_0.80","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.8,"g_reflectance":0.8,"b_reflectance":0.8,"specularity":0,"roughness":0},{"identifier":"generic_opaque_door_0.50","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.5,"g_reflectance":0.5,"b_reflectance":0.5,"specularity":0,"roughness":0},{"identifier":"generic_interior_shade_0.50","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.5,"g_reflectance":0.5,"b_reflectance":0.5,"specularity":0,"roughness":0},{"identifier":"generic_exterior_shade_0.35","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.35,"g_reflectance":0.35,"b_reflectance":0.35,"specularity":0,"roughness":0},{"identifier":"generic_context_0.20","display_name":null,"type":"Plastic","modifier":null,"dependencies":[],"r_reflectance":0.2,"g_reflectance":0.2,"b_reflectance":0.2,"specularity":0,"roughness":0},{"identifier":"generic_interior_window_vis_0.88","display_name":null,"type":"Glass","modifier":null,"dependencies":[],"r_transmissivity":0.9584154328610596,"g_transmissivity":0.9584154328610596,"b_transmissivity":0.9584154328610596,"refraction_index":null},{"identifier":"generic_exterior_window_vis_0.64","display_name":null,"type":"Glass","modifier":null,"dependencies":[],"r_transmissivity":0.6975761815384331,"g_transmissivity":0.6975761815384331,"b_transmissivity":0.6975761815384331,"refraction_index":null},{"identifier":"air_boundary","display_name":null,"type":"Trans","modifier":null,"dependencies":[],"r_reflectance":1,"g_reflectance":1,"b_reflectance":1,"specularity":0,"roughness":0,"transmitted_diff":1,"transmitted_spec":1}],"wall_set":{"exterior_modifier":"generic_wall_0.50","interior_modifier":"generic_wall_0.50","type":"WallModifierSetAbridged"},"floor_set":{"exterior_modifier":"generic_floor_0.20","interior_modifier":"generic_floor_0.20","type":"FloorModifierSetAbridged"},"roof_ceiling_set":{"exterior_modifier":"generic_ceiling_0.80","interior_modifier":"generic_ceiling_0.80","type":"RoofCeilingModifierSetAbridged"},"aperture_set":{"type":"ApertureModifierSetAbridged","window_modifier":"generic_exterior_window_vis_0.64","interior_modifier":"generic_interior_window_vis_0.88","skylight_modifier":"generic_exterior_window_vis_0.64","operable_modifier":"generic_exterior_window_vis_0.64"},"door_set":{"exterior_modifier":"generic_opaque_door_0.50","interior_modifier":"generic_opaque_door_0.50","type":"DoorModifierSetAbridged","interior_glass_modifier":"generic_interior_window_vis_0.88","exterior_glass_modifier":"generic_exterior_window_vis_0.64","overhead_modifier":"generic_opaque_door_0.50"},"shade_set":{"exterior_modifier":"generic_exterior_shade_0.35","interior_modifier":"generic_interior_shade_0.50","type":"ShadeModifierSetAbridged"},"air_boundary_modifier":"air_boundary","context_modifier":"generic_context_0.20"}

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
Array of Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Modifiers)

A list of all unique modifiers in the model. This includes modifiers across all Faces, Apertures, Doors, Shades, Room ModifierSets, and the global_modifier_set.

+
Array of ModifierSet (object) or ModifierSetAbridged (object) (Modifier Sets)

A list of all unique Room-Assigned ModifierSets in the Model.

+
Array of objects (Sensor Grids)

An array of SensorGrids that are associated with the model.

+
Array of objects (Views)

An array of Views that are associated with the model.

+
{
  • "type": "ModelRadianceProperties",
  • "global_modifier_set": {
    },
  • "modifiers": [
    ],
  • "modifier_sets": [
    ],
  • "sensor_grids": [
    ],
  • "views": [
    ]
}

ModifierBase

type
string (Type) ^ModifierBase$
Default: "ModifierBase"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
{
  • "type": "ModifierBase",
  • "identifier": "string",
  • "display_name": "string"
}

ModifierSet

type
string (Type) ^ModifierSet$
Default: "ModifierSet"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
wall_set
object (Wall Set) Recursive

Set containing radiance modifiers needed for a model's Walls.

+
floor_set
object (Floor Set) Recursive

Set containing radiance modifiers needed for a model's Floors.

+
roof_ceiling_set
object (Roof Ceiling Set) Recursive

Set containing radiance modifiers needed for a model's roofs.

+
aperture_set
object (Aperture Set) Recursive

Set containing radiance modifiers needed for a model's Apertures.

+
door_set
object (Door Set) Recursive

Set containing radiance modifiers needed for a model's Doors.

+
shade_set
object (Shade Set) Recursive

Set containing radiance modifiers needed for a model's Shade.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Air Boundary Modifier)

An optional Modifier to be used for all Faces with an AirBoundary face type. If None, it will be the honeybee generic air wall modifier.

+
{
  • "type": "ModifierSet",
  • "identifier": "string",
  • "display_name": "string",
  • "wall_set": {
    },
  • "floor_set": {
    },
  • "roof_ceiling_set": {
    },
  • "aperture_set": {
    },
  • "door_set": {
    },
  • "shade_set": {
    },
  • "air_boundary_modifier": {
    }
}

ModifierSetAbridged

type
string (Type) ^ModifierSetAbridged$
Default: "ModifierSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
wall_set
object (Wall Set) Recursive

Base class for the abridged modifier sets assigned to Faces.

+
floor_set
object (Floor Set) Recursive

Base class for the abridged modifier sets assigned to Faces.

+
roof_ceiling_set
object (Roof Ceiling Set) Recursive

Base class for the abridged modifier sets assigned to Faces.

+
aperture_set
object (Aperture Set) Recursive

Abridged set containing radiance modifiers needed for a model's Apertures.

+
door_set
object (Door Set) Recursive

Base class for the abridged modifier sets assigned to Faces.

+
shade_set
object (Shade Set) Recursive

Base class for the abridged modifier sets assigned to Faces.

+
air_boundary_modifier
string (Air Boundary Modifier)

Optional Modifier to be used for all Faces with an AirBoundary face type. If None, it will be the honeybee generic air wall modifier.

+
{
  • "type": "ModifierSetAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "wall_set": {
    },
  • "floor_set": {
    },
  • "roof_ceiling_set": {
    },
  • "aperture_set": {
    },
  • "door_set": {
    },
  • "shade_set": {
    },
  • "air_boundary_modifier": "string"
}

ModuleType

string (ModuleType)
Enum: "Standard" "Premium" "ThinFilm"

An enumeration.

+
"Standard"

MoistureDiffusionModel

string (MoistureDiffusionModel)
Enum: "Simple" "Advanced"

Acceptable values for the moisture diffusion model for vegetation.

+
"Simple"

MountingType

string (MountingType)
Enum: "FixedOpenRack" "FixedRoofMounted" "OneAxis" "OneAxisBacktracking" "TwoAxis"

An enumeration.

+
"FixedOpenRack"

NoLimit

type
string (Type) ^NoLimit$
Default: "NoLimit"

A base class to use when there is no baseclass available to fall on.

+
{
  • "type": "NoLimit"
}

OpaqueConstruction

type
string (Type) ^OpaqueConstruction$
Default: "OpaqueConstruction"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
required
Array of EnergyMaterial (object) or EnergyMaterialNoMass (object) or EnergyMaterialVegetation (object) (Materials) [ 1 .. 10 ] items

List of opaque material definitions. The order of the materials is from exterior to interior.

+
{
  • "type": "OpaqueConstruction",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "materials": [
    ]
}

OpaqueConstructionAbridged

type
string (Type) ^OpaqueConstructionAbridged$
Default: "OpaqueConstructionAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
materials
required
Array of strings (Materials) [ 1 .. 10 ] items [ items [ 1 .. 100 ] characters ]

List of strings for opaque material identifiers. The order of the materials is from exterior to interior.

+
{
  • "type": "OpaqueConstructionAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "materials": [
    ]
}

OtherSideTemperature

type
string (Type) ^OtherSideTemperature$
Default: "OtherSideTemperature"

A base class to use when there is no baseclass available to fall on.

+
heat_transfer_coefficient
number <double> (Heat Transfer Coefficient) >= 0
Default: 0

A value in W/m2-K to indicate the combined convective/radiative film coefficient. If equal to 0, then the specified temperature above is equal to the exterior surface temperature. Otherwise, the temperature above is considered the outside air temperature and this coefficient is used to determine the difference between this outside air temperature and the exterior surface temperature.

+
Autocalculate (object) or Temperature (number) (Temperature)
Default: {"type":"Autocalculate"}

A temperature value in Celsius to note the temperature on the other side of the object. This input can also be an Autocalculate object to signify that the temperature is equal to the outdoor air temperature.

+
{
  • "type": "OtherSideTemperature",
  • "heat_transfer_coefficient": 0,
  • "temperature": {
    }
}

Outdoors

type
string (Type) ^Outdoors$
Default: "Outdoors"

A base class to use when there is no baseclass available to fall on.

+
sun_exposure
boolean (Sun Exposure)
Default: true

A boolean noting whether the boundary is exposed to sun.

+
wind_exposure
boolean (Wind Exposure)
Default: true

A boolean noting whether the boundary is exposed to wind.

+
Autocalculate (object) or View Factor (number) (View Factor)
Default: {"type":"Autocalculate"}

A number for the view factor to the ground. This can also be an Autocalculate object to have the view factor automatically calculated.

+
{
  • "type": "Outdoors",
  • "sun_exposure": true,
  • "wind_exposure": true,
  • "view_factor": {
    }
}

People

type
string (Type) ^People$
Default: "People"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
people_per_area
required
number <double> (People Per Area) >= 0

People per floor area expressed as [people/m2]

+
required
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Occupancy Schedule)

A schedule for the occupancy over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the people_per_area to yield a complete occupancy profile.

+
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Activity Schedule)

A schedule for the activity of the occupants over the course of the year. The type of this schedule should be ActivityLevel and the values of the schedule equal to the number of Watts given off by an individual person in the room. If None, a default constant schedule with 120 Watts per person will be used, which is typical of awake, adult humans who are seated.

+
radiant_fraction
number <double> (Radiant Fraction) [ 0 .. 1 ]
Default: 0.3

The radiant fraction of sensible heat released by people. (Default: 0.3).

+
Autocalculate (object) or Latent Fraction (number) (Latent Fraction)
Default: {"type":"Autocalculate"}

Number for the latent fraction of heat gain due to people or an Autocalculate object.

+
{
  • "type": "People",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "people_per_area": 0,
  • "occupancy_schedule": {
    },
  • "activity_schedule": {
    },
  • "radiant_fraction": 0.3,
  • "latent_fraction": {
    }
}

PeopleAbridged

type
string (Type) ^PeopleAbridged$
Default: "PeopleAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
people_per_area
required
number <double> (People Per Area) >= 0

People per floor area expressed as [people/m2]

+
occupancy_schedule
required
string (Occupancy Schedule) [ 1 .. 100 ] characters

Identifier of a schedule for the occupancy over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the people_per_area to yield a complete occupancy profile.

+
activity_schedule
string (Activity Schedule) [ 1 .. 100 ] characters

Identifier of a schedule for the activity of the occupants over the course of the year. The type of this schedule should be ActivityLevel and the values of the schedule equal to the number of Watts given off by an individual person in the room. If None, a default constant schedule with 120 Watts per person will be used, which is typical of awake, adult humans who are seated.

+
radiant_fraction
number <double> (Radiant Fraction) [ 0 .. 1 ]
Default: 0.3

The radiant fraction of sensible heat released by people. (Default: 0.3).

+
Autocalculate (object) or Latent Fraction (number) (Latent Fraction)
Default: {"type":"Autocalculate"}

Number for the latent fraction of heat gain due to people or an Autocalculate object.

+
{
  • "type": "PeopleAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "people_per_area": 0,
  • "occupancy_schedule": "string",
  • "activity_schedule": "string",
  • "radiant_fraction": 0.3,
  • "latent_fraction": {
    }
}

Plane

type
string (Type) ^Plane$
Default: "Plane"

A base class to use when there is no baseclass available to fall on.

+
n
required
Array of numbers <double> (N) = 3 items [ items <double > ]

Plane normal as 3 (x, y, z) values.

+
o
required
Array of numbers <double> (O) = 3 items [ items <double > ]

Plane origin as 3 (x, y, z) values

+
x
Array of numbers <double> (X) = 3 items [ items <double > ]

Plane x-axis as 3 (x, y, z) values. If None, it is autocalculated.

+
{
  • "type": "Plane",
  • "n": [
    ],
  • "o": [
    ],
  • "x": [
    ]
}

Plastic

type
string (Type) ^Plastic$
Default: "Plastic"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Modifier)
Default: {"type":"Void"}

Material modifier.

+
Array of Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Dependencies)

List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.

+
r_reflectance
number <double> (R Reflectance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the red channel reflectance.

+
g_reflectance
number <double> (G Reflectance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the green channel reflectance.

+
b_reflectance
number <double> (B Reflectance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the blue channel reflectance.

+
specularity
number <double> (Specularity) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the fraction of specularity. Specularity fractions greater than 0.1 are not realistic for non-metallic materials.

+
roughness
number <double> (Roughness) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.

+
{
  • "type": "Plastic",
  • "identifier": "string",
  • "display_name": "string",
  • "modifier": {
    },
  • "dependencies": [
    ],
  • "r_reflectance": 0,
  • "g_reflectance": 0,
  • "b_reflectance": 0,
  • "specularity": 0,
  • "roughness": 0
}

ProcessAbridged

type
string (Type) ^ProcessAbridged$
Default: "ProcessAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
watts
required
number <double> (Watts) >= 0

A number for the process load power in Watts.

+
schedule
required
string (Schedule) [ 1 .. 100 ] characters

Identifier of the schedule for the use of the process over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts to yield a complete equipment profile.

+
fuel_type
required
string (FuelTypes)
Enum: "Electricity" "NaturalGas" "Propane" "FuelOilNo1" "FuelOilNo2" "Diesel" "Gasoline" "Coal" "Steam" "DistrictHeating" "DistrictCooling" "OtherFuel1" "OtherFuel2" "None"

Designates the acceptable fuel types for process loads.

+
end_use_category
string (End Use Category) [ 1 .. 100 ] characters
Default: "Process"

Text to indicate the end-use subcategory, which will identify the process load in the end use output. For example, “Cooking”, “Clothes Drying”, etc. A new meter for reporting is created for each unique subcategory.

+
radiant_fraction
number <double> (Radiant Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of long-wave radiation heat given off by the process load. Default value is 0.

+
latent_fraction
number <double> (Latent Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of latent heat given off by the process load. Default value is 0.

+
lost_fraction
number <double> (Lost Fraction) [ 0 .. 1 ]
Default: 0

Number for the amount of “lost” heat being given off by the process load. The default value is 0.

+
{
  • "type": "ProcessAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "watts": 0,
  • "schedule": "string",
  • "fuel_type": "Electricity",
  • "end_use_category": "Process",
  • "radiant_fraction": 0,
  • "latent_fraction": 0,
  • "lost_fraction": 0
}

ProgramType

type
string (Type) ^ProgramType$
Default: "ProgramType"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
people
object (People) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
lighting
object (Lighting) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
electric_equipment
object (Electric Equipment) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
gas_equipment
object (Gas Equipment) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
service_hot_water
object (Service Hot Water) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
infiltration
object (Infiltration) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
ventilation
object (Ventilation) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
setpoint
object (Setpoint) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
{
  • "type": "ProgramType",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "people": {
    },
  • "lighting": {
    },
  • "electric_equipment": {
    },
  • "gas_equipment": {
    },
  • "service_hot_water": {
    },
  • "infiltration": {
    },
  • "ventilation": {
    },
  • "setpoint": {
    }
}

ProgramTypeAbridged

type
string (Type) ^ProgramTypeAbridged$
Default: "ProgramTypeAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
people
object (People) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
lighting
object (Lighting) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
electric_equipment
object (Electric Equipment) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
gas_equipment
object (Gas Equipment) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
service_hot_water
object (Service Hot Water) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
infiltration
object (Infiltration) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
ventilation
object (Ventilation) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
setpoint
object (Setpoint) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
{
  • "type": "ProgramTypeAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "people": {
    },
  • "lighting": {
    },
  • "electric_equipment": {
    },
  • "gas_equipment": {
    },
  • "service_hot_water": {
    },
  • "infiltration": {
    },
  • "ventilation": {
    },
  • "setpoint": {
    }
}

PSZ

type
string (Type) ^PSZ$
Default: "PSZ"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
economizer_type
string (AllAirEconomizerType)
Default: "NoEconomizer"
Enum: "NoEconomizer" "DifferentialDryBulb" "DifferentialEnthalpy" "DifferentialDryBulbAndEnthalpy" "FixedDryBulb" "FixedEnthalpy" "ElectronicEnthalpy"

An enumeration.

+
sensible_heat_recovery
number <double> (Sensible Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.

+
latent_heat_recovery
number <double> (Latent Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of latent heat recovery within the system.

+
demand_controlled_ventilation
boolean (Demand Controlled Ventilation)
Default: false

Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.

+
equipment_type
string (PSZEquipmentType)
Default: "PSZAC_ElectricBaseboard"
Enum: "PSZAC_ElectricBaseboard" "PSZAC_BoilerBaseboard" "PSZAC_DHWBaseboard" "PSZAC_GasHeaters" "PSZAC_ElectricCoil" "PSZAC_GasCoil" "PSZAC_Boiler" "PSZAC_ASHP" "PSZAC_DHW" "PSZAC" "PSZAC_DCW_ElectricBaseboard" "PSZAC_DCW_BoilerBaseboard" "PSZAC_DCW_GasHeaters" "PSZAC_DCW_ElectricCoil" "PSZAC_DCW_GasCoil" "PSZAC_DCW_Boiler" "PSZAC_DCW_ASHP" "PSZAC_DCW_DHW" "PSZAC_DCW" "PSZHP"

An enumeration.

+
{
  • "type": "PSZ",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "economizer_type": "NoEconomizer",
  • "sensible_heat_recovery": 0,
  • "latent_heat_recovery": 0,
  • "demand_controlled_ventilation": false,
  • "equipment_type": "PSZAC_ElectricBaseboard"
}

PSZEquipmentType

string (PSZEquipmentType)
Enum: "PSZAC_ElectricBaseboard" "PSZAC_BoilerBaseboard" "PSZAC_DHWBaseboard" "PSZAC_GasHeaters" "PSZAC_ElectricCoil" "PSZAC_GasCoil" "PSZAC_Boiler" "PSZAC_ASHP" "PSZAC_DHW" "PSZAC" "PSZAC_DCW_ElectricBaseboard" "PSZAC_DCW_BoilerBaseboard" "PSZAC_DCW_GasHeaters" "PSZAC_DCW_ElectricCoil" "PSZAC_DCW_GasCoil" "PSZAC_DCW_Boiler" "PSZAC_DCW_ASHP" "PSZAC_DCW_DHW" "PSZAC_DCW" "PSZHP"

An enumeration.

+
"PSZAC_ElectricBaseboard"

PTAC

type
string (Type) ^PTAC$
Default: "PTAC"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
equipment_type
string (PTACEquipmentType)
Default: "PTAC_ElectricBaseboard"
Enum: "PTAC_ElectricBaseboard" "PTAC_BoilerBaseboard" "PTAC_DHWBaseboard" "PTAC_GasHeaters" "PTAC_ElectricCoil" "PTAC_GasCoil" "PTAC_Boiler" "PTAC_ASHP" "PTAC_DHW" "PTAC" "PTHP"

An enumeration.

+
{
  • "type": "PTAC",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "equipment_type": "PTAC_ElectricBaseboard"
}

PTACEquipmentType

string (PTACEquipmentType)
Enum: "PTAC_ElectricBaseboard" "PTAC_BoilerBaseboard" "PTAC_DHWBaseboard" "PTAC_GasHeaters" "PTAC_ElectricCoil" "PTAC_GasCoil" "PTAC_Boiler" "PTAC_ASHP" "PTAC_DHW" "PTAC" "PTHP"

An enumeration.

+
"PTAC_ElectricBaseboard"

PVAV

type
string (Type) ^PVAV$
Default: "PVAV"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
economizer_type
string (AllAirEconomizerType)
Default: "NoEconomizer"
Enum: "NoEconomizer" "DifferentialDryBulb" "DifferentialEnthalpy" "DifferentialDryBulbAndEnthalpy" "FixedDryBulb" "FixedEnthalpy" "ElectronicEnthalpy"

An enumeration.

+
sensible_heat_recovery
number <double> (Sensible Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.

+
latent_heat_recovery
number <double> (Latent Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of latent heat recovery within the system.

+
demand_controlled_ventilation
boolean (Demand Controlled Ventilation)
Default: false

Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.

+
equipment_type
string (PVAVEquipmentType)
Default: "PVAV_Boiler"
Enum: "PVAV_Boiler" "PVAV_ASHP" "PVAV_DHW" "PVAV_PFP" "PVAV_BoilerElectricReheat"

An enumeration.

+
{
  • "type": "PVAV",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "economizer_type": "NoEconomizer",
  • "sensible_heat_recovery": 0,
  • "latent_heat_recovery": 0,
  • "demand_controlled_ventilation": false,
  • "equipment_type": "PVAV_Boiler"
}

PVAVEquipmentType

string (PVAVEquipmentType)
Enum: "PVAV_Boiler" "PVAV_ASHP" "PVAV_DHW" "PVAV_PFP" "PVAV_BoilerElectricReheat"

An enumeration.

+
"PVAV_Boiler"

PVProperties

type
string (Type) ^PVProperties$
Default: "PVProperties"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
rated_efficiency
number <double> (Rated Efficiency) ( 0 .. 1 )
Default: 0.15

A number between 0 and 1 for the rated nameplate efficiency of the photovoltaic solar cells under standard test conditions (STC). Standard test conditions are 1,000 Watts per square meter solar irradiance, 25 degrees C cell temperature, and ASTM G173-03 standard spectrum. Nameplate efficiencies reported by manufacturers are typically under STC. Standard poly- or mono-crystalline silicon modules tend to have rated efficiencies in the range of 14-17%. Premium high efficiency mono-crystalline silicon modules with anti-reflective coatings can have efficiencies in the range of 18-20%. Thin film photovoltaic modules typically have efficiencies of 11% or less. (Default: 0.15 for standard silicon solar cells).

+
active_area_fraction
number <double> (Active Area Fraction) ( 0 .. 1 ]
Default: 0.9

The fraction of the parent Shade geometry that is covered in active solar cells. This fraction includes the difference between the PV panel (aka. PV module) area and the active cells within the panel as well as any losses for how the (typically rectangular) panels can be arranged on the Shade geometry. When the parent Shade geometry represents just the solar panels, this fraction is typically around 0.9 given that the framing elements of the panel reduce the overall active area. (Default: 0.9, assuming parent Shade geometry represents only the PV panel geometry).

+
module_type
string (ModuleType)
Default: "Standard"
Enum: "Standard" "Premium" "ThinFilm"

An enumeration.

+
mounting_type
string (MountingType)
Default: "FixedOpenRack"
Enum: "FixedOpenRack" "FixedRoofMounted" "OneAxis" "OneAxisBacktracking" "TwoAxis"

An enumeration.

+
system_loss_fraction
number <double> (System Loss Fraction) [ 0 .. 1 ]
Default: 0.14

A number between 0 and 1 for the fraction of the electricity output lost due to factors other than EPW weather conditions, panel efficiency/type, active area, mounting, and inverter conversion from DC to AC. Factors that should be accounted for in this input include soiling, snow, wiring losses, electrical connection losses, manufacturer defects/tolerances/mismatch in cell characteristics, losses from power grid availability, and losses due to age or light-induced degradation. Losses from these factors tend to be between 10-20% but can vary widely depending on the installation, maintenance and the grid to which the panels are connected..

+
{
  • "type": "PVProperties",
  • "identifier": "string",
  • "display_name": "string",
  • "rated_efficiency": 0.15,
  • "active_area_fraction": 0.9,
  • "module_type": "Standard",
  • "mounting_type": "FixedOpenRack",
  • "system_loss_fraction": 0.14
}

RadianceShadeStateAbridged

type
string (Type) ^RadianceShadeStateAbridged$
Default: "RadianceShadeStateAbridged"

A base class to use when there is no baseclass available to fall on.

+
modifier
string (Modifier)

A Radiance Modifier identifier (default: None).

+
modifier_direct
string (Modifier Direct)

A Radiance Modifier identifier (default: None).

+
Array of objects (Shades)

A list of StateGeometryAbridged objects (default: None).

+
{
  • "type": "RadianceShadeStateAbridged",
  • "modifier": "string",
  • "modifier_direct": "string",
  • "shades": [
    ]
}

RadianceSubFaceStateAbridged

type
string (Type) ^RadianceSubFaceStateAbridged$
Default: "RadianceSubFaceStateAbridged"

A base class to use when there is no baseclass available to fall on.

+
modifier
string (Modifier)

A Radiance Modifier identifier (default: None).

+
modifier_direct
string (Modifier Direct)

A Radiance Modifier identifier (default: None).

+
Array of objects (Shades)

A list of StateGeometryAbridged objects (default: None).

+
vmtx_geometry
object (Vmtx Geometry) Recursive

A single planar face in 3D space.

+
dmtx_geometry
object (Dmtx Geometry) Recursive

A single planar face in 3D space.

+
{
  • "type": "RadianceSubFaceStateAbridged",
  • "modifier": "string",
  • "modifier_direct": "string",
  • "shades": [
    ],
  • "vmtx_geometry": {
    },
  • "dmtx_geometry": {
    }
}

Radiant

type
string (Type) ^Radiant$
Default: "Radiant"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
equipment_type
string (RadiantEquipmentType)
Default: "Radiant_Chiller_Boiler"
Enum: "Radiant_Chiller_Boiler" "Radiant_Chiller_ASHP" "Radiant_Chiller_DHW" "Radiant_ACChiller_Boiler" "Radiant_ACChiller_ASHP" "Radiant_ACChiller_DHW" "Radiant_DCW_Boiler" "Radiant_DCW_ASHP" "Radiant_DCW_DHW"

An enumeration.

+
radiant_face_type
string (RadiantFaceTypes)
Default: "Floor"
Enum: "Floor" "Ceiling" "FloorWithCarpet" "CeilingMetalPanel" "FloorWithHardwood"

An enumeration.

+
minimum_operation_time
number <double> (Minimum Operation Time) > 0
Default: 1

A number for the minimum number of hours of operation for the radiant system before it shuts off.

+
switch_over_time
number <double> (Switch Over Time) > 0
Default: 24

A number for the minimum number of hours for when the system can switch between heating and cooling.

+
{
  • "type": "Radiant",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "equipment_type": "Radiant_Chiller_Boiler",
  • "radiant_face_type": "Floor",
  • "minimum_operation_time": 1,
  • "switch_over_time": 24
}

RadiantEquipmentType

string (RadiantEquipmentType)
Enum: "Radiant_Chiller_Boiler" "Radiant_Chiller_ASHP" "Radiant_Chiller_DHW" "Radiant_ACChiller_Boiler" "Radiant_ACChiller_ASHP" "Radiant_ACChiller_DHW" "Radiant_DCW_Boiler" "Radiant_DCW_ASHP" "Radiant_DCW_DHW"

An enumeration.

+
"Radiant_Chiller_Boiler"

RadiantFaceTypes

string (RadiantFaceTypes)
Enum: "Floor" "Ceiling" "FloorWithCarpet" "CeilingMetalPanel" "FloorWithHardwood"

An enumeration.

+
"Floor"

RadiantwithDOASAbridged

type
string (Type) ^RadiantwithDOASAbridged$
Default: "RadiantwithDOASAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
sensible_heat_recovery
number <double> (Sensible Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.

+
latent_heat_recovery
number <double> (Latent Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of latent heat recovery within the system.

+
demand_controlled_ventilation
boolean (Demand Controlled Ventilation)
Default: false

Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.

+
doas_availability_schedule
string (Doas Availability Schedule) [ 1 .. 100 ] characters

An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.

+
equipment_type
string (RadiantwithDOASEquipmentType)
Default: "DOAS_Radiant_Chiller_Boiler"
Enum: "DOAS_Radiant_Chiller_Boiler" "DOAS_Radiant_Chiller_ASHP" "DOAS_Radiant_Chiller_DHW" "DOAS_Radiant_ACChiller_Boiler" "DOAS_Radiant_ACChiller_ASHP" "DOAS_Radiant_ACChiller_DHW" "DOAS_Radiant_DCW_Boiler" "DOAS_Radiant_DCW_ASHP" "DOAS_Radiant_DCW_DHW"

An enumeration.

+
radiant_face_type
string (RadiantFaceTypes)
Default: "Floor"
Enum: "Floor" "Ceiling" "FloorWithCarpet" "CeilingMetalPanel" "FloorWithHardwood"

An enumeration.

+
minimum_operation_time
number <double> (Minimum Operation Time) > 0
Default: 1

A number for the minimum number of hours of operation for the radiant system before it shuts off.

+
switch_over_time
number <double> (Switch Over Time) > 0
Default: 24

A number for the minimum number of hours for when the system can switch between heating and cooling.

+
{
  • "type": "RadiantwithDOASAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "sensible_heat_recovery": 0,
  • "latent_heat_recovery": 0,
  • "demand_controlled_ventilation": false,
  • "doas_availability_schedule": "string",
  • "equipment_type": "DOAS_Radiant_Chiller_Boiler",
  • "radiant_face_type": "Floor",
  • "minimum_operation_time": 1,
  • "switch_over_time": 24
}

RadiantwithDOASEquipmentType

string (RadiantwithDOASEquipmentType)
Enum: "DOAS_Radiant_Chiller_Boiler" "DOAS_Radiant_Chiller_ASHP" "DOAS_Radiant_Chiller_DHW" "DOAS_Radiant_ACChiller_Boiler" "DOAS_Radiant_ACChiller_ASHP" "DOAS_Radiant_ACChiller_DHW" "DOAS_Radiant_DCW_Boiler" "DOAS_Radiant_DCW_ASHP" "DOAS_Radiant_DCW_DHW"

An enumeration.

+
"DOAS_Radiant_Chiller_Boiler"

Residential

type
string (Type) ^Residential$
Default: "Residential"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
equipment_type
string (ResidentialEquipmentType)
Default: "ResidentialAC_ElectricBaseboard"
Enum: "ResidentialAC_ElectricBaseboard" "ResidentialAC_BoilerBaseboard" "ResidentialAC_ASHPBaseboard" "ResidentialAC_DHWBaseboard" "ResidentialAC_ResidentialFurnace" "ResidentialAC" "ResidentialHP" "ResidentialHPNoCool" "ResidentialFurnace"

An enumeration.

+
{
  • "type": "Residential",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "equipment_type": "ResidentialAC_ElectricBaseboard"
}

ResidentialEquipmentType

string (ResidentialEquipmentType)
Enum: "ResidentialAC_ElectricBaseboard" "ResidentialAC_BoilerBaseboard" "ResidentialAC_ASHPBaseboard" "ResidentialAC_DHWBaseboard" "ResidentialAC_ResidentialFurnace" "ResidentialAC" "ResidentialHP" "ResidentialHPNoCool" "ResidentialFurnace"

An enumeration.

+
"ResidentialAC_ElectricBaseboard"

RoofCeilingConstructionSet

type
string (Type) ^RoofCeilingConstructionSet$
Default: "RoofCeilingConstructionSet"

A base class to use when there is no baseclass available to fall on.

+
interior_construction
object (Interior Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
exterior_construction
object (Exterior Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
ground_construction
object (Ground Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
{
  • "type": "RoofCeilingConstructionSet",
  • "interior_construction": {
    },
  • "exterior_construction": {
    },
  • "ground_construction": {
    }
}

RoofCeilingConstructionSetAbridged

type
string (Type) ^RoofCeilingConstructionSetAbridged$
Default: "RoofCeilingConstructionSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
interior_construction
string (Interior Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for faces with a Surface or Adiabatic boundary condition.

+
exterior_construction
string (Exterior Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for faces with an Outdoors boundary condition.

+
ground_construction
string (Ground Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for faces with a Ground boundary condition.

+
{
  • "type": "RoofCeilingConstructionSetAbridged",
  • "interior_construction": "string",
  • "exterior_construction": "string",
  • "ground_construction": "string"
}

RoofCeilingModifierSet

type
string (Type) ^RoofCeilingModifierSet$
Default: "RoofCeilingModifierSet"

A base class to use when there is no baseclass available to fall on.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Exterior Modifier)

A radiance modifier object for faces with an Outdoors boundary condition.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Interior Modifier)

A radiance modifier object for faces with a boundary condition other than Outdoors.

+
{
  • "type": "RoofCeilingModifierSet",
  • "exterior_modifier": {
    },
  • "interior_modifier": {
    }
}

RoofCeilingModifierSetAbridged

type
string (Type) ^RoofCeilingModifierSetAbridged$
Default: "RoofCeilingModifierSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
exterior_modifier
string (Exterior Modifier)

Identifier for a radiance modifier object for faces with an Outdoors boundary condition.

+
interior_modifier
string (Interior Modifier)

Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.

+
{
  • "type": "RoofCeilingModifierSetAbridged",
  • "exterior_modifier": "string",
  • "interior_modifier": "string"
}

Room

type
string (Type) ^Room$
Default: "Room"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[.A-Za-z0-9_-]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
required
Array of objects (Faces) >= 4 items

Faces that together form the closed volume of a room.

+
properties
required
object (Properties) Recursive

Extension properties for particular simulation engines (Radiance, EnergyPlus).

+
Array of objects (Indoor Shades)

Shades assigned to the interior side of this object (eg. partitions, tables).

+
Array of objects (Outdoor Shades)

Shades assigned to the exterior side of this object (eg. trees, landscaping).

+
multiplier
integer <int32> (Multiplier) >= 1
Default: 1

An integer noting how many times this Room is repeated. Multipliers are used to speed up the calculation when similar Rooms are repeated more than once. Essentially, a given simulation with the Room is run once and then the result is multiplied by the multiplier.

+
exclude_floor_area
boolean (Exclude Floor Area)
Default: false

A boolean for whether the Room floor area contributes to Models it is a part of. Note that this will not affect the floor_area property of this Room itself but it will ensure the Room floor area is excluded from any calculations when the Room is part of a Model, including EUI calculations.

+
story
string (Story)

Text string for the story identifier to which this Room belongs. Rooms sharing the same story identifier are considered part of the same story in a Model. Note that this property has no character restrictions.

+
{
  • "type": "Room",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "faces": [
    ],
  • "properties": {
    },
  • "indoor_shades": [
    ],
  • "outdoor_shades": [
    ],
  • "multiplier": 1,
  • "exclude_floor_area": false,
  • "story": "string"
}

RoomEnergyPropertiesAbridged

type
string (Type) ^RoomEnergyPropertiesAbridged$
Default: "RoomEnergyPropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
construction_set
string (Construction Set) [ 1 .. 100 ] characters

Identifier of a ConstructionSet to specify all default constructions for the Faces, Apertures, and Doors of the Room. If None, the Room will use the Model global_construction_set.

+
program_type
string (Program Type) [ 1 .. 100 ] characters

Identifier of a ProgramType to specify all default schedules and loads for the Room. If None, the Room will have no loads or setpoints.

+
hvac
string (Hvac) [ 1 .. 100 ] characters

An optional identifier of a HVAC system (such as an IdealAirSystem) that specifies how the Room is conditioned. If None, it will be assumed that the Room is not conditioned.

+
shw
string (Shw) [ 1 .. 100 ] characters

An optional identifier of a Service Hot Water (SHW) system that specifies how the hot water load of the Room is met. If None, the hot water load will be met with a generic system that only measures thermal loadand does not account for system efficiencies.

+
people
object (People) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
lighting
object (Lighting) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
electric_equipment
object (Electric Equipment) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
gas_equipment
object (Gas Equipment) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
service_hot_water
object (Service Hot Water) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
infiltration
object (Infiltration) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
ventilation
object (Ventilation) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
setpoint
object (Setpoint) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
daylighting_control
object (Daylighting Control) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
window_vent_control
object (Window Vent Control) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
Array of objects (Fans)

An optional list of VentilationFan objects for fans within the room. Note that these fans are not connected to the heating or cooling system and are meant to represent the intentional circulation of unconditioned outdoor air for the purposes of keeping a space cooler, drier or free of indoor pollutants (as in the case of kitchen or bathroom exhaust fans). For the specification of mechanical ventilation of conditioned outdoor air, the Room.ventilation property should be used and the Room should be given a HVAC that can meet this specification.

+
Array of objects (Internal Masses)

An optional list of of InternalMass objects for thermal mass exposed to Room air. Note that internal masses assigned this way cannot "see" solar radiation that may potentially hit them and, as such, caution should be taken when using this component with internal mass objects that are not always in shade. Masses are factored into the the thermal calculations of the Room by undergoing heat transfer with the indoor air.

+
Array of objects (Process Loads)

An optional list of of Process objects for process loads within the room. These can represent kilns, manufacturing equipment, and various industrial processes. They can also be used to represent wood burning fireplaces or certain pieces of equipment to be separated from the other end uses.

+
{
  • "type": "RoomEnergyPropertiesAbridged",
  • "construction_set": "string",
  • "program_type": "string",
  • "hvac": "string",
  • "shw": "string",
  • "people": {
    },
  • "lighting": {
    },
  • "electric_equipment": {
    },
  • "gas_equipment": {
    },
  • "service_hot_water": {
    },
  • "infiltration": {
    },
  • "ventilation": {
    },
  • "setpoint": {
    },
  • "daylighting_control": {
    },
  • "window_vent_control": {
    },
  • "fans": [
    ],
  • "internal_masses": [
    ],
  • "process_loads": [
    ]
}

RoomPropertiesAbridged

type
string (Type) ^RoomPropertiesAbridged$
Default: "RoomPropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
energy
object (RoomEnergyPropertiesAbridged) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
radiance
object (RoomRadiancePropertiesAbridged) Recursive

Abridged Radiance Properties for Honeybee Room.

+
{
  • "type": "RoomPropertiesAbridged",
  • "energy": {
    },
  • "radiance": {
    }
}

RoomRadiancePropertiesAbridged

type
string (Type) ^RoomRadiancePropertiesAbridged$
Default: "RoomRadiancePropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
modifier_set
string (Modifier Set)

An identifier for a unique Room-Assigned ModifierSet (default: None).

+
{
  • "type": "RoomRadiancePropertiesAbridged",
  • "modifier_set": "string"
}

Roughness

string (Roughness)
Enum: "VeryRough" "Rough" "MediumRough" "MediumSmooth" "Smooth" "VerySmooth"

Relative roughness of a particular material layer.

+
"VeryRough"

ScheduleDay

type
string (Type) ^ScheduleDay$
Default: "ScheduleDay"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
values
required
Array of numbers <double> (Values) [ items <double > ]

A list of floats or integers for the values of the schedule. The length of this list must match the length of the times list.

+
times
Array of integers (Times) [ items <int32 > = 2 items [ items <int32 > ] ]
Default: [0,0]

A list of lists with each sub-list possesing 2 values for [hour, minute]. The length of the master list must match the length of the values list. Each time in the master list represents the time of day that the corresponding value begins to take effect. For example [(0,0), (9,0), (17,0)] in combination with the values [0, 1, 0] denotes a schedule value of 0 from 0:00 to 9:00, a value of 1 from 9:00 to 17:00 and 0 from 17:00 to the end of the day. Note that this representation of times as the "time of beginning" is a different convention than EnergyPlus, which uses "time until".

+
interpolate
boolean (Interpolate)
Default: false

Boolean to note whether values in between times should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.

+
{
  • "type": "ScheduleDay",
  • "identifier": "string",
  • "display_name": "string",
  • "values": [
    ],
  • "times": [
    ],
  • "interpolate": false
}

ScheduleFixedInterval

type
string (Type) ^ScheduleFixedInterval$
Default: "ScheduleFixedInterval"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
values
required
Array of numbers <double> (Values) [ 24 .. 527040 ] items [ items <double > ]

A list of timeseries values occuring at each timestep over the course of the simulation.

+
schedule_type_limit
object (Schedule Type Limit) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
timestep
integer <int32> (Timestep)
Default: 1

An integer for the number of steps per hour that the input values correspond to. For example, if each value represents 30 minutes, the timestep is 2. For 15 minutes, it is 4.

+
start_date
Array of integers <int32> (Start Date) [ 2 .. 3 ] items [ items <int32 > ]
Default: [1,1]

A list of two integers for [month, day], representing the start date when the schedule values begin to take effect.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).

+
placeholder_value
number <double> (Placeholder Value)
Default: 0

A value that will be used for all times not covered by the input values. Typically, your simulation should not need to use this value if the input values completely cover the simulation period.

+
interpolate
boolean (Interpolate)
Default: false

Boolean to note whether values in between intervals should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.

+
{
  • "type": "ScheduleFixedInterval",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "values": [
    ],
  • "schedule_type_limit": {
    },
  • "timestep": 1,
  • "start_date": [
    ],
  • "placeholder_value": 0,
  • "interpolate": false
}

ScheduleFixedIntervalAbridged

type
string (Type) ^ScheduleFixedIntervalAbridged$
Default: "ScheduleFixedIntervalAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
values
required
Array of numbers <double> (Values) [ 24 .. 527040 ] items [ items <double > ]

A list of timeseries values occuring at each timestep over the course of the simulation.

+
schedule_type_limit
string (Schedule Type Limit) [ 1 .. 100 ] characters

Identifier of a ScheduleTypeLimit that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.

+
timestep
integer <int32> (Timestep)
Default: 1

An integer for the number of steps per hour that the input values correspond to. For example, if each value represents 30 minutes, the timestep is 2. For 15 minutes, it is 4.

+
start_date
Array of integers <int32> (Start Date) [ 2 .. 3 ] items [ items <int32 > ]
Default: [1,1]

A list of two integers for [month, day], representing the start date when the schedule values begin to take effect.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).

+
placeholder_value
number <double> (Placeholder Value)
Default: 0

A value that will be used for all times not covered by the input values. Typically, your simulation should not need to use this value if the input values completely cover the simulation period.

+
interpolate
boolean (Interpolate)
Default: false

Boolean to note whether values in between intervals should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.

+
{
  • "type": "ScheduleFixedIntervalAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "values": [
    ],
  • "schedule_type_limit": "string",
  • "timestep": 1,
  • "start_date": [
    ],
  • "placeholder_value": 0,
  • "interpolate": false
}

ScheduleNumericType

string (ScheduleNumericType)
Enum: "Continuous" "Discrete"

Designates how the range values are validated.

+
"Continuous"

ScheduleRuleAbridged

type
string (Type) ^ScheduleRuleAbridged$
Default: "ScheduleRuleAbridged"

A base class to use when there is no baseclass available to fall on.

+
schedule_day
required
string (Schedule Day) [ 1 .. 100 ] characters

The identifier of a ScheduleDay object associated with this rule.

+
apply_sunday
boolean (Apply Sunday)
Default: false

Boolean noting whether to apply schedule_day on Sundays.

+
apply_monday
boolean (Apply Monday)
Default: false

Boolean noting whether to apply schedule_day on Mondays.

+
apply_tuesday
boolean (Apply Tuesday)
Default: false

Boolean noting whether to apply schedule_day on Tuesdays.

+
apply_wednesday
boolean (Apply Wednesday)
Default: false

Boolean noting whether to apply schedule_day on Wednesdays.

+
apply_thursday
boolean (Apply Thursday)
Default: false

Boolean noting whether to apply schedule_day on Thursdays.

+
apply_friday
boolean (Apply Friday)
Default: false

Boolean noting whether to apply schedule_day on Fridays.

+
apply_saturday
boolean (Apply Saturday)
Default: false

Boolean noting whether to apply schedule_day on Saturdays.

+
start_date
Array of integers <int32> (Start Date) [ 2 .. 3 ] items [ items <int32 > ]
Default: [1,1]

A list of two integers for [month, day], representing the start date of the period over which the schedule_day will be applied.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).

+
end_date
Array of integers <int32> (End Date) [ 2 .. 3 ] items [ items <int32 > ]
Default: [12,31]

A list of two integers for [month, day], representing the end date of the period over which the schedule_day will be applied.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).

+
{
  • "type": "ScheduleRuleAbridged",
  • "schedule_day": "string",
  • "apply_sunday": false,
  • "apply_monday": false,
  • "apply_tuesday": false,
  • "apply_wednesday": false,
  • "apply_thursday": false,
  • "apply_friday": false,
  • "apply_saturday": false,
  • "start_date": [
    ],
  • "end_date": [
    ]
}

ScheduleRuleset

type
string (Type) ^ScheduleRuleset$
Default: "ScheduleRuleset"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
required
Array of objects (Day Schedules)

A list of ScheduleDays that are referenced in the other keys of this ScheduleRulesetAbridged.

+
default_day_schedule
required
string (Default Day Schedule) [ 1 .. 100 ] characters

An identifier for the ScheduleDay that will be used for all days when no ScheduleRule is applied. This ScheduleDay must be in the day_schedules.

+
Array of objects (Schedule Rules)

A list of ScheduleRuleAbridged that note exceptions to the default_day_schedule. These rules should be ordered from highest to lowest priority.

+
holiday_schedule
string (Holiday Schedule) [ 1 .. 100 ] characters

An identifier for the ScheduleDay that will be used for holidays. This ScheduleDay must be in the day_schedules.

+
summer_designday_schedule
string (Summer Designday Schedule) [ 1 .. 100 ] characters

An identifier for the ScheduleDay that will be used for the summer design day. This ScheduleDay must be in the day_schedules.

+
winter_designday_schedule
string (Winter Designday Schedule) [ 1 .. 100 ] characters

An identifier for the ScheduleDay that will be used for the winter design day. This ScheduleDay must be in the day_schedules.

+
schedule_type_limit
object (Schedule Type Limit) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
{
  • "type": "ScheduleRuleset",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "day_schedules": [
    ],
  • "default_day_schedule": "string",
  • "schedule_rules": [
    ],
  • "holiday_schedule": "string",
  • "summer_designday_schedule": "string",
  • "winter_designday_schedule": "string",
  • "schedule_type_limit": {
    }
}

ScheduleRulesetAbridged

type
string (Type) ^ScheduleRulesetAbridged$
Default: "ScheduleRulesetAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
required
Array of objects (Day Schedules)

A list of ScheduleDays that are referenced in the other keys of this ScheduleRulesetAbridged.

+
default_day_schedule
required
string (Default Day Schedule) [ 1 .. 100 ] characters

An identifier for the ScheduleDay that will be used for all days when no ScheduleRule is applied. This ScheduleDay must be in the day_schedules.

+
Array of objects (Schedule Rules)

A list of ScheduleRuleAbridged that note exceptions to the default_day_schedule. These rules should be ordered from highest to lowest priority.

+
holiday_schedule
string (Holiday Schedule) [ 1 .. 100 ] characters

An identifier for the ScheduleDay that will be used for holidays. This ScheduleDay must be in the day_schedules.

+
summer_designday_schedule
string (Summer Designday Schedule) [ 1 .. 100 ] characters

An identifier for the ScheduleDay that will be used for the summer design day. This ScheduleDay must be in the day_schedules.

+
winter_designday_schedule
string (Winter Designday Schedule) [ 1 .. 100 ] characters

An identifier for the ScheduleDay that will be used for the winter design day. This ScheduleDay must be in the day_schedules.

+
schedule_type_limit
string (Schedule Type Limit) [ 1 .. 100 ] characters

Identifier of a ScheduleTypeLimit that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.

+
{
  • "type": "ScheduleRulesetAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "day_schedules": [
    ],
  • "default_day_schedule": "string",
  • "schedule_rules": [
    ],
  • "holiday_schedule": "string",
  • "summer_designday_schedule": "string",
  • "winter_designday_schedule": "string",
  • "schedule_type_limit": "string"
}

ScheduleTypeLimit

type
string (Type) ^ScheduleTypeLimit$
Default: "ScheduleTypeLimit"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
NoLimit (object) or Lower Limit (number) (Lower Limit)
Default: {"type":"NoLimit"}

Lower limit for the schedule type or NoLimit.

+
NoLimit (object) or Upper Limit (number) (Upper Limit)
Default: {"type":"NoLimit"}

Upper limit for the schedule type or NoLimit.

+
numeric_type
string (ScheduleNumericType)
Default: "Continuous"
Enum: "Continuous" "Discrete"

Designates how the range values are validated.

+
unit_type
string (ScheduleUnitType)
Default: "Dimensionless"
Enum: "Dimensionless" "Temperature" "DeltaTemperature" "PrecipitationRate" "Angle" "ConvectionCoefficient" "ActivityLevel" "Velocity" "Capacity" "Power" "Availability" "Percent" "Control" "Mode"

An enumeration.

+
{
  • "type": "ScheduleTypeLimit",
  • "identifier": "string",
  • "display_name": "string",
  • "lower_limit": {
    },
  • "upper_limit": {
    },
  • "numeric_type": "Continuous",
  • "unit_type": "Dimensionless"
}

ScheduleUnitType

string (ScheduleUnitType)
Enum: "Dimensionless" "Temperature" "DeltaTemperature" "PrecipitationRate" "Angle" "ConvectionCoefficient" "ActivityLevel" "Velocity" "Capacity" "Power" "Availability" "Percent" "Control" "Mode"

An enumeration.

+
"Dimensionless"

Sensor

type
string (Type) ^Sensor$
Default: "Sensor"

A base class to use when there is no baseclass available to fall on.

+
pos
required
Array of numbers <double> (Pos) = 3 items [ items <double > ]

Position of sensor in space as an array of (x, y, z) values.

+
dir
required
Array of numbers <double> (Dir) = 3 items [ items <double > ]

Direction of sensor as an array of (x, y, z) values.

+
{
  • "type": "Sensor",
  • "pos": [
    ],
  • "dir": [
    ]
}

SensorGrid

type
string (Type) ^SensorGrid$
Default: "SensorGrid"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
room_identifier
string (Room Identifier) [ 1 .. 100 ] characters [.A-Za-z0-9_-]

Optional text string for the Room identifier to which this object belongs. This will be used to narrow down the number of aperture groups that have to be run with this sensor grid. If None, the grid will be run with all aperture groups in the model.

+
light_path
Array of strings (Light Path) [ items ]

Get or set a list of lists for the light path from the object to the sky. Each sub-list contains identifiers of aperture groups through which light passes. (eg. [["SouthWindow1"], ["static_apertures", "NorthWindow2"]]).Setting this property will override any auto-calculation of the light path from the model and room_identifier upon export to the simulation.

+
required
Array of objects (Sensors)

A list of sensors that belong to the grid.

+
mesh
object (Mesh) Recursive

A mesh in 3D space.

+
Array of objects (Base Geometry)

An optional array of Face3D used to represent the grid. There are no restrictions on how this property relates to the sensors and it is provided only to assist with the display of the grid when the number of sensors or the mesh is too large to be practically visualized.

+
group_identifier
string (Group Identifier)

An optional string to note the sensor grid group ' 'to which the sensor is a part of. Grids sharing the same ' 'group_identifier will be written to the same subfolder in Radiance ' 'folder (default: None).

+
{
  • "type": "SensorGrid",
  • "identifier": "string",
  • "display_name": "string",
  • "room_identifier": "string",
  • "light_path": [
    ],
  • "sensors": [
    ],
  • "mesh": {
    },
  • "base_geometry": [
    ],
  • "group_identifier": "string"
}

ServiceHotWater

type
string (Type) ^ServiceHotWater$
Default: "ServiceHotWater"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
flow_per_area
required
number <double> (Flow Per Area) >= 0

Number for the total volume flow rate of water per unit area of floor [L/h-m2].

+
required
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Schedule)

The schedule for the use of hot water over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_area to yield a complete water usage profile.

+
target_temperature
number <double> (Target Temperature) > 0
Default: 60

Number for the target temperature of water out of the tap (C). This the temperature after hot water has been mixed with cold water from the water mains. The default is 60C, which essentially assumes that the flow_per_area on this object is only for water straight out of the water heater.

+
sensible_fraction
number <double> (Sensible Fraction) [ 0 .. 1 ]
Default: 0.2

A number between 0 and 1 for the fraction of the total hot water load given off as sensible heat in the zone.

+
latent_fraction
number <double> (Latent Fraction) [ 0 .. 1 ]
Default: 0.05

A number between 0 and 1 for the fraction of the total hot water load that is latent.

+
{
  • "type": "ServiceHotWater",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "flow_per_area": 0,
  • "schedule": {
    },
  • "target_temperature": 60,
  • "sensible_fraction": 0.2,
  • "latent_fraction": 0.05
}

ServiceHotWaterAbridged

type
string (Type) ^ServiceHotWaterAbridged$
Default: "ServiceHotWaterAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
flow_per_area
required
number <double> (Flow Per Area) >= 0

Number for the total volume flow rate of water per unit area of floor [L/h-m2].

+
schedule
required
string (Schedule) [ 1 .. 100 ] characters

Identifier of the schedule for the hot water use over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_area to yield a complete water usage profile.

+
target_temperature
number <double> (Target Temperature) > 0
Default: 60

Number for the target temperature of water out of the tap (C). This the temperature after hot water has been mixed with cold water from the water mains. The default is 60C, which essentially assumes that the flow_per_area on this object is only for water straight out of the water heater.

+
sensible_fraction
number <double> (Sensible Fraction) [ 0 .. 1 ]
Default: 0.2

A number between 0 and 1 for the fraction of the total hot water load given off as sensible heat in the zone.

+
latent_fraction
number <double> (Latent Fraction) [ 0 .. 1 ]
Default: 0.05

A number between 0 and 1 for the fraction of the total hot water load that is latent.

+
{
  • "type": "ServiceHotWaterAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "flow_per_area": 0,
  • "schedule": "string",
  • "target_temperature": 60,
  • "sensible_fraction": 0.2,
  • "latent_fraction": 0.05
}

Setpoint

type
string (Type) ^Setpoint$
Default: "Setpoint"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
required
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Cooling Schedule)

Schedule for the cooling setpoint. The values in this schedule should be temperature in [C].

+
required
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Heating Schedule)

Schedule for the heating setpoint. The values in this schedule should be temperature in [C].

+
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Humidifying Schedule)

Schedule for the humidification setpoint. The values in this schedule should be in [%].

+
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Dehumidifying Schedule)

Schedule for the dehumidification setpoint. The values in this schedule should be in [%].

+
setpoint_cutout_difference
number <double> (Setpoint Cutout Difference) >= 0
Default: 0

An optional positive number for the temperature difference between the cutout temperature and the setpoint temperature. Specifying a non-zero number here is useful for modeling the throttling range associated with a given setup of setpoint controls and HVAC equipment. Throttling ranges describe the range where a zone is slightly over-cooled or over-heated beyond the thermostat setpoint. They are used to avoid situations where HVAC systems turn on only to turn off a few minutes later, thereby wearing out the parts of mechanical systems faster. They can have a minor impact on energy consumption and can often have significant impacts on occupant thermal comfort, though using the default value of zero will often yield results that are close enough when trying to estimate the annual heating/cooling energy use. Specifying a value of zero effectively assumes that the system will turn on whenever conditions are outside the setpoint range and will cut out as soon as the setpoint is reached.

+
{
  • "type": "Setpoint",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "cooling_schedule": {
    },
  • "heating_schedule": {
    },
  • "humidifying_schedule": {
    },
  • "dehumidifying_schedule": {
    },
  • "setpoint_cutout_difference": 0
}

SetpointAbridged

type
string (Type) ^SetpointAbridged$
Default: "SetpointAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
cooling_schedule
required
string (Cooling Schedule) [ 1 .. 100 ] characters

Identifier of the schedule for the cooling setpoint. The values in this schedule should be temperature in [C].

+
heating_schedule
required
string (Heating Schedule) [ 1 .. 100 ] characters

Identifier of the schedule for the heating setpoint. The values in this schedule should be temperature in [C].

+
humidifying_schedule
string (Humidifying Schedule) [ 1 .. 100 ] characters

Identifier of the schedule for the humidification setpoint. The values in this schedule should be in [%].

+
dehumidifying_schedule
string (Dehumidifying Schedule) [ 1 .. 100 ] characters

Identifier of the schedule for the dehumidification setpoint. The values in this schedule should be in [%].

+
setpoint_cutout_difference
number <double> (Setpoint Cutout Difference) >= 0
Default: 0

An optional positive number for the temperature difference between the cutout temperature and the setpoint temperature. Specifying a non-zero number here is useful for modeling the throttling range associated with a given setup of setpoint controls and HVAC equipment. Throttling ranges describe the range where a zone is slightly over-cooled or over-heated beyond the thermostat setpoint. They are used to avoid situations where HVAC systems turn on only to turn off a few minutes later, thereby wearing out the parts of mechanical systems faster. They can have a minor impact on energy consumption and can often have significant impacts on occupant thermal comfort, though using the default value of zero will often yield results that are close enough when trying to estimate the annual heating/cooling energy use. Specifying a value of zero effectively assumes that the system will turn on whenever conditions are outside the setpoint range and will cut out as soon as the setpoint is reached.

+
{
  • "type": "SetpointAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "cooling_schedule": "string",
  • "heating_schedule": "string",
  • "humidifying_schedule": "string",
  • "dehumidifying_schedule": "string",
  • "setpoint_cutout_difference": 0
}

Shade

type
string (Type) ^Shade$
Default: "Shade"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[.A-Za-z0-9_-]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
geometry
required
object (Geometry) Recursive

A single planar face in 3D space.

+
properties
required
object (Properties) Recursive

Extension properties for particular simulation engines (Radiance, EnergyPlus).

+
is_detached
boolean (Is Detached)
Default: false

Boolean to note whether this shade is detached from any of the other geometry in the model. Cases where this should be True include shade representing surrounding buildings or context. Note that this should always be False for shades assigned to parent objects.

+
{
  • "type": "Shade",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "geometry": {
    },
  • "properties": {
    },
  • "is_detached": false
}

ShadeConstruction

type
string (Type) ^ShadeConstruction$
Default: "ShadeConstruction"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
solar_reflectance
number <double> (Solar Reflectance) [ 0 .. 1 ]
Default: 0.2

A number for the solar reflectance of the construction.

+
visible_reflectance
number <double> (Visible Reflectance) [ 0 .. 1 ]
Default: 0.2

A number for the visible reflectance of the construction.

+
is_specular
boolean (Is Specular)
Default: false

Boolean to note whether the reflection off the shade is diffuse (False) or specular (True). Set to True if the construction is representing a glass facade or a mirror material.

+
{
  • "type": "ShadeConstruction",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "solar_reflectance": 0.2,
  • "visible_reflectance": 0.2,
  • "is_specular": false
}

ShadeEnergyPropertiesAbridged

type
string (Type) ^ShadeEnergyPropertiesAbridged$
Default: "ShadeEnergyPropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
construction
string (Construction) [ 1 .. 100 ] characters

Identifier of a ShadeConstruction to set the reflectance and specularity of the Shade. If None, the construction is set by theparent Room construction_set, the Model global_construction_set or (in the case fo an orphaned shade) the EnergyPlus default of 0.2 diffuse reflectance.

+
transmittance_schedule
string (Transmittance Schedule) [ 1 .. 100 ] characters

Identifier of a schedule to set the transmittance of the shade, which can vary throughout the simulation. If None, the shade will be completely opaque.

+
pv_properties
object (Pv Properties) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
{
  • "type": "ShadeEnergyPropertiesAbridged",
  • "construction": "string",
  • "transmittance_schedule": "string",
  • "pv_properties": {
    }
}

ShadeLocation

string (ShadeLocation)
Enum: "Interior" "Between" "Exterior"

Choices for where a shade material is located in a window assembly.

+
"Interior"

ShadeMesh

type
string (Type) ^ShadeMesh$
Default: "ShadeMesh"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[.A-Za-z0-9_-]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
geometry
required
object (Geometry) Recursive

A mesh in 3D space.

+
properties
required
object (Properties) Recursive

Extension properties for particular simulation engines (Radiance, EnergyPlus).

+
is_detached
boolean (Is Detached)
Default: true

Boolean to note whether this shade is detached from any of the other geometry in the model. Cases where this should be True include shade representing surrounding buildings or context.

+
{
  • "type": "ShadeMesh",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "geometry": {
    },
  • "properties": {
    },
  • "is_detached": true
}

ShadeMeshEnergyPropertiesAbridged

type
string (Type) ^ShadeMeshEnergyPropertiesAbridged$
Default: "ShadeMeshEnergyPropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
construction
string (Construction) [ 1 .. 100 ] characters

Identifier of a ShadeConstruction to set the reflectance and specularity of the Shade. If None, it will be a generic context construction that is completely diffuse with 0.2 visible and solar reflectance. Unless it is building attached, in which case it will be set by the default generic ConstructionSet.

+
transmittance_schedule
string (Transmittance Schedule) [ 1 .. 100 ] characters

Identifier of a schedule to set the transmittance of the shade, which can vary throughout the simulation. If None, the shade will be completely opaque.

+
{
  • "type": "ShadeMeshEnergyPropertiesAbridged",
  • "construction": "string",
  • "transmittance_schedule": "string"
}

ShadeMeshPropertiesAbridged

type
string (Type) ^ShadeMeshPropertiesAbridged$
Default: "ShadeMeshPropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
energy
object (ShadeMeshEnergyPropertiesAbridged) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
radiance
object (ShadeMeshRadiancePropertiesAbridged) Recursive

Base class of Abridged Radiance Properties.

+
{
  • "type": "ShadeMeshPropertiesAbridged",
  • "energy": {
    },
  • "radiance": {
    }
}

ShadeMeshRadiancePropertiesAbridged

type
string (Type) ^ShadeMeshRadiancePropertiesAbridged$
Default: "ShadeMeshRadiancePropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
modifier
string (Modifier)

A string for a Honeybee Radiance Modifier (default: None).

+
modifier_blk
string (Modifier Blk)

A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).

+
{
  • "type": "ShadeMeshRadiancePropertiesAbridged",
  • "modifier": "string",
  • "modifier_blk": "string"
}

ShadeModifierSet

type
string (Type) ^ShadeModifierSet$
Default: "ShadeModifierSet"

A base class to use when there is no baseclass available to fall on.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Exterior Modifier)

A radiance modifier object for faces with an Outdoors boundary condition.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Interior Modifier)

A radiance modifier object for faces with a boundary condition other than Outdoors.

+
{
  • "type": "ShadeModifierSet",
  • "exterior_modifier": {
    },
  • "interior_modifier": {
    }
}

ShadeModifierSetAbridged

type
string (Type) ^ShadeModifierSetAbridged$
Default: "ShadeModifierSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
exterior_modifier
string (Exterior Modifier)

Identifier for a radiance modifier object for faces with an Outdoors boundary condition.

+
interior_modifier
string (Interior Modifier)

Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.

+
{
  • "type": "ShadeModifierSetAbridged",
  • "exterior_modifier": "string",
  • "interior_modifier": "string"
}

ShadePropertiesAbridged

type
string (Type) ^ShadePropertiesAbridged$
Default: "ShadePropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
energy
object (ShadeEnergyPropertiesAbridged) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
radiance
object (ShadeRadiancePropertiesAbridged) Recursive

Base class of Abridged Radiance Properties.

+
{
  • "type": "ShadePropertiesAbridged",
  • "energy": {
    },
  • "radiance": {
    }
}

ShadeRadiancePropertiesAbridged

type
string (Type) ^ShadeRadiancePropertiesAbridged$
Default: "ShadeRadiancePropertiesAbridged"

A base class to use when there is no baseclass available to fall on.

+
modifier
string (Modifier)

A string for a Honeybee Radiance Modifier (default: None).

+
modifier_blk
string (Modifier Blk)

A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).

+
dynamic_group_identifier
string (Dynamic Group Identifier)

An optional string to note the dynamic group ' 'to which the Shade is a part of. Shades sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Shade is assumed to be static. (default: None).

+
Array of objects (States)

An optional list of abridged states (default: None).

+
{
  • "type": "ShadeRadiancePropertiesAbridged",
  • "modifier": "string",
  • "modifier_blk": "string",
  • "dynamic_group_identifier": "string",
  • "states": [
    ]
}

SHWEquipmentType

string (SHWEquipmentType)
Enum: "Gas_WaterHeater" "Electric_WaterHeater" "HeatPump_WaterHeater" "Gas_TanklessHeater" "Electric_TanklessHeater"

An enumeration.

+
"Gas_WaterHeater"

SHWSystem

type
string (Type) ^SHWSystem$
Default: "SHWSystem"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
equipment_type
string (SHWEquipmentType)
Default: "Gas_WaterHeater"
Enum: "Gas_WaterHeater" "Electric_WaterHeater" "HeatPump_WaterHeater" "Gas_TanklessHeater" "Electric_TanklessHeater"

An enumeration.

+
Heater Efficiency (number) or Autocalculate (object) (Heater Efficiency)
Default: {"type":"Autocalculate"}

A number for the efficiency of the heater within the system. For Gas systems, this is the efficiency of the burner. For HeatPump systems, this is the rated COP of the system. For electric systems, this should usually be set to 1. If set to Autocalculate, this value will automatically be set based on the equipment_type. Gas_WaterHeater - 0.8, Electric_WaterHeater - 1.0, HeatPump_WaterHeater - 3.5, Gas_TanklessHeater - 0.8, Electric_TanklessHeater - 1.0.

+
Ambient Condition (number) or Ambient Condition (string) (Ambient Condition)
Default: 22

A number for the ambient temperature in which the hot water tank is located [C]. This can also be the identifier of a Room in which the tank is located.

+
ambient_loss_coefficient
number <double> (Ambient Loss Coefficient)
Default: 6

A number for the loss of heat from the water heater tank to the surrounding ambient conditions [W/K].

+
{
  • "type": "SHWSystem",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "equipment_type": "Gas_WaterHeater",
  • "heater_efficiency": {
    },
  • "ambient_condition": 22,
  • "ambient_loss_coefficient": 6
}

SlatOrientation

string (SlatOrientation)
Enum: "Horizontal" "Vertical"

An enumeration.

+
"Horizontal"

StateGeometryAbridged

type
string (Type) ^StateGeometryAbridged$
Default: "StateGeometryAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
geometry
required
object (Geometry) Recursive

A single planar face in 3D space.

+
modifier
string (Modifier)

A string for a Honeybee Radiance Modifier identifier (default: None).

+
modifier_direct
string (Modifier Direct)

A string for Honeybee Radiance Modifier identifiers to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).

+
{
  • "type": "StateGeometryAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "geometry": {
    },
  • "modifier": "string",
  • "modifier_direct": "string"
}

Surface

type
string (Type) ^Surface$
Default: "Surface"

A base class to use when there is no baseclass available to fall on.

+
boundary_condition_objects
required
Array of strings (Boundary Condition Objects) [ 2 .. 3 ] items

A list of up to 3 object identifiers that are adjacent to this one. The first object is always the one that is immediately adjacent and is of the same object type (Face, Aperture, Door). When this boundary condition is applied to a Face, the second object in the tuple will be the parent Room of the adjacent object. When the boundary condition is applied to a sub-face (Door or Aperture), the second object will be the parent Face of the adjacent sub-face and the third object will be the parent Room of the adjacent sub-face.

+
{
  • "type": "Surface",
  • "boundary_condition_objects": [
    ]
}

Trans

type
string (Type) ^Trans$
Default: "Trans"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Modifier)
Default: {"type":"Void"}

Material modifier.

+
Array of Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Dependencies)

List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.

+
r_reflectance
number <double> (R Reflectance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the red channel reflectance.

+
g_reflectance
number <double> (G Reflectance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the green channel reflectance.

+
b_reflectance
number <double> (B Reflectance) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the blue channel reflectance.

+
specularity
number <double> (Specularity) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the fraction of specularity. Specularity fractions greater than 0.1 are not realistic for non-metallic materials.

+
roughness
number <double> (Roughness) [ 0 .. 1 ]
Default: 0

A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.

+
transmitted_diff
number <double> (Transmitted Diff) [ 0 .. 1 ]
Default: 0

The fraction of transmitted light that is transmitted diffusely in a scattering fashion.

+
transmitted_spec
number <double> (Transmitted Spec) [ 0 .. 1 ]
Default: 0

The fraction of transmitted light that is not diffusely scattered.

+
{
  • "type": "Trans",
  • "identifier": "string",
  • "display_name": "string",
  • "modifier": {
    },
  • "dependencies": [
    ],
  • "r_reflectance": 0,
  • "g_reflectance": 0,
  • "b_reflectance": 0,
  • "specularity": 0,
  • "roughness": 0,
  • "transmitted_diff": 0,
  • "transmitted_spec": 0
}

Units

string (Units)
Enum: "Meters" "Millimeters" "Feet" "Inches" "Centimeters"

An enumeration.

+
"Meters"

VAV

type
string (Type) ^VAV$
Default: "VAV"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
economizer_type
string (AllAirEconomizerType)
Default: "NoEconomizer"
Enum: "NoEconomizer" "DifferentialDryBulb" "DifferentialEnthalpy" "DifferentialDryBulbAndEnthalpy" "FixedDryBulb" "FixedEnthalpy" "ElectronicEnthalpy"

An enumeration.

+
sensible_heat_recovery
number <double> (Sensible Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.

+
latent_heat_recovery
number <double> (Latent Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of latent heat recovery within the system.

+
demand_controlled_ventilation
boolean (Demand Controlled Ventilation)
Default: false

Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.

+
equipment_type
string (VAVEquipmentType)
Default: "VAV_Chiller_Boiler"
Enum: "VAV_Chiller_Boiler" "VAV_Chiller_ASHP" "VAV_Chiller_DHW" "VAV_Chiller_PFP" "VAV_Chiller_GasCoil" "VAV_ACChiller_Boiler" "VAV_ACChiller_ASHP" "VAV_ACChiller_DHW" "VAV_ACChiller_PFP" "VAV_ACChiller_GasCoil" "VAV_DCW_Boiler" "VAV_DCW_ASHP" "VAV_DCW_DHW" "VAV_DCW_PFP" "VAV_DCW_GasCoil"

An enumeration.

+
{
  • "type": "VAV",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "economizer_type": "NoEconomizer",
  • "sensible_heat_recovery": 0,
  • "latent_heat_recovery": 0,
  • "demand_controlled_ventilation": false,
  • "equipment_type": "VAV_Chiller_Boiler"
}

VAVEquipmentType

string (VAVEquipmentType)
Enum: "VAV_Chiller_Boiler" "VAV_Chiller_ASHP" "VAV_Chiller_DHW" "VAV_Chiller_PFP" "VAV_Chiller_GasCoil" "VAV_ACChiller_Boiler" "VAV_ACChiller_ASHP" "VAV_ACChiller_DHW" "VAV_ACChiller_PFP" "VAV_ACChiller_GasCoil" "VAV_DCW_Boiler" "VAV_DCW_ASHP" "VAV_DCW_DHW" "VAV_DCW_PFP" "VAV_DCW_GasCoil"

An enumeration.

+
"VAV_Chiller_Boiler"

Ventilation

type
string (Type) ^Ventilation$
Default: "Ventilation"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
flow_per_person
number <double> (Flow Per Person) >= 0
Default: 0

Intensity of ventilation in[] m3/s per person]. Note that setting this value does not mean that ventilation is varied based on real-time occupancy but rather that the design level of ventilation is determined using this value and the People object of the Room.

+
flow_per_area
number <double> (Flow Per Area) >= 0
Default: 0

Intensity of ventilation in [m3/s per m2 of floor area].

+
air_changes_per_hour
number <double> (Air Changes Per Hour) >= 0
Default: 0

Intensity of ventilation in air changes per hour (ACH) for the entire Room.

+
flow_per_zone
number <double> (Flow Per Zone) >= 0
Default: 0

Intensity of ventilation in m3/s for the entire Room.

+
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Schedule)

Schedule for the ventilation over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the total design flow rate (determined from the sum of the other 4 fields) to yield a complete ventilation profile.

+
{
  • "type": "Ventilation",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "flow_per_person": 0,
  • "flow_per_area": 0,
  • "air_changes_per_hour": 0,
  • "flow_per_zone": 0,
  • "schedule": {
    }
}

VentilationAbridged

type
string (Type) ^VentilationAbridged$
Default: "VentilationAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
flow_per_person
number <double> (Flow Per Person) >= 0
Default: 0

Intensity of ventilation in[] m3/s per person]. Note that setting this value does not mean that ventilation is varied based on real-time occupancy but rather that the design level of ventilation is determined using this value and the People object of the Room.

+
flow_per_area
number <double> (Flow Per Area) >= 0
Default: 0

Intensity of ventilation in [m3/s per m2 of floor area].

+
air_changes_per_hour
number <double> (Air Changes Per Hour) >= 0
Default: 0

Intensity of ventilation in air changes per hour (ACH) for the entire Room.

+
flow_per_zone
number <double> (Flow Per Zone) >= 0
Default: 0

Intensity of ventilation in m3/s for the entire Room.

+
schedule
string (Schedule) [ 1 .. 100 ] characters

Identifier of the schedule for the ventilation over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the total design flow rate (determined from the sum of the other 4 fields) to yield a complete ventilation profile.

+
{
  • "type": "VentilationAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "flow_per_person": 0,
  • "flow_per_area": 0,
  • "air_changes_per_hour": 0,
  • "flow_per_zone": 0,
  • "schedule": "string"
}

VentilationControlAbridged

type
string (Type) ^VentilationControlAbridged$
Default: "VentilationControlAbridged"

A base class to use when there is no baseclass available to fall on.

+
min_indoor_temperature
number <double> (Min Indoor Temperature) [ -100 .. 100 ]
Default: -100

A number for the minimum indoor temperature at which to ventilate in Celsius. Typically, this variable is used to initiate ventilation.

+
max_indoor_temperature
number <double> (Max Indoor Temperature) [ -100 .. 100 ]
Default: 100

A number for the maximum indoor temperature at which to ventilate in Celsius. This can be used to set a maximum temperature at which point ventilation is stopped and a cooling system is turned on.

+
min_outdoor_temperature
number <double> (Min Outdoor Temperature) [ -100 .. 100 ]
Default: -100

A number for the minimum outdoor temperature at which to ventilate in Celsius. This can be used to ensure ventilative cooling does not happen during the winter even if the Room is above the min_indoor_temperature.

+
max_outdoor_temperature
number <double> (Max Outdoor Temperature) [ -100 .. 100 ]
Default: 100

A number for the maximum indoor temperature at which to ventilate in Celsius. This can be used to set a limit for when it is considered too hot outside for ventilative cooling.

+
delta_temperature
number <double> (Delta Temperature) [ -100 .. 100 ]
Default: -100

A number for the temperature differential in Celsius between indoor and outdoor below which ventilation is shut off. This should usually be a positive number so that ventilation only occurs when the outdoors is cooler than the indoors. Negative numbers indicate how much hotter the outdoors can be than the indoors before ventilation is stopped.

+
schedule
string (Schedule) [ 1 .. 100 ] characters

Identifier of the schedule for the ventilation over the course of the year. Note that this is applied on top of any setpoints. The type of this schedule should be On/Off and values should be either 0 (no possibility of ventilation) or 1 (ventilation possible).

+
{
  • "type": "VentilationControlAbridged",
  • "min_indoor_temperature": -100,
  • "max_indoor_temperature": 100,
  • "min_outdoor_temperature": -100,
  • "max_outdoor_temperature": 100,
  • "delta_temperature": -100,
  • "schedule": "string"
}

VentilationControlType

string (VentilationControlType)
Enum: "SingleZone" "MultiZoneWithDistribution" "MultiZoneWithoutDistribution"

An enumeration.

+
"SingleZone"

VentilationFan

type
string (Type) ^VentilationFan$
Default: "VentilationFan"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
flow_rate
required
number <double> (Flow Rate) > 0

A number for the flow rate of the fan in m3/s.

+
pressure_rise
required
number <double> (Pressure Rise) > 0

A number for the the pressure rise across the fan in Pascals (N/m2). This is often a function of the fan speed and the conditions in which the fan is operating since having the fan blow air through filters or narrow ducts will increase the pressure rise that is needed to deliver the input flow rate. The pressure rise plays an important role in determining the amount of energy consumed by the fan. Smaller fans like a 0.05 m3/s desk fan tend to have lower pressure rises around 60 Pa. Larger fans, such as a 6 m3/s fan used for ventilating a large room tend to have higher pressure rises around 400 Pa. The highest pressure rises are typically for large fans blowing air through ducts and filters, which can have pressure rises as high as 1000 Pa.

+
efficiency
required
number <double> (Efficiency) [ 0 .. 1 ]

A number between 0 and 1 for the overall efficiency of the fan. Specifically, this is the ratio of the power delivered to the fluid to the electrical input power. It is the product of the fan motor efficiency and the fan impeller efficiency. Fans that have a higher blade diameter and operate at lower speeds with smaller pressure rises for their size tend to have higher efficiencies. Because motor efficiencies are typically between 0.8 and 0.9, the best overall fan efficiencies tend to be around 0.7 with most typical fan efficiencies between 0.5 and 0.7. The lowest efficiencies often happen for small fans in situations with high pressure rises for their size, which can result in efficiencies as low as 0.15.

+
ventilation_type
string (VentilationType)
Default: "Balanced"
Enum: "Exhaust" "Intake" "Balanced"

An enumeration.

+
control
object (Control) Recursive

Base class for all objects that are not extensible with additional keys.

+

This effectively includes all objects except for the Properties classes +that are assigned to geometry objects.

+
{
  • "type": "VentilationFan",
  • "identifier": "string",
  • "display_name": "string",
  • "flow_rate": 0,
  • "pressure_rise": 0,
  • "efficiency": 1,
  • "ventilation_type": "Balanced",
  • "control": {
    }
}

VentilationOpening

type
string (Type) ^VentilationOpening$
Default: "VentilationOpening"

A base class to use when there is no baseclass available to fall on.

+
fraction_area_operable
number <double> (Fraction Area Operable) [ 0 .. 1 ]
Default: 0.5

A number for the fraction of the window area that is operable.

+
fraction_height_operable
number <double> (Fraction Height Operable) [ 0 .. 1 ]
Default: 1

A number for the fraction of the distance from the bottom of the window to the top that is operable

+
discharge_coefficient
number <double> (Discharge Coefficient) [ 0 .. 1 ]
Default: 0.45

A number that will be multiplied by the area of the window in the stack (buoyancy-driven) part of the equation to account for additional friction from window geometry, insect screens, etc. Typical values include 0.45, for unobstructed windows WITH insect screens and 0.65 for unobstructed windows WITHOUT insect screens. This value should be lowered if windows are of an awning or casement type and are not allowed to fully open.

+
wind_cross_vent
boolean (Wind Cross Vent)
Default: false

Boolean to indicate if there is an opening of roughly equal area on the opposite side of the Room such that wind-driven cross ventilation will be induced. If False, the assumption is that the operable area is primarily on one side of the Room and there is no wind-driven ventilation.

+
flow_coefficient_closed
number <double> (Flow Coefficient Closed) >= 0
Default: 0

An optional number in kg/s-m, at 1 Pa per meter of crack length, used to calculate the mass flow rate when the opening is closed; required to run an AirflowNetwork simulation. The DesignBuilder Cracks template defines the flow coefficient for a tight, low-leakage closed external window to be 0.00001, and the flow coefficient for a very poor, high-leakage closed external window to be 0.003.

+
flow_exponent_closed
number <double> (Flow Exponent Closed) [ 0.5 .. 1 ]
Default: 0.65

An optional dimensionless number between 0.5 and 1 used to calculate the mass flow rate when the opening is closed; required to run an AirflowNetwork simulation. This value represents the leak geometry impact on airflow, with 0.5 generally corresponding to turbulent orifice flow and 1 generally corresponding to laminar flow. The default of 0.65 is representative of many cases of wall and window leakage, used when the exponent cannot be measured.

+
two_way_threshold
number <double> (Two Way Threshold) > 0
Default: 0.0001

A number in kg/m3 indicating the minimum density difference above which two-way flow may occur due to stack effect, required to run an AirflowNetwork simulation. This value is required because the air density difference between two zones (which drives two-way air flow) will tend towards division by zero errors as the air density difference approaches zero. The default of 0.0001 is a typical default value used for AirflowNetwork openings.

+
{
  • "type": "VentilationOpening",
  • "fraction_area_operable": 0.5,
  • "fraction_height_operable": 1,
  • "discharge_coefficient": 0.45,
  • "wind_cross_vent": false,
  • "flow_coefficient_closed": 0,
  • "flow_exponent_closed": 0.65,
  • "two_way_threshold": 0.0001
}

VentilationSimulationControl

type
string (Type) ^VentilationSimulationControl$
Default: "VentilationSimulationControl"

A base class to use when there is no baseclass available to fall on.

+
vent_control_type
string (VentilationControlType)
Default: "SingleZone"
Enum: "SingleZone" "MultiZoneWithDistribution" "MultiZoneWithoutDistribution"

An enumeration.

+
reference_temperature
number <double> (Reference Temperature) >= -273.15
Default: 20

Reference temperature measurement in Celsius under which the surface crack data were obtained.

+
reference_pressure
number <double> (Reference Pressure) [ 31000 .. 120000 ]
Default: 101325

Reference barometric pressure measurement in Pascals under which the surface crack data were obtained.

+
reference_humidity_ratio
number <double> (Reference Humidity Ratio) >= 0
Default: 0

Reference humidity ratio measurement in kgWater/kgDryAir under which the surface crack data were obtained.

+
building_type
string (BuildingType)
Default: "LowRise"
Enum: "LowRise" "HighRise"

An enumeration.

+
long_axis_angle
number <double> (Long Axis Angle) [ 0 .. 180 ]
Default: 0

The clockwise rotation in degrees from true North of the long axis of the building. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.

+
aspect_ratio
number <double> (Aspect Ratio) ( 0 .. 1 ]
Default: 1

Aspect ratio of a rectangular footprint, defined as the ratio of length of the short axis divided by the length of the long axis. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.

+
{
  • "type": "VentilationSimulationControl",
  • "vent_control_type": "SingleZone",
  • "reference_temperature": 20,
  • "reference_pressure": 101325,
  • "reference_humidity_ratio": 0,
  • "building_type": "LowRise",
  • "long_axis_angle": 0,
  • "aspect_ratio": 1
}

VentilationType

string (VentilationType)
Enum: "Exhaust" "Intake" "Balanced"

An enumeration.

+
"Exhaust"

View

type
string (Type) ^View$
Default: "View"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) non-empty ^[.A-Za-z0-9_-]+$

Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
room_identifier
string (Room Identifier) [ 1 .. 100 ] characters [.A-Za-z0-9_-]

Optional text string for the Room identifier to which this object belongs. This will be used to narrow down the number of aperture groups that have to be run with this sensor grid. If None, the grid will be run with all aperture groups in the model.

+
light_path
Array of strings (Light Path) [ items ]

Get or set a list of lists for the light path from the object to the sky. Each sub-list contains identifiers of aperture groups through which light passes. (eg. [["SouthWindow1"], ["static_apertures", "NorthWindow2"]]).Setting this property will override any auto-calculation of the light path from the model and room_identifier upon export to the simulation.

+
position
required
Array of numbers <double> (Position) = 3 items [ items <double > ]

The view position (-vp) as an array of (x, y, z) values.This is the focal point of a perspective view or the center of a parallel projection.

+
direction
required
Array of numbers <double> (Direction) = 3 items [ items <double > ]

The view direction (-vd) as an array of (x, y, z) values.The length of this vector indicates the focal distance as needed by the pixel depth of field (-pd) in rpict.

+
up_vector
required
Array of numbers <double> (Up Vector) = 3 items [ items <double > ]

The view up (-vu) vector as an array of (x, y, z) values.

+
view_type
string (ViewType)
Default: "v"
Enum: "v" "h" "l" "c" "a" "s"

A single character for the view type (-vt).

+
h_size
number <double> (H Size)
Default: 60

A number for the horizontal field of view in degrees (for all perspective projections including fisheye). For a parallel projection, this is the view width in world coordinates.

+
v_size
number <double> (V Size)
Default: 60

A number for the vertical field of view in degrees (for all perspective projections including fisheye). For a parallel projection, this is the view width in world coordinates.

+
shift
number <double> (Shift)

The view shift (-vs). This is the amount the actual image will be shifted to the right of the specified view. This option is useful for generating skewed perspectives or rendering an image a piece at a time. A value of 1 means that the rendered image starts just to the right of the normal view. A value of -1 would be to the left. Larger or fractional values are permitted as well.

+
lift
number <double> (Lift)

The view lift (-vl). This is the amount the actual image will be lifted up from the specified view. This option is useful for generating skewed perspectives or rendering an image a piece at a time. A value of 1 means that the rendered image starts just to the right of the normal view. A value of -1 would be to the left. Larger or fractional values are permitted as well.

+
fore_clip
number <double> (Fore Clip)

View fore clip (-vo) at a distance from the view point.The plane will be perpendicular to the view direction for perspective and parallel view types. For fisheye view types, the clipping plane is actually a clipping sphere, centered on the view point with fore_clip radius. Objects in front of this imaginary surface will not be visible.

+
aft_clip
number <double> (Aft Clip)

View aft clip (-va) at a distance from the view point.Like the view fore plane, it will be perpendicular to the view direction for perspective and parallel view types. For fisheye view types, the clipping plane is actually a clipping sphere, centered on the view point with radius val.

+
group_identifier
string (Group Identifier)

An optional string to note the view group ' 'to which the sensor is a part of. Views sharing the same ' 'group_identifier will be written to the same subfolder in Radiance ' 'folder (default: None).

+
{
  • "type": "View",
  • "identifier": "string",
  • "display_name": "string",
  • "room_identifier": "string",
  • "light_path": [
    ],
  • "position": [
    ],
  • "direction": [
    ],
  • "up_vector": [
    ],
  • "view_type": "v",
  • "h_size": 60,
  • "v_size": 60,
  • "shift": 0,
  • "lift": 0,
  • "fore_clip": 0,
  • "aft_clip": 0,
  • "group_identifier": "string"
}

ViewType

string (ViewType)
Enum: "v" "h" "l" "c" "a" "s"

A single character for the view type (-vt).

+
"v"

Vintages

string (Vintages)
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
"ASHRAE_2019"

Void

type
string (Type) ^Void$
Default: "Void"

A base class to use when there is no baseclass available to fall on.

+
{
  • "type": "Void"
}

VRF

type
string (Type) ^VRF$
Default: "VRF"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
equipment_type
string (VRFEquipmentType)
Default: "VRF"
Value: "VRF"

An enumeration.

+
{
  • "type": "VRF",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "equipment_type": "VRF"
}

VRFEquipmentType

string (VRFEquipmentType)
Value: "VRF"

An enumeration.

+
"VRF"

VRFwithDOASAbridged

type
string (Type) ^VRFwithDOASAbridged$
Default: "VRFwithDOASAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
sensible_heat_recovery
number <double> (Sensible Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.

+
latent_heat_recovery
number <double> (Latent Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of latent heat recovery within the system.

+
demand_controlled_ventilation
boolean (Demand Controlled Ventilation)
Default: false

Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.

+
doas_availability_schedule
string (Doas Availability Schedule) [ 1 .. 100 ] characters

An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.

+
equipment_type
string (VRFwithDOASEquipmentType)
Default: "DOAS_VRF"
Value: "DOAS_VRF"

An enumeration.

+
{
  • "type": "VRFwithDOASAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "sensible_heat_recovery": 0,
  • "latent_heat_recovery": 0,
  • "demand_controlled_ventilation": false,
  • "doas_availability_schedule": "string",
  • "equipment_type": "DOAS_VRF"
}

VRFwithDOASEquipmentType

string (VRFwithDOASEquipmentType)
Value: "DOAS_VRF"

An enumeration.

+
"DOAS_VRF"

WallConstructionSet

type
string (Type) ^WallConstructionSet$
Default: "WallConstructionSet"

A base class to use when there is no baseclass available to fall on.

+
interior_construction
object (Interior Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
exterior_construction
object (Exterior Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
ground_construction
object (Ground Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
{
  • "type": "WallConstructionSet",
  • "interior_construction": {
    },
  • "exterior_construction": {
    },
  • "ground_construction": {
    }
}

WallConstructionSetAbridged

type
string (Type) ^WallConstructionSetAbridged$
Default: "WallConstructionSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
interior_construction
string (Interior Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for faces with a Surface or Adiabatic boundary condition.

+
exterior_construction
string (Exterior Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for faces with an Outdoors boundary condition.

+
ground_construction
string (Ground Construction) [ 1 .. 100 ] characters

Identifier for an OpaqueConstruction for faces with a Ground boundary condition.

+
{
  • "type": "WallConstructionSetAbridged",
  • "interior_construction": "string",
  • "exterior_construction": "string",
  • "ground_construction": "string"
}

WallModifierSet

type
string (Type) ^WallModifierSet$
Default: "WallModifierSet"

A base class to use when there is no baseclass available to fall on.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Exterior Modifier)

A radiance modifier object for faces with an Outdoors boundary condition.

+
Plastic (object) or Glass (object) or BSDF (object) or Glow (object) or Light (object) or Trans (object) or Metal (object) or Void (object) or Mirror (object) (Interior Modifier)

A radiance modifier object for faces with a boundary condition other than Outdoors.

+
{
  • "type": "WallModifierSet",
  • "exterior_modifier": {
    },
  • "interior_modifier": {
    }
}

WallModifierSetAbridged

type
string (Type) ^WallModifierSetAbridged$
Default: "WallModifierSetAbridged"

A base class to use when there is no baseclass available to fall on.

+
exterior_modifier
string (Exterior Modifier)

Identifier for a radiance modifier object for faces with an Outdoors boundary condition.

+
interior_modifier
string (Interior Modifier)

Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.

+
{
  • "type": "WallModifierSetAbridged",
  • "exterior_modifier": "string",
  • "interior_modifier": "string"
}

WindowAC

type
string (Type) ^WindowAC$
Default: "WindowAC"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
equipment_type
string (WindowACEquipmentType)
Default: "WindowAC_ElectricBaseboard"
Enum: "WindowAC_ElectricBaseboard" "WindowAC_BoilerBaseboard" "WindowAC_ASHPBaseboard" "WindowAC_DHWBaseboard" "WindowAC_Furnace" "WindowAC_GasHeaters" "WindowAC"

An enumeration.

+
{
  • "type": "WindowAC",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "equipment_type": "WindowAC_ElectricBaseboard"
}

WindowACEquipmentType

string (WindowACEquipmentType)
Enum: "WindowAC_ElectricBaseboard" "WindowAC_BoilerBaseboard" "WindowAC_ASHPBaseboard" "WindowAC_DHWBaseboard" "WindowAC_Furnace" "WindowAC_GasHeaters" "WindowAC"

An enumeration.

+
"WindowAC_ElectricBaseboard"

WindowConstruction

type
string (Type) ^WindowConstruction$
Default: "WindowConstruction"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
required
Array of EnergyWindowMaterialSimpleGlazSys (object) or EnergyWindowMaterialGlazing (object) or EnergyWindowMaterialGas (object) or EnergyWindowMaterialGasCustom (object) or EnergyWindowMaterialGasMixture (object) (Materials) [ 1 .. 8 ] items

List of glazing and gas material definitions. The order of the materials is from exterior to interior. If a SimpleGlazSys material is used, it must be the only material in the construction. For multi-layered constructions, adjacent glass layers must be separated by one and only one gas layer.

+
frame
object (Frame) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
{
  • "type": "WindowConstruction",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "materials": [
    ],
  • "frame": {
    }
}

WindowConstructionAbridged

type
string (Type) ^WindowConstructionAbridged$
Default: "WindowConstructionAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
materials
required
Array of strings (Materials) [ 1 .. 8 ] items [ items [ 1 .. 100 ] characters ]

List of strings for glazing or gas material identifiers. The order of the materials is from exterior to interior. If a SimpleGlazSys material is used, it must be the only material in the construction. For multi-layered constructions, adjacent glass layers must be separated by one and only one gas layer.

+
frame
string (Frame) [ 1 .. 100 ] characters

An optional identifier for a frame material that surrounds the window construction.

+
{
  • "type": "WindowConstructionAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "materials": [
    ],
  • "frame": "string"
}

WindowConstructionDynamic

type
string (Type) ^WindowConstructionDynamic$
Default: "WindowConstructionDynamic"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
required
Array of objects (Constructions)

A list of WindowConstruction objects that define the various states that the dynamic window can assume.

+
required
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Schedule)

A control schedule that dictates which constructions are active at given times throughout the simulation. The values of the schedule should be integers and range from 0 to one less then the number of constructions. Zero indicates that the first construction is active, one indicates that the second on is active, etc. The schedule type limits of this schedule should be "Control Level." If building custom schedule type limits that describe a particular range of states, the type limits should be "Discrete" and the unit type should be "Mode," "Control," or some other fractional unit.

+
{
  • "type": "WindowConstructionDynamic",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "constructions": [
    ],
  • "schedule": {
    }
}

WindowConstructionDynamicAbridged

type
string (Type) ^WindowConstructionDynamicAbridged$
Default: "WindowConstructionDynamicAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
required
Array of objects (Constructions)

A list of WindowConstructionAbridged objects that define the various states that the dynamic window can assume.

+
schedule
required
string (Schedule) [ 1 .. 100 ] characters

An identifier for a control schedule that dictates which constructions are active at given times throughout the simulation. The values of the schedule should be integers and range from 0 to one less then the number of constructions. Zero indicates that the first construction is active, one indicates that the second on is active, etc. The schedule type limits of this schedule should be "Control Level." If building custom schedule type limits that describe a particular range of states, the type limits should be "Discrete" and the unit type should be "Mode," "Control," or some other fractional unit.

+
{
  • "type": "WindowConstructionDynamicAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "constructions": [
    ],
  • "schedule": "string"
}

WindowConstructionShade

type
string (Type) ^WindowConstructionShade$
Default: "WindowConstructionShade"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
window_construction
required
object (Window Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
required
EnergyWindowMaterialShade (object) or EnergyWindowMaterialBlind (object) or EnergyWindowMaterialGlazing (object) (Shade Material)

Identifier of a An EnergyWindowMaterialShade or an EnergyWindowMaterialBlind that serves as the shading layer for this construction. This can also be an EnergyWindowMaterialGlazing, which will indicate that the WindowConstruction has a dynamically-controlled glass pane like an electrochromic window assembly.

+
shade_location
string (ShadeLocation)
Default: "Interior"
Enum: "Interior" "Between" "Exterior"

Choices for where a shade material is located in a window assembly.

+
control_type
string (ControlType)
Default: "AlwaysOn"
Enum: "AlwaysOn" "OnIfHighSolarOnWindow" "OnIfHighHorizontalSolar" "OnIfHighOutdoorAirTemperature" "OnIfHighZoneAirTemperature" "OnIfHighZoneCooling" "OnNightIfLowOutdoorTempAndOffDay" "OnNightIfLowInsideTempAndOffDay" "OnNightIfHeatingAndOffDay"

Choices for how the shading device is controlled.

+
setpoint
number <double> (Setpoint)

A number that corresponds to the specified control_type. This can be a value in (W/m2), (C) or (W) depending upon the control type.Note that this value cannot be None for any control type except "AlwaysOn."

+
ScheduleRuleset (object) or ScheduleFixedInterval (object) (Schedule)

An optional ScheduleRuleset or ScheduleFixedInterval to be applied on top of the control_type. If None, the control_type will govern all behavior of the construction.

+
{
  • "type": "WindowConstructionShade",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "window_construction": {
    },
  • "shade_material": {
    },
  • "shade_location": "Interior",
  • "control_type": "AlwaysOn",
  • "setpoint": 0,
  • "schedule": {
    }
}

WindowConstructionShadeAbridged

type
string (Type) ^WindowConstructionShadeAbridged$
Default: "WindowConstructionShadeAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
window_construction
required
object (Window Construction) Recursive

Base class for all objects requiring a valid EnergyPlus identifier.

+
shade_material
required
string (Shade Material) [ 1 .. 100 ] characters

Identifier of a An EnergyWindowMaterialShade or an EnergyWindowMaterialBlind that serves as the shading layer for this construction. This can also be an EnergyWindowMaterialGlazing, which will indicate that the WindowConstruction has a dynamically-controlled glass pane like an electrochromic window assembly.

+
shade_location
string (ShadeLocation)
Default: "Interior"
Enum: "Interior" "Between" "Exterior"

Choices for where a shade material is located in a window assembly.

+
control_type
string (ControlType)
Default: "AlwaysOn"
Enum: "AlwaysOn" "OnIfHighSolarOnWindow" "OnIfHighHorizontalSolar" "OnIfHighOutdoorAirTemperature" "OnIfHighZoneAirTemperature" "OnIfHighZoneCooling" "OnNightIfLowOutdoorTempAndOffDay" "OnNightIfLowInsideTempAndOffDay" "OnNightIfHeatingAndOffDay"

Choices for how the shading device is controlled.

+
setpoint
number <double> (Setpoint)

A number that corresponds to the specified control_type. This can be a value in (W/m2), (C) or (W) depending upon the control type.Note that this value cannot be None for any control type except "AlwaysOn."

+
schedule
string (Schedule) [ 1 .. 100 ] characters

An optional schedule identifier to be applied on top of the control_type. If None, the control_type will govern all behavior of the construction.

+
{
  • "type": "WindowConstructionShadeAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "window_construction": {
    },
  • "shade_material": "string",
  • "shade_location": "Interior",
  • "control_type": "AlwaysOn",
  • "setpoint": 0,
  • "schedule": "string"
}

WSHP

type
string (Type) ^WSHP$
Default: "WSHP"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
equipment_type
string (WSHPEquipmentType)
Default: "WSHP_FluidCooler_Boiler"
Enum: "WSHP_FluidCooler_Boiler" "WSHP_CoolingTower_Boiler" "WSHP_GSHP" "WSHP_DCW_DHW"

An enumeration.

+
{
  • "type": "WSHP",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "equipment_type": "WSHP_FluidCooler_Boiler"
}

WSHPEquipmentType

string (WSHPEquipmentType)
Enum: "WSHP_FluidCooler_Boiler" "WSHP_CoolingTower_Boiler" "WSHP_GSHP" "WSHP_DCW_DHW"

An enumeration.

+
"WSHP_FluidCooler_Boiler"

WSHPwithDOASAbridged

type
string (Type) ^WSHPwithDOASAbridged$
Default: "WSHPwithDOASAbridged"

A base class to use when there is no baseclass available to fall on.

+
identifier
required
string (Identifier) [ 1 .. 100 ] characters ^[^,;!\n\t]+$

Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \n \t).

+
display_name
string (Display Name)

Display name of the object with no character restrictions.

+
user_data
object (User Data)

Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).

+
vintage
string (Vintages)
Default: "ASHRAE_2019"
Enum: "ASHRAE_2019" "ASHRAE_2016" "ASHRAE_2013" "ASHRAE_2010" "ASHRAE_2007" "ASHRAE_2004" "DOE_Ref_1980_2004" "DOE_Ref_Pre_1980"

An enumeration.

+
sensible_heat_recovery
number <double> (Sensible Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.

+
latent_heat_recovery
number <double> (Latent Heat Recovery) [ 0 .. 1 ]
Default: 0

A number between 0 and 1 for the effectiveness of latent heat recovery within the system.

+
demand_controlled_ventilation
boolean (Demand Controlled Ventilation)
Default: false

Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.

+
doas_availability_schedule
string (Doas Availability Schedule) [ 1 .. 100 ] characters

An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.

+
equipment_type
string (WSHPwithDOASEquipmentType)
Default: "DOAS_WSHP_FluidCooler_Boiler"
Enum: "DOAS_WSHP_FluidCooler_Boiler" "DOAS_WSHP_CoolingTower_Boiler" "DOAS_WSHP_GSHP" "DOAS_WSHP_DCW_DHW"

An enumeration.

+
{
  • "type": "WSHPwithDOASAbridged",
  • "identifier": "string",
  • "display_name": "string",
  • "user_data": { },
  • "vintage": "ASHRAE_2019",
  • "sensible_heat_recovery": 0,
  • "latent_heat_recovery": 0,
  • "demand_controlled_ventilation": false,
  • "doas_availability_schedule": "string",
  • "equipment_type": "DOAS_WSHP_FluidCooler_Boiler"
}

WSHPwithDOASEquipmentType

string (WSHPwithDOASEquipmentType)
Enum: "DOAS_WSHP_FluidCooler_Boiler" "DOAS_WSHP_CoolingTower_Boiler" "DOAS_WSHP_GSHP" "DOAS_WSHP_DCW_DHW"

An enumeration.

+
"DOAS_WSHP_FluidCooler_Boiler"
+ + + + \ No newline at end of file diff --git a/model.json b/model.json new file mode 100644 index 0000000..ad1e2f4 --- /dev/null +++ b/model.json @@ -0,0 +1,14901 @@ +{ + "openapi": "3.0.2", + "servers": [], + "info": { + "description": "Honeybee model schema.", + "version": "1.57.3", + "title": "Honeybee Model Schema", + "contact": { + "name": "Ladybug Tools", + "email": "info@ladybug.tools", + "url": "https://github.com/ladybug-tools/honeybee-schema" + }, + "x-logo": { + "url": "https://www.ladybug.tools/assets/img/honeybee-large.png", + "altText": "Honeybee logo" + }, + "license": { + "name": "BSD", + "url": "https://github.com/ladybug-tools-in2/honeybee-schema/blob/master/LICENSE" + } + }, + "externalDocs": { + "description": "OpenAPI Specification with Inheritance", + "url": "./model_inheritance.json" + }, + "tags": [ + { + "name": "afncrack_model", + "x-displayName": "AFNCrack", + "description": "\n" + }, + { + "name": "adiabatic_model", + "x-displayName": "Adiabatic", + "description": "\n" + }, + { + "name": "airboundaryconstruction_model", + "x-displayName": "AirBoundaryConstruction", + "description": "\n" + }, + { + "name": "airboundaryconstructionabridged_model", + "x-displayName": "AirBoundaryConstructionAbridged", + "description": "\n" + }, + { + "name": "allaireconomizertype_model", + "x-displayName": "AllAirEconomizerType", + "description": "\n" + }, + { + "name": "aperture_model", + "x-displayName": "Aperture", + "description": "\n" + }, + { + "name": "apertureconstructionset_model", + "x-displayName": "ApertureConstructionSet", + "description": "\n" + }, + { + "name": "apertureconstructionsetabridged_model", + "x-displayName": "ApertureConstructionSetAbridged", + "description": "\n" + }, + { + "name": "apertureenergypropertiesabridged_model", + "x-displayName": "ApertureEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "aperturemodifierset_model", + "x-displayName": "ApertureModifierSet", + "description": "\n" + }, + { + "name": "aperturemodifiersetabridged_model", + "x-displayName": "ApertureModifierSetAbridged", + "description": "\n" + }, + { + "name": "aperturepropertiesabridged_model", + "x-displayName": "AperturePropertiesAbridged", + "description": "\n" + }, + { + "name": "apertureradiancepropertiesabridged_model", + "x-displayName": "ApertureRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "autocalculate_model", + "x-displayName": "Autocalculate", + "description": "\n" + }, + { + "name": "autosize_model", + "x-displayName": "Autosize", + "description": "\n" + }, + { + "name": "bsdf_model", + "x-displayName": "BSDF", + "description": "\n" + }, + { + "name": "baseboard_model", + "x-displayName": "Baseboard", + "description": "\n" + }, + { + "name": "baseboardequipmenttype_model", + "x-displayName": "BaseboardEquipmentType", + "description": "\n" + }, + { + "name": "buildingtype_model", + "x-displayName": "BuildingType", + "description": "\n" + }, + { + "name": "color_model", + "x-displayName": "Color", + "description": "\n" + }, + { + "name": "constructionset_model", + "x-displayName": "ConstructionSet", + "description": "\n" + }, + { + "name": "constructionsetabridged_model", + "x-displayName": "ConstructionSetAbridged", + "description": "\n" + }, + { + "name": "controltype_model", + "x-displayName": "ControlType", + "description": "\n" + }, + { + "name": "daylightingcontrol_model", + "x-displayName": "DaylightingControl", + "description": "\n" + }, + { + "name": "detailedhvac_model", + "x-displayName": "DetailedHVAC", + "description": "\n" + }, + { + "name": "door_model", + "x-displayName": "Door", + "description": "\n" + }, + { + "name": "doorconstructionset_model", + "x-displayName": "DoorConstructionSet", + "description": "\n" + }, + { + "name": "doorconstructionsetabridged_model", + "x-displayName": "DoorConstructionSetAbridged", + "description": "\n" + }, + { + "name": "doorenergypropertiesabridged_model", + "x-displayName": "DoorEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "doormodifierset_model", + "x-displayName": "DoorModifierSet", + "description": "\n" + }, + { + "name": "doormodifiersetabridged_model", + "x-displayName": "DoorModifierSetAbridged", + "description": "\n" + }, + { + "name": "doorpropertiesabridged_model", + "x-displayName": "DoorPropertiesAbridged", + "description": "\n" + }, + { + "name": "doorradiancepropertiesabridged_model", + "x-displayName": "DoorRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "economizertype_model", + "x-displayName": "EconomizerType", + "description": "\n" + }, + { + "name": "electricequipment_model", + "x-displayName": "ElectricEquipment", + "description": "\n" + }, + { + "name": "electricequipmentabridged_model", + "x-displayName": "ElectricEquipmentAbridged", + "description": "\n" + }, + { + "name": "electricloadcenter_model", + "x-displayName": "ElectricLoadCenter", + "description": "\n" + }, + { + "name": "energymaterial_model", + "x-displayName": "EnergyMaterial", + "description": "\n" + }, + { + "name": "energymaterialnomass_model", + "x-displayName": "EnergyMaterialNoMass", + "description": "\n" + }, + { + "name": "energymaterialvegetation_model", + "x-displayName": "EnergyMaterialVegetation", + "description": "\n" + }, + { + "name": "energywindowframe_model", + "x-displayName": "EnergyWindowFrame", + "description": "\n" + }, + { + "name": "energywindowmaterialblind_model", + "x-displayName": "EnergyWindowMaterialBlind", + "description": "\n" + }, + { + "name": "energywindowmaterialgas_model", + "x-displayName": "EnergyWindowMaterialGas", + "description": "\n" + }, + { + "name": "energywindowmaterialgascustom_model", + "x-displayName": "EnergyWindowMaterialGasCustom", + "description": "\n" + }, + { + "name": "energywindowmaterialgasmixture_model", + "x-displayName": "EnergyWindowMaterialGasMixture", + "description": "\n" + }, + { + "name": "energywindowmaterialglazing_model", + "x-displayName": "EnergyWindowMaterialGlazing", + "description": "\n" + }, + { + "name": "energywindowmaterialshade_model", + "x-displayName": "EnergyWindowMaterialShade", + "description": "\n" + }, + { + "name": "energywindowmaterialsimpleglazsys_model", + "x-displayName": "EnergyWindowMaterialSimpleGlazSys", + "description": "\n" + }, + { + "name": "evaporativecooler_model", + "x-displayName": "EvaporativeCooler", + "description": "\n" + }, + { + "name": "evaporativecoolerequipmenttype_model", + "x-displayName": "EvaporativeCoolerEquipmentType", + "description": "\n" + }, + { + "name": "fcu_model", + "x-displayName": "FCU", + "description": "\n" + }, + { + "name": "fcuequipmenttype_model", + "x-displayName": "FCUEquipmentType", + "description": "\n" + }, + { + "name": "fcuwithdoasabridged_model", + "x-displayName": "FCUwithDOASAbridged", + "description": "\n" + }, + { + "name": "fcuwithdoasequipmenttype_model", + "x-displayName": "FCUwithDOASEquipmentType", + "description": "\n" + }, + { + "name": "face_model", + "x-displayName": "Face", + "description": "\n" + }, + { + "name": "face3d_model", + "x-displayName": "Face3D", + "description": "\n" + }, + { + "name": "faceenergypropertiesabridged_model", + "x-displayName": "FaceEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "facepropertiesabridged_model", + "x-displayName": "FacePropertiesAbridged", + "description": "\n" + }, + { + "name": "faceradiancepropertiesabridged_model", + "x-displayName": "FaceRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "facetype_model", + "x-displayName": "FaceType", + "description": "\n" + }, + { + "name": "floorconstructionset_model", + "x-displayName": "FloorConstructionSet", + "description": "\n" + }, + { + "name": "floorconstructionsetabridged_model", + "x-displayName": "FloorConstructionSetAbridged", + "description": "\n" + }, + { + "name": "floormodifierset_model", + "x-displayName": "FloorModifierSet", + "description": "\n" + }, + { + "name": "floormodifiersetabridged_model", + "x-displayName": "FloorModifierSetAbridged", + "description": "\n" + }, + { + "name": "forcedairfurnace_model", + "x-displayName": "ForcedAirFurnace", + "description": "\n" + }, + { + "name": "fueltypes_model", + "x-displayName": "FuelTypes", + "description": "\n" + }, + { + "name": "furnaceequipmenttype_model", + "x-displayName": "FurnaceEquipmentType", + "description": "\n" + }, + { + "name": "gasequipment_model", + "x-displayName": "GasEquipment", + "description": "\n" + }, + { + "name": "gasequipmentabridged_model", + "x-displayName": "GasEquipmentAbridged", + "description": "\n" + }, + { + "name": "gastype_model", + "x-displayName": "GasType", + "description": "\n" + }, + { + "name": "gasunitheater_model", + "x-displayName": "GasUnitHeater", + "description": "\n" + }, + { + "name": "gasunitheaterequipmenttype_model", + "x-displayName": "GasUnitHeaterEquipmentType", + "description": "\n" + }, + { + "name": "glass_model", + "x-displayName": "Glass", + "description": "\n" + }, + { + "name": "globalconstructionset_model", + "x-displayName": "GlobalConstructionSet", + "description": "\n" + }, + { + "name": "globalmodifierset_model", + "x-displayName": "GlobalModifierSet", + "description": "\n" + }, + { + "name": "glow_model", + "x-displayName": "Glow", + "description": "\n" + }, + { + "name": "ground_model", + "x-displayName": "Ground", + "description": "\n" + }, + { + "name": "idealairsystemabridged_model", + "x-displayName": "IdealAirSystemAbridged", + "description": "\n" + }, + { + "name": "infiltration_model", + "x-displayName": "Infiltration", + "description": "\n" + }, + { + "name": "infiltrationabridged_model", + "x-displayName": "InfiltrationAbridged", + "description": "\n" + }, + { + "name": "internalmassabridged_model", + "x-displayName": "InternalMassAbridged", + "description": "\n" + }, + { + "name": "light_model", + "x-displayName": "Light", + "description": "\n" + }, + { + "name": "lighting_model", + "x-displayName": "Lighting", + "description": "\n" + }, + { + "name": "lightingabridged_model", + "x-displayName": "LightingAbridged", + "description": "\n" + }, + { + "name": "mesh3d_model", + "x-displayName": "Mesh3D", + "description": "\n" + }, + { + "name": "metal_model", + "x-displayName": "Metal", + "description": "\n" + }, + { + "name": "mirror_model", + "x-displayName": "Mirror", + "description": "\n" + }, + { + "name": "model_model", + "x-displayName": "Model", + "description": "\n" + }, + { + "name": "modelenergyproperties_model", + "x-displayName": "ModelEnergyProperties", + "description": "\n" + }, + { + "name": "modelproperties_model", + "x-displayName": "ModelProperties", + "description": "\n" + }, + { + "name": "modelradianceproperties_model", + "x-displayName": "ModelRadianceProperties", + "description": "\n" + }, + { + "name": "modifierset_model", + "x-displayName": "ModifierSet", + "description": "\n" + }, + { + "name": "modifiersetabridged_model", + "x-displayName": "ModifierSetAbridged", + "description": "\n" + }, + { + "name": "moduletype_model", + "x-displayName": "ModuleType", + "description": "\n" + }, + { + "name": "moisturediffusionmodel_model", + "x-displayName": "MoistureDiffusionModel", + "description": "\n" + }, + { + "name": "mountingtype_model", + "x-displayName": "MountingType", + "description": "\n" + }, + { + "name": "nolimit_model", + "x-displayName": "NoLimit", + "description": "\n" + }, + { + "name": "opaqueconstruction_model", + "x-displayName": "OpaqueConstruction", + "description": "\n" + }, + { + "name": "opaqueconstructionabridged_model", + "x-displayName": "OpaqueConstructionAbridged", + "description": "\n" + }, + { + "name": "othersidetemperature_model", + "x-displayName": "OtherSideTemperature", + "description": "\n" + }, + { + "name": "outdoors_model", + "x-displayName": "Outdoors", + "description": "\n" + }, + { + "name": "psz_model", + "x-displayName": "PSZ", + "description": "\n" + }, + { + "name": "pszequipmenttype_model", + "x-displayName": "PSZEquipmentType", + "description": "\n" + }, + { + "name": "ptac_model", + "x-displayName": "PTAC", + "description": "\n" + }, + { + "name": "ptacequipmenttype_model", + "x-displayName": "PTACEquipmentType", + "description": "\n" + }, + { + "name": "pvav_model", + "x-displayName": "PVAV", + "description": "\n" + }, + { + "name": "pvavequipmenttype_model", + "x-displayName": "PVAVEquipmentType", + "description": "\n" + }, + { + "name": "pvproperties_model", + "x-displayName": "PVProperties", + "description": "\n" + }, + { + "name": "people_model", + "x-displayName": "People", + "description": "\n" + }, + { + "name": "peopleabridged_model", + "x-displayName": "PeopleAbridged", + "description": "\n" + }, + { + "name": "plane_model", + "x-displayName": "Plane", + "description": "\n" + }, + { + "name": "plastic_model", + "x-displayName": "Plastic", + "description": "\n" + }, + { + "name": "processabridged_model", + "x-displayName": "ProcessAbridged", + "description": "\n" + }, + { + "name": "programtype_model", + "x-displayName": "ProgramType", + "description": "\n" + }, + { + "name": "programtypeabridged_model", + "x-displayName": "ProgramTypeAbridged", + "description": "\n" + }, + { + "name": "radianceshadestateabridged_model", + "x-displayName": "RadianceShadeStateAbridged", + "description": "\n" + }, + { + "name": "radiancesubfacestateabridged_model", + "x-displayName": "RadianceSubFaceStateAbridged", + "description": "\n" + }, + { + "name": "radiant_model", + "x-displayName": "Radiant", + "description": "\n" + }, + { + "name": "radiantequipmenttype_model", + "x-displayName": "RadiantEquipmentType", + "description": "\n" + }, + { + "name": "radiantfacetypes_model", + "x-displayName": "RadiantFaceTypes", + "description": "\n" + }, + { + "name": "radiantwithdoasabridged_model", + "x-displayName": "RadiantwithDOASAbridged", + "description": "\n" + }, + { + "name": "radiantwithdoasequipmenttype_model", + "x-displayName": "RadiantwithDOASEquipmentType", + "description": "\n" + }, + { + "name": "residential_model", + "x-displayName": "Residential", + "description": "\n" + }, + { + "name": "residentialequipmenttype_model", + "x-displayName": "ResidentialEquipmentType", + "description": "\n" + }, + { + "name": "roofceilingconstructionset_model", + "x-displayName": "RoofCeilingConstructionSet", + "description": "\n" + }, + { + "name": "roofceilingconstructionsetabridged_model", + "x-displayName": "RoofCeilingConstructionSetAbridged", + "description": "\n" + }, + { + "name": "roofceilingmodifierset_model", + "x-displayName": "RoofCeilingModifierSet", + "description": "\n" + }, + { + "name": "roofceilingmodifiersetabridged_model", + "x-displayName": "RoofCeilingModifierSetAbridged", + "description": "\n" + }, + { + "name": "room_model", + "x-displayName": "Room", + "description": "\n" + }, + { + "name": "roomenergypropertiesabridged_model", + "x-displayName": "RoomEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "roompropertiesabridged_model", + "x-displayName": "RoomPropertiesAbridged", + "description": "\n" + }, + { + "name": "roomradiancepropertiesabridged_model", + "x-displayName": "RoomRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "roughness_model", + "x-displayName": "Roughness", + "description": "\n" + }, + { + "name": "shwequipmenttype_model", + "x-displayName": "SHWEquipmentType", + "description": "\n" + }, + { + "name": "shwsystem_model", + "x-displayName": "SHWSystem", + "description": "\n" + }, + { + "name": "scheduleday_model", + "x-displayName": "ScheduleDay", + "description": "\n" + }, + { + "name": "schedulefixedinterval_model", + "x-displayName": "ScheduleFixedInterval", + "description": "\n" + }, + { + "name": "schedulefixedintervalabridged_model", + "x-displayName": "ScheduleFixedIntervalAbridged", + "description": "\n" + }, + { + "name": "schedulenumerictype_model", + "x-displayName": "ScheduleNumericType", + "description": "\n" + }, + { + "name": "scheduleruleabridged_model", + "x-displayName": "ScheduleRuleAbridged", + "description": "\n" + }, + { + "name": "scheduleruleset_model", + "x-displayName": "ScheduleRuleset", + "description": "\n" + }, + { + "name": "schedulerulesetabridged_model", + "x-displayName": "ScheduleRulesetAbridged", + "description": "\n" + }, + { + "name": "scheduletypelimit_model", + "x-displayName": "ScheduleTypeLimit", + "description": "\n" + }, + { + "name": "scheduleunittype_model", + "x-displayName": "ScheduleUnitType", + "description": "\n" + }, + { + "name": "sensor_model", + "x-displayName": "Sensor", + "description": "\n" + }, + { + "name": "sensorgrid_model", + "x-displayName": "SensorGrid", + "description": "\n" + }, + { + "name": "servicehotwater_model", + "x-displayName": "ServiceHotWater", + "description": "\n" + }, + { + "name": "servicehotwaterabridged_model", + "x-displayName": "ServiceHotWaterAbridged", + "description": "\n" + }, + { + "name": "setpoint_model", + "x-displayName": "Setpoint", + "description": "\n" + }, + { + "name": "setpointabridged_model", + "x-displayName": "SetpointAbridged", + "description": "\n" + }, + { + "name": "shade_model", + "x-displayName": "Shade", + "description": "\n" + }, + { + "name": "shadeconstruction_model", + "x-displayName": "ShadeConstruction", + "description": "\n" + }, + { + "name": "shadeenergypropertiesabridged_model", + "x-displayName": "ShadeEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "shadelocation_model", + "x-displayName": "ShadeLocation", + "description": "\n" + }, + { + "name": "shademesh_model", + "x-displayName": "ShadeMesh", + "description": "\n" + }, + { + "name": "shademeshenergypropertiesabridged_model", + "x-displayName": "ShadeMeshEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "shademeshpropertiesabridged_model", + "x-displayName": "ShadeMeshPropertiesAbridged", + "description": "\n" + }, + { + "name": "shademeshradiancepropertiesabridged_model", + "x-displayName": "ShadeMeshRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "shademodifierset_model", + "x-displayName": "ShadeModifierSet", + "description": "\n" + }, + { + "name": "shademodifiersetabridged_model", + "x-displayName": "ShadeModifierSetAbridged", + "description": "\n" + }, + { + "name": "shadepropertiesabridged_model", + "x-displayName": "ShadePropertiesAbridged", + "description": "\n" + }, + { + "name": "shaderadiancepropertiesabridged_model", + "x-displayName": "ShadeRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "slatorientation_model", + "x-displayName": "SlatOrientation", + "description": "\n" + }, + { + "name": "stategeometryabridged_model", + "x-displayName": "StateGeometryAbridged", + "description": "\n" + }, + { + "name": "surface_model", + "x-displayName": "Surface", + "description": "\n" + }, + { + "name": "trans_model", + "x-displayName": "Trans", + "description": "\n" + }, + { + "name": "units_model", + "x-displayName": "Units", + "description": "\n" + }, + { + "name": "vav_model", + "x-displayName": "VAV", + "description": "\n" + }, + { + "name": "vavequipmenttype_model", + "x-displayName": "VAVEquipmentType", + "description": "\n" + }, + { + "name": "vrf_model", + "x-displayName": "VRF", + "description": "\n" + }, + { + "name": "vrfequipmenttype_model", + "x-displayName": "VRFEquipmentType", + "description": "\n" + }, + { + "name": "vrfwithdoasabridged_model", + "x-displayName": "VRFwithDOASAbridged", + "description": "\n" + }, + { + "name": "vrfwithdoasequipmenttype_model", + "x-displayName": "VRFwithDOASEquipmentType", + "description": "\n" + }, + { + "name": "ventilation_model", + "x-displayName": "Ventilation", + "description": "\n" + }, + { + "name": "ventilationabridged_model", + "x-displayName": "VentilationAbridged", + "description": "\n" + }, + { + "name": "ventilationcontrolabridged_model", + "x-displayName": "VentilationControlAbridged", + "description": "\n" + }, + { + "name": "ventilationcontroltype_model", + "x-displayName": "VentilationControlType", + "description": "\n" + }, + { + "name": "ventilationfan_model", + "x-displayName": "VentilationFan", + "description": "\n" + }, + { + "name": "ventilationopening_model", + "x-displayName": "VentilationOpening", + "description": "\n" + }, + { + "name": "ventilationsimulationcontrol_model", + "x-displayName": "VentilationSimulationControl", + "description": "\n" + }, + { + "name": "ventilationtype_model", + "x-displayName": "VentilationType", + "description": "\n" + }, + { + "name": "view_model", + "x-displayName": "View", + "description": "\n" + }, + { + "name": "viewtype_model", + "x-displayName": "ViewType", + "description": "\n" + }, + { + "name": "vintages_model", + "x-displayName": "Vintages", + "description": "\n" + }, + { + "name": "void_model", + "x-displayName": "Void", + "description": "\n" + }, + { + "name": "wshp_model", + "x-displayName": "WSHP", + "description": "\n" + }, + { + "name": "wshpequipmenttype_model", + "x-displayName": "WSHPEquipmentType", + "description": "\n" + }, + { + "name": "wshpwithdoasabridged_model", + "x-displayName": "WSHPwithDOASAbridged", + "description": "\n" + }, + { + "name": "wshpwithdoasequipmenttype_model", + "x-displayName": "WSHPwithDOASEquipmentType", + "description": "\n" + }, + { + "name": "wallconstructionset_model", + "x-displayName": "WallConstructionSet", + "description": "\n" + }, + { + "name": "wallconstructionsetabridged_model", + "x-displayName": "WallConstructionSetAbridged", + "description": "\n" + }, + { + "name": "wallmodifierset_model", + "x-displayName": "WallModifierSet", + "description": "\n" + }, + { + "name": "wallmodifiersetabridged_model", + "x-displayName": "WallModifierSetAbridged", + "description": "\n" + }, + { + "name": "windowac_model", + "x-displayName": "WindowAC", + "description": "\n" + }, + { + "name": "windowacequipmenttype_model", + "x-displayName": "WindowACEquipmentType", + "description": "\n" + }, + { + "name": "windowconstruction_model", + "x-displayName": "WindowConstruction", + "description": "\n" + }, + { + "name": "windowconstructionabridged_model", + "x-displayName": "WindowConstructionAbridged", + "description": "\n" + }, + { + "name": "windowconstructiondynamic_model", + "x-displayName": "WindowConstructionDynamic", + "description": "\n" + }, + { + "name": "windowconstructiondynamicabridged_model", + "x-displayName": "WindowConstructionDynamicAbridged", + "description": "\n" + }, + { + "name": "windowconstructionshade_model", + "x-displayName": "WindowConstructionShade", + "description": "\n" + }, + { + "name": "windowconstructionshadeabridged_model", + "x-displayName": "WindowConstructionShadeAbridged", + "description": "\n" + } + ], + "x-tagGroups": [ + { + "name": "Models", + "tags": [ + "adiabatic_model", + "afncrack_model", + "airboundaryconstruction_model", + "airboundaryconstructionabridged_model", + "allaireconomizertype_model", + "aperture_model", + "apertureconstructionset_model", + "apertureconstructionsetabridged_model", + "apertureenergypropertiesabridged_model", + "aperturemodifierset_model", + "aperturemodifiersetabridged_model", + "aperturepropertiesabridged_model", + "apertureradiancepropertiesabridged_model", + "autocalculate_model", + "autosize_model", + "baseboard_model", + "baseboardequipmenttype_model", + "bsdf_model", + "buildingtype_model", + "color_model", + "constructionset_model", + "constructionsetabridged_model", + "controltype_model", + "daylightingcontrol_model", + "detailedhvac_model", + "door_model", + "doorconstructionset_model", + "doorconstructionsetabridged_model", + "doorenergypropertiesabridged_model", + "doormodifierset_model", + "doormodifiersetabridged_model", + "doorpropertiesabridged_model", + "doorradiancepropertiesabridged_model", + "economizertype_model", + "electricequipment_model", + "electricequipmentabridged_model", + "electricloadcenter_model", + "energymaterial_model", + "energymaterialnomass_model", + "energymaterialvegetation_model", + "energywindowframe_model", + "energywindowmaterialblind_model", + "energywindowmaterialgas_model", + "energywindowmaterialgascustom_model", + "energywindowmaterialgasmixture_model", + "energywindowmaterialglazing_model", + "energywindowmaterialshade_model", + "energywindowmaterialsimpleglazsys_model", + "evaporativecooler_model", + "evaporativecoolerequipmenttype_model", + "face3d_model", + "face_model", + "faceenergypropertiesabridged_model", + "facepropertiesabridged_model", + "faceradiancepropertiesabridged_model", + "facetype_model", + "fcu_model", + "fcuequipmenttype_model", + "fcuwithdoasabridged_model", + "fcuwithdoasequipmenttype_model", + "floorconstructionset_model", + "floorconstructionsetabridged_model", + "floormodifierset_model", + "floormodifiersetabridged_model", + "forcedairfurnace_model", + "fueltypes_model", + "furnaceequipmenttype_model", + "gasequipment_model", + "gasequipmentabridged_model", + "gastype_model", + "gasunitheater_model", + "gasunitheaterequipmenttype_model", + "glass_model", + "globalconstructionset_model", + "globalmodifierset_model", + "glow_model", + "ground_model", + "idealairsystemabridged_model", + "infiltration_model", + "infiltrationabridged_model", + "internalmassabridged_model", + "light_model", + "lighting_model", + "lightingabridged_model", + "mesh3d_model", + "metal_model", + "mirror_model", + "model_model", + "modelenergyproperties_model", + "modelproperties_model", + "modelradianceproperties_model", + "modifierset_model", + "modifiersetabridged_model", + "moduletype_model", + "moisturediffusionmodel_model", + "mountingtype_model", + "nolimit_model", + "opaqueconstruction_model", + "opaqueconstructionabridged_model", + "othersidetemperature_model", + "outdoors_model", + "people_model", + "peopleabridged_model", + "plane_model", + "plastic_model", + "processabridged_model", + "programtype_model", + "programtypeabridged_model", + "psz_model", + "pszequipmenttype_model", + "ptac_model", + "ptacequipmenttype_model", + "pvav_model", + "pvavequipmenttype_model", + "pvproperties_model", + "radianceshadestateabridged_model", + "radiancesubfacestateabridged_model", + "radiant_model", + "radiantequipmenttype_model", + "radiantfacetypes_model", + "radiantwithdoasabridged_model", + "radiantwithdoasequipmenttype_model", + "residential_model", + "residentialequipmenttype_model", + "roofceilingconstructionset_model", + "roofceilingconstructionsetabridged_model", + "roofceilingmodifierset_model", + "roofceilingmodifiersetabridged_model", + "room_model", + "roomenergypropertiesabridged_model", + "roompropertiesabridged_model", + "roomradiancepropertiesabridged_model", + "roughness_model", + "scheduleday_model", + "schedulefixedinterval_model", + "schedulefixedintervalabridged_model", + "schedulenumerictype_model", + "scheduleruleabridged_model", + "scheduleruleset_model", + "schedulerulesetabridged_model", + "scheduletypelimit_model", + "scheduleunittype_model", + "sensor_model", + "sensorgrid_model", + "servicehotwater_model", + "servicehotwaterabridged_model", + "setpoint_model", + "setpointabridged_model", + "shade_model", + "shadeconstruction_model", + "shadeenergypropertiesabridged_model", + "shadelocation_model", + "shademesh_model", + "shademeshenergypropertiesabridged_model", + "shademeshpropertiesabridged_model", + "shademeshradiancepropertiesabridged_model", + "shademodifierset_model", + "shademodifiersetabridged_model", + "shadepropertiesabridged_model", + "shaderadiancepropertiesabridged_model", + "shwequipmenttype_model", + "shwsystem_model", + "slatorientation_model", + "stategeometryabridged_model", + "surface_model", + "trans_model", + "units_model", + "vav_model", + "vavequipmenttype_model", + "ventilation_model", + "ventilationabridged_model", + "ventilationcontrolabridged_model", + "ventilationcontroltype_model", + "ventilationfan_model", + "ventilationopening_model", + "ventilationsimulationcontrol_model", + "ventilationtype_model", + "view_model", + "viewtype_model", + "vintages_model", + "void_model", + "vrf_model", + "vrfequipmenttype_model", + "vrfwithdoasabridged_model", + "vrfwithdoasequipmenttype_model", + "wallconstructionset_model", + "wallconstructionsetabridged_model", + "wallmodifierset_model", + "wallmodifiersetabridged_model", + "windowac_model", + "windowacequipmenttype_model", + "windowconstruction_model", + "windowconstructionabridged_model", + "windowconstructiondynamic_model", + "windowconstructiondynamicabridged_model", + "windowconstructionshade_model", + "windowconstructionshadeabridged_model", + "wshp_model", + "wshpequipmenttype_model", + "wshpwithdoasabridged_model", + "wshpwithdoasequipmenttype_model" + ] + } + ], + "paths": {}, + "components": { + "schemas": { + "Plane": { + "title": "Plane", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "n": { + "title": "N", + "description": "Plane normal as 3 (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "o": { + "title": "O", + "description": "Plane origin as 3 (x, y, z) values", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "Plane", + "pattern": "^Plane$", + "type": "string", + "readOnly": true + }, + "x": { + "title": "X", + "description": "Plane x-axis as 3 (x, y, z) values. If None, it is autocalculated.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + }, + "required": [ + "n", + "o" + ], + "additionalProperties": false + }, + "Face3D": { + "title": "Face3D", + "description": "A single planar face in 3D space.", + "type": "object", + "properties": { + "boundary": { + "title": "Boundary", + "description": "A list of points representing the outer boundary vertices of the face. The list should include at least 3 points and each point should be a list of 3 (x, y, z) values.", + "minItems": 3, + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "minItems": 3, + "maxItems": 3 + } + }, + "type": { + "title": "Type", + "default": "Face3D", + "pattern": "^Face3D$", + "type": "string", + "readOnly": true + }, + "holes": { + "title": "Holes", + "description": "Optional list of lists with one list for each hole in the face.Each hole should be a list of at least 3 points and each point a list of 3 (x, y, z) values. If None, it will be assumed that there are no holes in the face.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": 3 + } + }, + "plane": { + "title": "Plane", + "description": "Optional Plane indicating the plane in which the face exists.If None, the plane will usually be derived from the boundary points.", + "allOf": [ + { + "$ref": "#/components/schemas/Plane" + } + ] + } + }, + "required": [ + "boundary" + ], + "additionalProperties": false + }, + "FaceType": { + "title": "FaceType", + "description": "An enumeration.", + "enum": [ + "Wall", + "Floor", + "RoofCeiling", + "AirBoundary" + ], + "type": "string" + }, + "Ground": { + "title": "Ground", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Ground", + "pattern": "^Ground$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "Autocalculate": { + "title": "Autocalculate", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Autocalculate", + "pattern": "^Autocalculate$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "Outdoors": { + "title": "Outdoors", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Outdoors", + "pattern": "^Outdoors$", + "type": "string", + "readOnly": true + }, + "sun_exposure": { + "title": "Sun Exposure", + "description": "A boolean noting whether the boundary is exposed to sun.", + "default": true, + "type": "boolean" + }, + "wind_exposure": { + "title": "Wind Exposure", + "description": "A boolean noting whether the boundary is exposed to wind.", + "default": true, + "type": "boolean" + }, + "view_factor": { + "title": "View Factor", + "description": "A number for the view factor to the ground. This can also be an Autocalculate object to have the view factor automatically calculated.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + } + }, + "additionalProperties": false + }, + "Adiabatic": { + "title": "Adiabatic", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Adiabatic", + "pattern": "^Adiabatic$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "Surface": { + "title": "Surface", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "boundary_condition_objects": { + "title": "Boundary Condition Objects", + "description": "A list of up to 3 object identifiers that are adjacent to this one. The first object is always the one that is immediately adjacent and is of the same object type (Face, Aperture, Door). When this boundary condition is applied to a Face, the second object in the tuple will be the parent Room of the adjacent object. When the boundary condition is applied to a sub-face (Door or Aperture), the second object will be the parent Face of the adjacent sub-face and the third object will be the parent Room of the adjacent sub-face.", + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "title": "Type", + "default": "Surface", + "pattern": "^Surface$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "boundary_condition_objects" + ], + "additionalProperties": false + }, + "OtherSideTemperature": { + "title": "OtherSideTemperature", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "OtherSideTemperature", + "pattern": "^OtherSideTemperature$", + "type": "string", + "readOnly": true + }, + "heat_transfer_coefficient": { + "title": "Heat Transfer Coefficient", + "description": "A value in W/m2-K to indicate the combined convective/radiative film coefficient. If equal to 0, then the specified temperature above is equal to the exterior surface temperature. Otherwise, the temperature above is considered the outside air temperature and this coefficient is used to determine the difference between this outside air temperature and the exterior surface temperature.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "temperature": { + "title": "Temperature", + "description": "A temperature value in Celsius to note the temperature on the other side of the object. This input can also be an Autocalculate object to signify that the temperature is equal to the outdoor air temperature.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number" + } + ] + } + }, + "additionalProperties": false + }, + "ModuleType": { + "title": "ModuleType", + "description": "An enumeration.", + "enum": [ + "Standard", + "Premium", + "ThinFilm" + ], + "type": "string" + }, + "MountingType": { + "title": "MountingType", + "description": "An enumeration.", + "enum": [ + "FixedOpenRack", + "FixedRoofMounted", + "OneAxis", + "OneAxisBacktracking", + "TwoAxis" + ], + "type": "string" + }, + "PVProperties": { + "title": "PVProperties", + "description": "Base class for all objects requiring a valid EnergyPlus identifier.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "PVProperties", + "pattern": "^PVProperties$", + "type": "string", + "readOnly": true + }, + "rated_efficiency": { + "title": "Rated Efficiency", + "description": "A number between 0 and 1 for the rated nameplate efficiency of the photovoltaic solar cells under standard test conditions (STC). Standard test conditions are 1,000 Watts per square meter solar irradiance, 25 degrees C cell temperature, and ASTM G173-03 standard spectrum. Nameplate efficiencies reported by manufacturers are typically under STC. Standard poly- or mono-crystalline silicon modules tend to have rated efficiencies in the range of 14-17%. Premium high efficiency mono-crystalline silicon modules with anti-reflective coatings can have efficiencies in the range of 18-20%. Thin film photovoltaic modules typically have efficiencies of 11% or less. (Default: 0.15 for standard silicon solar cells).", + "default": 0.15, + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number", + "format": "double" + }, + "active_area_fraction": { + "title": "Active Area Fraction", + "description": "The fraction of the parent Shade geometry that is covered in active solar cells. This fraction includes the difference between the PV panel (aka. PV module) area and the active cells within the panel as well as any losses for how the (typically rectangular) panels can be arranged on the Shade geometry. When the parent Shade geometry represents just the solar panels, this fraction is typically around 0.9 given that the framing elements of the panel reduce the overall active area. (Default: 0.9, assuming parent Shade geometry represents only the PV panel geometry).", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "module_type": { + "description": "Text to indicate the type of solar module. This is used to determine the temperature coefficients used in the simulation of the photovoltaic modules. When the rated_efficiency is between 12-18%, the Standard type is typically most appropriate. When the rated_efficiency is greater than 18%, the Premium type is likely more appropriate. When the rated_efficiency is less than 12%, this likely refers to a case where the ThinFilm module type is most appropriate.", + "default": "Standard", + "allOf": [ + { + "$ref": "#/components/schemas/ModuleType" + } + ] + }, + "mounting_type": { + "description": "Text to indicate the type of mounting and/or tracking used for the photovoltaic array. Note that the OneAxis options have an axis of rotation that is determined by the azimuth of the parent Shade geometry. Also note that, in the case of one or two axis tracking, shadows on the (static) parent Shade geometry still reduce the electrical output, enabling the simulation to account for large context geometry casting shadows on the array. However, the effects of smaller detailed shading may be improperly accounted for and self shading of the dynamic panel geometry is only accounted for via the tracking_ground_coverage_ratio property on this object. FixedOpenRack refers to ground or roof mounting where the air flows freely. FixedRoofMounted refers to mounting flush with the roof with limited air flow. OneAxis refers to a fixed tilt and azimuth, which define an axis of rotation. OneAxisBacktracking is the same as OneAxis but with controls to reduce self-shade at low sun angles. TwoAxis refers to a dynamic tilt and azimuth that track the sun.", + "default": "FixedOpenRack", + "allOf": [ + { + "$ref": "#/components/schemas/MountingType" + } + ] + }, + "system_loss_fraction": { + "title": "System Loss Fraction", + "description": "A number between 0 and 1 for the fraction of the electricity output lost due to factors other than EPW weather conditions, panel efficiency/type, active area, mounting, and inverter conversion from DC to AC. Factors that should be accounted for in this input include soiling, snow, wiring losses, electrical connection losses, manufacturer defects/tolerances/mismatch in cell characteristics, losses from power grid availability, and losses due to age or light-induced degradation. Losses from these factors tend to be between 10-20% but can vary widely depending on the installation, maintenance and the grid to which the panels are connected..", + "default": 0.14, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ShadeEnergyPropertiesAbridged": { + "title": "ShadeEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeEnergyPropertiesAbridged", + "pattern": "^ShadeEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of a ShadeConstruction to set the reflectance and specularity of the Shade. If None, the construction is set by theparent Room construction_set, the Model global_construction_set or (in the case fo an orphaned shade) the EnergyPlus default of 0.2 diffuse reflectance.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "transmittance_schedule": { + "title": "Transmittance Schedule", + "description": "Identifier of a schedule to set the transmittance of the shade, which can vary throughout the simulation. If None, the shade will be completely opaque.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "pv_properties": { + "title": "Pv Properties", + "description": "An optional PVProperties object to specify photovoltaic behavior of the Shade. If None, the Shade will have no Photovoltaic properties. Note that the normal of the Shade is important in determining the performance of the shade as a PV geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/PVProperties" + } + ] + } + }, + "additionalProperties": false + }, + "StateGeometryAbridged": { + "title": "StateGeometryAbridged", + "description": "A single planar geometry that can be assigned to Radiance states.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "A ladybug_geometry Face3D.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "StateGeometryAbridged", + "pattern": "^StateGeometryAbridged$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier identifier (default: None).", + "type": "string" + }, + "modifier_direct": { + "title": "Modifier Direct", + "description": "A string for Honeybee Radiance Modifier identifiers to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + } + }, + "required": [ + "identifier", + "geometry" + ], + "additionalProperties": false + }, + "RadianceShadeStateAbridged": { + "title": "RadianceShadeStateAbridged", + "description": "RadianceShadeStateAbridged represents a single state for a dynamic Shade.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RadianceShadeStateAbridged", + "pattern": "^RadianceShadeStateAbridged$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "A Radiance Modifier identifier (default: None).", + "type": "string" + }, + "modifier_direct": { + "title": "Modifier Direct", + "description": "A Radiance Modifier identifier (default: None).", + "type": "string" + }, + "shades": { + "title": "Shades", + "description": "A list of StateGeometryAbridged objects (default: None).", + "type": "array", + "items": { + "$ref": "#/components/schemas/StateGeometryAbridged" + } + } + }, + "additionalProperties": false + }, + "ShadeRadiancePropertiesAbridged": { + "title": "ShadeRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Shade Abridged.", + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier (default: None).", + "type": "string" + }, + "modifier_blk": { + "title": "Modifier Blk", + "description": "A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ShadeRadiancePropertiesAbridged", + "pattern": "^ShadeRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "dynamic_group_identifier": { + "title": "Dynamic Group Identifier", + "description": "An optional string to note the dynamic group ' 'to which the Shade is a part of. Shades sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Shade is assumed to be static. (default: None).", + "type": "string" + }, + "states": { + "title": "States", + "description": "An optional list of abridged states (default: None).", + "type": "array", + "items": { + "$ref": "#/components/schemas/RadianceShadeStateAbridged" + } + } + }, + "additionalProperties": false + }, + "ShadePropertiesAbridged": { + "title": "ShadePropertiesAbridged", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadePropertiesAbridged", + "pattern": "^ShadePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/ShadeEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/ShadeRadiancePropertiesAbridged" + } + } + }, + "Shade": { + "title": "Shade", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/ShadePropertiesAbridged" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Shade", + "pattern": "^Shade$", + "type": "string", + "readOnly": true + }, + "is_detached": { + "title": "Is Detached", + "description": "Boolean to note whether this shade is detached from any of the other geometry in the model. Cases where this should be True include shade representing surrounding buildings or context. Note that this should always be False for shades assigned to parent objects.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "identifier", + "geometry", + "properties" + ], + "additionalProperties": false + }, + "VentilationOpening": { + "title": "VentilationOpening", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationOpening", + "pattern": "^VentilationOpening$", + "type": "string", + "readOnly": true + }, + "fraction_area_operable": { + "title": "Fraction Area Operable", + "description": "A number for the fraction of the window area that is operable.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "fraction_height_operable": { + "title": "Fraction Height Operable", + "description": "A number for the fraction of the distance from the bottom of the window to the top that is operable", + "default": 1.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "discharge_coefficient": { + "title": "Discharge Coefficient", + "description": "A number that will be multiplied by the area of the window in the stack (buoyancy-driven) part of the equation to account for additional friction from window geometry, insect screens, etc. Typical values include 0.45, for unobstructed windows WITH insect screens and 0.65 for unobstructed windows WITHOUT insect screens. This value should be lowered if windows are of an awning or casement type and are not allowed to fully open.", + "default": 0.45, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "wind_cross_vent": { + "title": "Wind Cross Vent", + "description": "Boolean to indicate if there is an opening of roughly equal area on the opposite side of the Room such that wind-driven cross ventilation will be induced. If False, the assumption is that the operable area is primarily on one side of the Room and there is no wind-driven ventilation.", + "default": false, + "type": "boolean" + }, + "flow_coefficient_closed": { + "title": "Flow Coefficient Closed", + "description": "An optional number in kg/s-m, at 1 Pa per meter of crack length, used to calculate the mass flow rate when the opening is closed; required to run an AirflowNetwork simulation. The DesignBuilder Cracks template defines the flow coefficient for a tight, low-leakage closed external window to be 0.00001, and the flow coefficient for a very poor, high-leakage closed external window to be 0.003.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_exponent_closed": { + "title": "Flow Exponent Closed", + "description": "An optional dimensionless number between 0.5 and 1 used to calculate the mass flow rate when the opening is closed; required to run an AirflowNetwork simulation. This value represents the leak geometry impact on airflow, with 0.5 generally corresponding to turbulent orifice flow and 1 generally corresponding to laminar flow. The default of 0.65 is representative of many cases of wall and window leakage, used when the exponent cannot be measured.", + "default": 0.65, + "minimum": 0.5, + "maximum": 1, + "type": "number", + "format": "double" + }, + "two_way_threshold": { + "title": "Two Way Threshold", + "description": "A number in kg/m3 indicating the minimum density difference above which two-way flow may occur due to stack effect, required to run an AirflowNetwork simulation. This value is required because the air density difference between two zones (which drives two-way air flow) will tend towards division by zero errors as the air density difference approaches zero. The default of 0.0001 is a typical default value used for AirflowNetwork openings.", + "default": 0.0001, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + }, + "ApertureEnergyPropertiesAbridged": { + "title": "ApertureEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureEnergyPropertiesAbridged", + "pattern": "^ApertureEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of a WindowConstruction for the aperture. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "vent_opening": { + "title": "Vent Opening", + "description": "An optional VentilationOpening to specify the operable portion of the Aperture.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationOpening" + } + ] + } + }, + "additionalProperties": false + }, + "RadianceSubFaceStateAbridged": { + "title": "RadianceSubFaceStateAbridged", + "description": "RadianceSubFaceStateAbridged is an abridged state for a dynamic Aperture or Door.\n ", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RadianceSubFaceStateAbridged", + "pattern": "^RadianceSubFaceStateAbridged$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "A Radiance Modifier identifier (default: None).", + "type": "string" + }, + "modifier_direct": { + "title": "Modifier Direct", + "description": "A Radiance Modifier identifier (default: None).", + "type": "string" + }, + "shades": { + "title": "Shades", + "description": "A list of StateGeometryAbridged objects (default: None).", + "type": "array", + "items": { + "$ref": "#/components/schemas/StateGeometryAbridged" + } + }, + "vmtx_geometry": { + "title": "Vmtx Geometry", + "description": "A Face3D for the view matrix geometry (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "dmtx_geometry": { + "title": "Dmtx Geometry", + "description": "A Face3D for the daylight matrix geometry (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + } + }, + "additionalProperties": false + }, + "ApertureRadiancePropertiesAbridged": { + "title": "ApertureRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Aperture Abridged.", + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier (default: None).", + "type": "string" + }, + "modifier_blk": { + "title": "Modifier Blk", + "description": "A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ApertureRadiancePropertiesAbridged", + "pattern": "^ApertureRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "dynamic_group_identifier": { + "title": "Dynamic Group Identifier", + "description": "An optional string to note the dynamic group ' 'to which the Aperture is a part of. Apertures sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Aperture is assumed to be static. (default: None).", + "type": "string" + }, + "states": { + "title": "States", + "description": "An optional list of abridged states (default: None).", + "type": "array", + "items": { + "$ref": "#/components/schemas/RadianceSubFaceStateAbridged" + } + } + }, + "additionalProperties": false + }, + "AperturePropertiesAbridged": { + "title": "AperturePropertiesAbridged", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "AperturePropertiesAbridged", + "pattern": "^AperturePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/ApertureEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/ApertureRadiancePropertiesAbridged" + } + } + }, + "Aperture": { + "title": "Aperture", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "boundary_condition": { + "title": "Boundary Condition", + "anyOf": [ + { + "$ref": "#/components/schemas/Outdoors" + }, + { + "$ref": "#/components/schemas/Surface" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/AperturePropertiesAbridged" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Aperture", + "pattern": "^Aperture$", + "type": "string", + "readOnly": true + }, + "is_operable": { + "title": "Is Operable", + "description": "Boolean to note whether the Aperture can be opened for ventilation.", + "default": false, + "type": "boolean" + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object (eg. window sill, light shelf).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. mullions, louvers).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + } + }, + "required": [ + "identifier", + "geometry", + "boundary_condition", + "properties" + ], + "additionalProperties": false + }, + "DoorEnergyPropertiesAbridged": { + "title": "DoorEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorEnergyPropertiesAbridged", + "pattern": "^DoorEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of an OpaqueConstruction or WindowConstruction for the door. Note that the host door must have the is_glass property set to True to assign a WindowConstruction. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "vent_opening": { + "title": "Vent Opening", + "description": "An optional VentilationOpening to specify the operable portion of the Door.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationOpening" + } + ] + } + }, + "additionalProperties": false + }, + "DoorRadiancePropertiesAbridged": { + "title": "DoorRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Door Abridged.", + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier (default: None).", + "type": "string" + }, + "modifier_blk": { + "title": "Modifier Blk", + "description": "A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + }, + "type": { + "title": "Type", + "default": "DoorRadiancePropertiesAbridged", + "pattern": "^DoorRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "dynamic_group_identifier": { + "title": "Dynamic Group Identifier", + "description": "An optional string to note the dynamic group ' 'to which the Door is a part of. Doors sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Door is assumed to be static. (default: None).", + "type": "string" + }, + "states": { + "title": "States", + "description": "An optional list of abridged states (default: None).", + "type": "array", + "items": { + "$ref": "#/components/schemas/RadianceSubFaceStateAbridged" + } + } + }, + "additionalProperties": false + }, + "DoorPropertiesAbridged": { + "title": "DoorPropertiesAbridged", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorPropertiesAbridged", + "pattern": "^DoorPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/DoorEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/DoorRadiancePropertiesAbridged" + } + } + }, + "Door": { + "title": "Door", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "boundary_condition": { + "title": "Boundary Condition", + "anyOf": [ + { + "$ref": "#/components/schemas/Outdoors" + }, + { + "$ref": "#/components/schemas/Surface" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/DoorPropertiesAbridged" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Door", + "pattern": "^Door$", + "type": "string", + "readOnly": true + }, + "is_glass": { + "title": "Is Glass", + "description": "Boolean to note whether this object is a glass door as opposed to an opaque door.", + "default": false, + "type": "boolean" + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. entryway awning).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + } + }, + "required": [ + "identifier", + "geometry", + "boundary_condition", + "properties" + ], + "additionalProperties": false + }, + "AFNCrack": { + "title": "AFNCrack", + "description": "Properties for airflow through a crack.", + "type": "object", + "properties": { + "flow_coefficient": { + "title": "Flow Coefficient", + "description": "A number in kg/s-m at 1 Pa per meter of crack length at the conditions defined in the ReferenceCrack condition; required to run an AirflowNetwork simulation. The DesignBuilder Cracks template defines the flow coefficient for a tight, low-leakage wall to be 0.00001 and 0.001 for external and internal constructions, respectively. Flow coefficients for a very poor, high-leakage wall are defined to be 0.0004 and 0.019 for external and internal constructions, respectively.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "AFNCrack", + "pattern": "^AFNCrack$", + "type": "string", + "readOnly": true + }, + "flow_exponent": { + "title": "Flow Exponent", + "description": "An optional dimensionless number between 0.5 and 1 used to calculate the crack mass flow rate; required to run an AirflowNetwork simulation. This value represents the leak geometry impact on airflow, with 0.5 generally corresponding to turbulent orifice flow and 1 generally corresponding to laminar flow. The default of 0.65 is representative of many cases of wall and window leakage, used when the exponent cannot be measured.", + "default": 0.65, + "minimum": 0.5, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "flow_coefficient" + ], + "additionalProperties": false + }, + "FaceEnergyPropertiesAbridged": { + "title": "FaceEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FaceEnergyPropertiesAbridged", + "pattern": "^FaceEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of an OpaqueConstruction for the Face. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "vent_crack": { + "title": "Vent Crack", + "description": "An optional AFNCrack to specify airflow through a surface crack used by the AirflowNetwork.", + "allOf": [ + { + "$ref": "#/components/schemas/AFNCrack" + } + ] + } + }, + "additionalProperties": false + }, + "FaceRadiancePropertiesAbridged": { + "title": "FaceRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Face Abridged.", + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier (default: None).", + "type": "string" + }, + "modifier_blk": { + "title": "Modifier Blk", + "description": "A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + }, + "type": { + "title": "Type", + "default": "FaceRadiancePropertiesAbridged", + "pattern": "^FaceRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "FacePropertiesAbridged": { + "title": "FacePropertiesAbridged", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FacePropertiesAbridged", + "pattern": "^FacePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/FaceEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/FaceRadiancePropertiesAbridged" + } + } + }, + "Face": { + "title": "Face", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "face_type": { + "$ref": "#/components/schemas/FaceType" + }, + "boundary_condition": { + "title": "Boundary Condition", + "anyOf": [ + { + "$ref": "#/components/schemas/Ground" + }, + { + "$ref": "#/components/schemas/Outdoors" + }, + { + "$ref": "#/components/schemas/Adiabatic" + }, + { + "$ref": "#/components/schemas/Surface" + }, + { + "$ref": "#/components/schemas/OtherSideTemperature" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/FacePropertiesAbridged" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Face", + "pattern": "^Face$", + "type": "string", + "readOnly": true + }, + "apertures": { + "title": "Apertures", + "description": "Apertures assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Aperture" + } + }, + "doors": { + "title": "Doors", + "description": "Doors assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Door" + } + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. balcony, overhang).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + } + }, + "required": [ + "identifier", + "geometry", + "face_type", + "boundary_condition", + "properties" + ], + "additionalProperties": false + }, + "PeopleAbridged": { + "title": "PeopleAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "people_per_area": { + "title": "People Per Area", + "description": "People per floor area expressed as [people/m2]", + "minimum": 0, + "type": "number", + "format": "double" + }, + "occupancy_schedule": { + "title": "Occupancy Schedule", + "description": "Identifier of a schedule for the occupancy over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the people_per_area to yield a complete occupancy profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "PeopleAbridged", + "pattern": "^PeopleAbridged$", + "type": "string", + "readOnly": true + }, + "activity_schedule": { + "title": "Activity Schedule", + "description": "Identifier of a schedule for the activity of the occupants over the course of the year. The type of this schedule should be ActivityLevel and the values of the schedule equal to the number of Watts given off by an individual person in the room. If None, a default constant schedule with 120 Watts per person will be used, which is typical of awake, adult humans who are seated.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The radiant fraction of sensible heat released by people. (Default: 0.3).", + "default": 0.3, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the latent fraction of heat gain due to people or an Autocalculate object.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + } + }, + "required": [ + "identifier", + "people_per_area", + "occupancy_schedule" + ], + "additionalProperties": false + }, + "LightingAbridged": { + "title": "LightingAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "watts_per_area": { + "title": "Watts Per Area", + "description": "Lighting per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of lights over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete lighting profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "LightingAbridged", + "pattern": "^LightingAbridged$", + "type": "string", + "readOnly": true + }, + "visible_fraction": { + "title": "Visible Fraction", + "description": "The fraction of heat from lights that goes into the zone as visible (short-wave) radiation. (Default: 0.25).", + "default": 0.25, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The fraction of heat from lights that is long-wave radiation. (Default: 0.32).", + "default": 0.32, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "return_air_fraction": { + "title": "Return Air Fraction", + "description": "The fraction of the heat from lights that goes into the zone return air. (Default: 0).", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "baseline_watts_per_area": { + "title": "Baseline Watts Per Area", + "description": "The baseline lighting power density in [W/m2] of floor area. This baseline is useful to track how much better the installed lights are in comparison to a standard like ASHRAE 90.1. If set to None, it will default to 11.84029 W/m2, which is that ASHRAE 90.1-2004 baseline for an office.", + "default": 11.84029, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "watts_per_area", + "schedule" + ], + "additionalProperties": false + }, + "ElectricEquipmentAbridged": { + "title": "ElectricEquipmentAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "ElectricEquipmentAbridged", + "pattern": "^ElectricEquipmentAbridged$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "identifier", + "watts_per_area", + "schedule" + ], + "additionalProperties": false + }, + "GasEquipmentAbridged": { + "title": "GasEquipmentAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "GasEquipmentAbridged", + "pattern": "^GasEquipmentAbridged$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "identifier", + "watts_per_area", + "schedule" + ], + "additionalProperties": false + }, + "ServiceHotWaterAbridged": { + "title": "ServiceHotWaterAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "flow_per_area": { + "title": "Flow Per Area", + "description": "Number for the total volume flow rate of water per unit area of floor [L/h-m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the hot water use over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_area to yield a complete water usage profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ServiceHotWaterAbridged", + "pattern": "^ServiceHotWaterAbridged$", + "type": "string", + "readOnly": true + }, + "target_temperature": { + "title": "Target Temperature", + "description": "Number for the target temperature of water out of the tap (C). This the temperature after hot water has been mixed with cold water from the water mains. The default is 60C, which essentially assumes that the flow_per_area on this object is only for water straight out of the water heater.", + "default": 60, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "sensible_fraction": { + "title": "Sensible Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load given off as sensible heat in the zone.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load that is latent.", + "default": 0.05, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "flow_per_area", + "schedule" + ], + "additionalProperties": false + }, + "InfiltrationAbridged": { + "title": "InfiltrationAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "flow_per_exterior_area": { + "title": "Flow Per Exterior Area", + "description": "Number for the infiltration per exterior surface area in m3/s-m2.", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the infiltration over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_exterior_area to yield a complete infiltration profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "InfiltrationAbridged", + "pattern": "^InfiltrationAbridged$", + "type": "string", + "readOnly": true + }, + "constant_coefficient": { + "title": "Constant Coefficient", + "default": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "temperature_coefficient": { + "title": "Temperature Coefficient", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "velocity_coefficient": { + "title": "Velocity Coefficient", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "flow_per_exterior_area", + "schedule" + ], + "additionalProperties": false + }, + "VentilationAbridged": { + "title": "VentilationAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "VentilationAbridged", + "pattern": "^VentilationAbridged$", + "type": "string", + "readOnly": true + }, + "flow_per_person": { + "title": "Flow Per Person", + "description": "Intensity of ventilation in[] m3/s per person]. Note that setting this value does not mean that ventilation is varied based on real-time occupancy but rather that the design level of ventilation is determined using this value and the People object of the Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_per_area": { + "title": "Flow Per Area", + "description": "Intensity of ventilation in [m3/s per m2 of floor area].", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "air_changes_per_hour": { + "title": "Air Changes Per Hour", + "description": "Intensity of ventilation in air changes per hour (ACH) for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_per_zone": { + "title": "Flow Per Zone", + "description": "Intensity of ventilation in m3/s for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the ventilation over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the total design flow rate (determined from the sum of the other 4 fields) to yield a complete ventilation profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "SetpointAbridged": { + "title": "SetpointAbridged", + "description": "Used to specify information about the setpoint schedule.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "cooling_schedule": { + "title": "Cooling Schedule", + "description": "Identifier of the schedule for the cooling setpoint. The values in this schedule should be temperature in [C].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "heating_schedule": { + "title": "Heating Schedule", + "description": "Identifier of the schedule for the heating setpoint. The values in this schedule should be temperature in [C].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "SetpointAbridged", + "pattern": "^SetpointAbridged$", + "type": "string", + "readOnly": true + }, + "humidifying_schedule": { + "title": "Humidifying Schedule", + "description": "Identifier of the schedule for the humidification setpoint. The values in this schedule should be in [%].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "dehumidifying_schedule": { + "title": "Dehumidifying Schedule", + "description": "Identifier of the schedule for the dehumidification setpoint. The values in this schedule should be in [%].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "setpoint_cutout_difference": { + "title": "Setpoint Cutout Difference", + "description": "An optional positive number for the temperature difference between the cutout temperature and the setpoint temperature. Specifying a non-zero number here is useful for modeling the throttling range associated with a given setup of setpoint controls and HVAC equipment. Throttling ranges describe the range where a zone is slightly over-cooled or over-heated beyond the thermostat setpoint. They are used to avoid situations where HVAC systems turn on only to turn off a few minutes later, thereby wearing out the parts of mechanical systems faster. They can have a minor impact on energy consumption and can often have significant impacts on occupant thermal comfort, though using the default value of zero will often yield results that are close enough when trying to estimate the annual heating/cooling energy use. Specifying a value of zero effectively assumes that the system will turn on whenever conditions are outside the setpoint range and will cut out as soon as the setpoint is reached.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "cooling_schedule", + "heating_schedule" + ], + "additionalProperties": false + }, + "DaylightingControl": { + "title": "DaylightingControl", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "sensor_position": { + "title": "Sensor Position", + "description": "A point as 3 (x, y, z) values for the position of the daylight sensor within the parent Room. This point should lie within the Room volume in order for the results to be meaningful.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "DaylightingControl", + "pattern": "^DaylightingControl$", + "type": "string", + "readOnly": true + }, + "illuminance_setpoint": { + "title": "Illuminance Setpoint", + "description": "A number for the illuminance setpoint in lux beyond which electric lights are dimmed if there is sufficient daylight.", + "default": 300, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "control_fraction": { + "title": "Control Fraction", + "description": "A number between 0 and 1 that represents the fraction of the Room lights that are dimmed when the illuminance at the sensor position is at the specified illuminance. 1 indicates that all lights are dim-able while 0 indicates that no lights are dim-able. Deeper rooms should have lower control fractions to account for the face that the lights in the back of the space do not dim in response to suitable daylight at the front of the room.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "min_power_input": { + "title": "Min Power Input", + "description": "A number between 0 and 1 for the the lowest power the lighting system can dim down to, expressed as a fraction of maximum input power.", + "default": 0.3, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "min_light_output": { + "title": "Min Light Output", + "description": "A number between 0 and 1 the lowest lighting output the lighting system can dim down to, expressed as a fraction of maximum light output.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "off_at_minimum": { + "title": "Off At Minimum", + "description": "Boolean to note whether lights should switch off completely when they get to the minimum power input.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "sensor_position" + ], + "additionalProperties": false + }, + "VentilationControlAbridged": { + "title": "VentilationControlAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationControlAbridged", + "pattern": "^VentilationControlAbridged$", + "type": "string", + "readOnly": true + }, + "min_indoor_temperature": { + "title": "Min Indoor Temperature", + "description": "A number for the minimum indoor temperature at which to ventilate in Celsius. Typically, this variable is used to initiate ventilation.", + "default": -100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "max_indoor_temperature": { + "title": "Max Indoor Temperature", + "description": "A number for the maximum indoor temperature at which to ventilate in Celsius. This can be used to set a maximum temperature at which point ventilation is stopped and a cooling system is turned on.", + "default": 100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "min_outdoor_temperature": { + "title": "Min Outdoor Temperature", + "description": "A number for the minimum outdoor temperature at which to ventilate in Celsius. This can be used to ensure ventilative cooling does not happen during the winter even if the Room is above the min_indoor_temperature.", + "default": -100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "max_outdoor_temperature": { + "title": "Max Outdoor Temperature", + "description": "A number for the maximum indoor temperature at which to ventilate in Celsius. This can be used to set a limit for when it is considered too hot outside for ventilative cooling.", + "default": 100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "delta_temperature": { + "title": "Delta Temperature", + "description": "A number for the temperature differential in Celsius between indoor and outdoor below which ventilation is shut off. This should usually be a positive number so that ventilation only occurs when the outdoors is cooler than the indoors. Negative numbers indicate how much hotter the outdoors can be than the indoors before ventilation is stopped.", + "default": -100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the ventilation over the course of the year. Note that this is applied on top of any setpoints. The type of this schedule should be On/Off and values should be either 0 (no possibility of ventilation) or 1 (ventilation possible).", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "VentilationType": { + "title": "VentilationType", + "description": "An enumeration.", + "enum": [ + "Exhaust", + "Intake", + "Balanced" + ], + "type": "string" + }, + "VentilationFan": { + "title": "VentilationFan", + "description": "Base class for all objects requiring a valid EnergyPlus identifier.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "flow_rate": { + "title": "Flow Rate", + "description": "A number for the flow rate of the fan in m3/s.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "pressure_rise": { + "title": "Pressure Rise", + "description": "A number for the the pressure rise across the fan in Pascals (N/m2). This is often a function of the fan speed and the conditions in which the fan is operating since having the fan blow air through filters or narrow ducts will increase the pressure rise that is needed to deliver the input flow rate. The pressure rise plays an important role in determining the amount of energy consumed by the fan. Smaller fans like a 0.05 m3/s desk fan tend to have lower pressure rises around 60 Pa. Larger fans, such as a 6 m3/s fan used for ventilating a large room tend to have higher pressure rises around 400 Pa. The highest pressure rises are typically for large fans blowing air through ducts and filters, which can have pressure rises as high as 1000 Pa.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "efficiency": { + "title": "Efficiency", + "description": "A number between 0 and 1 for the overall efficiency of the fan. Specifically, this is the ratio of the power delivered to the fluid to the electrical input power. It is the product of the fan motor efficiency and the fan impeller efficiency. Fans that have a higher blade diameter and operate at lower speeds with smaller pressure rises for their size tend to have higher efficiencies. Because motor efficiencies are typically between 0.8 and 0.9, the best overall fan efficiencies tend to be around 0.7 with most typical fan efficiencies between 0.5 and 0.7. The lowest efficiencies often happen for small fans in situations with high pressure rises for their size, which can result in efficiencies as low as 0.15.", + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "VentilationFan", + "pattern": "^VentilationFan$", + "type": "string", + "readOnly": true + }, + "ventilation_type": { + "description": "Text to indicate the type of type of ventilation. Choose from the options below. For either Exhaust or Intake, values for fan pressure and efficiency define the fan electric consumption. For Exhaust ventilation, the conditions of the air entering the space are assumed to be equivalent to outside air conditions. For Intake and Balanced ventilation, an appropriate amount of fan heat is added to the entering air stream. For Balanced ventilation, both an intake fan and an exhaust fan are assumed to co-exist, both having the same flow rate and power consumption (using the entered values for fan pressure rise and fan total efficiency). Thus, the fan electric consumption for Balanced ventilation is twice that for the Exhaust or Intake ventilation types which employ only a single fan.", + "default": "Balanced", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationType" + } + ] + }, + "control": { + "title": "Control", + "description": "A VentilationControl object that dictates the conditions under which the fan is turned on. If None, a default VentilationControl will be generated, which will keep the fan on all of the time.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationControlAbridged" + } + ] + } + }, + "required": [ + "identifier", + "flow_rate", + "pressure_rise", + "efficiency" + ], + "additionalProperties": false + }, + "InternalMassAbridged": { + "title": "InternalMassAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "construction": { + "title": "Construction", + "description": "Identifier for an OpaqueConstruction that represents the material that the internal thermal mass is composed of.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "area": { + "title": "Area", + "description": "A number representing the surface area of the internal mass that is exposed to the Room air. This value should always be in square meters regardless of what units system the parent model is a part of.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "InternalMassAbridged", + "pattern": "^InternalMassAbridged$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "identifier", + "construction", + "area" + ], + "additionalProperties": false + }, + "FuelTypes": { + "title": "FuelTypes", + "description": "Designates the acceptable fuel types for process loads.", + "enum": [ + "Electricity", + "NaturalGas", + "Propane", + "FuelOilNo1", + "FuelOilNo2", + "Diesel", + "Gasoline", + "Coal", + "Steam", + "DistrictHeating", + "DistrictCooling", + "OtherFuel1", + "OtherFuel2", + "None" + ], + "type": "string" + }, + "ProcessAbridged": { + "title": "ProcessAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "watts": { + "title": "Watts", + "description": "A number for the process load power in Watts.", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of the process over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts to yield a complete equipment profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "fuel_type": { + "description": "Text to denote the type of fuel consumed by the process. Using the \"None\" type indicates that no end uses will be associated with the process, only the zone gains.", + "allOf": [ + { + "$ref": "#/components/schemas/FuelTypes" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ProcessAbridged", + "pattern": "^ProcessAbridged$", + "type": "string", + "readOnly": true + }, + "end_use_category": { + "title": "End Use Category", + "description": "Text to indicate the end-use subcategory, which will identify the process load in the end use output. For example, \u201cCooking\u201d, \u201cClothes Drying\u201d, etc. A new meter for reporting is created for each unique subcategory.", + "default": "Process", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by the process load. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by the process load. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by the process load. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "watts", + "schedule", + "fuel_type" + ], + "additionalProperties": false + }, + "RoomEnergyPropertiesAbridged": { + "title": "RoomEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoomEnergyPropertiesAbridged", + "pattern": "^RoomEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction_set": { + "title": "Construction Set", + "description": "Identifier of a ConstructionSet to specify all default constructions for the Faces, Apertures, and Doors of the Room. If None, the Room will use the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "program_type": { + "title": "Program Type", + "description": "Identifier of a ProgramType to specify all default schedules and loads for the Room. If None, the Room will have no loads or setpoints.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "hvac": { + "title": "Hvac", + "description": "An optional identifier of a HVAC system (such as an IdealAirSystem) that specifies how the Room is conditioned. If None, it will be assumed that the Room is not conditioned.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "shw": { + "title": "Shw", + "description": "An optional identifier of a Service Hot Water (SHW) system that specifies how the hot water load of the Room is met. If None, the hot water load will be met with a generic system that only measures thermal loadand does not account for system efficiencies.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "people": { + "title": "People", + "description": "People object to describe the occupancy of the Room.", + "allOf": [ + { + "$ref": "#/components/schemas/PeopleAbridged" + } + ] + }, + "lighting": { + "title": "Lighting", + "description": "Lighting object to describe the lighting usage of the Room.", + "allOf": [ + { + "$ref": "#/components/schemas/LightingAbridged" + } + ] + }, + "electric_equipment": { + "title": "Electric Equipment", + "description": "ElectricEquipment object to describe the electric equipment usage.", + "allOf": [ + { + "$ref": "#/components/schemas/ElectricEquipmentAbridged" + } + ] + }, + "gas_equipment": { + "title": "Gas Equipment", + "description": "GasEquipment object to describe the gas equipment usage.", + "allOf": [ + { + "$ref": "#/components/schemas/GasEquipmentAbridged" + } + ] + }, + "service_hot_water": { + "title": "Service Hot Water", + "description": "ServiceHotWater object to describe the hot water usage.", + "allOf": [ + { + "$ref": "#/components/schemas/ServiceHotWaterAbridged" + } + ] + }, + "infiltration": { + "title": "Infiltration", + "description": "Infiltration object to to describe the outdoor air leakage.", + "allOf": [ + { + "$ref": "#/components/schemas/InfiltrationAbridged" + } + ] + }, + "ventilation": { + "title": "Ventilation", + "description": "Ventilation object for the minimum outdoor air requirement.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationAbridged" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "Setpoint object for the temperature setpoints of the Room.", + "allOf": [ + { + "$ref": "#/components/schemas/SetpointAbridged" + } + ] + }, + "daylighting_control": { + "title": "Daylighting Control", + "description": "An optional DaylightingControl object to dictate the dimming of lights. If None, the lighting will respond only to the schedule and not the daylight conditions within the room.", + "allOf": [ + { + "$ref": "#/components/schemas/DaylightingControl" + } + ] + }, + "window_vent_control": { + "title": "Window Vent Control", + "description": "An optional VentilationControl object to dictate the opening of windows. If None, the windows will never open.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationControlAbridged" + } + ] + }, + "fans": { + "title": "Fans", + "description": "An optional list of VentilationFan objects for fans within the room. Note that these fans are not connected to the heating or cooling system and are meant to represent the intentional circulation of unconditioned outdoor air for the purposes of keeping a space cooler, drier or free of indoor pollutants (as in the case of kitchen or bathroom exhaust fans). For the specification of mechanical ventilation of conditioned outdoor air, the Room.ventilation property should be used and the Room should be given a HVAC that can meet this specification.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VentilationFan" + } + }, + "internal_masses": { + "title": "Internal Masses", + "description": "An optional list of of InternalMass objects for thermal mass exposed to Room air. Note that internal masses assigned this way cannot \"see\" solar radiation that may potentially hit them and, as such, caution should be taken when using this component with internal mass objects that are not always in shade. Masses are factored into the the thermal calculations of the Room by undergoing heat transfer with the indoor air.", + "type": "array", + "items": { + "$ref": "#/components/schemas/InternalMassAbridged" + } + }, + "process_loads": { + "title": "Process Loads", + "description": "An optional list of of Process objects for process loads within the room. These can represent kilns, manufacturing equipment, and various industrial processes. They can also be used to represent wood burning fireplaces or certain pieces of equipment to be separated from the other end uses.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ProcessAbridged" + } + } + }, + "additionalProperties": false + }, + "RoomRadiancePropertiesAbridged": { + "title": "RoomRadiancePropertiesAbridged", + "description": "Abridged Radiance Properties for Honeybee Room.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoomRadiancePropertiesAbridged", + "pattern": "^RoomRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "modifier_set": { + "title": "Modifier Set", + "description": "An identifier for a unique Room-Assigned ModifierSet (default: None).", + "type": "string" + } + }, + "additionalProperties": false + }, + "RoomPropertiesAbridged": { + "title": "RoomPropertiesAbridged", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoomPropertiesAbridged", + "pattern": "^RoomPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/RoomEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/RoomRadiancePropertiesAbridged" + } + } + }, + "Room": { + "title": "Room", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "faces": { + "title": "Faces", + "description": "Faces that together form the closed volume of a room.", + "minItems": 4, + "type": "array", + "items": { + "$ref": "#/components/schemas/Face" + } + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/RoomPropertiesAbridged" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Room", + "pattern": "^Room$", + "type": "string", + "readOnly": true + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object (eg. partitions, tables).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. trees, landscaping).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "multiplier": { + "title": "Multiplier", + "description": "An integer noting how many times this Room is repeated. Multipliers are used to speed up the calculation when similar Rooms are repeated more than once. Essentially, a given simulation with the Room is run once and then the result is multiplied by the multiplier.", + "default": 1, + "minimum": 1, + "type": "integer", + "format": "int32" + }, + "exclude_floor_area": { + "title": "Exclude Floor Area", + "description": "A boolean for whether the Room floor area contributes to Models it is a part of. Note that this will not affect the floor_area property of this Room itself but it will ensure the Room floor area is excluded from any calculations when the Room is part of a Model, including EUI calculations.", + "default": false, + "type": "boolean" + }, + "story": { + "title": "Story", + "description": "Text string for the story identifier to which this Room belongs. Rooms sharing the same story identifier are considered part of the same story in a Model. Note that this property has no character restrictions.", + "type": "string" + } + }, + "required": [ + "identifier", + "faces", + "properties" + ], + "additionalProperties": false + }, + "Color": { + "title": "Color", + "description": "A RGB color.", + "type": "object", + "properties": { + "r": { + "title": "R", + "description": "Value for red channel.", + "minimum": 0, + "maximum": 255, + "type": "integer", + "format": "int32" + }, + "g": { + "title": "G", + "description": "Value for green channel.", + "minimum": 0, + "maximum": 255, + "type": "integer", + "format": "int32" + }, + "b": { + "title": "B", + "description": "Value for blue channel.", + "minimum": 0, + "maximum": 255, + "type": "integer", + "format": "int32" + }, + "type": { + "title": "Type", + "default": "Color", + "pattern": "^Color$", + "type": "string", + "readOnly": true + }, + "a": { + "title": "A", + "description": "Value for the alpha channel, which defines the opacity as a number between 0 (fully transparent) and 255 (fully opaque).", + "default": 255, + "minimum": 0, + "maximum": 255, + "type": "integer", + "format": "int32" + } + }, + "required": [ + "r", + "g", + "b" + ], + "additionalProperties": false + }, + "Mesh3D": { + "title": "Mesh3D", + "description": "A mesh in 3D space.", + "type": "object", + "properties": { + "vertices": { + "title": "Vertices", + "description": "A list of points representing the vertices of the mesh. The list should include at least 3 points and each point should be a list of 3 (x, y, z) values.", + "minItems": 3, + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "minItems": 3, + "maxItems": 3 + } + }, + "faces": { + "title": "Faces", + "description": "A list of lists with each sub-list having either 3 or 4 integers. These integers correspond to indices within the list of vertices.", + "minItems": 1, + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "format": "int32" + }, + "minItems": 3, + "maxItems": 4 + } + }, + "type": { + "title": "Type", + "default": "Mesh3D", + "pattern": "^Mesh3D$", + "type": "string", + "readOnly": true + }, + "colors": { + "title": "Colors", + "description": "An optional list of colors that correspond to either the faces of the mesh or the vertices of the mesh.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Color" + } + } + }, + "required": [ + "vertices", + "faces" + ], + "additionalProperties": false + }, + "ShadeMeshEnergyPropertiesAbridged": { + "title": "ShadeMeshEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeMeshEnergyPropertiesAbridged", + "pattern": "^ShadeMeshEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of a ShadeConstruction to set the reflectance and specularity of the Shade. If None, it will be a generic context construction that is completely diffuse with 0.2 visible and solar reflectance. Unless it is building attached, in which case it will be set by the default generic ConstructionSet.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "transmittance_schedule": { + "title": "Transmittance Schedule", + "description": "Identifier of a schedule to set the transmittance of the shade, which can vary throughout the simulation. If None, the shade will be completely opaque.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "ShadeMeshRadiancePropertiesAbridged": { + "title": "ShadeMeshRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee ShadeMesh Abridged.", + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier (default: None).", + "type": "string" + }, + "modifier_blk": { + "title": "Modifier Blk", + "description": "A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ShadeMeshRadiancePropertiesAbridged", + "pattern": "^ShadeMeshRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "ShadeMeshPropertiesAbridged": { + "title": "ShadeMeshPropertiesAbridged", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeMeshPropertiesAbridged", + "pattern": "^ShadeMeshPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/ShadeMeshEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/ShadeMeshRadiancePropertiesAbridged" + } + } + }, + "ShadeMesh": { + "title": "ShadeMesh", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "A Mesh3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Mesh3D" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeMeshPropertiesAbridged" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ShadeMesh", + "pattern": "^ShadeMesh$", + "type": "string", + "readOnly": true + }, + "is_detached": { + "title": "Is Detached", + "description": "Boolean to note whether this shade is detached from any of the other geometry in the model. Cases where this should be True include shade representing surrounding buildings or context.", + "default": true, + "type": "boolean" + } + }, + "required": [ + "identifier", + "geometry", + "properties" + ], + "additionalProperties": false + }, + "Units": { + "title": "Units", + "description": "An enumeration.", + "enum": [ + "Meters", + "Millimeters", + "Feet", + "Inches", + "Centimeters" + ], + "type": "string" + }, + "Roughness": { + "title": "Roughness", + "description": "Relative roughness of a particular material layer.", + "enum": [ + "VeryRough", + "Rough", + "MediumRough", + "MediumSmooth", + "Smooth", + "VerySmooth" + ], + "type": "string" + }, + "EnergyMaterial": { + "title": "EnergyMaterial", + "description": "Opaque material representing a layer within an opaque construction.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the material layer in meters.", + "exclusiveMinimum": 0, + "maximum": 3, + "type": "number", + "format": "double" + }, + "conductivity": { + "title": "Conductivity", + "description": "Thermal conductivity of the material layer in W/m-K.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "density": { + "title": "Density", + "description": "Density of the material layer in kg/m3.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "specific_heat": { + "title": "Specific Heat", + "description": "Specific heat of the material layer in J/kg-K.", + "minimum": 100, + "type": "number", + "format": "double" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyMaterial", + "pattern": "^EnergyMaterial$", + "type": "string", + "readOnly": true + }, + "roughness": { + "default": "MediumRough", + "allOf": [ + { + "$ref": "#/components/schemas/Roughness" + } + ] + }, + "thermal_absorptance": { + "title": "Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the material. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number", + "format": "double" + }, + "solar_absorptance": { + "title": "Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_absorptance": { + "title": "Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "thickness", + "conductivity", + "density", + "specific_heat" + ], + "additionalProperties": false + }, + "EnergyMaterialNoMass": { + "title": "EnergyMaterialNoMass", + "description": "No mass opaque material representing a layer within an opaque construction.\n\nUsed when only the thermal resistance (R value) of the material is known.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "r_value": { + "title": "R Value", + "description": "The thermal resistance (R-value) of the material layer [m2-K/W].", + "minimum": 0.001, + "type": "number", + "format": "double" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyMaterialNoMass", + "pattern": "^EnergyMaterialNoMass$", + "type": "string", + "readOnly": true + }, + "roughness": { + "default": "MediumRough", + "allOf": [ + { + "$ref": "#/components/schemas/Roughness" + } + ] + }, + "thermal_absorptance": { + "title": "Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the material. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number", + "format": "double" + }, + "solar_absorptance": { + "title": "Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_absorptance": { + "title": "Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "r_value" + ], + "additionalProperties": false + }, + "EnergyWindowMaterialGlazing": { + "title": "EnergyWindowMaterialGlazing", + "description": "Describe a single glass pane corresponding to a layer in a window construction.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGlazing", + "pattern": "^EnergyWindowMaterialGlazing$", + "type": "string", + "readOnly": true + }, + "thickness": { + "title": "Thickness", + "description": "The surface-to-surface thickness of the glass in meters. Default: 0.003.", + "default": 0.003, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "solar_transmittance": { + "title": "Solar Transmittance", + "description": "Transmittance of solar radiation through the glass at normal incidence. Default: 0.85 for clear glass.", + "default": 0.85, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "solar_reflectance": { + "title": "Solar Reflectance", + "description": "Reflectance of solar radiation off of the front side of the glass at normal incidence, averaged over the solar spectrum. Default: 0.075 for clear glass.", + "default": 0.075, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "solar_reflectance_back": { + "title": "Solar Reflectance Back", + "description": "Reflectance of solar radiation off of the back side of the glass at normal incidence, averaged over the solar spectrum.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + }, + "visible_transmittance": { + "title": "Visible Transmittance", + "description": "Transmittance of visible light through the glass at normal incidence. Default: 0.9 for clear glass.", + "default": 0.9, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_reflectance": { + "title": "Visible Reflectance", + "description": "Reflectance of visible light off of the front side of the glass at normal incidence. Default: 0.075 for clear glass.", + "default": 0.075, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_reflectance_back": { + "title": "Visible Reflectance Back", + "description": "Reflectance of visible light off of the back side of the glass at normal incidence averaged over the solar spectrum and weighted by the response of the human eye.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + }, + "infrared_transmittance": { + "title": "Infrared Transmittance", + "description": "Long-wave transmittance at normal incidence.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "emissivity": { + "title": "Emissivity", + "description": "Infrared hemispherical emissivity of the front (outward facing) side of the glass. Default: 0.84, which is typical for clear glass without a low-e coating.", + "default": 0.84, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "emissivity_back": { + "title": "Emissivity Back", + "description": "Infrared hemispherical emissivity of the back (inward facing) side of the glass. Default: 0.84, which is typical for clear glass without a low-e coating.", + "default": 0.84, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "conductivity": { + "title": "Conductivity", + "description": "Thermal conductivity of the glass in W/(m-K). Default: 0.9, which is typical for clear glass without a low-e coating.", + "default": 0.9, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "dirt_correction": { + "title": "Dirt Correction", + "description": "Factor that corrects for the presence of dirt on the glass. A default value of 1 indicates the glass is clean.", + "default": 1, + "type": "number", + "format": "double" + }, + "solar_diffusing": { + "title": "Solar Diffusing", + "description": "If False (default), the beam solar radiation incident on the glass is transmitted as beam radiation with no diffuse component.If True, the beam solar radiation incident on the glass is transmitted as hemispherical diffuse radiation with no beam component.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "GasType": { + "title": "GasType", + "description": "An enumeration.", + "enum": [ + "Air", + "Argon", + "Krypton", + "Xenon" + ], + "type": "string" + }, + "EnergyWindowMaterialGas": { + "title": "EnergyWindowMaterialGas", + "description": "Create single layer of gas in a window construction.\n\nCan be combined with EnergyWindowMaterialGlazing to make multi-pane windows.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGas", + "pattern": "^EnergyWindowMaterialGas$", + "type": "string", + "readOnly": true + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the gas layer in meters. Default: 0.0125.", + "default": 0.0125, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "gas_type": { + "default": "Air", + "allOf": [ + { + "$ref": "#/components/schemas/GasType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "OpaqueConstructionAbridged": { + "title": "OpaqueConstructionAbridged", + "description": "Construction for opaque objects (Face, Shade, Door).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "materials": { + "title": "Materials", + "description": "List of strings for opaque material identifiers. The order of the materials is from exterior to interior.", + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 100 + } + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "OpaqueConstructionAbridged", + "pattern": "^OpaqueConstructionAbridged$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "identifier", + "materials" + ], + "additionalProperties": false + }, + "WindowConstructionAbridged": { + "title": "WindowConstructionAbridged", + "description": "Construction for window objects (Aperture, Door).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "materials": { + "title": "Materials", + "description": "List of strings for glazing or gas material identifiers. The order of the materials is from exterior to interior. If a SimpleGlazSys material is used, it must be the only material in the construction. For multi-layered constructions, adjacent glass layers must be separated by one and only one gas layer.", + "minItems": 1, + "maxItems": 8, + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 100 + } + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "WindowConstructionAbridged", + "pattern": "^WindowConstructionAbridged$", + "type": "string", + "readOnly": true + }, + "frame": { + "title": "Frame", + "description": "An optional identifier for a frame material that surrounds the window construction.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier", + "materials" + ], + "additionalProperties": false + }, + "ShadeConstruction": { + "title": "ShadeConstruction", + "description": "Construction for Shade objects.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ShadeConstruction", + "pattern": "^ShadeConstruction$", + "type": "string", + "readOnly": true + }, + "solar_reflectance": { + "title": "Solar Reflectance", + "description": "A number for the solar reflectance of the construction.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_reflectance": { + "title": "Visible Reflectance", + "description": "A number for the visible reflectance of the construction.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "is_specular": { + "title": "Is Specular", + "description": "Boolean to note whether the reflection off the shade is diffuse (False) or specular (True). Set to True if the construction is representing a glass facade or a mirror material.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "AirBoundaryConstructionAbridged": { + "title": "AirBoundaryConstructionAbridged", + "description": "Construction for Air Boundary objects.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "AirBoundaryConstructionAbridged", + "pattern": "^AirBoundaryConstructionAbridged$", + "type": "string", + "readOnly": true + }, + "air_mixing_per_area": { + "title": "Air Mixing Per Area", + "description": "A positive number for the amount of air mixing between Rooms across the air boundary surface [m3/s-m2]. Default: 0.1 corresponds to average indoor air speeds of 0.1 m/s (roughly 20 fpm), which is typical of what would be induced by a HVAC system.", + "default": 0.1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "air_mixing_schedule": { + "title": "Air Mixing Schedule", + "description": "Identifier of a fractional schedule for the air mixing schedule across the construction. If unspecified, an Always On schedule will be assumed.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "WallConstructionSetAbridged": { + "title": "WallConstructionSetAbridged", + "description": "A set of constructions for wall assemblies.", + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Surface or Adiabatic boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "Identifier for an OpaqueConstruction for faces with an Outdoors boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "ground_construction": { + "title": "Ground Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Ground boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "WallConstructionSetAbridged", + "pattern": "^WallConstructionSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "FloorConstructionSetAbridged": { + "title": "FloorConstructionSetAbridged", + "description": "A set of constructions for floor assemblies.", + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Surface or Adiabatic boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "Identifier for an OpaqueConstruction for faces with an Outdoors boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "ground_construction": { + "title": "Ground Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Ground boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "FloorConstructionSetAbridged", + "pattern": "^FloorConstructionSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "RoofCeilingConstructionSetAbridged": { + "title": "RoofCeilingConstructionSetAbridged", + "description": "A set of constructions for roof and ceiling assemblies.", + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Surface or Adiabatic boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "Identifier for an OpaqueConstruction for faces with an Outdoors boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "ground_construction": { + "title": "Ground Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Ground boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "RoofCeilingConstructionSetAbridged", + "pattern": "^RoofCeilingConstructionSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "ApertureConstructionSetAbridged": { + "title": "ApertureConstructionSetAbridged", + "description": "A set of constructions for aperture assemblies.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureConstructionSetAbridged", + "pattern": "^ApertureConstructionSetAbridged$", + "type": "string", + "readOnly": true + }, + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for a WindowConstruction for all apertures with a Surface boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "window_construction": { + "title": "Window Construction", + "description": "Identifier for a WindowConstruction for apertures with an Outdoors boundary condition, False is_operable property, and a Wall face type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "skylight_construction": { + "title": "Skylight Construction", + "description": "Identifier for a WindowConstruction for apertures with a Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "operable_construction": { + "title": "Operable Construction", + "description": "Identifier for a WindowConstruction for all apertures with an Outdoors boundary condition and True is_operable property.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "DoorConstructionSetAbridged": { + "title": "DoorConstructionSetAbridged", + "description": "A set of constructions for door assemblies.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorConstructionSetAbridged", + "pattern": "^DoorConstructionSetAbridged$", + "type": "string", + "readOnly": true + }, + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for an OpaqueConstruction for all opaque doors with a Surface boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "Identifier for an OpaqueConstruction for opaque doors with an Outdoors boundary condition and a Wall face type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "overhead_construction": { + "title": "Overhead Construction", + "description": "Identifier for an OpaqueConstruction for opaque doors with an Outdoors boundary condition and a RoofCeiling or Floor type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_glass_construction": { + "title": "Exterior Glass Construction", + "description": "Identifier for a WindowConstruction for all glass doors with an Outdoors boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "interior_glass_construction": { + "title": "Interior Glass Construction", + "description": "Identifier for a WindowConstruction for all glass doors with a Surface boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "GlobalConstructionSet": { + "title": "GlobalConstructionSet", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "GlobalConstructionSet", + "pattern": "^GlobalConstructionSet$", + "type": "string", + "readOnly": true + }, + "materials": { + "title": "Materials", + "description": "Global Honeybee Energy materials.", + "default": [ + { + "identifier": "Generic Roof Membrane", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.01, + "conductivity": 0.16, + "density": 1120.0, + "specific_heat": 1460.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic Acoustic Tile", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.02, + "conductivity": 0.06, + "density": 368.0, + "specific_heat": 590.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.2, + "visible_absorptance": 0.2 + }, + { + "identifier": "Generic 25mm Wood", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0254, + "conductivity": 0.15, + "density": 608.0, + "specific_heat": 1630.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic HW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.2, + "conductivity": 1.95, + "density": 2240.0, + "specific_heat": 900.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic Window Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGas", + "thickness": 0.0127, + "gas_type": "Air" + }, + { + "identifier": "Generic Gypsum Board", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0127, + "conductivity": 0.16, + "density": 800.0, + "specific_heat": 1090.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic Wall Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.667, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Ceiling Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.556, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Brick", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.9, + "density": 1920.0, + "specific_heat": 790.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic 50mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.05, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Low-e Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.45, + "solar_reflectance": 0.36, + "solar_reflectance_back": 0.36, + "visible_transmittance": 0.71, + "visible_reflectance": 0.21, + "visible_reflectance_back": 0.21, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.047, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + }, + { + "identifier": "Generic Painted Metal", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.0015, + "conductivity": 45.0, + "density": 7690.0, + "specific_heat": 410.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic LW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.53, + "density": 1280.0, + "specific_heat": 840.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic 25mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.025, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Clear Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.77, + "solar_reflectance": 0.07, + "solar_reflectance_back": 0.07, + "visible_transmittance": 0.88, + "visible_reflectance": 0.08, + "visible_reflectance_back": 0.08, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.84, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + } + ], + "readOnly": true, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyMaterial" + }, + { + "$ref": "#/components/schemas/EnergyMaterialNoMass" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGlazing" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGas" + } + ] + } + }, + "constructions": { + "title": "Constructions", + "description": "Global Honeybee Energy constructions.", + "default": [ + { + "identifier": "Generic Interior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 25mm Wood" + ] + }, + { + "identifier": "Generic Single Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Shade", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.35, + "visible_reflectance": 0.35, + "is_specular": false + }, + { + "identifier": "Generic Context", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.2, + "visible_reflectance": 0.2, + "is_specular": false + }, + { + "identifier": "Generic Interior Ceiling", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Interior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Gypsum Board", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Exposed Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic Ceiling Air Gap", + "Generic 50mm Insulation", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Interior Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Acoustic Tile", + "Generic Ceiling Air Gap", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Ground Slab", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete" + ] + }, + { + "identifier": "Generic Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Roof Membrane", + "Generic 50mm Insulation", + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Exterior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Brick", + "Generic LW Concrete", + "Generic 50mm Insulation", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Underground Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Air Boundary", + "display_name": null, + "user_data": null, + "type": "AirBoundaryConstructionAbridged", + "air_mixing_per_area": 0.1, + "air_mixing_schedule": "Always On" + }, + { + "identifier": "Generic Underground Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Double Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Low-e Glass", + "Generic Window Air Gap", + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Exterior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic 25mm Insulation", + "Generic Painted Metal" + ] + } + ], + "readOnly": true, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/OpaqueConstructionAbridged" + }, + { + "$ref": "#/components/schemas/WindowConstructionAbridged" + }, + { + "$ref": "#/components/schemas/ShadeConstruction" + }, + { + "$ref": "#/components/schemas/AirBoundaryConstructionAbridged" + } + ] + } + }, + "wall_set": { + "title": "Wall Set", + "description": "Global Honeybee WallConstructionSet.", + "default": { + "interior_construction": "Generic Interior Wall", + "exterior_construction": "Generic Exterior Wall", + "ground_construction": "Generic Underground Wall", + "type": "WallConstructionSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/WallConstructionSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "Global Honeybee FloorConstructionSet.", + "default": { + "interior_construction": "Generic Interior Floor", + "exterior_construction": "Generic Exposed Floor", + "ground_construction": "Generic Ground Slab", + "type": "FloorConstructionSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/FloorConstructionSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "Global Honeybee RoofCeilingConstructionSet.", + "default": { + "interior_construction": "Generic Interior Ceiling", + "exterior_construction": "Generic Roof", + "ground_construction": "Generic Underground Roof", + "type": "RoofCeilingConstructionSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingConstructionSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "Global Honeybee ApertureConstructionSet.", + "default": { + "type": "ApertureConstructionSetAbridged", + "interior_construction": "Generic Single Pane", + "window_construction": "Generic Double Pane", + "skylight_construction": "Generic Double Pane", + "operable_construction": "Generic Double Pane" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/ApertureConstructionSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "Global Honeybee DoorConstructionSet.", + "default": { + "type": "DoorConstructionSetAbridged", + "interior_construction": "Generic Interior Door", + "exterior_construction": "Generic Exterior Door", + "overhead_construction": "Generic Exterior Door", + "exterior_glass_construction": "Generic Double Pane", + "interior_glass_construction": "Generic Single Pane" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/DoorConstructionSetAbridged" + } + ] + }, + "shade_construction": { + "title": "Shade Construction", + "description": "Global Honeybee Construction for building-attached Shades.", + "default": "Generic Shade", + "readOnly": true, + "type": "string" + }, + "context_construction": { + "title": "Context Construction", + "description": "Global Honeybee Construction for context Shades.", + "default": "Generic Context", + "readOnly": true, + "type": "string" + }, + "air_boundary_construction": { + "title": "Air Boundary Construction", + "description": "Global Honeybee Construction for AirBoundary Faces.", + "default": "Generic Air Boundary", + "readOnly": true, + "type": "string" + } + }, + "additionalProperties": false + }, + "ConstructionSetAbridged": { + "title": "ConstructionSetAbridged", + "description": "A set of constructions for different surface types and boundary conditions.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ConstructionSetAbridged", + "pattern": "^ConstructionSetAbridged$", + "type": "string", + "readOnly": true + }, + "wall_set": { + "title": "Wall Set", + "description": "A WallConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/WallConstructionSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "A FloorConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/FloorConstructionSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "A RoofCeilingConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingConstructionSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "A ApertureConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/ApertureConstructionSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "A DoorConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/DoorConstructionSetAbridged" + } + ] + }, + "shade_construction": { + "title": "Shade Construction", + "description": "The identifier of a ShadeConstruction to set the reflectance properties of all outdoor shades of all objects to which this ConstructionSet is assigned.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "air_boundary_construction": { + "title": "Air Boundary Construction", + "description": "The identifier of an AirBoundaryConstruction or OpaqueConstruction to set the properties of Faces with an AirBoundary type.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "MoistureDiffusionModel": { + "title": "MoistureDiffusionModel", + "description": "Acceptable values for the moisture diffusion model for vegetation.", + "enum": [ + "Simple", + "Advanced" + ], + "type": "string" + }, + "EnergyMaterialVegetation": { + "title": "EnergyMaterialVegetation", + "description": "Material representing vegetation on the exterior of an opaque construction.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyMaterialVegetation", + "pattern": "^EnergyMaterialVegetation$", + "type": "string", + "readOnly": true + }, + "roughness": { + "default": "MediumRough", + "allOf": [ + { + "$ref": "#/components/schemas/Roughness" + } + ] + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the soil layer in meters.", + "default": 0.1, + "exclusiveMinimum": 0, + "maximum": 3, + "type": "number", + "format": "double" + }, + "conductivity": { + "title": "Conductivity", + "description": "Thermal conductivity of the dry soil in W/m-K.", + "default": 0.35, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "density": { + "title": "Density", + "description": "Density of the dry soil in kg/m3.", + "default": 1100, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "specific_heat": { + "title": "Specific Heat", + "description": "Specific heat of the dry soil in J/kg-K.", + "default": 1200, + "minimum": 100, + "type": "number", + "format": "double" + }, + "soil_thermal_absorptance": { + "title": "Soil Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the soil. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number", + "format": "double" + }, + "soil_solar_absorptance": { + "title": "Soil Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the soil. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "soil_visible_absorptance": { + "title": "Soil Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "plant_height": { + "title": "Plant Height", + "description": "The height of plants in the vegetation in meters.", + "default": 0.2, + "minimum": 0.005, + "maximum": 1.0, + "type": "number", + "format": "double" + }, + "leaf_area_index": { + "title": "Leaf Area Index", + "description": "The projected leaf area per unit area of soil surface (aka. Leaf Area Index or LAI). Note that the fraction of vegetation cover is calculated directly from LAI using an empirical relation.", + "default": 1.0, + "minimum": 0.001, + "maximum": 5.0, + "type": "number", + "format": "double" + }, + "leaf_reflectivity": { + "title": "Leaf Reflectivity", + "description": "The fraction of incident solar radiation that is reflected by the leaf surfaces. Solar radiation includes the visible spectrum as well as infrared and ultraviolet wavelengths. Typical values are 0.18 to 0.25.", + "default": 0.22, + "minimum": 0.005, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "leaf_emissivity": { + "title": "Leaf Emissivity", + "description": "The ratio of thermal radiation emitted from leaf surfaces to that emitted by an ideal black body at the same temperature.", + "default": 0.95, + "minimum": 0.8, + "maximum": 1.0, + "type": "number", + "format": "double" + }, + "min_stomatal_resist": { + "title": "Min Stomatal Resist", + "description": "The resistance of the plants to moisture transport [s/m]. Plants with low values of stomatal resistance will result in higher evapotranspiration rates than plants with high resistance.", + "default": 180, + "minimum": 50, + "maximum": 300, + "type": "number", + "format": "double" + }, + "sat_vol_moist_cont": { + "title": "Sat Vol Moist Cont", + "description": "The saturation moisture content of the soil by volume.", + "default": 0.3, + "minimum": 0.1, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "residual_vol_moist_cont": { + "title": "Residual Vol Moist Cont", + "description": "The residual moisture content of the soil by volume.", + "default": 0.01, + "minimum": 0.01, + "maximum": 0.1, + "type": "number", + "format": "double" + }, + "init_vol_moist_cont": { + "title": "Init Vol Moist Cont", + "description": "The initial moisture content of the soil by volume.", + "default": 0.01, + "minimum": 0.05, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "moist_diff_model": { + "default": "Simple", + "allOf": [ + { + "$ref": "#/components/schemas/MoistureDiffusionModel" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "OpaqueConstruction": { + "title": "OpaqueConstruction", + "description": "Construction for opaque objects (Face, Shade, Door).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "materials": { + "title": "Materials", + "description": "List of opaque material definitions. The order of the materials is from exterior to interior.", + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyMaterial" + }, + { + "$ref": "#/components/schemas/EnergyMaterialNoMass" + }, + { + "$ref": "#/components/schemas/EnergyMaterialVegetation" + } + ] + } + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "OpaqueConstruction", + "pattern": "^OpaqueConstruction$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "identifier", + "materials" + ], + "additionalProperties": false + }, + "WallConstructionSet": { + "title": "WallConstructionSet", + "description": "A set of constructions for wall assemblies.", + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "WallConstructionSet", + "pattern": "^WallConstructionSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "FloorConstructionSet": { + "title": "FloorConstructionSet", + "description": "A set of constructions for floor assemblies.", + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "FloorConstructionSet", + "pattern": "^FloorConstructionSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "RoofCeilingConstructionSet": { + "title": "RoofCeilingConstructionSet", + "description": "A set of constructions for roof and ceiling assemblies.", + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "RoofCeilingConstructionSet", + "pattern": "^RoofCeilingConstructionSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "EnergyWindowMaterialSimpleGlazSys": { + "title": "EnergyWindowMaterialSimpleGlazSys", + "description": "Describe an entire glazing system rather than individual layers.\n\nUsed when only very limited information is available on the glazing layers or when\nspecific performance levels are being targeted.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "u_factor": { + "title": "U Factor", + "description": "The overall heat transfer coefficient for window system in W/m2-K. Note that constructions with U-values above 5.8 should not be assigned to skylights as this implies the resistance of the window is negative when air films are subtracted.", + "exclusiveMinimum": 0, + "maximum": 12, + "type": "number", + "format": "double" + }, + "shgc": { + "title": "Shgc", + "description": "Unit-less quantity for the Solar Heat Gain Coefficient (solar transmittance + conduction) at normal incidence and vertical orientation.", + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number", + "format": "double" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialSimpleGlazSys", + "pattern": "^EnergyWindowMaterialSimpleGlazSys$", + "type": "string", + "readOnly": true + }, + "vt": { + "title": "Vt", + "description": "The fraction of visible light falling on the window that makes it through the glass at normal incidence.", + "default": 0.54, + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "u_factor", + "shgc" + ], + "additionalProperties": false + }, + "EnergyWindowMaterialGasCustom": { + "title": "EnergyWindowMaterialGasCustom", + "description": "Create single layer of custom gas.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "conductivity_coeff_a": { + "title": "Conductivity Coeff A", + "description": "The A coefficient for gas conductivity in W/(m-K).", + "type": "number", + "format": "double" + }, + "viscosity_coeff_a": { + "title": "Viscosity Coeff A", + "description": "The A coefficient for gas viscosity in kg/(m-s).", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "specific_heat_coeff_a": { + "title": "Specific Heat Coeff A", + "description": "The A coefficient for gas specific heat in J/(kg-K).", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "specific_heat_ratio": { + "title": "Specific Heat Ratio", + "description": "The specific heat ratio for gas.", + "exclusiveMinimum": 1, + "type": "number", + "format": "double" + }, + "molecular_weight": { + "title": "Molecular Weight", + "description": "The molecular weight for gas in g/mol.", + "minimum": 20, + "maximum": 200, + "type": "number", + "format": "double" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGasCustom", + "pattern": "^EnergyWindowMaterialGasCustom$", + "type": "string", + "readOnly": true + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the gas layer in meters. Default: 0.0125.", + "default": 0.0125, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "conductivity_coeff_b": { + "title": "Conductivity Coeff B", + "description": "The B coefficient for gas conductivity in W/(m-K2).", + "default": 0, + "type": "number", + "format": "double" + }, + "conductivity_coeff_c": { + "title": "Conductivity Coeff C", + "description": "The C coefficient for gas conductivity in W/(m-K3).", + "default": 0, + "type": "number", + "format": "double" + }, + "viscosity_coeff_b": { + "title": "Viscosity Coeff B", + "description": "The B coefficient for gas viscosity in kg/(m-s-K).", + "default": 0, + "type": "number", + "format": "double" + }, + "viscosity_coeff_c": { + "title": "Viscosity Coeff C", + "description": "The C coefficient for gas viscosity in kg/(m-s-K2).", + "default": 0, + "type": "number", + "format": "double" + }, + "specific_heat_coeff_b": { + "title": "Specific Heat Coeff B", + "description": "The B coefficient for gas specific heat in J/(kg-K2).", + "default": 0, + "type": "number", + "format": "double" + }, + "specific_heat_coeff_c": { + "title": "Specific Heat Coeff C", + "description": "The C coefficient for gas specific heat in J/(kg-K3).", + "default": 0, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "conductivity_coeff_a", + "viscosity_coeff_a", + "specific_heat_coeff_a", + "specific_heat_ratio", + "molecular_weight" + ], + "additionalProperties": false + }, + "EnergyWindowMaterialGasMixture": { + "title": "EnergyWindowMaterialGasMixture", + "description": "Create a mixture of two to four different gases to fill the panes of multiple\npane windows.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "gas_types": { + "description": "List of gases in the gas mixture.", + "type": "array", + "items": { + "$ref": "#/components/schemas/GasType" + }, + "minItems": 2, + "maxItems": 4 + }, + "gas_fractions": { + "title": "Gas Fractions", + "description": "A list of fractional numbers describing the volumetric fractions of gas types in the mixture. This list must align with the gas_types list and must sum to 1.", + "minItems": 2, + "maxItems": 4, + "type": "array", + "items": { + "type": "number", + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "format": "double" + } + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGasMixture", + "pattern": "^EnergyWindowMaterialGasMixture$", + "type": "string", + "readOnly": true + }, + "thickness": { + "title": "Thickness", + "description": "The thickness of the gas mixture layer in meters.", + "default": 0.0125, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "gas_types", + "gas_fractions" + ], + "additionalProperties": false + }, + "EnergyWindowFrame": { + "title": "EnergyWindowFrame", + "description": "Opaque material representing a layer within an opaque construction.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "width": { + "title": "Width", + "description": "Number for the width of frame in plane of window [m]. The frame width is assumed to be the same on all sides of window..", + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "conductance": { + "title": "Conductance", + "description": "Number for the thermal conductance of the frame material measured from inside to outside of the frame surface (no air films) and taking 2D conduction effects into account [W/m2-K].", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowFrame", + "pattern": "^EnergyWindowFrame$", + "type": "string", + "readOnly": true + }, + "edge_to_center_ratio": { + "title": "Edge To Center Ratio", + "description": "Number between 0 and 4 for the ratio of the glass conductance near the frame (excluding air films) divided by the glass conductance at the center of the glazing (excluding air films). This is used only for multi-pane glazing constructions. This ratio should usually be greater than 1.0 since the spacer material that separates the glass panes is usually more conductive than the gap between panes. A value of 1 effectively indicates no spacer. Values should usually be obtained from the LBNL WINDOW program so that the unique characteristics of the window construction can be accounted for.", + "default": 1, + "exclusiveMinimum": 0, + "maximum": 4, + "type": "number", + "format": "double" + }, + "outside_projection": { + "title": "Outside Projection", + "description": "Number for the distance that the frame projects outward from the outside face of the glazing [m]. This is used to calculate shadowing of frame onto glass, solar absorbed by the frame, IR emitted and absorbed by the frame, and convection from frame.", + "default": 0, + "minimum": 0, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "inside_projection": { + "title": "Inside Projection", + "description": "Number for the distance that the frame projects inward from the inside face of the glazing [m]. This is used to calculate solar absorbed by the frame, IR emitted and absorbed by the frame, and convection from frame.", + "default": 0, + "minimum": 0, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "thermal_absorptance": { + "title": "Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the frame material.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number", + "format": "double" + }, + "solar_absorptance": { + "title": "Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the frame material.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_absorptance": { + "title": "Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the frame material.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "width", + "conductance" + ], + "additionalProperties": false + }, + "WindowConstruction": { + "title": "WindowConstruction", + "description": "Construction for window objects (Aperture, Door).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "materials": { + "title": "Materials", + "description": "List of glazing and gas material definitions. The order of the materials is from exterior to interior. If a SimpleGlazSys material is used, it must be the only material in the construction. For multi-layered constructions, adjacent glass layers must be separated by one and only one gas layer.", + "minItems": 1, + "maxItems": 8, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyWindowMaterialSimpleGlazSys" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGlazing" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGas" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGasCustom" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGasMixture" + } + ] + } + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "WindowConstruction", + "pattern": "^WindowConstruction$", + "type": "string", + "readOnly": true + }, + "frame": { + "title": "Frame", + "description": "An optional window frame material for the frame that surrounds the window construction.", + "allOf": [ + { + "$ref": "#/components/schemas/EnergyWindowFrame" + } + ] + } + }, + "required": [ + "identifier", + "materials" + ], + "additionalProperties": false + }, + "EnergyWindowMaterialShade": { + "title": "EnergyWindowMaterialShade", + "description": "This object specifies the properties of window shade materials.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialShade", + "pattern": "^EnergyWindowMaterialShade$", + "type": "string", + "readOnly": true + }, + "solar_transmittance": { + "title": "Solar Transmittance", + "description": "The transmittance averaged over the solar spectrum. It is assumed independent of incidence angle. Default: 0.4.", + "default": 0.4, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "solar_reflectance": { + "title": "Solar Reflectance", + "description": "The reflectance averaged over the solar spectrum. It us assumed same on both sides of shade and independent of incidence angle. Default value is 0.5", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "visible_transmittance": { + "title": "Visible Transmittance", + "description": "The transmittance averaged over the solar spectrum and weighted by the response of the human eye. It is assumed independent of incidence angle. Default: 0.4.", + "default": 0.4, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "visible_reflectance": { + "title": "Visible Reflectance", + "description": "The transmittance averaged over the solar spectrum and weighted by the response of the human eye. It is assumed independent of incidence angle. Default: 0.4", + "default": 0.4, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "emissivity": { + "title": "Emissivity", + "description": "The effective long-wave infrared hemispherical emissivity. It is assumed same on both sides of shade. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number", + "format": "double" + }, + "infrared_transmittance": { + "title": "Infrared Transmittance", + "description": "The effective long-wave transmittance. It is assumed independent of incidence angle. Default: 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "thickness": { + "title": "Thickness", + "description": "The thickness of the shade material in meters. Default: 0.005.", + "default": 0.005, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "conductivity": { + "title": "Conductivity", + "description": "The conductivity of the shade material in W/(m-K). Default value is 0.1.", + "default": 0.1, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "distance_to_glass": { + "title": "Distance To Glass", + "description": "The distance from shade to adjacent glass in meters. Default value is 0.05", + "default": 0.05, + "minimum": 0.001, + "maximum": 1, + "type": "number", + "format": "double" + }, + "top_opening_multiplier": { + "title": "Top Opening Multiplier", + "description": "The effective area for air flow at the top of the shade, divided by the horizontal area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "bottom_opening_multiplier": { + "title": "Bottom Opening Multiplier", + "description": "The effective area for air flow at the bottom of the shade, divided by the horizontal area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "left_opening_multiplier": { + "title": "Left Opening Multiplier", + "description": "The effective area for air flow at the left side of the shade, divided by the vertical area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "right_opening_multiplier": { + "title": "Right Opening Multiplier", + "description": "The effective area for air flow at the right side of the shade, divided by the vertical area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "airflow_permeability": { + "title": "Airflow Permeability", + "description": "The fraction of the shade surface that is open to air flow. If air cannot pass through the shade material, airflow_permeability = 0. Default: 0.", + "default": 0, + "minimum": 0, + "maximum": 0.8, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "SlatOrientation": { + "title": "SlatOrientation", + "description": "An enumeration.", + "enum": [ + "Horizontal", + "Vertical" + ], + "type": "string" + }, + "EnergyWindowMaterialBlind": { + "title": "EnergyWindowMaterialBlind", + "description": "Window blind material consisting of flat, equally-spaced slats.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialBlind", + "pattern": "^EnergyWindowMaterialBlind$", + "type": "string", + "readOnly": true + }, + "slat_orientation": { + "default": "Horizontal", + "allOf": [ + { + "$ref": "#/components/schemas/SlatOrientation" + } + ] + }, + "slat_width": { + "title": "Slat Width", + "description": "The width of slat measured from edge to edge in meters.", + "default": 0.025, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "slat_separation": { + "title": "Slat Separation", + "description": "The distance between the front of a slat and the back of the adjacent slat in meters.", + "default": 0.01875, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "slat_thickness": { + "title": "Slat Thickness", + "description": "The distance between the faces of a slat in meters. The default value is 0.001.", + "default": 0.001, + "exclusiveMinimum": 0, + "maximum": 0.1, + "type": "number", + "format": "double" + }, + "slat_angle": { + "title": "Slat Angle", + "description": "The angle (degrees) between the glazing outward normal and the slat outward normal where the outward normal points away from the front face of the slat (degrees). The default value is 45.", + "default": 45, + "minimum": 0, + "maximum": 180, + "type": "number", + "format": "double" + }, + "slat_conductivity": { + "title": "Slat Conductivity", + "description": "The thermal conductivity of the slat in W/(m-K). Default: 221.", + "default": 221, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "beam_solar_transmittance": { + "title": "Beam Solar Transmittance", + "description": "The beam solar transmittance of the slat, assumed to be independent of angle of incidence on the slat. Any transmitted beam radiation is assumed to be 100% diffuse (i.e., slats are translucent). The default value is 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_solar_reflectance": { + "title": "Beam Solar Reflectance", + "description": "The beam solar reflectance of the front side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_solar_reflectance_back": { + "title": "Beam Solar Reflectance Back", + "description": "The beam solar reflectance of the back side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_solar_transmittance": { + "title": "Diffuse Solar Transmittance", + "description": "The slat transmittance for hemispherically diffuse solar radiation. Default: 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_solar_reflectance": { + "title": "Diffuse Solar Reflectance", + "description": "The front-side slat reflectance for hemispherically diffuse solar radiation. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_solar_reflectance_back": { + "title": "Diffuse Solar Reflectance Back", + "description": "The back-side slat reflectance for hemispherically diffuse solar radiation. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_visible_transmittance": { + "title": "Beam Visible Transmittance", + "description": "The beam visible transmittance of the slat, it is assumed to be independent of the angle of incidence. Default: 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_visible_reflectance": { + "title": "Beam Visible Reflectance", + "description": "The beam visible reflectance on the front side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_visible_reflectance_back": { + "title": "Beam Visible Reflectance Back", + "description": "The beam visible reflectance on the back side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_visible_transmittance": { + "title": "Diffuse Visible Transmittance", + "description": "The slat transmittance for hemispherically diffuse visible radiation. This value should equal \u201cSlat Beam Visible Transmittance.\u201d", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_visible_reflectance": { + "title": "Diffuse Visible Reflectance", + "description": "The front-side slat reflectance for hemispherically diffuse visible radiation. This value should equal \u201cFront Side Slat Beam Visible Reflectance.\u201d Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_visible_reflectance_back": { + "title": "Diffuse Visible Reflectance Back", + "description": "The back-side slat reflectance for hemispherically diffuse visible radiation. This value should equal \u201cBack Side Slat Beam Visible Reflectance. Default: 0.5.\u201d", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "infrared_transmittance": { + "title": "Infrared Transmittance", + "description": "The slat infrared hemispherical transmittance. It is zero for solid metallic, wooden or glass slats, but may be non-zero in some cases such as for thin plastic slats. The default value is 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "emissivity": { + "title": "Emissivity", + "description": "Front side hemispherical emissivity of the slat. Default is 0.9 for most materials. The default value is 0.9.", + "default": 0.9, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "emissivity_back": { + "title": "Emissivity Back", + "description": "Back side hemispherical emissivity of the slat. Default is 0.9 for most materials. The default value is 0.9.", + "default": 0.9, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "distance_to_glass": { + "title": "Distance To Glass", + "description": "The distance from the mid-plane of the blind to the adjacent glass in meters. The default value is 0.05.", + "default": 0.05, + "minimum": 0.01, + "maximum": 1, + "type": "number", + "format": "double" + }, + "top_opening_multiplier": { + "title": "Top Opening Multiplier", + "description": "The effective area for air flow at the top of the shade, divided by the horizontal area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "bottom_opening_multiplier": { + "title": "Bottom Opening Multiplier", + "description": "The effective area for air flow at the bottom of the shade, divided by the horizontal area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "left_opening_multiplier": { + "title": "Left Opening Multiplier", + "description": "The effective area for air flow at the left side of the shade, divided by the vertical area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "right_opening_multiplier": { + "title": "Right Opening Multiplier", + "description": "The effective area for air flow at the right side of the shade, divided by the vertical area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ShadeLocation": { + "title": "ShadeLocation", + "description": "Choices for where a shade material is located in a window assembly.", + "enum": [ + "Interior", + "Between", + "Exterior" + ], + "type": "string" + }, + "ControlType": { + "title": "ControlType", + "description": "Choices for how the shading device is controlled.", + "enum": [ + "AlwaysOn", + "OnIfHighSolarOnWindow", + "OnIfHighHorizontalSolar", + "OnIfHighOutdoorAirTemperature", + "OnIfHighZoneAirTemperature", + "OnIfHighZoneCooling", + "OnNightIfLowOutdoorTempAndOffDay", + "OnNightIfLowInsideTempAndOffDay", + "OnNightIfHeatingAndOffDay" + ], + "type": "string" + }, + "ScheduleDay": { + "title": "ScheduleDay", + "description": "Used to describe the daily schedule for a single simulation day.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "values": { + "title": "Values", + "description": "A list of floats or integers for the values of the schedule. The length of this list must match the length of the times list.", + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ScheduleDay", + "pattern": "^ScheduleDay$", + "type": "string", + "readOnly": true + }, + "times": { + "title": "Times", + "description": "A list of lists with each sub-list possesing 2 values for [hour, minute]. The length of the master list must match the length of the values list. Each time in the master list represents the time of day that the corresponding value begins to take effect. For example [(0,0), (9,0), (17,0)] in combination with the values [0, 1, 0] denotes a schedule value of 0 from 0:00 to 9:00, a value of 1 from 9:00 to 17:00 and 0 from 17:00 to the end of the day. Note that this representation of times as the \"time of beginning\" is a different convention than EnergyPlus, which uses \"time until\".", + "default": [ + 0, + 0 + ], + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "minItems": 2, + "maxItems": 2 + } + }, + "interpolate": { + "title": "Interpolate", + "description": "Boolean to note whether values in between times should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "identifier", + "values" + ], + "additionalProperties": false + }, + "ScheduleRuleAbridged": { + "title": "ScheduleRuleAbridged", + "description": "Schedule rule including a ScheduleDay and when it should be applied..", + "type": "object", + "properties": { + "schedule_day": { + "title": "Schedule Day", + "description": "The identifier of a ScheduleDay object associated with this rule.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "ScheduleRuleAbridged", + "pattern": "^ScheduleRuleAbridged$", + "type": "string", + "readOnly": true + }, + "apply_sunday": { + "title": "Apply Sunday", + "description": "Boolean noting whether to apply schedule_day on Sundays.", + "default": false, + "type": "boolean" + }, + "apply_monday": { + "title": "Apply Monday", + "description": "Boolean noting whether to apply schedule_day on Mondays.", + "default": false, + "type": "boolean" + }, + "apply_tuesday": { + "title": "Apply Tuesday", + "description": "Boolean noting whether to apply schedule_day on Tuesdays.", + "default": false, + "type": "boolean" + }, + "apply_wednesday": { + "title": "Apply Wednesday", + "description": "Boolean noting whether to apply schedule_day on Wednesdays.", + "default": false, + "type": "boolean" + }, + "apply_thursday": { + "title": "Apply Thursday", + "description": "Boolean noting whether to apply schedule_day on Thursdays.", + "default": false, + "type": "boolean" + }, + "apply_friday": { + "title": "Apply Friday", + "description": "Boolean noting whether to apply schedule_day on Fridays.", + "default": false, + "type": "boolean" + }, + "apply_saturday": { + "title": "Apply Saturday", + "description": "Boolean noting whether to apply schedule_day on Saturdays.", + "default": false, + "type": "boolean" + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the start date of the period over which the schedule_day will be applied.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "end_date": { + "title": "End Date", + "description": "A list of two integers for [month, day], representing the end date of the period over which the schedule_day will be applied.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 12, + 31 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + "required": [ + "schedule_day" + ], + "additionalProperties": false + }, + "NoLimit": { + "title": "NoLimit", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "NoLimit", + "pattern": "^NoLimit$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "ScheduleNumericType": { + "title": "ScheduleNumericType", + "description": "Designates how the range values are validated.", + "enum": [ + "Continuous", + "Discrete" + ], + "type": "string" + }, + "ScheduleUnitType": { + "title": "ScheduleUnitType", + "description": "An enumeration.", + "enum": [ + "Dimensionless", + "Temperature", + "DeltaTemperature", + "PrecipitationRate", + "Angle", + "ConvectionCoefficient", + "ActivityLevel", + "Velocity", + "Capacity", + "Power", + "Availability", + "Percent", + "Control", + "Mode" + ], + "type": "string" + }, + "ScheduleTypeLimit": { + "title": "ScheduleTypeLimit", + "description": "Specifies the data types and limits for values contained in schedules.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ScheduleTypeLimit", + "pattern": "^ScheduleTypeLimit$", + "type": "string", + "readOnly": true + }, + "lower_limit": { + "title": "Lower Limit", + "description": "Lower limit for the schedule type or NoLimit.", + "default": { + "type": "NoLimit" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/NoLimit" + }, + { + "type": "number" + } + ] + }, + "upper_limit": { + "title": "Upper Limit", + "description": "Upper limit for the schedule type or NoLimit.", + "default": { + "type": "NoLimit" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/NoLimit" + }, + { + "type": "number" + } + ] + }, + "numeric_type": { + "default": "Continuous", + "allOf": [ + { + "$ref": "#/components/schemas/ScheduleNumericType" + } + ] + }, + "unit_type": { + "default": "Dimensionless", + "allOf": [ + { + "$ref": "#/components/schemas/ScheduleUnitType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ScheduleRuleset": { + "title": "ScheduleRuleset", + "description": "Used to define a schedule for a default day, further described by ScheduleRule.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "day_schedules": { + "title": "Day Schedules", + "description": "A list of ScheduleDays that are referenced in the other keys of this ScheduleRulesetAbridged.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleDay" + } + }, + "default_day_schedule": { + "title": "Default Day Schedule", + "description": "An identifier for the ScheduleDay that will be used for all days when no ScheduleRule is applied. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ScheduleRuleset", + "pattern": "^ScheduleRuleset$", + "type": "string", + "readOnly": true + }, + "schedule_rules": { + "title": "Schedule Rules", + "description": "A list of ScheduleRuleAbridged that note exceptions to the default_day_schedule. These rules should be ordered from highest to lowest priority.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleRuleAbridged" + } + }, + "holiday_schedule": { + "title": "Holiday Schedule", + "description": "An identifier for the ScheduleDay that will be used for holidays. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "summer_designday_schedule": { + "title": "Summer Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the summer design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "winter_designday_schedule": { + "title": "Winter Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the winter design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "ScheduleTypeLimit object that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "allOf": [ + { + "$ref": "#/components/schemas/ScheduleTypeLimit" + } + ] + } + }, + "required": [ + "identifier", + "day_schedules", + "default_day_schedule" + ], + "additionalProperties": false + }, + "ScheduleFixedInterval": { + "title": "ScheduleFixedInterval", + "description": "Used to specify a start date and a list of values for a period of analysis.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "values": { + "title": "Values", + "description": "A list of timeseries values occuring at each timestep over the course of the simulation.", + "minItems": 24, + "maxItems": 527040, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ScheduleFixedInterval", + "pattern": "^ScheduleFixedInterval$", + "type": "string", + "readOnly": true + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "ScheduleTypeLimit object that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "allOf": [ + { + "$ref": "#/components/schemas/ScheduleTypeLimit" + } + ] + }, + "timestep": { + "title": "Timestep", + "description": "An integer for the number of steps per hour that the input values correspond to. For example, if each value represents 30 minutes, the timestep is 2. For 15 minutes, it is 4.", + "default": 1, + "type": "integer", + "format": "int32" + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the start date when the schedule values begin to take effect.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "placeholder_value": { + "title": "Placeholder Value", + "description": " A value that will be used for all times not covered by the input values. Typically, your simulation should not need to use this value if the input values completely cover the simulation period.", + "default": 0, + "type": "number", + "format": "double" + }, + "interpolate": { + "title": "Interpolate", + "description": "Boolean to note whether values in between intervals should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "identifier", + "values" + ], + "additionalProperties": false + }, + "WindowConstructionShade": { + "title": "WindowConstructionShade", + "description": "Construction for window objects (Aperture, Door).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "window_construction": { + "title": "Window Construction", + "description": "A WindowConstruction object that serves as the \"switched off\" version of the construction (aka. the \"bare construction\"). The shade_material and shade_location will be used to modify this starting construction.", + "allOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + } + ] + }, + "shade_material": { + "title": "Shade Material", + "description": "Identifier of a An EnergyWindowMaterialShade or an EnergyWindowMaterialBlind that serves as the shading layer for this construction. This can also be an EnergyWindowMaterialGlazing, which will indicate that the WindowConstruction has a dynamically-controlled glass pane like an electrochromic window assembly.", + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyWindowMaterialShade" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialBlind" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGlazing" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "WindowConstructionShade", + "pattern": "^WindowConstructionShade$", + "type": "string", + "readOnly": true + }, + "shade_location": { + "description": "Text to indicate where in the window assembly the shade_material is located. Note that the WindowConstruction must have at least one gas gap to use the \"Between\" option. Also note that, for a WindowConstruction with more than one gas gap, the \"Between\" option defaults to using the inner gap as this is the only option that EnergyPlus supports.", + "default": "Interior", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeLocation" + } + ] + }, + "control_type": { + "description": "Text to indicate how the shading device is controlled, which determines when the shading is \u201con\u201d or \u201coff.\u201d", + "default": "AlwaysOn", + "allOf": [ + { + "$ref": "#/components/schemas/ControlType" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "A number that corresponds to the specified control_type. This can be a value in (W/m2), (C) or (W) depending upon the control type.Note that this value cannot be None for any control type except \"AlwaysOn.\"", + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "An optional ScheduleRuleset or ScheduleFixedInterval to be applied on top of the control_type. If None, the control_type will govern all behavior of the construction.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + } + }, + "required": [ + "identifier", + "window_construction", + "shade_material" + ], + "additionalProperties": false + }, + "WindowConstructionDynamic": { + "title": "WindowConstructionDynamic", + "description": "Construction for window objects with an included shade layer.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "constructions": { + "title": "Constructions", + "description": "A list of WindowConstruction objects that define the various states that the dynamic window can assume.", + "type": "array", + "items": { + "$ref": "#/components/schemas/WindowConstruction" + } + }, + "schedule": { + "title": "Schedule", + "description": "A control schedule that dictates which constructions are active at given times throughout the simulation. The values of the schedule should be integers and range from 0 to one less then the number of constructions. Zero indicates that the first construction is active, one indicates that the second on is active, etc. The schedule type limits of this schedule should be \"Control Level.\" If building custom schedule type limits that describe a particular range of states, the type limits should be \"Discrete\" and the unit type should be \"Mode,\" \"Control,\" or some other fractional unit.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "WindowConstructionDynamic", + "pattern": "^WindowConstructionDynamic$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "identifier", + "constructions", + "schedule" + ], + "additionalProperties": false + }, + "ApertureConstructionSet": { + "title": "ApertureConstructionSet", + "description": "A set of constructions for aperture assemblies.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureConstructionSet", + "pattern": "^ApertureConstructionSet$", + "type": "string", + "readOnly": true + }, + "interior_construction": { + "title": "Interior Construction", + "description": "A WindowConstruction for all apertures with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + }, + "window_construction": { + "title": "Window Construction", + "description": "A WindowConstruction for apertures with an Outdoors boundary condition, False is_operable property, and a Wall face type for their parent face.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + }, + "skylight_construction": { + "title": "Skylight Construction", + "description": "A WindowConstruction for apertures with a Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + }, + "operable_construction": { + "title": "Operable Construction", + "description": "A WindowConstruction for all apertures with an Outdoors boundary condition and True is_operable property.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + } + }, + "additionalProperties": false + }, + "DoorConstructionSet": { + "title": "DoorConstructionSet", + "description": "A set of constructions for door assemblies.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorConstructionSet", + "pattern": "^DoorConstructionSet$", + "type": "string", + "readOnly": true + }, + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for all opaque doors with a Surface boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for opaque doors with an Outdoors boundary condition and a Wall face type for their parent face.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "overhead_construction": { + "title": "Overhead Construction", + "description": "An OpaqueConstruction for opaque doors with an Outdoors boundary condition and a RoofCeiling or Floor type for their parent face.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_glass_construction": { + "title": "Exterior Glass Construction", + "description": "A WindowConstruction for all glass doors with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + }, + "interior_glass_construction": { + "title": "Interior Glass Construction", + "description": "A WindowConstruction for all glass doors with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + } + }, + "additionalProperties": false + }, + "AirBoundaryConstruction": { + "title": "AirBoundaryConstruction", + "description": "Construction for Air Boundary objects.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "AirBoundaryConstruction", + "pattern": "^AirBoundaryConstruction$", + "type": "string", + "readOnly": true + }, + "air_mixing_per_area": { + "title": "Air Mixing Per Area", + "description": "A positive number for the amount of air mixing between Rooms across the air boundary surface [m3/s-m2]. Default: 0.1 corresponds to average indoor air speeds of 0.1 m/s (roughly 20 fpm), which is typical of what would be induced by a HVAC system.", + "default": 0.1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "air_mixing_schedule": { + "title": "Air Mixing Schedule", + "description": "A fractional schedule as a ScheduleRuleset or ScheduleFixedInterval for the air mixing schedule across the construction. If unspecified, an Always On schedule will be assumed.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ConstructionSet": { + "title": "ConstructionSet", + "description": "A set of constructions for different surface types and boundary conditions.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ConstructionSet", + "pattern": "^ConstructionSet$", + "type": "string", + "readOnly": true + }, + "wall_set": { + "title": "Wall Set", + "description": "A WallConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/WallConstructionSet" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "A FloorConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/FloorConstructionSet" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "A RoofCeilingConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingConstructionSet" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "A ApertureConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/ApertureConstructionSet" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "A DoorConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/DoorConstructionSet" + } + ] + }, + "shade_construction": { + "title": "Shade Construction", + "description": "A ShadeConstruction to set the reflectance properties of all outdoor shades of all objects to which this ConstructionSet is assigned.", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeConstruction" + } + ] + }, + "air_boundary_construction": { + "title": "Air Boundary Construction", + "description": "An AirBoundaryConstruction or OpaqueConstruction to set the properties of Faces with an AirBoundary type.", + "anyOf": [ + { + "$ref": "#/components/schemas/AirBoundaryConstruction" + }, + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "WindowConstructionShadeAbridged": { + "title": "WindowConstructionShadeAbridged", + "description": "Construction for window objects with an included shade layer.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "window_construction": { + "title": "Window Construction", + "description": "A WindowConstructionAbridged object that serves as the \"switched off\" version of the construction (aka. the \"bare construction\"). The shade_material and shade_location will be used to modify this starting construction.", + "allOf": [ + { + "$ref": "#/components/schemas/WindowConstructionAbridged" + } + ] + }, + "shade_material": { + "title": "Shade Material", + "description": "Identifier of a An EnergyWindowMaterialShade or an EnergyWindowMaterialBlind that serves as the shading layer for this construction. This can also be an EnergyWindowMaterialGlazing, which will indicate that the WindowConstruction has a dynamically-controlled glass pane like an electrochromic window assembly.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "WindowConstructionShadeAbridged", + "pattern": "^WindowConstructionShadeAbridged$", + "type": "string", + "readOnly": true + }, + "shade_location": { + "description": "Text to indicate where in the window assembly the shade_material is located. Note that the WindowConstruction must have at least one gas gap to use the \"Between\" option. Also note that, for a WindowConstruction with more than one gas gap, the \"Between\" option defaults to using the inner gap as this is the only option that EnergyPlus supports.", + "default": "Interior", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeLocation" + } + ] + }, + "control_type": { + "description": "Text to indicate how the shading device is controlled, which determines when the shading is \u201con\u201d or \u201coff.\u201d", + "default": "AlwaysOn", + "allOf": [ + { + "$ref": "#/components/schemas/ControlType" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "A number that corresponds to the specified control_type. This can be a value in (W/m2), (C) or (W) depending upon the control type.Note that this value cannot be None for any control type except \"AlwaysOn.\"", + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "An optional schedule identifier to be applied on top of the control_type. If None, the control_type will govern all behavior of the construction.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier", + "window_construction", + "shade_material" + ], + "additionalProperties": false + }, + "WindowConstructionDynamicAbridged": { + "title": "WindowConstructionDynamicAbridged", + "description": "Construction for window objects with an included shade layer.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "constructions": { + "title": "Constructions", + "description": "A list of WindowConstructionAbridged objects that define the various states that the dynamic window can assume.", + "type": "array", + "items": { + "$ref": "#/components/schemas/WindowConstructionAbridged" + } + }, + "schedule": { + "title": "Schedule", + "description": "An identifier for a control schedule that dictates which constructions are active at given times throughout the simulation. The values of the schedule should be integers and range from 0 to one less then the number of constructions. Zero indicates that the first construction is active, one indicates that the second on is active, etc. The schedule type limits of this schedule should be \"Control Level.\" If building custom schedule type limits that describe a particular range of states, the type limits should be \"Discrete\" and the unit type should be \"Mode,\" \"Control,\" or some other fractional unit.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "WindowConstructionDynamicAbridged", + "pattern": "^WindowConstructionDynamicAbridged$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "identifier", + "constructions", + "schedule" + ], + "additionalProperties": false + }, + "EconomizerType": { + "title": "EconomizerType", + "description": "An enumeration.", + "enum": [ + "NoEconomizer", + "DifferentialDryBulb", + "DifferentialEnthalpy" + ], + "type": "string" + }, + "Autosize": { + "title": "Autosize", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Autosize", + "pattern": "^Autosize$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "IdealAirSystemAbridged": { + "title": "IdealAirSystemAbridged", + "description": "Provides a model for an ideal HVAC system.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "IdealAirSystemAbridged", + "pattern": "^IdealAirSystemAbridged$", + "type": "string", + "readOnly": true + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the ideal air system. Economizers will mix in a greater amount of outdoor air to cool the zone (rather than running the cooling system) when the zone needs cooling and the outdoor air is cooler than the zone.", + "default": "DifferentialDryBulb", + "allOf": [ + { + "$ref": "#/components/schemas/EconomizerType" + } + ] + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the zone.", + "default": false, + "type": "boolean" + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "heating_air_temperature": { + "title": "Heating Air Temperature", + "description": "A number for the maximum heating supply air temperature [C].", + "default": 50, + "exclusiveMinimum": 0, + "exclusiveMaximum": 100, + "type": "number", + "format": "double" + }, + "cooling_air_temperature": { + "title": "Cooling Air Temperature", + "description": "A number for the minimum cooling supply air temperature [C].", + "default": 13, + "exclusiveMinimum": -100, + "exclusiveMaximum": 50, + "type": "number", + "format": "double" + }, + "heating_limit": { + "title": "Heating Limit", + "description": "A number for the maximum heating capacity in Watts. This can also be an Autosize object to indicate that the capacity should be determined during the EnergyPlus sizing calculation. This can also be a NoLimit object to indicate no upper limit to the heating capacity.", + "default": { + "type": "Autosize" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autosize" + }, + { + "$ref": "#/components/schemas/NoLimit" + }, + { + "type": "number", + "minimum": 0 + } + ] + }, + "cooling_limit": { + "title": "Cooling Limit", + "description": "A number for the maximum cooling capacity in Watts. This can also be an Autosize object to indicate that the capacity should be determined during the EnergyPlus sizing calculation. This can also be a NoLimit object to indicate no upper limit to the cooling capacity.", + "default": { + "type": "Autosize" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autosize" + }, + { + "$ref": "#/components/schemas/NoLimit" + }, + { + "type": "number", + "minimum": 0 + } + ] + }, + "heating_availability": { + "title": "Heating Availability", + "description": "An optional identifier of a schedule to set the availability of heating over the course of the simulation.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "cooling_availability": { + "title": "Cooling Availability", + "description": "An optional identifier of a schedule to set the availability of cooling over the course of the simulation.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Vintages": { + "title": "Vintages", + "description": "An enumeration.", + "enum": [ + "ASHRAE_2019", + "ASHRAE_2016", + "ASHRAE_2013", + "ASHRAE_2010", + "ASHRAE_2007", + "ASHRAE_2004", + "DOE_Ref_1980_2004", + "DOE_Ref_Pre_1980" + ], + "type": "string" + }, + "AllAirEconomizerType": { + "title": "AllAirEconomizerType", + "description": "An enumeration.", + "enum": [ + "NoEconomizer", + "DifferentialDryBulb", + "DifferentialEnthalpy", + "DifferentialDryBulbAndEnthalpy", + "FixedDryBulb", + "FixedEnthalpy", + "ElectronicEnthalpy" + ], + "type": "string" + }, + "VAVEquipmentType": { + "title": "VAVEquipmentType", + "description": "An enumeration.", + "enum": [ + "VAV_Chiller_Boiler", + "VAV_Chiller_ASHP", + "VAV_Chiller_DHW", + "VAV_Chiller_PFP", + "VAV_Chiller_GasCoil", + "VAV_ACChiller_Boiler", + "VAV_ACChiller_ASHP", + "VAV_ACChiller_DHW", + "VAV_ACChiller_PFP", + "VAV_ACChiller_GasCoil", + "VAV_DCW_Boiler", + "VAV_DCW_ASHP", + "VAV_DCW_DHW", + "VAV_DCW_PFP", + "VAV_DCW_GasCoil" + ], + "type": "string" + }, + "VAV": { + "title": "VAV", + "description": "Variable Air Volume (VAV) HVAC system (aka. System 7 or 8).\n\nAll rooms/zones are connected to a central air loop that is kept at a constant\ncentral temperature of 12.8C (55F). The central temperature is maintained by a\ncooling coil, which runs whenever the combination of return air and fresh outdoor\nair is greater than 12.8C, as well as a heating coil, which runs whenever\nthe combination of return air and fresh outdoor air is less than 12.8C.\n\nEach air terminal for the connected rooms/zones contains its own reheat coil,\nwhich runs whenever the room is not in need of the cooling supplied by the 12.8C\ncentral air.\n\nThe central cooling coil is always a chilled water coil, which is connected to a\nchilled water loop operating at 6.7C (44F). All heating coils are hot water coils\nexcept when Gas Coil equipment_type is used (in which case coils are gas)\nor when Parallel Fan-Powered (PFP) boxes equipment_type is used (in which case\ncoils are electric resistance). Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.\n\nVAV systems are the traditional baseline system for commercial buildings\ntaller than 5 stories or larger than 14,000 m2 (150,000 ft2) of floor area.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/components/schemas/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "VAV", + "pattern": "^VAV$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VAVEquipmentType enumeration.", + "default": "VAV_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/VAVEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "PVAVEquipmentType": { + "title": "PVAVEquipmentType", + "description": "An enumeration.", + "enum": [ + "PVAV_Boiler", + "PVAV_ASHP", + "PVAV_DHW", + "PVAV_PFP", + "PVAV_BoilerElectricReheat" + ], + "type": "string" + }, + "PVAV": { + "title": "PVAV", + "description": "Packaged Variable Air Volume (PVAV) HVAC system (aka. System 5 or 6).\n\nAll rooms/zones are connected to a central air loop that is kept at a constant\ncentral temperature of 12.8C (55F). The central temperature is maintained by a\ncooling coil, which runs whenever the combination of return air and fresh outdoor\nair is greater than 12.8C, as well as a heating coil, which runs whenever\nthe combination of return air and fresh outdoor air is less than 12.8C.\n\nEach air terminal for the connected rooms/zones contains its own reheat coil,\nwhich runs whenever the room is not in need of the cooling supplied by the 12.8C\ncentral air.\n\nThe central cooling coil is always a two-speed direct expansion (DX) coil.\nAll heating coils are hot water coils except when Gas Coil equipment_type is\nused (in which case the central coil is gas and all reheat is electric)\nor when Parallel Fan-Powered (PFP) boxes equipment_type is used (in which case\ncoils are electric resistance). Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.\n\nPVAV systems are the traditional baseline system for commercial buildings\nwith than 4-5 stories or between 2,300 m2 and 14,000 m2 (25,000 ft2 and\n150,000 ft2) of floor area.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/components/schemas/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "PVAV", + "pattern": "^PVAV$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VAVEquipmentType enumeration.", + "default": "PVAV_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/PVAVEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "PSZEquipmentType": { + "title": "PSZEquipmentType", + "description": "An enumeration.", + "enum": [ + "PSZAC_ElectricBaseboard", + "PSZAC_BoilerBaseboard", + "PSZAC_DHWBaseboard", + "PSZAC_GasHeaters", + "PSZAC_ElectricCoil", + "PSZAC_GasCoil", + "PSZAC_Boiler", + "PSZAC_ASHP", + "PSZAC_DHW", + "PSZAC", + "PSZAC_DCW_ElectricBaseboard", + "PSZAC_DCW_BoilerBaseboard", + "PSZAC_DCW_GasHeaters", + "PSZAC_DCW_ElectricCoil", + "PSZAC_DCW_GasCoil", + "PSZAC_DCW_Boiler", + "PSZAC_DCW_ASHP", + "PSZAC_DCW_DHW", + "PSZAC_DCW", + "PSZHP" + ], + "type": "string" + }, + "PSZ": { + "title": "PSZ", + "description": "Packaged Single-Zone (PSZ) HVAC system (aka. System 3 or 4).\n\nEach room/zone receives its own air loop with its own single-speed direct expansion\n(DX) cooling coil, which will condition the supply air to a value in between\n12.8C (55F) and 50C (122F) depending on the heating/cooling needs of the room/zone.\nAs long as a Baseboard equipment_type is NOT selected, heating will be supplied\nby a heating coil in the air loop. Otherwise, heating is accomplished with\nbaseboards and the air loop only supplies cooling and ventilation air.\nFans are constant volume.\n\nPSZ systems are the traditional baseline system for commercial buildings\nwith less than 4 stories or less than 2,300 m2 (25,000 ft2) of floor area.\nThey are also the default for all retail with less than 3 stories and all public\nassembly spaces.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/components/schemas/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "PSZ", + "pattern": "^PSZ$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the PVAVEquipmentType enumeration.", + "default": "PSZAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/PSZEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "PTACEquipmentType": { + "title": "PTACEquipmentType", + "description": "An enumeration.", + "enum": [ + "PTAC_ElectricBaseboard", + "PTAC_BoilerBaseboard", + "PTAC_DHWBaseboard", + "PTAC_GasHeaters", + "PTAC_ElectricCoil", + "PTAC_GasCoil", + "PTAC_Boiler", + "PTAC_ASHP", + "PTAC_DHW", + "PTAC", + "PTHP" + ], + "type": "string" + }, + "PTAC": { + "title": "PTAC", + "description": "Packaged Terminal Air Conditioning (PTAC/HP) HVAC system. (aka. System 1 or 2).\n\nEach room/zone receives its own packaged unit that supplies heating, cooling\nand ventilation. Cooling is always done via a single-speed direct expansion (DX)\ncooling coil. Heating can be done via a heating coil in the unit or via an\nexternal baseboard. Fans are constant volume.\n\nPTAC/HP systems are the traditional baseline system for residential buildings.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "PTAC", + "pattern": "^PTAC$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the PTACEquipmentType enumeration.", + "default": "PTAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/PTACEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "FurnaceEquipmentType": { + "title": "FurnaceEquipmentType", + "description": "An enumeration.", + "enum": [ + "Furnace", + "Furnace_Electric" + ], + "type": "string" + }, + "ForcedAirFurnace": { + "title": "ForcedAirFurnace", + "description": "Forced Air Furnace HVAC system (aka. System 9 or 10).\n\nForced air furnaces are intended only for spaces only requiring heating and\nventilation. Each room/zone receives its own air loop with its own gas heating\ncoil, which will supply air at a temperature up to 50C (122F) to meet the\nheating needs of the room/zone. Fans are constant volume.\n\nForcedAirFurnace systems are the traditional baseline system for storage\nspaces that only require heating.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "ForcedAirFurnace", + "pattern": "^ForcedAirFurnace$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the FurnaceEquipmentType enumeration.", + "default": "Furnace", + "allOf": [ + { + "$ref": "#/components/schemas/FurnaceEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "FCUwithDOASEquipmentType": { + "title": "FCUwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_FCU_Chiller_Boiler", + "DOAS_FCU_Chiller_ASHP", + "DOAS_FCU_Chiller_DHW", + "DOAS_FCU_Chiller_ElectricBaseboard", + "DOAS_FCU_Chiller_GasHeaters", + "DOAS_FCU_Chiller", + "DOAS_FCU_ACChiller_Boiler", + "DOAS_FCU_ACChiller_ASHP", + "DOAS_FCU_ACChiller_DHW", + "DOAS_FCU_ACChiller_ElectricBaseboard", + "DOAS_FCU_ACChiller_GasHeaters", + "DOAS_FCU_ACChiller", + "DOAS_FCU_DCW_Boiler", + "DOAS_FCU_DCW_ASHP", + "DOAS_FCU_DCW_DHW", + "DOAS_FCU_DCW_ElectricBaseboard", + "DOAS_FCU_DCW_GasHeaters", + "DOAS_FCU_DCW" + ], + "type": "string" + }, + "FCUwithDOASAbridged": { + "title": "FCUwithDOASAbridged", + "description": "Fan Coil Unit (FCU) with DOAS HVAC system.\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a chilled water cooling coil and a heating coil. The heating coil is a hot\nwater coil except when electric baseboards or gas heaters are specified, in\nwhich case the heating coil is a single-speed direct expansion (DX) heat pump\nwith a backup electrical resistance coil.\n\nEach room/zone also receives its own Fan Coil Unit (FCU), which meets the heating\nand cooling loads of the space. The cooling coil in the FCU is always chilled\nwater cooling coil, which is connected to a chilled water loop operating\nat 6.7C (44F). The heating coil is a hot water coil except when when electric\nbaseboards or gas heaters are specified. Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.\n\nThe FCU with DOAS template is relatively close in performance to active chilled\nbeams (ACBs). When using this template to represent ACBs, care must be taken\nto ensure that the DOAS ventilation air requirement is sufficient to extract\nthe heating cooling from the ACB. If so, then this FCUwithDOAS template can be\nused but with the energy use of the FCU fans ignored.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "FCUwithDOASAbridged", + "pattern": "^FCUwithDOASAbridged$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the FCUwithDOASEquipmentType enumeration.", + "default": "DOAS_FCU_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/FCUwithDOASEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "WSHPwithDOASEquipmentType": { + "title": "WSHPwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_WSHP_FluidCooler_Boiler", + "DOAS_WSHP_CoolingTower_Boiler", + "DOAS_WSHP_GSHP", + "DOAS_WSHP_DCW_DHW" + ], + "type": "string" + }, + "WSHPwithDOASAbridged": { + "title": "WSHPwithDOASAbridged", + "description": "Water Source Heat Pump (WSHP) with DOAS HVAC system.\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a chilled water cooling coil and a hot water heating coil except when the\nground source heat pump (GSHP) option is selected. In this case, the ventilation\nair temperature is maintained by a two-speed direct expansion (DX) cooling coil\nand a single-speed DX heating coil with backup electrical resistance heat.\n\nEach room/zone also receives its own Water Source Heat Pump (WSHP), which meets\nthe heating and cooling loads of the space. All WSHPs are connected to the\nsame water condenser loop, which has its temperature maintained by the\nequipment_type (eg. Boiler with Cooling Tower).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "WSHPwithDOASAbridged", + "pattern": "^WSHPwithDOASAbridged$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the WSHPwithDOASEquipmentType enumeration.", + "default": "DOAS_WSHP_FluidCooler_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/WSHPwithDOASEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "VRFwithDOASEquipmentType": { + "title": "VRFwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_VRF" + ], + "type": "string" + }, + "VRFwithDOASAbridged": { + "title": "VRFwithDOASAbridged", + "description": "Variable Refrigerant Flow (VRF) with DOAS HVAC system.\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a single speed direct expansion (DX) cooling coil along with a single-speed\ndirect expansion (DX) heat pump with a backup electrical resistance coil.\n\nEach room/zone also receives its own Variable Refrigerant Flow (VRF) terminal,\nwhich meets the heating and cooling loads of the space. All room/zone terminals\nare connected to the same outdoor unit, meaning that either all rooms must be\nin cooling or heating mode together.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "VRFwithDOASAbridged", + "pattern": "^VRFwithDOASAbridged$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VRFwithDOASEquipmentType enumeration.", + "default": "DOAS_VRF", + "allOf": [ + { + "$ref": "#/components/schemas/VRFwithDOASEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "RadiantwithDOASEquipmentType": { + "title": "RadiantwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_Radiant_Chiller_Boiler", + "DOAS_Radiant_Chiller_ASHP", + "DOAS_Radiant_Chiller_DHW", + "DOAS_Radiant_ACChiller_Boiler", + "DOAS_Radiant_ACChiller_ASHP", + "DOAS_Radiant_ACChiller_DHW", + "DOAS_Radiant_DCW_Boiler", + "DOAS_Radiant_DCW_ASHP", + "DOAS_Radiant_DCW_DHW" + ], + "type": "string" + }, + "RadiantFaceTypes": { + "title": "RadiantFaceTypes", + "description": "An enumeration.", + "enum": [ + "Floor", + "Ceiling", + "FloorWithCarpet", + "CeilingMetalPanel", + "FloorWithHardwood" + ], + "type": "string" + }, + "RadiantwithDOASAbridged": { + "title": "RadiantwithDOASAbridged", + "description": "Low Temperature Radiant with DOAS HVAC system.\n\nThis HVAC template will change the floor and/or ceiling constructions\nof the Rooms that it is applied to, replacing them with a construction that\naligns with the radiant_type property (eg. CeilingMetalPanel).\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a two-speed direct expansion (DX) cooling coil and a single-speed DX\nheating coil with backup electrical resistance heat.\n\nThe heating and cooling needs of the space are met with the radiant constructions,\nwhich use chilled water at 12.8C (55F) and a hot water temperature somewhere\nbetween 32.2C (90F) and 49C (120F) (warmer temperatures are used in colder\nclimate zones).\n\nNote that radiant systems are particularly limited in cooling capacity and\nusing them may result in many unmet hours. To reduce unmet hours, one can\nremove carpets, reduce internal loads, reduce solar and envelope gains during\npeak times, add thermal mass, and use an expanded comfort range.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "RadiantwithDOASAbridged", + "pattern": "^RadiantwithDOASAbridged$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the RadiantwithDOASEquipmentType enumeration.", + "default": "DOAS_Radiant_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/RadiantwithDOASEquipmentType" + } + ] + }, + "radiant_face_type": { + "description": "Text to indicate which faces are thermally active by default. Note that this property has no effect when the rooms to which the HVAC system is assigned have constructions with internal source materials. In this case, those constructions will dictate the thermally active surfaces.", + "default": "Floor", + "allOf": [ + { + "$ref": "#/components/schemas/RadiantFaceTypes" + } + ] + }, + "minimum_operation_time": { + "title": "Minimum Operation Time", + "description": "A number for the minimum number of hours of operation for the radiant system before it shuts off.", + "default": 1.0, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "switch_over_time": { + "title": "Switch Over Time", + "description": "A number for the minimum number of hours for when the system can switch between heating and cooling.", + "default": 24.0, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "FCUEquipmentType": { + "title": "FCUEquipmentType", + "description": "An enumeration.", + "enum": [ + "FCU_Chiller_Boiler", + "FCU_Chiller_ASHP", + "FCU_Chiller_DHW", + "FCU_Chiller_ElectricBaseboard", + "FCU_Chiller_GasHeaters", + "FCU_Chiller", + "FCU_ACChiller_Boiler", + "FCU_ACChiller_ASHP", + "FCU_ACChiller_DHW", + "FCU_ACChiller_ElectricBaseboard", + "FCU_ACChiller_GasHeaters", + "FCU_ACChiller", + "FCU_DCW_Boiler", + "FCU_DCW_ASHP", + "FCU_DCW_DHW", + "FCU_DCW_ElectricBaseboard", + "FCU_DCW_GasHeaters", + "FCU_DCW" + ], + "type": "string" + }, + "FCU": { + "title": "FCU", + "description": "Fan Coil Unit (FCU) heating/cooling system (with no ventilation).\n\nEach room/zone receives its own Fan Coil Unit (FCU), which meets the heating\nand cooling loads of the space. The cooling coil in the FCU is always chilled\nwater cooling coil, which is connected to a chilled water loop operating\nat 6.7C (44F). The heating coil is a hot water coil except when when electric\nbaseboards or gas heaters are specified. Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "FCU", + "pattern": "^FCU$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the FCUEquipmentType enumeration.", + "default": "FCU_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/FCUEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "WSHPEquipmentType": { + "title": "WSHPEquipmentType", + "description": "An enumeration.", + "enum": [ + "WSHP_FluidCooler_Boiler", + "WSHP_CoolingTower_Boiler", + "WSHP_GSHP", + "WSHP_DCW_DHW" + ], + "type": "string" + }, + "WSHP": { + "title": "WSHP", + "description": "Water Source Heat Pump (WSHP) heating/cooling system (with no ventilation).\n\nEach room/zone receives its own Water Source Heat Pump (WSHP), which meets\nthe heating and cooling loads of the space. All WSHPs are connected to the\nsame water condenser loop, which has its temperature maintained by the\nequipment_type (eg. Boiler with Cooling Tower).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "WSHP", + "pattern": "^WSHP$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the WSHPEquipmentType enumeration.", + "default": "WSHP_FluidCooler_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/WSHPEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "VRFEquipmentType": { + "title": "VRFEquipmentType", + "description": "An enumeration.", + "enum": [ + "VRF" + ], + "type": "string" + }, + "VRF": { + "title": "VRF", + "description": "Variable Refrigerant Flow (VRF) heating/cooling system (with no ventilation).\n\nEach room/zone receives its own Variable Refrigerant Flow (VRF) terminal,\nwhich meets the heating and cooling loads of the space. All room/zone terminals\nare connected to the same outdoor unit, meaning that either all rooms must be\nin cooling or heating mode together.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "VRF", + "pattern": "^VRF$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VRFEquipmentType enumeration.", + "default": "VRF", + "allOf": [ + { + "$ref": "#/components/schemas/VRFEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "BaseboardEquipmentType": { + "title": "BaseboardEquipmentType", + "description": "An enumeration.", + "enum": [ + "ElectricBaseboard", + "BoilerBaseboard", + "ASHPBaseboard", + "DHWBaseboard" + ], + "type": "string" + }, + "Baseboard": { + "title": "Baseboard", + "description": "Baseboard heating system.\n\nBaseboard systems are intended for spaces only requiring heating and\nno ventilation or cooling. Each room/zone will get its own baseboard\nheating unit that satisfies the heating load.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "Baseboard", + "pattern": "^Baseboard$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the BaseboardEquipmentType enumeration.", + "default": "ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/BaseboardEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "EvaporativeCoolerEquipmentType": { + "title": "EvaporativeCoolerEquipmentType", + "description": "An enumeration.", + "enum": [ + "EvapCoolers_ElectricBaseboard", + "EvapCoolers_BoilerBaseboard", + "EvapCoolers_ASHPBaseboard", + "EvapCoolers_DHWBaseboard", + "EvapCoolers_Furnace", + "EvapCoolers_UnitHeaters", + "EvapCoolers" + ], + "type": "string" + }, + "EvaporativeCooler": { + "title": "EvaporativeCooler", + "description": "Direct evaporative cooling systems (with optional heating).\n\nEach room/zone will receive its own air loop sized to meet the sensible load,\nwhich contains an evaporative cooler that directly adds humidity to the room\nair to cool it. The loop contains an outdoor air mixer, which is used whenever\nthe outdoor air has a lower wet bulb temperature than the return air from\nthe room. In the event that the combination of outdoor and room return air\nair is too humid, a backup single-speed direct expansion (DX) cooling coil\nwill be used. Heating loads can be met with various options, including\nseveral types of baseboards, a furnace, or gas unit heaters.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "EvaporativeCooler", + "pattern": "^EvaporativeCooler$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the EvaporativeCoolerEquipmentType enumeration.", + "default": "EvapCoolers_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/EvaporativeCoolerEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ResidentialEquipmentType": { + "title": "ResidentialEquipmentType", + "description": "An enumeration.", + "enum": [ + "ResidentialAC_ElectricBaseboard", + "ResidentialAC_BoilerBaseboard", + "ResidentialAC_ASHPBaseboard", + "ResidentialAC_DHWBaseboard", + "ResidentialAC_ResidentialFurnace", + "ResidentialAC", + "ResidentialHP", + "ResidentialHPNoCool", + "ResidentialFurnace" + ], + "type": "string" + }, + "Residential": { + "title": "Residential", + "description": "Residential Air Conditioning, Heat Pump or Furnace system.\n\nResidential HVAC systems are intended primarily for single-family homes and\ninclude a wide variety of options. In all cases, each room/zone will receive\nits own air loop WITHOUT an outdoor air inlet (air is simply being recirculated\nthrough the loop). Residential air conditioning (AC) systems are modeled\nusing a unitary system with a single-speed direct expansion (DX) cooling\ncoil in the loop. Residential heat pump (HP) systems use a single-speed DX\nheating coil in the unitary system and the residential furnace option uses\na gas coil in the unitary system. In all cases, the properties of these coils\nare set to reflect a typical residential system.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "Residential", + "pattern": "^Residential$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the ResidentialEquipmentType enumeration.", + "default": "ResidentialAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/ResidentialEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "WindowACEquipmentType": { + "title": "WindowACEquipmentType", + "description": "An enumeration.", + "enum": [ + "WindowAC_ElectricBaseboard", + "WindowAC_BoilerBaseboard", + "WindowAC_ASHPBaseboard", + "WindowAC_DHWBaseboard", + "WindowAC_Furnace", + "WindowAC_GasHeaters", + "WindowAC" + ], + "type": "string" + }, + "WindowAC": { + "title": "WindowAC", + "description": "Window Air Conditioning cooling system (with optional heating).\n\nEach room/zone will receive its own Packaged Terminal Air Conditioner (PTAC)\nwith properties set to reflect a typical window air conditioning (AC) unit.\nNo ventilation air is supplied by the unit and the cooling coil within the\nunit is a single-speed direct expansion (DX) cooling coil. Heating loads\ncan be met with various options, including several types of baseboards,\na furnace, or gas unit heaters.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "WindowAC", + "pattern": "^WindowAC$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the WindowACEquipmentType enumeration.", + "default": "WindowAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/WindowACEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "GasUnitHeaterEquipmentType": { + "title": "GasUnitHeaterEquipmentType", + "description": "An enumeration.", + "enum": [ + "GasHeaters" + ], + "type": "string" + }, + "GasUnitHeater": { + "title": "GasUnitHeater", + "description": "Gas unit heating system.\n\nGas unit systems are intended for spaces only requiring heating and no\nventilation or cooling. Each room/zone will get its own gaa heating unit\nthat satisfies the heating load.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "GasUnitHeater", + "pattern": "^GasUnitHeater$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the GasUnitHeaterEquipmentType enumeration.", + "default": "GasHeaters", + "allOf": [ + { + "$ref": "#/components/schemas/GasUnitHeaterEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "RadiantEquipmentType": { + "title": "RadiantEquipmentType", + "description": "An enumeration.", + "enum": [ + "Radiant_Chiller_Boiler", + "Radiant_Chiller_ASHP", + "Radiant_Chiller_DHW", + "Radiant_ACChiller_Boiler", + "Radiant_ACChiller_ASHP", + "Radiant_ACChiller_DHW", + "Radiant_DCW_Boiler", + "Radiant_DCW_ASHP", + "Radiant_DCW_DHW" + ], + "type": "string" + }, + "Radiant": { + "title": "Radiant", + "description": "Low temperature radiant HVAC system.\n\nThis HVAC template will change the floor and/or ceiling constructions\nof the Rooms that it is applied to, replacing them with a construction that\naligns with the radiant_type property (eg. CeilingMetalPanel).\n\nThe heating and cooling needs of the space are met with the radiant constructions,\nwhich use chilled water at 12.8C (55F) and a hot water temperature somewhere\nbetween 32.2C (90F) and 49C (120F) (warmer temperatures are used in colder\nclimate zones).\n\nNote that radiant systems are particularly limited in cooling capacity and\nusing them may result in many unmet hours. To reduce unmet hours, one can\nremove carpets, reduce internal loads, reduce solar and envelope gains during\npeak times, add thermal mass, and use an expanded comfort range.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "Radiant", + "pattern": "^Radiant$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the RadiantEquipmentType enumeration.", + "default": "Radiant_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/RadiantEquipmentType" + } + ] + }, + "radiant_face_type": { + "description": "Text to indicate which faces are thermally active by default. Note that this property has no effect when the rooms to which the HVAC system is assigned have constructions with internal source materials. In this case, those constructions will dictate the thermally active surfaces.", + "default": "Floor", + "allOf": [ + { + "$ref": "#/components/schemas/RadiantFaceTypes" + } + ] + }, + "minimum_operation_time": { + "title": "Minimum Operation Time", + "description": "A number for the minimum number of hours of operation for the radiant system before it shuts off.", + "default": 1.0, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "switch_over_time": { + "title": "Switch Over Time", + "description": "A number for the minimum number of hours for when the system can switch between heating and cooling.", + "default": 24.0, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "DetailedHVAC": { + "title": "DetailedHVAC", + "description": "Detailed HVAC system object defined using IronBug or OpenStudio .NET bindings.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "specification": { + "title": "Specification", + "description": "A JSON-serializable dictionary representing the full specification of the detailed system. This can be obtained by calling the ToJson() method on any IronBug HVAC system and then serializing the resulting JSON string into a Python dictionary using the native Python json package. Note that the Rooms that the HVAC is assigned to must be specified as ThermalZones under this specification in order for the resulting Model this HVAC is a part of to be valid.", + "type": "object" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "DetailedHVAC", + "pattern": "^DetailedHVAC$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "identifier", + "specification" + ], + "additionalProperties": false + }, + "SHWEquipmentType": { + "title": "SHWEquipmentType", + "description": "An enumeration.", + "enum": [ + "Gas_WaterHeater", + "Electric_WaterHeater", + "HeatPump_WaterHeater", + "Gas_TanklessHeater", + "Electric_TanklessHeater" + ], + "type": "string" + }, + "SHWSystem": { + "title": "SHWSystem", + "description": "Provides a model for a Service Hot Water system.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "SHWSystem", + "pattern": "^SHWSystem$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text to indicate the type of air-side economizer used on the ideal air system. Economizers will mix in a greater amount of outdoor air to cool the zone (rather than running the cooling system) when the zone needs cooling and the outdoor air is cooler than the zone.", + "default": "Gas_WaterHeater", + "allOf": [ + { + "$ref": "#/components/schemas/SHWEquipmentType" + } + ] + }, + "heater_efficiency": { + "title": "Heater Efficiency", + "description": "A number for the efficiency of the heater within the system. For Gas systems, this is the efficiency of the burner. For HeatPump systems, this is the rated COP of the system. For electric systems, this should usually be set to 1. If set to Autocalculate, this value will automatically be set based on the equipment_type. Gas_WaterHeater - 0.8, Electric_WaterHeater - 1.0, HeatPump_WaterHeater - 3.5, Gas_TanklessHeater - 0.8, Electric_TanklessHeater - 1.0.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "$ref": "#/components/schemas/Autocalculate" + } + ] + }, + "ambient_condition": { + "title": "Ambient Condition", + "description": "A number for the ambient temperature in which the hot water tank is located [C]. This can also be the identifier of a Room in which the tank is located.", + "default": 22, + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "ambient_loss_coefficient": { + "title": "Ambient Loss Coefficient", + "description": "A number for the loss of heat from the water heater tank to the surrounding ambient conditions [W/K].", + "default": 6, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ProgramTypeAbridged": { + "title": "ProgramTypeAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ProgramTypeAbridged", + "pattern": "^ProgramTypeAbridged$", + "type": "string", + "readOnly": true + }, + "people": { + "title": "People", + "description": "People to describe the occupancy of the program. If None, no occupancy will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/PeopleAbridged" + } + ] + }, + "lighting": { + "title": "Lighting", + "description": "Lighting to describe the lighting usage of the program. If None, no lighting will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/LightingAbridged" + } + ] + }, + "electric_equipment": { + "title": "Electric Equipment", + "description": "ElectricEquipment to describe the usage of electric equipment within the program. If None, no electric equipment will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/ElectricEquipmentAbridged" + } + ] + }, + "gas_equipment": { + "title": "Gas Equipment", + "description": "GasEquipment to describe the usage of gas equipment within the program. If None, no gas equipment will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/GasEquipmentAbridged" + } + ] + }, + "service_hot_water": { + "title": "Service Hot Water", + "description": "ServiceHotWater object to describe the usage of hot water within the program. If None, no hot water will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/ServiceHotWaterAbridged" + } + ] + }, + "infiltration": { + "title": "Infiltration", + "description": "Infiltration to describe the outdoor air leakage of the program. If None, no infiltration will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/InfiltrationAbridged" + } + ] + }, + "ventilation": { + "title": "Ventilation", + "description": "Ventilation to describe the minimum outdoor air requirement of the program. If None, no ventilation requirement will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationAbridged" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "Setpoint object to describe the temperature and humidity setpoints of the program. If None, the ProgramType cannot be assigned to a Room that is conditioned.", + "allOf": [ + { + "$ref": "#/components/schemas/SetpointAbridged" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "People": { + "title": "People", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "people_per_area": { + "title": "People Per Area", + "description": "People per floor area expressed as [people/m2]", + "minimum": 0, + "type": "number", + "format": "double" + }, + "occupancy_schedule": { + "title": "Occupancy Schedule", + "description": "A schedule for the occupancy over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the people_per_area to yield a complete occupancy profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "People", + "pattern": "^People$", + "type": "string", + "readOnly": true + }, + "activity_schedule": { + "title": "Activity Schedule", + "description": "A schedule for the activity of the occupants over the course of the year. The type of this schedule should be ActivityLevel and the values of the schedule equal to the number of Watts given off by an individual person in the room. If None, a default constant schedule with 120 Watts per person will be used, which is typical of awake, adult humans who are seated.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The radiant fraction of sensible heat released by people. (Default: 0.3).", + "default": 0.3, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the latent fraction of heat gain due to people or an Autocalculate object.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + } + }, + "required": [ + "identifier", + "people_per_area", + "occupancy_schedule" + ], + "additionalProperties": false + }, + "Lighting": { + "title": "Lighting", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "watts_per_area": { + "title": "Watts Per Area", + "description": "Lighting per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of lights over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete lighting profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Lighting", + "pattern": "^Lighting$", + "type": "string", + "readOnly": true + }, + "visible_fraction": { + "title": "Visible Fraction", + "description": "The fraction of heat from lights that goes into the zone as visible (short-wave) radiation. (Default: 0.25).", + "default": 0.25, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The fraction of heat from lights that is long-wave radiation. (Default: 0.32).", + "default": 0.32, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "return_air_fraction": { + "title": "Return Air Fraction", + "description": "The fraction of the heat from lights that goes into the zone return air. (Default: 0).", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "baseline_watts_per_area": { + "title": "Baseline Watts Per Area", + "description": "The baseline lighting power density in [W/m2] of floor area. This baseline is useful to track how much better the installed lights are in comparison to a standard like ASHRAE 90.1. If set to None, it will default to 11.84029 W/m2, which is that ASHRAE 90.1-2004 baseline for an office.", + "default": 11.84029, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "watts_per_area", + "schedule" + ], + "additionalProperties": false + }, + "ElectricEquipment": { + "title": "ElectricEquipment", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "ElectricEquipment", + "pattern": "^ElectricEquipment$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "identifier", + "watts_per_area", + "schedule" + ], + "additionalProperties": false + }, + "GasEquipment": { + "title": "GasEquipment", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "GasEquipment", + "pattern": "^GasEquipment$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "identifier", + "watts_per_area", + "schedule" + ], + "additionalProperties": false + }, + "ServiceHotWater": { + "title": "ServiceHotWater", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "flow_per_area": { + "title": "Flow Per Area", + "description": "Number for the total volume flow rate of water per unit area of floor [L/h-m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of hot water over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_area to yield a complete water usage profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ServiceHotWater", + "pattern": "^ServiceHotWater$", + "type": "string", + "readOnly": true + }, + "target_temperature": { + "title": "Target Temperature", + "description": "Number for the target temperature of water out of the tap (C). This the temperature after hot water has been mixed with cold water from the water mains. The default is 60C, which essentially assumes that the flow_per_area on this object is only for water straight out of the water heater.", + "default": 60, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "sensible_fraction": { + "title": "Sensible Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load given off as sensible heat in the zone.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load that is latent.", + "default": 0.05, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "flow_per_area", + "schedule" + ], + "additionalProperties": false + }, + "Infiltration": { + "title": "Infiltration", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "flow_per_exterior_area": { + "title": "Flow Per Exterior Area", + "description": "Number for the infiltration per exterior surface area in m3/s-m2.", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the infiltration over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_exterior_area to yield a complete infiltration profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Infiltration", + "pattern": "^Infiltration$", + "type": "string", + "readOnly": true + }, + "constant_coefficient": { + "title": "Constant Coefficient", + "default": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "temperature_coefficient": { + "title": "Temperature Coefficient", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "velocity_coefficient": { + "title": "Velocity Coefficient", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "flow_per_exterior_area", + "schedule" + ], + "additionalProperties": false + }, + "Ventilation": { + "title": "Ventilation", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Ventilation", + "pattern": "^Ventilation$", + "type": "string", + "readOnly": true + }, + "flow_per_person": { + "title": "Flow Per Person", + "description": "Intensity of ventilation in[] m3/s per person]. Note that setting this value does not mean that ventilation is varied based on real-time occupancy but rather that the design level of ventilation is determined using this value and the People object of the Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_per_area": { + "title": "Flow Per Area", + "description": "Intensity of ventilation in [m3/s per m2 of floor area].", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "air_changes_per_hour": { + "title": "Air Changes Per Hour", + "description": "Intensity of ventilation in air changes per hour (ACH) for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_per_zone": { + "title": "Flow Per Zone", + "description": "Intensity of ventilation in m3/s for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Schedule for the ventilation over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the total design flow rate (determined from the sum of the other 4 fields) to yield a complete ventilation profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Setpoint": { + "title": "Setpoint", + "description": "Used to specify information about the setpoint schedule.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "cooling_schedule": { + "title": "Cooling Schedule", + "description": "Schedule for the cooling setpoint. The values in this schedule should be temperature in [C].", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "heating_schedule": { + "title": "Heating Schedule", + "description": "Schedule for the heating setpoint. The values in this schedule should be temperature in [C].", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Setpoint", + "pattern": "^Setpoint$", + "type": "string", + "readOnly": true + }, + "humidifying_schedule": { + "title": "Humidifying Schedule", + "description": "Schedule for the humidification setpoint. The values in this schedule should be in [%].", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "dehumidifying_schedule": { + "title": "Dehumidifying Schedule", + "description": "Schedule for the dehumidification setpoint. The values in this schedule should be in [%].", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "setpoint_cutout_difference": { + "title": "Setpoint Cutout Difference", + "description": "An optional positive number for the temperature difference between the cutout temperature and the setpoint temperature. Specifying a non-zero number here is useful for modeling the throttling range associated with a given setup of setpoint controls and HVAC equipment. Throttling ranges describe the range where a zone is slightly over-cooled or over-heated beyond the thermostat setpoint. They are used to avoid situations where HVAC systems turn on only to turn off a few minutes later, thereby wearing out the parts of mechanical systems faster. They can have a minor impact on energy consumption and can often have significant impacts on occupant thermal comfort, though using the default value of zero will often yield results that are close enough when trying to estimate the annual heating/cooling energy use. Specifying a value of zero effectively assumes that the system will turn on whenever conditions are outside the setpoint range and will cut out as soon as the setpoint is reached.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "cooling_schedule", + "heating_schedule" + ], + "additionalProperties": false + }, + "ProgramType": { + "title": "ProgramType", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ProgramType", + "pattern": "^ProgramType$", + "type": "string", + "readOnly": true + }, + "people": { + "title": "People", + "description": "People to describe the occupancy of the program. If None, no occupancy will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/People" + } + ] + }, + "lighting": { + "title": "Lighting", + "description": "Lighting to describe the lighting usage of the program. If None, no lighting will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/Lighting" + } + ] + }, + "electric_equipment": { + "title": "Electric Equipment", + "description": "ElectricEquipment to describe the usage of electric equipment within the program. If None, no electric equipment will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/ElectricEquipment" + } + ] + }, + "gas_equipment": { + "title": "Gas Equipment", + "description": "GasEquipment to describe the usage of gas equipment within the program. If None, no gas equipment will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/GasEquipment" + } + ] + }, + "service_hot_water": { + "title": "Service Hot Water", + "description": "ServiceHotWater object to describe the usage of hot water within the program. If None, no hot water will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/ServiceHotWater" + } + ] + }, + "infiltration": { + "title": "Infiltration", + "description": "Infiltration to describe the outdoor air leakage of the program. If None, no infiltration will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/Infiltration" + } + ] + }, + "ventilation": { + "title": "Ventilation", + "description": "Ventilation to describe the minimum outdoor air requirement of the program. If None, no ventilation requirement will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/Ventilation" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "Setpoint object to describe the temperature and humidity setpoints of the program. If None, the ProgramType cannot be assigned to a Room that is conditioned.", + "allOf": [ + { + "$ref": "#/components/schemas/Setpoint" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ScheduleRulesetAbridged": { + "title": "ScheduleRulesetAbridged", + "description": "Used to define a schedule for a default day, further described by ScheduleRule.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "day_schedules": { + "title": "Day Schedules", + "description": "A list of ScheduleDays that are referenced in the other keys of this ScheduleRulesetAbridged.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleDay" + } + }, + "default_day_schedule": { + "title": "Default Day Schedule", + "description": "An identifier for the ScheduleDay that will be used for all days when no ScheduleRule is applied. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ScheduleRulesetAbridged", + "pattern": "^ScheduleRulesetAbridged$", + "type": "string", + "readOnly": true + }, + "schedule_rules": { + "title": "Schedule Rules", + "description": "A list of ScheduleRuleAbridged that note exceptions to the default_day_schedule. These rules should be ordered from highest to lowest priority.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleRuleAbridged" + } + }, + "holiday_schedule": { + "title": "Holiday Schedule", + "description": "An identifier for the ScheduleDay that will be used for holidays. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "summer_designday_schedule": { + "title": "Summer Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the summer design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "winter_designday_schedule": { + "title": "Winter Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the winter design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "Identifier of a ScheduleTypeLimit that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier", + "day_schedules", + "default_day_schedule" + ], + "additionalProperties": false + }, + "ScheduleFixedIntervalAbridged": { + "title": "ScheduleFixedIntervalAbridged", + "description": "Used to specify a start date and a list of values for a period of analysis.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "values": { + "title": "Values", + "description": "A list of timeseries values occuring at each timestep over the course of the simulation.", + "minItems": 24, + "maxItems": 527040, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ScheduleFixedIntervalAbridged", + "pattern": "^ScheduleFixedIntervalAbridged$", + "type": "string", + "readOnly": true + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "Identifier of a ScheduleTypeLimit that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "timestep": { + "title": "Timestep", + "description": "An integer for the number of steps per hour that the input values correspond to. For example, if each value represents 30 minutes, the timestep is 2. For 15 minutes, it is 4.", + "default": 1, + "type": "integer", + "format": "int32" + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the start date when the schedule values begin to take effect.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "placeholder_value": { + "title": "Placeholder Value", + "description": " A value that will be used for all times not covered by the input values. Typically, your simulation should not need to use this value if the input values completely cover the simulation period.", + "default": 0, + "type": "number", + "format": "double" + }, + "interpolate": { + "title": "Interpolate", + "description": "Boolean to note whether values in between intervals should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "identifier", + "values" + ], + "additionalProperties": false + }, + "VentilationControlType": { + "title": "VentilationControlType", + "description": "An enumeration.", + "enum": [ + "SingleZone", + "MultiZoneWithDistribution", + "MultiZoneWithoutDistribution" + ], + "type": "string" + }, + "BuildingType": { + "title": "BuildingType", + "description": "An enumeration.", + "enum": [ + "LowRise", + "HighRise" + ], + "type": "string" + }, + "VentilationSimulationControl": { + "title": "VentilationSimulationControl", + "description": "The global parameters used in the ventilation simulation.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationSimulationControl", + "pattern": "^VentilationSimulationControl$", + "type": "string", + "readOnly": true + }, + "vent_control_type": { + "description": "Text indicating type of ventilation control. Choices are: SingleZone, MultiZoneWithDistribution, MultiZoneWithoutDistribution. The MultiZone options will model air flow with the AirflowNetwork model, which is generally more accurate then the SingleZone option, but will take considerably longer to simulate, and requires defining more ventilation parameters to explicitly account for weather and building-induced pressure differences, and the leakage geometry corresponding to specific windows, doors, and surface cracks.", + "default": "SingleZone", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationControlType" + } + ] + }, + "reference_temperature": { + "title": "Reference Temperature", + "description": "Reference temperature measurement in Celsius under which the surface crack data were obtained.", + "default": 20, + "minimum": -273.15, + "type": "number", + "format": "double" + }, + "reference_pressure": { + "title": "Reference Pressure", + "description": "Reference barometric pressure measurement in Pascals under which the surface crack data were obtained.", + "default": 101325, + "minimum": 31000, + "maximum": 120000, + "type": "number", + "format": "double" + }, + "reference_humidity_ratio": { + "title": "Reference Humidity Ratio", + "description": "Reference humidity ratio measurement in kgWater/kgDryAir under which the surface crack data were obtained.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "building_type": { + "description": "Text indicating relationship between building footprint and height used to calculate the wind pressure coefficients for exterior surfaces.Choices are: LowRise and HighRise. LowRise corresponds to rectangular building whose height is less then three times the width and length of the footprint. HighRise corresponds to a rectangular building whose height is more than three times the width and length of the footprint. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.", + "default": "LowRise", + "allOf": [ + { + "$ref": "#/components/schemas/BuildingType" + } + ] + }, + "long_axis_angle": { + "title": "Long Axis Angle", + "description": "The clockwise rotation in degrees from true North of the long axis of the building. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.", + "default": 0, + "minimum": 0, + "maximum": 180, + "type": "number", + "format": "double" + }, + "aspect_ratio": { + "title": "Aspect Ratio", + "description": "Aspect ratio of a rectangular footprint, defined as the ratio of length of the short axis divided by the length of the long axis. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.", + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + }, + "ElectricLoadCenter": { + "title": "ElectricLoadCenter", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ElectricLoadCenter", + "pattern": "^ElectricLoadCenter$", + "type": "string", + "readOnly": true + }, + "inverter_efficiency": { + "title": "Inverter Efficiency", + "description": "A number between 0 and 1 for the load center inverter nominal rated DC-to-AC conversion efficiency. An inverter converts DC power, such as that output by photovoltaic panels, to AC power, such as that distributed by the electrical grid and is available from standard electrical outlets. Inverter efficiency is defined as the inverter rated AC power output divided by its rated DC power output.", + "default": 0.96, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "inverter_dc_to_ac_size_ratio": { + "title": "Inverter Dc To Ac Size Ratio", + "description": "A positive number (typically greater than 1) for the ratio of the inverter DC rated size to its AC rated size. Typically, inverters are not sized to convert the full DC output under standard test conditions (STC) as such conditions rarely occur in reality and therefore unnecessarily add to the size/cost of the inverter. For a system with a high DC to AC size ratio, during times when the DC power output exceeds the inverter rated DC input size, the inverter limits the power output by increasing the DC operating voltage, which moves the arrays operating point down its current-voltage (I-V) curve. In EnergyPlus, this is accomplished by simply limiting the system output to the AC size as dictated by the ratio. The default value of 1.1 is reasonable for most systems. A typical range is 1.1 to 1.25, although some large-scale systems have ratios of as high as 1.5. The optimal value depends on the system location, array orientation, and module cost.", + "default": 1.1, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + }, + "ModelEnergyProperties": { + "title": "ModelEnergyProperties", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModelEnergyProperties", + "pattern": "^ModelEnergyProperties$", + "type": "string", + "readOnly": true + }, + "global_construction_set": { + "title": "Global Construction Set", + "description": "Global Energy construction set.", + "default": { + "type": "GlobalConstructionSet", + "materials": [ + { + "identifier": "Generic Roof Membrane", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.01, + "conductivity": 0.16, + "density": 1120.0, + "specific_heat": 1460.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic Acoustic Tile", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.02, + "conductivity": 0.06, + "density": 368.0, + "specific_heat": 590.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.2, + "visible_absorptance": 0.2 + }, + { + "identifier": "Generic 25mm Wood", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0254, + "conductivity": 0.15, + "density": 608.0, + "specific_heat": 1630.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic HW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.2, + "conductivity": 1.95, + "density": 2240.0, + "specific_heat": 900.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic Window Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGas", + "thickness": 0.0127, + "gas_type": "Air" + }, + { + "identifier": "Generic Gypsum Board", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0127, + "conductivity": 0.16, + "density": 800.0, + "specific_heat": 1090.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic Wall Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.667, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Ceiling Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.556, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Brick", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.9, + "density": 1920.0, + "specific_heat": 790.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic 50mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.05, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Low-e Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.45, + "solar_reflectance": 0.36, + "solar_reflectance_back": 0.36, + "visible_transmittance": 0.71, + "visible_reflectance": 0.21, + "visible_reflectance_back": 0.21, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.047, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + }, + { + "identifier": "Generic Painted Metal", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.0015, + "conductivity": 45.0, + "density": 7690.0, + "specific_heat": 410.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic LW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.53, + "density": 1280.0, + "specific_heat": 840.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic 25mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.025, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Clear Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.77, + "solar_reflectance": 0.07, + "solar_reflectance_back": 0.07, + "visible_transmittance": 0.88, + "visible_reflectance": 0.08, + "visible_reflectance_back": 0.08, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.84, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + } + ], + "constructions": [ + { + "identifier": "Generic Interior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 25mm Wood" + ] + }, + { + "identifier": "Generic Single Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Shade", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.35, + "visible_reflectance": 0.35, + "is_specular": false + }, + { + "identifier": "Generic Context", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.2, + "visible_reflectance": 0.2, + "is_specular": false + }, + { + "identifier": "Generic Interior Ceiling", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Interior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Gypsum Board", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Exposed Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic Ceiling Air Gap", + "Generic 50mm Insulation", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Interior Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Acoustic Tile", + "Generic Ceiling Air Gap", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Ground Slab", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete" + ] + }, + { + "identifier": "Generic Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Roof Membrane", + "Generic 50mm Insulation", + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Exterior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Brick", + "Generic LW Concrete", + "Generic 50mm Insulation", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Underground Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Air Boundary", + "display_name": null, + "user_data": null, + "type": "AirBoundaryConstructionAbridged", + "air_mixing_per_area": 0.1, + "air_mixing_schedule": "Always On" + }, + { + "identifier": "Generic Underground Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Double Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Low-e Glass", + "Generic Window Air Gap", + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Exterior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic 25mm Insulation", + "Generic Painted Metal" + ] + } + ], + "wall_set": { + "interior_construction": "Generic Interior Wall", + "exterior_construction": "Generic Exterior Wall", + "ground_construction": "Generic Underground Wall", + "type": "WallConstructionSetAbridged" + }, + "floor_set": { + "interior_construction": "Generic Interior Floor", + "exterior_construction": "Generic Exposed Floor", + "ground_construction": "Generic Ground Slab", + "type": "FloorConstructionSetAbridged" + }, + "roof_ceiling_set": { + "interior_construction": "Generic Interior Ceiling", + "exterior_construction": "Generic Roof", + "ground_construction": "Generic Underground Roof", + "type": "RoofCeilingConstructionSetAbridged" + }, + "aperture_set": { + "type": "ApertureConstructionSetAbridged", + "interior_construction": "Generic Single Pane", + "window_construction": "Generic Double Pane", + "skylight_construction": "Generic Double Pane", + "operable_construction": "Generic Double Pane" + }, + "door_set": { + "type": "DoorConstructionSetAbridged", + "interior_construction": "Generic Interior Door", + "exterior_construction": "Generic Exterior Door", + "overhead_construction": "Generic Exterior Door", + "exterior_glass_construction": "Generic Double Pane", + "interior_glass_construction": "Generic Single Pane" + }, + "shade_construction": "Generic Shade", + "context_construction": "Generic Context", + "air_boundary_construction": "Generic Air Boundary" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/GlobalConstructionSet" + } + ] + }, + "construction_sets": { + "title": "Construction Sets", + "description": "List of all unique ConstructionSets in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ConstructionSetAbridged" + }, + { + "$ref": "#/components/schemas/ConstructionSet" + } + ] + } + }, + "constructions": { + "title": "Constructions", + "description": "A list of all unique constructions in the model. This includes constructions across all Faces, Apertures, Doors, Shades, Room ConstructionSets, and the global_construction_set.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/OpaqueConstructionAbridged" + }, + { + "$ref": "#/components/schemas/WindowConstructionAbridged" + }, + { + "$ref": "#/components/schemas/WindowConstructionShadeAbridged" + }, + { + "$ref": "#/components/schemas/AirBoundaryConstructionAbridged" + }, + { + "$ref": "#/components/schemas/OpaqueConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamicAbridged" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + }, + { + "$ref": "#/components/schemas/AirBoundaryConstruction" + }, + { + "$ref": "#/components/schemas/ShadeConstruction" + } + ] + } + }, + "materials": { + "title": "Materials", + "description": "A list of all unique materials in the model. This includes materials needed to make the Model constructions.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyMaterial" + }, + { + "$ref": "#/components/schemas/EnergyMaterialNoMass" + }, + { + "$ref": "#/components/schemas/EnergyMaterialVegetation" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGlazing" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialSimpleGlazSys" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGas" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGasMixture" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGasCustom" + }, + { + "$ref": "#/components/schemas/EnergyWindowFrame" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialBlind" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialShade" + } + ] + } + }, + "hvacs": { + "title": "Hvacs", + "description": "List of all unique HVAC systems in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/IdealAirSystemAbridged" + }, + { + "$ref": "#/components/schemas/VAV" + }, + { + "$ref": "#/components/schemas/PVAV" + }, + { + "$ref": "#/components/schemas/PSZ" + }, + { + "$ref": "#/components/schemas/PTAC" + }, + { + "$ref": "#/components/schemas/ForcedAirFurnace" + }, + { + "$ref": "#/components/schemas/FCUwithDOASAbridged" + }, + { + "$ref": "#/components/schemas/WSHPwithDOASAbridged" + }, + { + "$ref": "#/components/schemas/VRFwithDOASAbridged" + }, + { + "$ref": "#/components/schemas/RadiantwithDOASAbridged" + }, + { + "$ref": "#/components/schemas/FCU" + }, + { + "$ref": "#/components/schemas/WSHP" + }, + { + "$ref": "#/components/schemas/VRF" + }, + { + "$ref": "#/components/schemas/Baseboard" + }, + { + "$ref": "#/components/schemas/EvaporativeCooler" + }, + { + "$ref": "#/components/schemas/Residential" + }, + { + "$ref": "#/components/schemas/WindowAC" + }, + { + "$ref": "#/components/schemas/GasUnitHeater" + }, + { + "$ref": "#/components/schemas/Radiant" + }, + { + "$ref": "#/components/schemas/DetailedHVAC" + } + ] + } + }, + "shws": { + "title": "Shws", + "description": "List of all unique Service Hot Water (SHW) systems in the Model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SHWSystem" + } + }, + "program_types": { + "title": "Program Types", + "description": "List of all unique ProgramTypes in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProgramTypeAbridged" + }, + { + "$ref": "#/components/schemas/ProgramType" + } + ] + } + }, + "schedules": { + "title": "Schedules", + "description": "A list of all unique schedules in the model. This includes schedules across all HVAC systems, ProgramTypes, Rooms, and Shades.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRulesetAbridged" + }, + { + "$ref": "#/components/schemas/ScheduleFixedIntervalAbridged" + }, + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + } + }, + "schedule_type_limits": { + "title": "Schedule Type Limits", + "description": "A list of all unique ScheduleTypeLimits in the model. This all ScheduleTypeLimits needed to make the Model schedules.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleTypeLimit" + } + }, + "ventilation_simulation_control": { + "title": "Ventilation Simulation Control", + "description": "An optional parameter to define the global parameters for a ventilation cooling.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationSimulationControl" + } + ] + }, + "electric_load_center": { + "title": "Electric Load Center", + "description": "An optional parameter object that defines the properties of the model electric loads center that manages on site electricity generation and conversion.", + "allOf": [ + { + "$ref": "#/components/schemas/ElectricLoadCenter" + } + ] + } + }, + "additionalProperties": false + }, + "Void": { + "title": "Void", + "description": "Void modifier", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Void", + "pattern": "^Void$", + "type": "string", + "readOnly": true + } + } + }, + "Mirror": { + "title": "Mirror", + "description": "Radiance mirror material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Mirror", + "pattern": "^Mirror$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "alternate_material": { + "title": "Alternate Material", + "description": "An optional material (like the illum type) that may be used to specify a different material to be used for shading non-source rays. If None, this will keep the alternat_material as mirror. If this alternate material is given as Void, then the mirror surface will be invisible. Using Void is only appropriate if the surface hides other (more detailed) geometry with the same overall reflectance.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Metal": { + "title": "Metal", + "description": "Radiance metal material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Metal", + "pattern": "^Metal$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "specularity": { + "title": "Specularity", + "description": "A value between 0 and 1 for the fraction of specularity. Specularity fractions lower than 0.9 are not realistic for metallic materials.", + "default": 0.9, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "roughness": { + "title": "Roughness", + "description": "A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Trans": { + "title": "Trans", + "description": "Radiance Translucent material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Trans", + "pattern": "^Trans$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "specularity": { + "title": "Specularity", + "description": "A value between 0 and 1 for the fraction of specularity. Specularity fractions greater than 0.1 are not realistic for non-metallic materials.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "roughness": { + "title": "Roughness", + "description": "A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "transmitted_diff": { + "title": "Transmitted Diff", + "description": "The fraction of transmitted light that is transmitted diffusely in a scattering fashion.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "transmitted_spec": { + "title": "Transmitted Spec", + "description": "The fraction of transmitted light that is not diffusely scattered.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Light": { + "title": "Light", + "description": "Radiance Light material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Light", + "pattern": "^Light$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_emittance": { + "title": "R Emittance", + "description": "A value between 0 and 1 for the red channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_emittance": { + "title": "G Emittance", + "description": "A value between 0 and 1 for the green channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_emittance": { + "title": "B Emittance", + "description": "A value between 0 and 1 for the blue channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Glow": { + "title": "Glow", + "description": "Radiance Glow material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Glow", + "pattern": "^Glow$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_emittance": { + "title": "R Emittance", + "description": "A value between 0 and 1 for the red channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_emittance": { + "title": "G Emittance", + "description": "A value between 0 and 1 for the green channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_emittance": { + "title": "B Emittance", + "description": "A value between 0 and 1 for the blue channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "max_radius": { + "title": "Max Radius", + "description": "Maximum radius for shadow testing. Objects with zero radius are permissable and may participate in interreflection calculation (though they are not representative of real light sources). Negative values will never contribute to scene illumination.", + "default": 0, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "BSDF": { + "title": "BSDF", + "description": "Radiance BSDF (Bidirectional Scattering Distribution Function) material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "bsdf_data": { + "title": "Bsdf Data", + "description": "A string with the contents of the BSDF XML file.", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "BSDF", + "pattern": "^BSDF$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "up_orientation": { + "title": "Up Orientation", + "description": "Vector as sequence that sets the hemisphere that the BSDF material faces.", + "default": [ + 0.01, + 0.01, + 1.0 + ], + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "thickness": { + "title": "Thickness", + "description": "Optional number to set the thickness of the BSDF material Sign of thickness indicates whether proxied geometry is behind the BSDF surface (when thickness is positive) or in front (when thickness is negative).", + "default": 0, + "type": "number", + "format": "double" + }, + "function_file": { + "title": "Function File", + "description": "Optional input for function file. Using \".\" will ensure that BSDF data is written to the root of wherever a given study is run.", + "default": ".", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "transform": { + "title": "Transform", + "description": "Optional transform input to scale the thickness and reorient the up vector.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "front_diffuse_reflectance": { + "title": "Front Diffuse Reflectance", + "description": "Optional additional front diffuse reflectance as sequence of three RGB numbers.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "back_diffuse_reflectance": { + "title": "Back Diffuse Reflectance", + "description": "Optional additional back diffuse reflectance as sequence of three RGB numbers.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "diffuse_transmittance": { + "title": "Diffuse Transmittance", + "description": "Optional additional diffuse transmittance as sequence of three RGB numbers.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + }, + "required": [ + "identifier", + "bsdf_data" + ], + "additionalProperties": false + }, + "Glass": { + "title": "Glass", + "description": "Radiance glass material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Glass", + "pattern": "^Glass$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_transmissivity": { + "title": "R Transmissivity", + "description": "A value between 0 and 1 for the red channel transmissivity.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_transmissivity": { + "title": "G Transmissivity", + "description": "A value between 0 and 1 for the green channel transmissivity.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_transmissivity": { + "title": "B Transmissivity", + "description": "A value between 0 and 1 for the blue channel transmissivity.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "refraction_index": { + "title": "Refraction Index", + "description": "A value greater than 1 for the index of refraction. Typical values are 1.52 for float glass and 1.4 for ETFE.", + "default": 1.52, + "exclusiveMinimum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Plastic": { + "title": "Plastic", + "description": "Radiance plastic material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Plastic", + "pattern": "^Plastic$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "specularity": { + "title": "Specularity", + "description": "A value between 0 and 1 for the fraction of specularity. Specularity fractions greater than 0.1 are not realistic for non-metallic materials.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "roughness": { + "title": "Roughness", + "description": "A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "WallModifierSetAbridged": { + "title": "WallModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Walls.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "Identifier for a radiance modifier object for faces with an Outdoors boundary condition.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "WallModifierSetAbridged", + "pattern": "^WallModifierSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "FloorModifierSetAbridged": { + "title": "FloorModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Floors.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "Identifier for a radiance modifier object for faces with an Outdoors boundary condition.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "FloorModifierSetAbridged", + "pattern": "^FloorModifierSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "RoofCeilingModifierSetAbridged": { + "title": "RoofCeilingModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Roofs.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "Identifier for a radiance modifier object for faces with an Outdoors boundary condition.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "RoofCeilingModifierSetAbridged", + "pattern": "^RoofCeilingModifierSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "ApertureModifierSetAbridged": { + "title": "ApertureModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Apertures.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureModifierSetAbridged", + "pattern": "^ApertureModifierSetAbridged$", + "type": "string", + "readOnly": true + }, + "window_modifier": { + "title": "Window Modifier", + "description": "Identifier of modifier object for apertures with an Outdoors boundary condition, False is_operable property, and Wall parent Face.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier of modifier object for apertures with a Surface boundary condition.", + "type": "string" + }, + "skylight_modifier": { + "title": "Skylight Modifier", + "description": "Identifier of modifier object for apertures with an Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "type": "string" + }, + "operable_modifier": { + "title": "Operable Modifier", + "description": "Identifier of modifier object for apertures with an Outdoors boundary condition and a True is_operable property.", + "type": "string" + } + }, + "additionalProperties": false + }, + "DoorModifierSetAbridged": { + "title": "DoorModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Doors.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "Identifier for a radiance modifier object for faces with an Outdoors boundary condition.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "DoorModifierSetAbridged", + "pattern": "^DoorModifierSetAbridged$", + "type": "string", + "readOnly": true + }, + "interior_glass_modifier": { + "title": "Interior Glass Modifier", + "description": "Identifier of modifier object for glass with a Surface boundary condition.", + "type": "string" + }, + "exterior_glass_modifier": { + "title": "Exterior Glass Modifier", + "description": "Identifier of modifier object for glass with an Outdoors boundary condition.", + "type": "string" + }, + "overhead_modifier": { + "title": "Overhead Modifier", + "description": "Identifier of a modifier object for doors with an Outdoors boundary condition and a RoofCeiling or Floor face type for their parent face.", + "type": "string" + } + }, + "additionalProperties": false + }, + "ShadeModifierSetAbridged": { + "title": "ShadeModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Shade.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "Identifier for a radiance modifier object for faces with an Outdoors boundary condition.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ShadeModifierSetAbridged", + "pattern": "^ShadeModifierSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "GlobalModifierSet": { + "title": "GlobalModifierSet", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "GlobalModifierSet", + "pattern": "^GlobalModifierSet$", + "type": "string", + "readOnly": true + }, + "modifiers": { + "title": "Modifiers", + "description": "Global Honeybee Radiance modifiers.", + "default": [ + { + "identifier": "generic_floor_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_wall_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_ceiling_0.80", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.8, + "g_reflectance": 0.8, + "b_reflectance": 0.8, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_opaque_door_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_shade_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_exterior_shade_0.35", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.35, + "g_reflectance": 0.35, + "b_reflectance": 0.35, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_context_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_window_vis_0.88", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.9584154328610596, + "g_transmissivity": 0.9584154328610596, + "b_transmissivity": 0.9584154328610596, + "refraction_index": null + }, + { + "identifier": "generic_exterior_window_vis_0.64", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.6975761815384331, + "g_transmissivity": 0.6975761815384331, + "b_transmissivity": 0.6975761815384331, + "refraction_index": null + }, + { + "identifier": "air_boundary", + "display_name": null, + "type": "Trans", + "modifier": null, + "dependencies": [], + "r_reflectance": 1.0, + "g_reflectance": 1.0, + "b_reflectance": 1.0, + "specularity": 0.0, + "roughness": 0.0, + "transmitted_diff": 1.0, + "transmitted_spec": 1.0 + } + ], + "readOnly": true, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/Trans" + } + ] + } + }, + "wall_set": { + "title": "Wall Set", + "description": "Global Honeybee WallModifierSet.", + "default": { + "exterior_modifier": "generic_wall_0.50", + "interior_modifier": "generic_wall_0.50", + "type": "WallModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/WallModifierSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "Global Honeybee FloorModifierSet.", + "default": { + "exterior_modifier": "generic_floor_0.20", + "interior_modifier": "generic_floor_0.20", + "type": "FloorModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/FloorModifierSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "Global Honeybee RoofCeilingModifierSet.", + "default": { + "exterior_modifier": "generic_ceiling_0.80", + "interior_modifier": "generic_ceiling_0.80", + "type": "RoofCeilingModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingModifierSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "Global Honeybee ApertureModifierSet.", + "default": { + "type": "ApertureModifierSetAbridged", + "window_modifier": "generic_exterior_window_vis_0.64", + "interior_modifier": "generic_interior_window_vis_0.88", + "skylight_modifier": "generic_exterior_window_vis_0.64", + "operable_modifier": "generic_exterior_window_vis_0.64" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/ApertureModifierSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "Global Honeybee DoorModifierSet.", + "default": { + "exterior_modifier": "generic_opaque_door_0.50", + "interior_modifier": "generic_opaque_door_0.50", + "type": "DoorModifierSetAbridged", + "interior_glass_modifier": "generic_interior_window_vis_0.88", + "exterior_glass_modifier": "generic_exterior_window_vis_0.64", + "overhead_modifier": "generic_opaque_door_0.50" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/DoorModifierSetAbridged" + } + ] + }, + "shade_set": { + "title": "Shade Set", + "description": "Global Honeybee ShadeModifierSet.", + "default": { + "exterior_modifier": "generic_exterior_shade_0.35", + "interior_modifier": "generic_interior_shade_0.50", + "type": "ShadeModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/ShadeModifierSetAbridged" + } + ] + }, + "air_boundary_modifier": { + "title": "Air Boundary Modifier", + "description": "Global Honeybee Modifier for AirBoundary Faces.", + "default": "air_boundary", + "readOnly": true, + "type": "string" + }, + "context_modifier": { + "title": "Context Modifier", + "description": "Global Honeybee Modifier for context Shades.", + "default": "generic_context_0.20", + "readOnly": true, + "type": "string" + } + }, + "additionalProperties": false + }, + "WallModifierSet": { + "title": "WallModifierSet", + "description": "Set containing radiance modifiers needed for a model's Walls.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "WallModifierSet", + "pattern": "^WallModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "FloorModifierSet": { + "title": "FloorModifierSet", + "description": "Set containing radiance modifiers needed for a model's Floors.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "FloorModifierSet", + "pattern": "^FloorModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "RoofCeilingModifierSet": { + "title": "RoofCeilingModifierSet", + "description": "Set containing radiance modifiers needed for a model's roofs.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "RoofCeilingModifierSet", + "pattern": "^RoofCeilingModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "ApertureModifierSet": { + "title": "ApertureModifierSet", + "description": "Set containing radiance modifiers needed for a model's Apertures.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureModifierSet", + "pattern": "^ApertureModifierSet$", + "type": "string", + "readOnly": true + }, + "window_modifier": { + "title": "Window Modifier", + "description": "A modifier object for apertures with an Outdoors boundary condition, False is_operable property, and Wall parent Face.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A modifier object for apertures with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "skylight_modifier": { + "title": "Skylight Modifier", + "description": "A modifier object for apertures with an Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "operable_modifier": { + "title": "Operable Modifier", + "description": "A modifier object for apertures with an Outdoors boundary condition and a True is_operable property.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "additionalProperties": false + }, + "DoorModifierSet": { + "title": "DoorModifierSet", + "description": "Set containing radiance modifiers needed for a model's Doors.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "DoorModifierSet", + "pattern": "^DoorModifierSet$", + "type": "string", + "readOnly": true + }, + "interior_glass_modifier": { + "title": "Interior Glass Modifier", + "description": "A modifier object for glass with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "exterior_glass_modifier": { + "title": "Exterior Glass Modifier", + "description": "A modifier object for glass with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "overhead_modifier": { + "title": "Overhead Modifier", + "description": "A window modifier object for doors with an Outdoors boundary condition and a RoofCeiling or Floor face type for their parent face.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "additionalProperties": false + }, + "ShadeModifierSet": { + "title": "ShadeModifierSet", + "description": "Set containing radiance modifiers needed for a model's Shade.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "ShadeModifierSet", + "pattern": "^ShadeModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "ModifierSet": { + "title": "ModifierSet", + "description": "Set containing all radiance modifiers needed to create a radiance model.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ModifierSet", + "pattern": "^ModifierSet$", + "type": "string", + "readOnly": true + }, + "wall_set": { + "title": "Wall Set", + "description": "An optional WallModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/WallModifierSet" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "An optional FloorModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/FloorModifierSet" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "An optional RoofCeilingModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingModifierSet" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "An optional ApertureModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/ApertureModifierSet" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "An optional DoorModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/DoorModifierSet" + } + ] + }, + "shade_set": { + "title": "Shade Set", + "description": "An optional ShadeModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeModifierSet" + } + ] + }, + "air_boundary_modifier": { + "title": "Air Boundary Modifier", + "description": "An optional Modifier to be used for all Faces with an AirBoundary face type. If None, it will be the honeybee generic air wall modifier.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ModifierSetAbridged": { + "title": "ModifierSetAbridged", + "description": "Abridged set containing all modifiers needed to create a radiance model.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ModifierSetAbridged", + "pattern": "^ModifierSetAbridged$", + "type": "string", + "readOnly": true + }, + "wall_set": { + "title": "Wall Set", + "description": "Optional WallModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/WallModifierSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "Optional FloorModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/FloorModifierSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "Optional RoofCeilingModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingModifierSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "Optional ApertureModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/ApertureModifierSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "Optional DoorModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/DoorModifierSetAbridged" + } + ] + }, + "shade_set": { + "title": "Shade Set", + "description": "Optional ShadeModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeModifierSetAbridged" + } + ] + }, + "air_boundary_modifier": { + "title": "Air Boundary Modifier", + "description": "Optional Modifier to be used for all Faces with an AirBoundary face type. If None, it will be the honeybee generic air wall modifier.", + "type": "string" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Sensor": { + "title": "Sensor", + "description": "A single Radiance of sensors.", + "type": "object", + "properties": { + "pos": { + "title": "Pos", + "description": "Position of sensor in space as an array of (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "dir": { + "title": "Dir", + "description": "Direction of sensor as an array of (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "Sensor", + "pattern": "^Sensor$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "pos", + "dir" + ], + "additionalProperties": false + }, + "SensorGrid": { + "title": "SensorGrid", + "description": "A grid of sensors.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "sensors": { + "title": "Sensors", + "description": "A list of sensors that belong to the grid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Sensor" + } + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "room_identifier": { + "title": "Room Identifier", + "description": "Optional text string for the Room identifier to which this object belongs. This will be used to narrow down the number of aperture groups that have to be run with this sensor grid. If None, the grid will be run with all aperture groups in the model.", + "maxLength": 100, + "minLength": 1, + "pattern": "[.A-Za-z0-9_-]", + "type": "string" + }, + "light_path": { + "title": "Light Path", + "description": "Get or set a list of lists for the light path from the object to the sky. Each sub-list contains identifiers of aperture groups through which light passes. (eg. [[\"SouthWindow1\"], [\"static_apertures\", \"NorthWindow2\"]]).Setting this property will override any auto-calculation of the light path from the model and room_identifier upon export to the simulation.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": { + "title": "Type", + "default": "SensorGrid", + "pattern": "^SensorGrid$", + "type": "string", + "readOnly": true + }, + "mesh": { + "title": "Mesh", + "description": "An optional Mesh3D that aligns with the sensors and can be used for visualization of the grid. Note that the number of sensors in the grid must match the number of faces or the number vertices within the Mesh3D.", + "allOf": [ + { + "$ref": "#/components/schemas/Mesh3D" + } + ] + }, + "base_geometry": { + "title": "Base Geometry", + "description": "An optional array of Face3D used to represent the grid. There are no restrictions on how this property relates to the sensors and it is provided only to assist with the display of the grid when the number of sensors or the mesh is too large to be practically visualized.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Face3D" + } + }, + "group_identifier": { + "title": "Group Identifier", + "description": "An optional string to note the sensor grid group ' 'to which the sensor is a part of. Grids sharing the same ' 'group_identifier will be written to the same subfolder in Radiance ' 'folder (default: None).", + "type": "string" + } + }, + "required": [ + "identifier", + "sensors" + ], + "additionalProperties": false + }, + "ViewType": { + "title": "ViewType", + "description": "A single character for the view type (-vt).", + "enum": [ + "v", + "h", + "l", + "c", + "a", + "s" + ], + "type": "string" + }, + "View": { + "title": "View", + "description": "A single Radiance of sensors.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "position": { + "title": "Position", + "description": "The view position (-vp) as an array of (x, y, z) values.This is the focal point of a perspective view or the center of a parallel projection.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "direction": { + "title": "Direction", + "description": "The view direction (-vd) as an array of (x, y, z) values.The length of this vector indicates the focal distance as needed by the pixel depth of field (-pd) in rpict.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "up_vector": { + "title": "Up Vector", + "description": "The view up (-vu) vector as an array of (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "room_identifier": { + "title": "Room Identifier", + "description": "Optional text string for the Room identifier to which this object belongs. This will be used to narrow down the number of aperture groups that have to be run with this sensor grid. If None, the grid will be run with all aperture groups in the model.", + "maxLength": 100, + "minLength": 1, + "pattern": "[.A-Za-z0-9_-]", + "type": "string" + }, + "light_path": { + "title": "Light Path", + "description": "Get or set a list of lists for the light path from the object to the sky. Each sub-list contains identifiers of aperture groups through which light passes. (eg. [[\"SouthWindow1\"], [\"static_apertures\", \"NorthWindow2\"]]).Setting this property will override any auto-calculation of the light path from the model and room_identifier upon export to the simulation.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": { + "title": "Type", + "default": "View", + "pattern": "^View$", + "type": "string", + "readOnly": true + }, + "view_type": { + "default": "v", + "allOf": [ + { + "$ref": "#/components/schemas/ViewType" + } + ] + }, + "h_size": { + "title": "H Size", + "description": "A number for the horizontal field of view in degrees (for all perspective projections including fisheye). For a parallel projection, this is the view width in world coordinates.", + "default": 60, + "type": "number", + "format": "double" + }, + "v_size": { + "title": "V Size", + "description": "A number for the vertical field of view in degrees (for all perspective projections including fisheye). For a parallel projection, this is the view width in world coordinates.", + "default": 60, + "type": "number", + "format": "double" + }, + "shift": { + "title": "Shift", + "description": "The view shift (-vs). This is the amount the actual image will be shifted to the right of the specified view. This option is useful for generating skewed perspectives or rendering an image a piece at a time. A value of 1 means that the rendered image starts just to the right of the normal view. A value of -1 would be to the left. Larger or fractional values are permitted as well.", + "type": "number", + "format": "double" + }, + "lift": { + "title": "Lift", + "description": "The view lift (-vl). This is the amount the actual image will be lifted up from the specified view. This option is useful for generating skewed perspectives or rendering an image a piece at a time. A value of 1 means that the rendered image starts just to the right of the normal view. A value of -1 would be to the left. Larger or fractional values are permitted as well.", + "type": "number", + "format": "double" + }, + "fore_clip": { + "title": "Fore Clip", + "description": "View fore clip (-vo) at a distance from the view point.The plane will be perpendicular to the view direction for perspective and parallel view types. For fisheye view types, the clipping plane is actually a clipping sphere, centered on the view point with fore_clip radius. Objects in front of this imaginary surface will not be visible.", + "type": "number", + "format": "double" + }, + "aft_clip": { + "title": "Aft Clip", + "description": "View aft clip (-va) at a distance from the view point.Like the view fore plane, it will be perpendicular to the view direction for perspective and parallel view types. For fisheye view types, the clipping plane is actually a clipping sphere, centered on the view point with radius val.", + "type": "number", + "format": "double" + }, + "group_identifier": { + "title": "Group Identifier", + "description": "An optional string to note the view group ' 'to which the sensor is a part of. Views sharing the same ' 'group_identifier will be written to the same subfolder in Radiance ' 'folder (default: None).", + "type": "string" + } + }, + "required": [ + "identifier", + "position", + "direction", + "up_vector" + ], + "additionalProperties": false + }, + "ModelRadianceProperties": { + "title": "ModelRadianceProperties", + "description": "Radiance Properties for Honeybee Model.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModelRadianceProperties", + "pattern": "^ModelRadianceProperties$", + "type": "string", + "readOnly": true + }, + "global_modifier_set": { + "title": "Global Modifier Set", + "description": "Global Radiance modifier set.", + "default": { + "type": "GlobalModifierSet", + "modifiers": [ + { + "identifier": "generic_floor_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_wall_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_ceiling_0.80", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.8, + "g_reflectance": 0.8, + "b_reflectance": 0.8, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_opaque_door_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_shade_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_exterior_shade_0.35", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.35, + "g_reflectance": 0.35, + "b_reflectance": 0.35, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_context_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_window_vis_0.88", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.9584154328610596, + "g_transmissivity": 0.9584154328610596, + "b_transmissivity": 0.9584154328610596, + "refraction_index": null + }, + { + "identifier": "generic_exterior_window_vis_0.64", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.6975761815384331, + "g_transmissivity": 0.6975761815384331, + "b_transmissivity": 0.6975761815384331, + "refraction_index": null + }, + { + "identifier": "air_boundary", + "display_name": null, + "type": "Trans", + "modifier": null, + "dependencies": [], + "r_reflectance": 1.0, + "g_reflectance": 1.0, + "b_reflectance": 1.0, + "specularity": 0.0, + "roughness": 0.0, + "transmitted_diff": 1.0, + "transmitted_spec": 1.0 + } + ], + "wall_set": { + "exterior_modifier": "generic_wall_0.50", + "interior_modifier": "generic_wall_0.50", + "type": "WallModifierSetAbridged" + }, + "floor_set": { + "exterior_modifier": "generic_floor_0.20", + "interior_modifier": "generic_floor_0.20", + "type": "FloorModifierSetAbridged" + }, + "roof_ceiling_set": { + "exterior_modifier": "generic_ceiling_0.80", + "interior_modifier": "generic_ceiling_0.80", + "type": "RoofCeilingModifierSetAbridged" + }, + "aperture_set": { + "type": "ApertureModifierSetAbridged", + "window_modifier": "generic_exterior_window_vis_0.64", + "interior_modifier": "generic_interior_window_vis_0.88", + "skylight_modifier": "generic_exterior_window_vis_0.64", + "operable_modifier": "generic_exterior_window_vis_0.64" + }, + "door_set": { + "exterior_modifier": "generic_opaque_door_0.50", + "interior_modifier": "generic_opaque_door_0.50", + "type": "DoorModifierSetAbridged", + "interior_glass_modifier": "generic_interior_window_vis_0.88", + "exterior_glass_modifier": "generic_exterior_window_vis_0.64", + "overhead_modifier": "generic_opaque_door_0.50" + }, + "shade_set": { + "exterior_modifier": "generic_exterior_shade_0.35", + "interior_modifier": "generic_interior_shade_0.50", + "type": "ShadeModifierSetAbridged" + }, + "air_boundary_modifier": "air_boundary", + "context_modifier": "generic_context_0.20" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/GlobalModifierSet" + } + ] + }, + "modifiers": { + "title": "Modifiers", + "description": "A list of all unique modifiers in the model. This includes modifiers across all Faces, Apertures, Doors, Shades, Room ModifierSets, and the global_modifier_set.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "modifier_sets": { + "title": "Modifier Sets", + "description": "A list of all unique Room-Assigned ModifierSets in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ModifierSet" + }, + { + "$ref": "#/components/schemas/ModifierSetAbridged" + } + ] + } + }, + "sensor_grids": { + "title": "Sensor Grids", + "description": "An array of SensorGrids that are associated with the model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SensorGrid" + } + }, + "views": { + "title": "Views", + "description": "An array of Views that are associated with the model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/View" + } + } + }, + "additionalProperties": false + }, + "ModelProperties": { + "title": "ModelProperties", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModelProperties", + "pattern": "^ModelProperties$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/ModelEnergyProperties" + }, + "radiance": { + "$ref": "#/components/schemas/ModelRadianceProperties" + } + } + }, + "Model": { + "title": "Model", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/ModelProperties" + } + ] + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Model", + "pattern": "^Model$", + "type": "string", + "readOnly": true + }, + "version": { + "title": "Version", + "description": "Text string for the current version of the schema.", + "default": "1.57.3", + "pattern": "([0-9]+)\\.([0-9]+)\\.([0-9]+)", + "type": "string", + "readOnly": true + }, + "rooms": { + "title": "Rooms", + "description": "A list of Rooms in the model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Room" + } + }, + "orphaned_faces": { + "title": "Orphaned Faces", + "description": "A list of Faces in the model that lack a parent Room. Note that orphaned Faces are not acceptable for Models that are to be exported for energy simulation.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Face" + } + }, + "orphaned_shades": { + "title": "Orphaned Shades", + "description": "A list of Shades in the model that lack a parent.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "orphaned_apertures": { + "title": "Orphaned Apertures", + "description": "A list of Apertures in the model that lack a parent Face. Note that orphaned Apertures are not acceptable for Models that are to be exported for energy simulation.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Aperture" + } + }, + "orphaned_doors": { + "title": "Orphaned Doors", + "description": "A list of Doors in the model that lack a parent Face. Note that orphaned Doors are not acceptable for Models that are to be exported for energy simulation.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Door" + } + }, + "shade_meshes": { + "title": "Shade Meshes", + "description": "A list of ShadeMesh in the model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ShadeMesh" + } + }, + "units": { + "description": "Text indicating the units in which the model geometry exists. This is used to scale the geometry to the correct units for simulation engines like EnergyPlus, which requires all geometry be in meters.", + "default": "Meters", + "allOf": [ + { + "$ref": "#/components/schemas/Units" + } + ] + }, + "tolerance": { + "title": "Tolerance", + "description": "The maximum difference between x, y, and z values at which vertices are considered equivalent. This value should be in the Model units and it is used in a variety of checks, including checks for whether Room faces form a closed volume and subsequently correcting all face normals point outward from the Room. A value of 0 will result in bypassing all checks so it is recommended that this always be a positive number when such checks have not already been performed on a Model. The default of 0.01 is suitable for models in meters.", + "default": 0.01, + "minimum": 0, + "type": "number", + "format": "double" + }, + "angle_tolerance": { + "title": "Angle Tolerance", + "description": "The max angle difference in degrees that vertices are allowed to differ from one another in order to consider them colinear. This value is used in a variety of checks, including checks for whether Room faces form a closed volume and subsequently correcting all face normals point outward from the Room. A value of 0 will result in bypassing all checks so it is recommended that this always be a positive number when such checks have not already been performed on a given Model.", + "default": 1.0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "required": [ + "identifier", + "properties" + ], + "additionalProperties": false + } + } + } +} \ No newline at end of file diff --git a/model_inheritance.json b/model_inheritance.json new file mode 100644 index 0000000..96cb045 --- /dev/null +++ b/model_inheritance.json @@ -0,0 +1,15347 @@ +{ + "openapi": "3.0.2", + "servers": [], + "info": { + "description": "Documentation for Honeybee model schema", + "version": "1.57.3", + "title": "Honeybee Model Schema", + "contact": { + "name": "Ladybug Tools", + "email": "info@ladybug.tools", + "url": "https://github.com/ladybug-tools/honeybee-schema" + }, + "x-logo": { + "url": "https://www.ladybug.tools/assets/img/honeybee-large.png", + "altText": "Honeybee logo" + }, + "license": { + "name": "BSD", + "url": "https://github.com/ladybug-tools-in2/honeybee-schema/blob/master/LICENSE" + } + }, + "externalDocs": { + "description": "OpenAPI Specification with Inheritance", + "url": "./model_inheritance.json" + }, + "tags": [ + { + "name": "afncrack_model", + "x-displayName": "AFNCrack", + "description": "\n" + }, + { + "name": "adiabatic_model", + "x-displayName": "Adiabatic", + "description": "\n" + }, + { + "name": "airboundaryconstruction_model", + "x-displayName": "AirBoundaryConstruction", + "description": "\n" + }, + { + "name": "airboundaryconstructionabridged_model", + "x-displayName": "AirBoundaryConstructionAbridged", + "description": "\n" + }, + { + "name": "allaireconomizertype_model", + "x-displayName": "AllAirEconomizerType", + "description": "\n" + }, + { + "name": "aperture_model", + "x-displayName": "Aperture", + "description": "\n" + }, + { + "name": "apertureconstructionset_model", + "x-displayName": "ApertureConstructionSet", + "description": "\n" + }, + { + "name": "apertureconstructionsetabridged_model", + "x-displayName": "ApertureConstructionSetAbridged", + "description": "\n" + }, + { + "name": "apertureenergypropertiesabridged_model", + "x-displayName": "ApertureEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "aperturemodifierset_model", + "x-displayName": "ApertureModifierSet", + "description": "\n" + }, + { + "name": "aperturemodifiersetabridged_model", + "x-displayName": "ApertureModifierSetAbridged", + "description": "\n" + }, + { + "name": "aperturepropertiesabridged_model", + "x-displayName": "AperturePropertiesAbridged", + "description": "\n" + }, + { + "name": "apertureradiancepropertiesabridged_model", + "x-displayName": "ApertureRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "autocalculate_model", + "x-displayName": "Autocalculate", + "description": "\n" + }, + { + "name": "autosize_model", + "x-displayName": "Autosize", + "description": "\n" + }, + { + "name": "bsdf_model", + "x-displayName": "BSDF", + "description": "\n" + }, + { + "name": "basemodifierset_model", + "x-displayName": "BaseModifierSet", + "description": "\n" + }, + { + "name": "basemodifiersetabridged_model", + "x-displayName": "BaseModifierSetAbridged", + "description": "\n" + }, + { + "name": "baseboard_model", + "x-displayName": "Baseboard", + "description": "\n" + }, + { + "name": "baseboardequipmenttype_model", + "x-displayName": "BaseboardEquipmentType", + "description": "\n" + }, + { + "name": "buildingtype_model", + "x-displayName": "BuildingType", + "description": "\n" + }, + { + "name": "color_model", + "x-displayName": "Color", + "description": "\n" + }, + { + "name": "constructionset_model", + "x-displayName": "ConstructionSet", + "description": "\n" + }, + { + "name": "constructionsetabridged_model", + "x-displayName": "ConstructionSetAbridged", + "description": "\n" + }, + { + "name": "controltype_model", + "x-displayName": "ControlType", + "description": "\n" + }, + { + "name": "datedbasemodel_model", + "x-displayName": "DatedBaseModel", + "description": "\n" + }, + { + "name": "daylightingcontrol_model", + "x-displayName": "DaylightingControl", + "description": "\n" + }, + { + "name": "detailedhvac_model", + "x-displayName": "DetailedHVAC", + "description": "\n" + }, + { + "name": "door_model", + "x-displayName": "Door", + "description": "\n" + }, + { + "name": "doorconstructionset_model", + "x-displayName": "DoorConstructionSet", + "description": "\n" + }, + { + "name": "doorconstructionsetabridged_model", + "x-displayName": "DoorConstructionSetAbridged", + "description": "\n" + }, + { + "name": "doorenergypropertiesabridged_model", + "x-displayName": "DoorEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "doormodifierset_model", + "x-displayName": "DoorModifierSet", + "description": "\n" + }, + { + "name": "doormodifiersetabridged_model", + "x-displayName": "DoorModifierSetAbridged", + "description": "\n" + }, + { + "name": "doorpropertiesabridged_model", + "x-displayName": "DoorPropertiesAbridged", + "description": "\n" + }, + { + "name": "doorradiancepropertiesabridged_model", + "x-displayName": "DoorRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "economizertype_model", + "x-displayName": "EconomizerType", + "description": "\n" + }, + { + "name": "electricequipment_model", + "x-displayName": "ElectricEquipment", + "description": "\n" + }, + { + "name": "electricequipmentabridged_model", + "x-displayName": "ElectricEquipmentAbridged", + "description": "\n" + }, + { + "name": "electricloadcenter_model", + "x-displayName": "ElectricLoadCenter", + "description": "\n" + }, + { + "name": "energybasemodel_model", + "x-displayName": "EnergyBaseModel", + "description": "\n" + }, + { + "name": "energymaterial_model", + "x-displayName": "EnergyMaterial", + "description": "\n" + }, + { + "name": "energymaterialnomass_model", + "x-displayName": "EnergyMaterialNoMass", + "description": "\n" + }, + { + "name": "energymaterialvegetation_model", + "x-displayName": "EnergyMaterialVegetation", + "description": "\n" + }, + { + "name": "energywindowframe_model", + "x-displayName": "EnergyWindowFrame", + "description": "\n" + }, + { + "name": "energywindowmaterialblind_model", + "x-displayName": "EnergyWindowMaterialBlind", + "description": "\n" + }, + { + "name": "energywindowmaterialgas_model", + "x-displayName": "EnergyWindowMaterialGas", + "description": "\n" + }, + { + "name": "energywindowmaterialgascustom_model", + "x-displayName": "EnergyWindowMaterialGasCustom", + "description": "\n" + }, + { + "name": "energywindowmaterialgasmixture_model", + "x-displayName": "EnergyWindowMaterialGasMixture", + "description": "\n" + }, + { + "name": "energywindowmaterialglazing_model", + "x-displayName": "EnergyWindowMaterialGlazing", + "description": "\n" + }, + { + "name": "energywindowmaterialshade_model", + "x-displayName": "EnergyWindowMaterialShade", + "description": "\n" + }, + { + "name": "energywindowmaterialsimpleglazsys_model", + "x-displayName": "EnergyWindowMaterialSimpleGlazSys", + "description": "\n" + }, + { + "name": "evaporativecooler_model", + "x-displayName": "EvaporativeCooler", + "description": "\n" + }, + { + "name": "evaporativecoolerequipmenttype_model", + "x-displayName": "EvaporativeCoolerEquipmentType", + "description": "\n" + }, + { + "name": "fcu_model", + "x-displayName": "FCU", + "description": "\n" + }, + { + "name": "fcuequipmenttype_model", + "x-displayName": "FCUEquipmentType", + "description": "\n" + }, + { + "name": "fcuwithdoasabridged_model", + "x-displayName": "FCUwithDOASAbridged", + "description": "\n" + }, + { + "name": "fcuwithdoasequipmenttype_model", + "x-displayName": "FCUwithDOASEquipmentType", + "description": "\n" + }, + { + "name": "face_model", + "x-displayName": "Face", + "description": "\n" + }, + { + "name": "face3d_model", + "x-displayName": "Face3D", + "description": "\n" + }, + { + "name": "faceenergypropertiesabridged_model", + "x-displayName": "FaceEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "facepropertiesabridged_model", + "x-displayName": "FacePropertiesAbridged", + "description": "\n" + }, + { + "name": "faceradiancepropertiesabridged_model", + "x-displayName": "FaceRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "facetype_model", + "x-displayName": "FaceType", + "description": "\n" + }, + { + "name": "floorconstructionset_model", + "x-displayName": "FloorConstructionSet", + "description": "\n" + }, + { + "name": "floorconstructionsetabridged_model", + "x-displayName": "FloorConstructionSetAbridged", + "description": "\n" + }, + { + "name": "floormodifierset_model", + "x-displayName": "FloorModifierSet", + "description": "\n" + }, + { + "name": "floormodifiersetabridged_model", + "x-displayName": "FloorModifierSetAbridged", + "description": "\n" + }, + { + "name": "forcedairfurnace_model", + "x-displayName": "ForcedAirFurnace", + "description": "\n" + }, + { + "name": "fueltypes_model", + "x-displayName": "FuelTypes", + "description": "\n" + }, + { + "name": "furnaceequipmenttype_model", + "x-displayName": "FurnaceEquipmentType", + "description": "\n" + }, + { + "name": "gasequipment_model", + "x-displayName": "GasEquipment", + "description": "\n" + }, + { + "name": "gasequipmentabridged_model", + "x-displayName": "GasEquipmentAbridged", + "description": "\n" + }, + { + "name": "gastype_model", + "x-displayName": "GasType", + "description": "\n" + }, + { + "name": "gasunitheater_model", + "x-displayName": "GasUnitHeater", + "description": "\n" + }, + { + "name": "gasunitheaterequipmenttype_model", + "x-displayName": "GasUnitHeaterEquipmentType", + "description": "\n" + }, + { + "name": "glass_model", + "x-displayName": "Glass", + "description": "\n" + }, + { + "name": "globalconstructionset_model", + "x-displayName": "GlobalConstructionSet", + "description": "\n" + }, + { + "name": "globalmodifierset_model", + "x-displayName": "GlobalModifierSet", + "description": "\n" + }, + { + "name": "glow_model", + "x-displayName": "Glow", + "description": "\n" + }, + { + "name": "ground_model", + "x-displayName": "Ground", + "description": "\n" + }, + { + "name": "iddbasemodel_model", + "x-displayName": "IDdBaseModel", + "description": "\n" + }, + { + "name": "iddenergybasemodel_model", + "x-displayName": "IDdEnergyBaseModel", + "description": "\n" + }, + { + "name": "iddradiancebasemodel_model", + "x-displayName": "IDdRadianceBaseModel", + "description": "\n" + }, + { + "name": "idealairsystemabridged_model", + "x-displayName": "IdealAirSystemAbridged", + "description": "\n" + }, + { + "name": "infiltration_model", + "x-displayName": "Infiltration", + "description": "\n" + }, + { + "name": "infiltrationabridged_model", + "x-displayName": "InfiltrationAbridged", + "description": "\n" + }, + { + "name": "internalmassabridged_model", + "x-displayName": "InternalMassAbridged", + "description": "\n" + }, + { + "name": "light_model", + "x-displayName": "Light", + "description": "\n" + }, + { + "name": "lighting_model", + "x-displayName": "Lighting", + "description": "\n" + }, + { + "name": "lightingabridged_model", + "x-displayName": "LightingAbridged", + "description": "\n" + }, + { + "name": "mesh3d_model", + "x-displayName": "Mesh3D", + "description": "\n" + }, + { + "name": "metal_model", + "x-displayName": "Metal", + "description": "\n" + }, + { + "name": "mirror_model", + "x-displayName": "Mirror", + "description": "\n" + }, + { + "name": "model_model", + "x-displayName": "Model", + "description": "\n" + }, + { + "name": "modelenergyproperties_model", + "x-displayName": "ModelEnergyProperties", + "description": "\n" + }, + { + "name": "modelproperties_model", + "x-displayName": "ModelProperties", + "description": "\n" + }, + { + "name": "modelradianceproperties_model", + "x-displayName": "ModelRadianceProperties", + "description": "\n" + }, + { + "name": "modifierbase_model", + "x-displayName": "ModifierBase", + "description": "\n" + }, + { + "name": "modifierset_model", + "x-displayName": "ModifierSet", + "description": "\n" + }, + { + "name": "modifiersetabridged_model", + "x-displayName": "ModifierSetAbridged", + "description": "\n" + }, + { + "name": "moduletype_model", + "x-displayName": "ModuleType", + "description": "\n" + }, + { + "name": "moisturediffusionmodel_model", + "x-displayName": "MoistureDiffusionModel", + "description": "\n" + }, + { + "name": "mountingtype_model", + "x-displayName": "MountingType", + "description": "\n" + }, + { + "name": "nolimit_model", + "x-displayName": "NoLimit", + "description": "\n" + }, + { + "name": "opaqueconstruction_model", + "x-displayName": "OpaqueConstruction", + "description": "\n" + }, + { + "name": "opaqueconstructionabridged_model", + "x-displayName": "OpaqueConstructionAbridged", + "description": "\n" + }, + { + "name": "othersidetemperature_model", + "x-displayName": "OtherSideTemperature", + "description": "\n" + }, + { + "name": "outdoors_model", + "x-displayName": "Outdoors", + "description": "\n" + }, + { + "name": "psz_model", + "x-displayName": "PSZ", + "description": "\n" + }, + { + "name": "pszequipmenttype_model", + "x-displayName": "PSZEquipmentType", + "description": "\n" + }, + { + "name": "ptac_model", + "x-displayName": "PTAC", + "description": "\n" + }, + { + "name": "ptacequipmenttype_model", + "x-displayName": "PTACEquipmentType", + "description": "\n" + }, + { + "name": "pvav_model", + "x-displayName": "PVAV", + "description": "\n" + }, + { + "name": "pvavequipmenttype_model", + "x-displayName": "PVAVEquipmentType", + "description": "\n" + }, + { + "name": "pvproperties_model", + "x-displayName": "PVProperties", + "description": "\n" + }, + { + "name": "people_model", + "x-displayName": "People", + "description": "\n" + }, + { + "name": "peopleabridged_model", + "x-displayName": "PeopleAbridged", + "description": "\n" + }, + { + "name": "plane_model", + "x-displayName": "Plane", + "description": "\n" + }, + { + "name": "plastic_model", + "x-displayName": "Plastic", + "description": "\n" + }, + { + "name": "processabridged_model", + "x-displayName": "ProcessAbridged", + "description": "\n" + }, + { + "name": "programtype_model", + "x-displayName": "ProgramType", + "description": "\n" + }, + { + "name": "programtypeabridged_model", + "x-displayName": "ProgramTypeAbridged", + "description": "\n" + }, + { + "name": "radianceshadestateabridged_model", + "x-displayName": "RadianceShadeStateAbridged", + "description": "\n" + }, + { + "name": "radiancesubfacestateabridged_model", + "x-displayName": "RadianceSubFaceStateAbridged", + "description": "\n" + }, + { + "name": "radiant_model", + "x-displayName": "Radiant", + "description": "\n" + }, + { + "name": "radiantequipmenttype_model", + "x-displayName": "RadiantEquipmentType", + "description": "\n" + }, + { + "name": "radiantfacetypes_model", + "x-displayName": "RadiantFaceTypes", + "description": "\n" + }, + { + "name": "radiantwithdoasabridged_model", + "x-displayName": "RadiantwithDOASAbridged", + "description": "\n" + }, + { + "name": "radiantwithdoasequipmenttype_model", + "x-displayName": "RadiantwithDOASEquipmentType", + "description": "\n" + }, + { + "name": "residential_model", + "x-displayName": "Residential", + "description": "\n" + }, + { + "name": "residentialequipmenttype_model", + "x-displayName": "ResidentialEquipmentType", + "description": "\n" + }, + { + "name": "roofceilingconstructionset_model", + "x-displayName": "RoofCeilingConstructionSet", + "description": "\n" + }, + { + "name": "roofceilingconstructionsetabridged_model", + "x-displayName": "RoofCeilingConstructionSetAbridged", + "description": "\n" + }, + { + "name": "roofceilingmodifierset_model", + "x-displayName": "RoofCeilingModifierSet", + "description": "\n" + }, + { + "name": "roofceilingmodifiersetabridged_model", + "x-displayName": "RoofCeilingModifierSetAbridged", + "description": "\n" + }, + { + "name": "room_model", + "x-displayName": "Room", + "description": "\n" + }, + { + "name": "roomenergypropertiesabridged_model", + "x-displayName": "RoomEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "roompropertiesabridged_model", + "x-displayName": "RoomPropertiesAbridged", + "description": "\n" + }, + { + "name": "roomradiancepropertiesabridged_model", + "x-displayName": "RoomRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "roughness_model", + "x-displayName": "Roughness", + "description": "\n" + }, + { + "name": "shwequipmenttype_model", + "x-displayName": "SHWEquipmentType", + "description": "\n" + }, + { + "name": "shwsystem_model", + "x-displayName": "SHWSystem", + "description": "\n" + }, + { + "name": "scheduleday_model", + "x-displayName": "ScheduleDay", + "description": "\n" + }, + { + "name": "schedulefixedinterval_model", + "x-displayName": "ScheduleFixedInterval", + "description": "\n" + }, + { + "name": "schedulefixedintervalabridged_model", + "x-displayName": "ScheduleFixedIntervalAbridged", + "description": "\n" + }, + { + "name": "schedulenumerictype_model", + "x-displayName": "ScheduleNumericType", + "description": "\n" + }, + { + "name": "scheduleruleabridged_model", + "x-displayName": "ScheduleRuleAbridged", + "description": "\n" + }, + { + "name": "scheduleruleset_model", + "x-displayName": "ScheduleRuleset", + "description": "\n" + }, + { + "name": "schedulerulesetabridged_model", + "x-displayName": "ScheduleRulesetAbridged", + "description": "\n" + }, + { + "name": "scheduletypelimit_model", + "x-displayName": "ScheduleTypeLimit", + "description": "\n" + }, + { + "name": "scheduleunittype_model", + "x-displayName": "ScheduleUnitType", + "description": "\n" + }, + { + "name": "sensor_model", + "x-displayName": "Sensor", + "description": "\n" + }, + { + "name": "sensorgrid_model", + "x-displayName": "SensorGrid", + "description": "\n" + }, + { + "name": "servicehotwater_model", + "x-displayName": "ServiceHotWater", + "description": "\n" + }, + { + "name": "servicehotwaterabridged_model", + "x-displayName": "ServiceHotWaterAbridged", + "description": "\n" + }, + { + "name": "setpoint_model", + "x-displayName": "Setpoint", + "description": "\n" + }, + { + "name": "setpointabridged_model", + "x-displayName": "SetpointAbridged", + "description": "\n" + }, + { + "name": "shade_model", + "x-displayName": "Shade", + "description": "\n" + }, + { + "name": "shadeconstruction_model", + "x-displayName": "ShadeConstruction", + "description": "\n" + }, + { + "name": "shadeenergypropertiesabridged_model", + "x-displayName": "ShadeEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "shadelocation_model", + "x-displayName": "ShadeLocation", + "description": "\n" + }, + { + "name": "shademesh_model", + "x-displayName": "ShadeMesh", + "description": "\n" + }, + { + "name": "shademeshenergypropertiesabridged_model", + "x-displayName": "ShadeMeshEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "shademeshpropertiesabridged_model", + "x-displayName": "ShadeMeshPropertiesAbridged", + "description": "\n" + }, + { + "name": "shademeshradiancepropertiesabridged_model", + "x-displayName": "ShadeMeshRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "shademodifierset_model", + "x-displayName": "ShadeModifierSet", + "description": "\n" + }, + { + "name": "shademodifiersetabridged_model", + "x-displayName": "ShadeModifierSetAbridged", + "description": "\n" + }, + { + "name": "shadepropertiesabridged_model", + "x-displayName": "ShadePropertiesAbridged", + "description": "\n" + }, + { + "name": "shaderadiancepropertiesabridged_model", + "x-displayName": "ShadeRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "slatorientation_model", + "x-displayName": "SlatOrientation", + "description": "\n" + }, + { + "name": "stategeometryabridged_model", + "x-displayName": "StateGeometryAbridged", + "description": "\n" + }, + { + "name": "surface_model", + "x-displayName": "Surface", + "description": "\n" + }, + { + "name": "trans_model", + "x-displayName": "Trans", + "description": "\n" + }, + { + "name": "units_model", + "x-displayName": "Units", + "description": "\n" + }, + { + "name": "vav_model", + "x-displayName": "VAV", + "description": "\n" + }, + { + "name": "vavequipmenttype_model", + "x-displayName": "VAVEquipmentType", + "description": "\n" + }, + { + "name": "vrf_model", + "x-displayName": "VRF", + "description": "\n" + }, + { + "name": "vrfequipmenttype_model", + "x-displayName": "VRFEquipmentType", + "description": "\n" + }, + { + "name": "vrfwithdoasabridged_model", + "x-displayName": "VRFwithDOASAbridged", + "description": "\n" + }, + { + "name": "vrfwithdoasequipmenttype_model", + "x-displayName": "VRFwithDOASEquipmentType", + "description": "\n" + }, + { + "name": "ventilation_model", + "x-displayName": "Ventilation", + "description": "\n" + }, + { + "name": "ventilationabridged_model", + "x-displayName": "VentilationAbridged", + "description": "\n" + }, + { + "name": "ventilationcontrolabridged_model", + "x-displayName": "VentilationControlAbridged", + "description": "\n" + }, + { + "name": "ventilationcontroltype_model", + "x-displayName": "VentilationControlType", + "description": "\n" + }, + { + "name": "ventilationfan_model", + "x-displayName": "VentilationFan", + "description": "\n" + }, + { + "name": "ventilationopening_model", + "x-displayName": "VentilationOpening", + "description": "\n" + }, + { + "name": "ventilationsimulationcontrol_model", + "x-displayName": "VentilationSimulationControl", + "description": "\n" + }, + { + "name": "ventilationtype_model", + "x-displayName": "VentilationType", + "description": "\n" + }, + { + "name": "view_model", + "x-displayName": "View", + "description": "\n" + }, + { + "name": "viewtype_model", + "x-displayName": "ViewType", + "description": "\n" + }, + { + "name": "vintages_model", + "x-displayName": "Vintages", + "description": "\n" + }, + { + "name": "void_model", + "x-displayName": "Void", + "description": "\n" + }, + { + "name": "wshp_model", + "x-displayName": "WSHP", + "description": "\n" + }, + { + "name": "wshpequipmenttype_model", + "x-displayName": "WSHPEquipmentType", + "description": "\n" + }, + { + "name": "wshpwithdoasabridged_model", + "x-displayName": "WSHPwithDOASAbridged", + "description": "\n" + }, + { + "name": "wshpwithdoasequipmenttype_model", + "x-displayName": "WSHPwithDOASEquipmentType", + "description": "\n" + }, + { + "name": "wallconstructionset_model", + "x-displayName": "WallConstructionSet", + "description": "\n" + }, + { + "name": "wallconstructionsetabridged_model", + "x-displayName": "WallConstructionSetAbridged", + "description": "\n" + }, + { + "name": "wallmodifierset_model", + "x-displayName": "WallModifierSet", + "description": "\n" + }, + { + "name": "wallmodifiersetabridged_model", + "x-displayName": "WallModifierSetAbridged", + "description": "\n" + }, + { + "name": "windowac_model", + "x-displayName": "WindowAC", + "description": "\n" + }, + { + "name": "windowacequipmenttype_model", + "x-displayName": "WindowACEquipmentType", + "description": "\n" + }, + { + "name": "windowconstruction_model", + "x-displayName": "WindowConstruction", + "description": "\n" + }, + { + "name": "windowconstructionabridged_model", + "x-displayName": "WindowConstructionAbridged", + "description": "\n" + }, + { + "name": "windowconstructiondynamic_model", + "x-displayName": "WindowConstructionDynamic", + "description": "\n" + }, + { + "name": "windowconstructiondynamicabridged_model", + "x-displayName": "WindowConstructionDynamicAbridged", + "description": "\n" + }, + { + "name": "windowconstructionshade_model", + "x-displayName": "WindowConstructionShade", + "description": "\n" + }, + { + "name": "windowconstructionshadeabridged_model", + "x-displayName": "WindowConstructionShadeAbridged", + "description": "\n" + }, + { + "name": "_allairbase_model", + "x-displayName": "_AllAirBase", + "description": "\n" + }, + { + "name": "_doasbase_model", + "x-displayName": "_DOASBase", + "description": "\n" + }, + { + "name": "_equipmentbase_model", + "x-displayName": "_EquipmentBase", + "description": "\n" + }, + { + "name": "_facesubset_model", + "x-displayName": "_FaceSubSet", + "description": "\n" + }, + { + "name": "_facesubsetabridged_model", + "x-displayName": "_FaceSubSetAbridged", + "description": "\n" + }, + { + "name": "_heatcoolbase_model", + "x-displayName": "_HeatCoolBase", + "description": "\n" + }, + { + "name": "_openapigenbasemodel_model", + "x-displayName": "_OpenAPIGenBaseModel", + "description": "\n" + }, + { + "name": "_propertiesbaseabridged_model", + "x-displayName": "_PropertiesBaseAbridged", + "description": "\n" + }, + { + "name": "_radianceasset_model", + "x-displayName": "_RadianceAsset", + "description": "\n" + }, + { + "name": "_templatesystem_model", + "x-displayName": "_TemplateSystem", + "description": "\n" + } + ], + "x-tagGroups": [ + { + "name": "Models", + "tags": [ + "_allairbase_model", + "_doasbase_model", + "_equipmentbase_model", + "_facesubset_model", + "_facesubsetabridged_model", + "_heatcoolbase_model", + "_openapigenbasemodel_model", + "_propertiesbaseabridged_model", + "_radianceasset_model", + "_templatesystem_model", + "adiabatic_model", + "afncrack_model", + "airboundaryconstruction_model", + "airboundaryconstructionabridged_model", + "allaireconomizertype_model", + "aperture_model", + "apertureconstructionset_model", + "apertureconstructionsetabridged_model", + "apertureenergypropertiesabridged_model", + "aperturemodifierset_model", + "aperturemodifiersetabridged_model", + "aperturepropertiesabridged_model", + "apertureradiancepropertiesabridged_model", + "autocalculate_model", + "autosize_model", + "baseboard_model", + "baseboardequipmenttype_model", + "basemodifierset_model", + "basemodifiersetabridged_model", + "bsdf_model", + "buildingtype_model", + "color_model", + "constructionset_model", + "constructionsetabridged_model", + "controltype_model", + "datedbasemodel_model", + "daylightingcontrol_model", + "detailedhvac_model", + "door_model", + "doorconstructionset_model", + "doorconstructionsetabridged_model", + "doorenergypropertiesabridged_model", + "doormodifierset_model", + "doormodifiersetabridged_model", + "doorpropertiesabridged_model", + "doorradiancepropertiesabridged_model", + "economizertype_model", + "electricequipment_model", + "electricequipmentabridged_model", + "electricloadcenter_model", + "energybasemodel_model", + "energymaterial_model", + "energymaterialnomass_model", + "energymaterialvegetation_model", + "energywindowframe_model", + "energywindowmaterialblind_model", + "energywindowmaterialgas_model", + "energywindowmaterialgascustom_model", + "energywindowmaterialgasmixture_model", + "energywindowmaterialglazing_model", + "energywindowmaterialshade_model", + "energywindowmaterialsimpleglazsys_model", + "evaporativecooler_model", + "evaporativecoolerequipmenttype_model", + "face3d_model", + "face_model", + "faceenergypropertiesabridged_model", + "facepropertiesabridged_model", + "faceradiancepropertiesabridged_model", + "facetype_model", + "fcu_model", + "fcuequipmenttype_model", + "fcuwithdoasabridged_model", + "fcuwithdoasequipmenttype_model", + "floorconstructionset_model", + "floorconstructionsetabridged_model", + "floormodifierset_model", + "floormodifiersetabridged_model", + "forcedairfurnace_model", + "fueltypes_model", + "furnaceequipmenttype_model", + "gasequipment_model", + "gasequipmentabridged_model", + "gastype_model", + "gasunitheater_model", + "gasunitheaterequipmenttype_model", + "glass_model", + "globalconstructionset_model", + "globalmodifierset_model", + "glow_model", + "ground_model", + "iddbasemodel_model", + "iddenergybasemodel_model", + "iddradiancebasemodel_model", + "idealairsystemabridged_model", + "infiltration_model", + "infiltrationabridged_model", + "internalmassabridged_model", + "light_model", + "lighting_model", + "lightingabridged_model", + "mesh3d_model", + "metal_model", + "mirror_model", + "model_model", + "modelenergyproperties_model", + "modelproperties_model", + "modelradianceproperties_model", + "modifierbase_model", + "modifierset_model", + "modifiersetabridged_model", + "moduletype_model", + "moisturediffusionmodel_model", + "mountingtype_model", + "nolimit_model", + "opaqueconstruction_model", + "opaqueconstructionabridged_model", + "othersidetemperature_model", + "outdoors_model", + "people_model", + "peopleabridged_model", + "plane_model", + "plastic_model", + "processabridged_model", + "programtype_model", + "programtypeabridged_model", + "psz_model", + "pszequipmenttype_model", + "ptac_model", + "ptacequipmenttype_model", + "pvav_model", + "pvavequipmenttype_model", + "pvproperties_model", + "radianceshadestateabridged_model", + "radiancesubfacestateabridged_model", + "radiant_model", + "radiantequipmenttype_model", + "radiantfacetypes_model", + "radiantwithdoasabridged_model", + "radiantwithdoasequipmenttype_model", + "residential_model", + "residentialequipmenttype_model", + "roofceilingconstructionset_model", + "roofceilingconstructionsetabridged_model", + "roofceilingmodifierset_model", + "roofceilingmodifiersetabridged_model", + "room_model", + "roomenergypropertiesabridged_model", + "roompropertiesabridged_model", + "roomradiancepropertiesabridged_model", + "roughness_model", + "scheduleday_model", + "schedulefixedinterval_model", + "schedulefixedintervalabridged_model", + "schedulenumerictype_model", + "scheduleruleabridged_model", + "scheduleruleset_model", + "schedulerulesetabridged_model", + "scheduletypelimit_model", + "scheduleunittype_model", + "sensor_model", + "sensorgrid_model", + "servicehotwater_model", + "servicehotwaterabridged_model", + "setpoint_model", + "setpointabridged_model", + "shade_model", + "shadeconstruction_model", + "shadeenergypropertiesabridged_model", + "shadelocation_model", + "shademesh_model", + "shademeshenergypropertiesabridged_model", + "shademeshpropertiesabridged_model", + "shademeshradiancepropertiesabridged_model", + "shademodifierset_model", + "shademodifiersetabridged_model", + "shadepropertiesabridged_model", + "shaderadiancepropertiesabridged_model", + "shwequipmenttype_model", + "shwsystem_model", + "slatorientation_model", + "stategeometryabridged_model", + "surface_model", + "trans_model", + "units_model", + "vav_model", + "vavequipmenttype_model", + "ventilation_model", + "ventilationabridged_model", + "ventilationcontrolabridged_model", + "ventilationcontroltype_model", + "ventilationfan_model", + "ventilationopening_model", + "ventilationsimulationcontrol_model", + "ventilationtype_model", + "view_model", + "viewtype_model", + "vintages_model", + "void_model", + "vrf_model", + "vrfequipmenttype_model", + "vrfwithdoasabridged_model", + "vrfwithdoasequipmenttype_model", + "wallconstructionset_model", + "wallconstructionsetabridged_model", + "wallmodifierset_model", + "wallmodifiersetabridged_model", + "windowac_model", + "windowacequipmenttype_model", + "windowconstruction_model", + "windowconstructionabridged_model", + "windowconstructiondynamic_model", + "windowconstructiondynamicabridged_model", + "windowconstructionshade_model", + "windowconstructionshadeabridged_model", + "wshp_model", + "wshpequipmenttype_model", + "wshpwithdoasabridged_model", + "wshpwithdoasequipmenttype_model" + ] + } + ], + "paths": {}, + "components": { + "schemas": { + "DaylightingControl": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "sensor_position": { + "title": "Sensor Position", + "description": "A point as 3 (x, y, z) values for the position of the daylight sensor within the parent Room. This point should lie within the Room volume in order for the results to be meaningful.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "DaylightingControl", + "pattern": "^DaylightingControl$", + "type": "string", + "readOnly": true + }, + "illuminance_setpoint": { + "title": "Illuminance Setpoint", + "description": "A number for the illuminance setpoint in lux beyond which electric lights are dimmed if there is sufficient daylight.", + "default": 300, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "control_fraction": { + "title": "Control Fraction", + "description": "A number between 0 and 1 that represents the fraction of the Room lights that are dimmed when the illuminance at the sensor position is at the specified illuminance. 1 indicates that all lights are dim-able while 0 indicates that no lights are dim-able. Deeper rooms should have lower control fractions to account for the face that the lights in the back of the space do not dim in response to suitable daylight at the front of the room.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "min_power_input": { + "title": "Min Power Input", + "description": "A number between 0 and 1 for the the lowest power the lighting system can dim down to, expressed as a fraction of maximum input power.", + "default": 0.3, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "min_light_output": { + "title": "Min Light Output", + "description": "A number between 0 and 1 the lowest lighting output the lighting system can dim down to, expressed as a fraction of maximum light output.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "off_at_minimum": { + "title": "Off At Minimum", + "description": "Boolean to note whether lights should switch off completely when they get to the minimum power input.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "sensor_position" + ], + "additionalProperties": false + } + ], + "title": "DaylightingControl", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "Vintages": { + "title": "Vintages", + "description": "An enumeration.", + "enum": [ + "ASHRAE_2019", + "ASHRAE_2016", + "ASHRAE_2013", + "ASHRAE_2010", + "ASHRAE_2007", + "ASHRAE_2004", + "DOE_Ref_1980_2004", + "DOE_Ref_Pre_1980" + ], + "type": "string" + }, + "VRFwithDOASEquipmentType": { + "title": "VRFwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_VRF" + ], + "type": "string" + }, + "VRFwithDOASAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "VRFwithDOASAbridged", + "pattern": "^VRFwithDOASAbridged$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VRFwithDOASEquipmentType enumeration.", + "default": "DOAS_VRF", + "allOf": [ + { + "$ref": "#/components/schemas/VRFwithDOASEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "VRFwithDOASAbridged", + "description": "Variable Refrigerant Flow (VRF) with DOAS HVAC system.\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a single speed direct expansion (DX) cooling coil along with a single-speed\ndirect expansion (DX) heat pump with a backup electrical resistance coil.\n\nEach room/zone also receives its own Variable Refrigerant Flow (VRF) terminal,\nwhich meets the heating and cooling loads of the space. All room/zone terminals\nare connected to the same outdoor unit, meaning that either all rooms must be\nin cooling or heating mode together.", + "discriminator": { + "propertyName": "type" + } + }, + "ScheduleDay": { + "allOf": [ + { + "$ref": "#/components/schemas/EnergyBaseModel" + }, + { + "type": "object", + "required": [ + "values" + ], + "properties": { + "values": { + "title": "Values", + "description": "A list of floats or integers for the values of the schedule. The length of this list must match the length of the times list.", + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "ScheduleDay", + "pattern": "^ScheduleDay$", + "type": "string", + "readOnly": true + }, + "times": { + "title": "Times", + "description": "A list of lists with each sub-list possesing 2 values for [hour, minute]. The length of the master list must match the length of the values list. Each time in the master list represents the time of day that the corresponding value begins to take effect. For example [(0,0), (9,0), (17,0)] in combination with the values [0, 1, 0] denotes a schedule value of 0 from 0:00 to 9:00, a value of 1 from 9:00 to 17:00 and 0 from 17:00 to the end of the day. Note that this representation of times as the \"time of beginning\" is a different convention than EnergyPlus, which uses \"time until\".", + "default": [ + 0, + 0 + ], + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "minItems": 2, + "maxItems": 2 + } + }, + "interpolate": { + "title": "Interpolate", + "description": "Boolean to note whether values in between times should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleDay", + "description": "Used to describe the daily schedule for a single simulation day.", + "discriminator": { + "propertyName": "type" + } + }, + "ScheduleRuleAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/DatedBaseModel" + }, + { + "type": "object", + "required": [ + "schedule_day" + ], + "properties": { + "schedule_day": { + "title": "Schedule Day", + "description": "The identifier of a ScheduleDay object associated with this rule.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "ScheduleRuleAbridged", + "pattern": "^ScheduleRuleAbridged$", + "type": "string", + "readOnly": true + }, + "apply_sunday": { + "title": "Apply Sunday", + "description": "Boolean noting whether to apply schedule_day on Sundays.", + "default": false, + "type": "boolean" + }, + "apply_monday": { + "title": "Apply Monday", + "description": "Boolean noting whether to apply schedule_day on Mondays.", + "default": false, + "type": "boolean" + }, + "apply_tuesday": { + "title": "Apply Tuesday", + "description": "Boolean noting whether to apply schedule_day on Tuesdays.", + "default": false, + "type": "boolean" + }, + "apply_wednesday": { + "title": "Apply Wednesday", + "description": "Boolean noting whether to apply schedule_day on Wednesdays.", + "default": false, + "type": "boolean" + }, + "apply_thursday": { + "title": "Apply Thursday", + "description": "Boolean noting whether to apply schedule_day on Thursdays.", + "default": false, + "type": "boolean" + }, + "apply_friday": { + "title": "Apply Friday", + "description": "Boolean noting whether to apply schedule_day on Fridays.", + "default": false, + "type": "boolean" + }, + "apply_saturday": { + "title": "Apply Saturday", + "description": "Boolean noting whether to apply schedule_day on Saturdays.", + "default": false, + "type": "boolean" + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the start date of the period over which the schedule_day will be applied.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "end_date": { + "title": "End Date", + "description": "A list of two integers for [month, day], representing the end date of the period over which the schedule_day will be applied.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 12, + 31 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleRuleAbridged", + "description": "Schedule rule including a ScheduleDay and when it should be applied..", + "discriminator": { + "propertyName": "type" + } + }, + "NoLimit": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "NoLimit", + "pattern": "^NoLimit$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "NoLimit", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "ScheduleNumericType": { + "title": "ScheduleNumericType", + "description": "Designates how the range values are validated.", + "enum": [ + "Continuous", + "Discrete" + ], + "type": "string" + }, + "ScheduleUnitType": { + "title": "ScheduleUnitType", + "description": "An enumeration.", + "enum": [ + "Dimensionless", + "Temperature", + "DeltaTemperature", + "PrecipitationRate", + "Angle", + "ConvectionCoefficient", + "ActivityLevel", + "Velocity", + "Capacity", + "Power", + "Availability", + "Percent", + "Control", + "Mode" + ], + "type": "string" + }, + "ScheduleTypeLimit": { + "allOf": [ + { + "$ref": "#/components/schemas/EnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ScheduleTypeLimit", + "pattern": "^ScheduleTypeLimit$", + "type": "string", + "readOnly": true + }, + "lower_limit": { + "title": "Lower Limit", + "description": "Lower limit for the schedule type or NoLimit.", + "default": { + "type": "NoLimit" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/NoLimit" + }, + { + "type": "number" + } + ] + }, + "upper_limit": { + "title": "Upper Limit", + "description": "Upper limit for the schedule type or NoLimit.", + "default": { + "type": "NoLimit" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/NoLimit" + }, + { + "type": "number" + } + ] + }, + "numeric_type": { + "default": "Continuous", + "allOf": [ + { + "$ref": "#/components/schemas/ScheduleNumericType" + } + ] + }, + "unit_type": { + "default": "Dimensionless", + "allOf": [ + { + "$ref": "#/components/schemas/ScheduleUnitType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleTypeLimit", + "description": "Specifies the data types and limits for values contained in schedules.", + "discriminator": { + "propertyName": "type" + } + }, + "ScheduleRuleset": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "day_schedules", + "default_day_schedule" + ], + "properties": { + "day_schedules": { + "title": "Day Schedules", + "description": "A list of ScheduleDays that are referenced in the other keys of this ScheduleRulesetAbridged.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleDay" + } + }, + "default_day_schedule": { + "title": "Default Day Schedule", + "description": "An identifier for the ScheduleDay that will be used for all days when no ScheduleRule is applied. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "ScheduleRuleset", + "pattern": "^ScheduleRuleset$", + "type": "string", + "readOnly": true + }, + "schedule_rules": { + "title": "Schedule Rules", + "description": "A list of ScheduleRuleAbridged that note exceptions to the default_day_schedule. These rules should be ordered from highest to lowest priority.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleRuleAbridged" + } + }, + "holiday_schedule": { + "title": "Holiday Schedule", + "description": "An identifier for the ScheduleDay that will be used for holidays. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "summer_designday_schedule": { + "title": "Summer Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the summer design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "winter_designday_schedule": { + "title": "Winter Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the winter design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "ScheduleTypeLimit object that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "allOf": [ + { + "$ref": "#/components/schemas/ScheduleTypeLimit" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleRuleset", + "description": "Used to define a schedule for a default day, further described by ScheduleRule.", + "discriminator": { + "propertyName": "type" + } + }, + "ScheduleFixedInterval": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "values" + ], + "properties": { + "values": { + "title": "Values", + "description": "A list of timeseries values occuring at each timestep over the course of the simulation.", + "minItems": 24, + "maxItems": 527040, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "ScheduleFixedInterval", + "pattern": "^ScheduleFixedInterval$", + "type": "string", + "readOnly": true + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "ScheduleTypeLimit object that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "allOf": [ + { + "$ref": "#/components/schemas/ScheduleTypeLimit" + } + ] + }, + "timestep": { + "title": "Timestep", + "description": "An integer for the number of steps per hour that the input values correspond to. For example, if each value represents 30 minutes, the timestep is 2. For 15 minutes, it is 4.", + "default": 1, + "type": "integer", + "format": "int32" + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the start date when the schedule values begin to take effect.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "placeholder_value": { + "title": "Placeholder Value", + "description": " A value that will be used for all times not covered by the input values. Typically, your simulation should not need to use this value if the input values completely cover the simulation period.", + "default": 0, + "type": "number", + "format": "double" + }, + "interpolate": { + "title": "Interpolate", + "description": "Boolean to note whether values in between intervals should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleFixedInterval", + "description": "Used to specify a start date and a list of values for a period of analysis.", + "discriminator": { + "propertyName": "type" + } + }, + "Infiltration": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "flow_per_exterior_area", + "schedule" + ], + "properties": { + "flow_per_exterior_area": { + "title": "Flow Per Exterior Area", + "description": "Number for the infiltration per exterior surface area in m3/s-m2.", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the infiltration over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_exterior_area to yield a complete infiltration profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "type": { + "title": "Type", + "default": "Infiltration", + "pattern": "^Infiltration$", + "type": "string", + "readOnly": true + }, + "constant_coefficient": { + "title": "Constant Coefficient", + "default": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "temperature_coefficient": { + "title": "Temperature Coefficient", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "velocity_coefficient": { + "title": "Velocity Coefficient", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "Infiltration", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "Plane": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "n": { + "title": "N", + "description": "Plane normal as 3 (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "o": { + "title": "O", + "description": "Plane origin as 3 (x, y, z) values", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "Plane", + "pattern": "^Plane$", + "type": "string", + "readOnly": true + }, + "x": { + "title": "X", + "description": "Plane x-axis as 3 (x, y, z) values. If None, it is autocalculated.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + }, + "required": [ + "n", + "o" + ], + "additionalProperties": false + } + ], + "title": "Plane", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "Face3D": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "boundary": { + "title": "Boundary", + "description": "A list of points representing the outer boundary vertices of the face. The list should include at least 3 points and each point should be a list of 3 (x, y, z) values.", + "minItems": 3, + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "minItems": 3, + "maxItems": 3 + } + }, + "type": { + "title": "Type", + "default": "Face3D", + "pattern": "^Face3D$", + "type": "string", + "readOnly": true + }, + "holes": { + "title": "Holes", + "description": "Optional list of lists with one list for each hole in the face.Each hole should be a list of at least 3 points and each point a list of 3 (x, y, z) values. If None, it will be assumed that there are no holes in the face.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": 3 + } + }, + "plane": { + "title": "Plane", + "description": "Optional Plane indicating the plane in which the face exists.If None, the plane will usually be derived from the boundary points.", + "allOf": [ + { + "$ref": "#/components/schemas/Plane" + } + ] + } + }, + "required": [ + "boundary" + ], + "additionalProperties": false + } + ], + "title": "Face3D", + "description": "A single planar face in 3D space.", + "discriminator": { + "propertyName": "type" + } + }, + "Autocalculate": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Autocalculate", + "pattern": "^Autocalculate$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Autocalculate", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "Outdoors": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Outdoors", + "pattern": "^Outdoors$", + "type": "string", + "readOnly": true + }, + "sun_exposure": { + "title": "Sun Exposure", + "description": "A boolean noting whether the boundary is exposed to sun.", + "default": true, + "type": "boolean" + }, + "wind_exposure": { + "title": "Wind Exposure", + "description": "A boolean noting whether the boundary is exposed to wind.", + "default": true, + "type": "boolean" + }, + "view_factor": { + "title": "View Factor", + "description": "A number for the view factor to the ground. This can also be an Autocalculate object to have the view factor automatically calculated.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "Outdoors", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "Surface": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "boundary_condition_objects": { + "title": "Boundary Condition Objects", + "description": "A list of up to 3 object identifiers that are adjacent to this one. The first object is always the one that is immediately adjacent and is of the same object type (Face, Aperture, Door). When this boundary condition is applied to a Face, the second object in the tuple will be the parent Room of the adjacent object. When the boundary condition is applied to a sub-face (Door or Aperture), the second object will be the parent Face of the adjacent sub-face and the third object will be the parent Room of the adjacent sub-face.", + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "title": "Type", + "default": "Surface", + "pattern": "^Surface$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "boundary_condition_objects" + ], + "additionalProperties": false + } + ], + "title": "Surface", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "ModuleType": { + "title": "ModuleType", + "description": "An enumeration.", + "enum": [ + "Standard", + "Premium", + "ThinFilm" + ], + "type": "string" + }, + "MountingType": { + "title": "MountingType", + "description": "An enumeration.", + "enum": [ + "FixedOpenRack", + "FixedRoofMounted", + "OneAxis", + "OneAxisBacktracking", + "TwoAxis" + ], + "type": "string" + }, + "PVProperties": { + "allOf": [ + { + "$ref": "#/components/schemas/EnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "PVProperties", + "pattern": "^PVProperties$", + "type": "string", + "readOnly": true + }, + "rated_efficiency": { + "title": "Rated Efficiency", + "description": "A number between 0 and 1 for the rated nameplate efficiency of the photovoltaic solar cells under standard test conditions (STC). Standard test conditions are 1,000 Watts per square meter solar irradiance, 25 degrees C cell temperature, and ASTM G173-03 standard spectrum. Nameplate efficiencies reported by manufacturers are typically under STC. Standard poly- or mono-crystalline silicon modules tend to have rated efficiencies in the range of 14-17%. Premium high efficiency mono-crystalline silicon modules with anti-reflective coatings can have efficiencies in the range of 18-20%. Thin film photovoltaic modules typically have efficiencies of 11% or less. (Default: 0.15 for standard silicon solar cells).", + "default": 0.15, + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number", + "format": "double" + }, + "active_area_fraction": { + "title": "Active Area Fraction", + "description": "The fraction of the parent Shade geometry that is covered in active solar cells. This fraction includes the difference between the PV panel (aka. PV module) area and the active cells within the panel as well as any losses for how the (typically rectangular) panels can be arranged on the Shade geometry. When the parent Shade geometry represents just the solar panels, this fraction is typically around 0.9 given that the framing elements of the panel reduce the overall active area. (Default: 0.9, assuming parent Shade geometry represents only the PV panel geometry).", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "module_type": { + "description": "Text to indicate the type of solar module. This is used to determine the temperature coefficients used in the simulation of the photovoltaic modules. When the rated_efficiency is between 12-18%, the Standard type is typically most appropriate. When the rated_efficiency is greater than 18%, the Premium type is likely more appropriate. When the rated_efficiency is less than 12%, this likely refers to a case where the ThinFilm module type is most appropriate.", + "default": "Standard", + "allOf": [ + { + "$ref": "#/components/schemas/ModuleType" + } + ] + }, + "mounting_type": { + "description": "Text to indicate the type of mounting and/or tracking used for the photovoltaic array. Note that the OneAxis options have an axis of rotation that is determined by the azimuth of the parent Shade geometry. Also note that, in the case of one or two axis tracking, shadows on the (static) parent Shade geometry still reduce the electrical output, enabling the simulation to account for large context geometry casting shadows on the array. However, the effects of smaller detailed shading may be improperly accounted for and self shading of the dynamic panel geometry is only accounted for via the tracking_ground_coverage_ratio property on this object. FixedOpenRack refers to ground or roof mounting where the air flows freely. FixedRoofMounted refers to mounting flush with the roof with limited air flow. OneAxis refers to a fixed tilt and azimuth, which define an axis of rotation. OneAxisBacktracking is the same as OneAxis but with controls to reduce self-shade at low sun angles. TwoAxis refers to a dynamic tilt and azimuth that track the sun.", + "default": "FixedOpenRack", + "allOf": [ + { + "$ref": "#/components/schemas/MountingType" + } + ] + }, + "system_loss_fraction": { + "title": "System Loss Fraction", + "description": "A number between 0 and 1 for the fraction of the electricity output lost due to factors other than EPW weather conditions, panel efficiency/type, active area, mounting, and inverter conversion from DC to AC. Factors that should be accounted for in this input include soiling, snow, wiring losses, electrical connection losses, manufacturer defects/tolerances/mismatch in cell characteristics, losses from power grid availability, and losses due to age or light-induced degradation. Losses from these factors tend to be between 10-20% but can vary widely depending on the installation, maintenance and the grid to which the panels are connected..", + "default": 0.14, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "PVProperties", + "description": "Base class for all objects requiring a valid EnergyPlus identifier.", + "discriminator": { + "propertyName": "type" + } + }, + "ShadeEnergyPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeEnergyPropertiesAbridged", + "pattern": "^ShadeEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of a ShadeConstruction to set the reflectance and specularity of the Shade. If None, the construction is set by theparent Room construction_set, the Model global_construction_set or (in the case fo an orphaned shade) the EnergyPlus default of 0.2 diffuse reflectance.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "transmittance_schedule": { + "title": "Transmittance Schedule", + "description": "Identifier of a schedule to set the transmittance of the shade, which can vary throughout the simulation. If None, the shade will be completely opaque.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "pv_properties": { + "title": "Pv Properties", + "description": "An optional PVProperties object to specify photovoltaic behavior of the Shade. If None, the Shade will have no Photovoltaic properties. Note that the normal of the Shade is important in determining the performance of the shade as a PV geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/PVProperties" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ShadeEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "StateGeometryAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdRadianceBaseModel" + }, + { + "type": "object", + "required": [ + "geometry" + ], + "properties": { + "geometry": { + "title": "Geometry", + "description": "A ladybug_geometry Face3D.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "type": { + "title": "Type", + "default": "StateGeometryAbridged", + "pattern": "^StateGeometryAbridged$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier identifier (default: None).", + "type": "string" + }, + "modifier_direct": { + "title": "Modifier Direct", + "description": "A string for Honeybee Radiance Modifier identifiers to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "StateGeometryAbridged", + "description": "A single planar geometry that can be assigned to Radiance states.", + "discriminator": { + "propertyName": "type" + } + }, + "RadianceShadeStateAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RadianceShadeStateAbridged", + "pattern": "^RadianceShadeStateAbridged$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "A Radiance Modifier identifier (default: None).", + "type": "string" + }, + "modifier_direct": { + "title": "Modifier Direct", + "description": "A Radiance Modifier identifier (default: None).", + "type": "string" + }, + "shades": { + "title": "Shades", + "description": "A list of StateGeometryAbridged objects (default: None).", + "type": "array", + "items": { + "$ref": "#/components/schemas/StateGeometryAbridged" + } + } + }, + "additionalProperties": false + } + ], + "title": "RadianceShadeStateAbridged", + "description": "RadianceShadeStateAbridged represents a single state for a dynamic Shade.", + "discriminator": { + "propertyName": "type" + } + }, + "ShadeRadiancePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_PropertiesBaseAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeRadiancePropertiesAbridged", + "pattern": "^ShadeRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "dynamic_group_identifier": { + "title": "Dynamic Group Identifier", + "description": "An optional string to note the dynamic group ' 'to which the Shade is a part of. Shades sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Shade is assumed to be static. (default: None).", + "type": "string" + }, + "states": { + "title": "States", + "description": "An optional list of abridged states (default: None).", + "type": "array", + "items": { + "$ref": "#/components/schemas/RadianceShadeStateAbridged" + } + } + }, + "additionalProperties": false + } + ], + "title": "ShadeRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Shade Abridged.", + "discriminator": { + "propertyName": "type" + } + }, + "ShadePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadePropertiesAbridged", + "pattern": "^ShadePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/ShadeEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/ShadeRadiancePropertiesAbridged" + } + } + } + ], + "title": "ShadePropertiesAbridged", + "discriminator": { + "propertyName": "type" + } + }, + "Shade": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "geometry", + "properties" + ], + "properties": { + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/ShadePropertiesAbridged" + } + ] + }, + "type": { + "title": "Type", + "default": "Shade", + "pattern": "^Shade$", + "type": "string", + "readOnly": true + }, + "is_detached": { + "title": "Is Detached", + "description": "Boolean to note whether this shade is detached from any of the other geometry in the model. Cases where this should be True include shade representing surrounding buildings or context. Note that this should always be False for shades assigned to parent objects.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "Shade", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "discriminator": { + "propertyName": "type" + } + }, + "VentilationOpening": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationOpening", + "pattern": "^VentilationOpening$", + "type": "string", + "readOnly": true + }, + "fraction_area_operable": { + "title": "Fraction Area Operable", + "description": "A number for the fraction of the window area that is operable.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "fraction_height_operable": { + "title": "Fraction Height Operable", + "description": "A number for the fraction of the distance from the bottom of the window to the top that is operable", + "default": 1.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "discharge_coefficient": { + "title": "Discharge Coefficient", + "description": "A number that will be multiplied by the area of the window in the stack (buoyancy-driven) part of the equation to account for additional friction from window geometry, insect screens, etc. Typical values include 0.45, for unobstructed windows WITH insect screens and 0.65 for unobstructed windows WITHOUT insect screens. This value should be lowered if windows are of an awning or casement type and are not allowed to fully open.", + "default": 0.45, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "wind_cross_vent": { + "title": "Wind Cross Vent", + "description": "Boolean to indicate if there is an opening of roughly equal area on the opposite side of the Room such that wind-driven cross ventilation will be induced. If False, the assumption is that the operable area is primarily on one side of the Room and there is no wind-driven ventilation.", + "default": false, + "type": "boolean" + }, + "flow_coefficient_closed": { + "title": "Flow Coefficient Closed", + "description": "An optional number in kg/s-m, at 1 Pa per meter of crack length, used to calculate the mass flow rate when the opening is closed; required to run an AirflowNetwork simulation. The DesignBuilder Cracks template defines the flow coefficient for a tight, low-leakage closed external window to be 0.00001, and the flow coefficient for a very poor, high-leakage closed external window to be 0.003.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_exponent_closed": { + "title": "Flow Exponent Closed", + "description": "An optional dimensionless number between 0.5 and 1 used to calculate the mass flow rate when the opening is closed; required to run an AirflowNetwork simulation. This value represents the leak geometry impact on airflow, with 0.5 generally corresponding to turbulent orifice flow and 1 generally corresponding to laminar flow. The default of 0.65 is representative of many cases of wall and window leakage, used when the exponent cannot be measured.", + "default": 0.65, + "minimum": 0.5, + "maximum": 1, + "type": "number", + "format": "double" + }, + "two_way_threshold": { + "title": "Two Way Threshold", + "description": "A number in kg/m3 indicating the minimum density difference above which two-way flow may occur due to stack effect, required to run an AirflowNetwork simulation. This value is required because the air density difference between two zones (which drives two-way air flow) will tend towards division by zero errors as the air density difference approaches zero. The default of 0.0001 is a typical default value used for AirflowNetwork openings.", + "default": 0.0001, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "VentilationOpening", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "DoorEnergyPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorEnergyPropertiesAbridged", + "pattern": "^DoorEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of an OpaqueConstruction or WindowConstruction for the door. Note that the host door must have the is_glass property set to True to assign a WindowConstruction. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "vent_opening": { + "title": "Vent Opening", + "description": "An optional VentilationOpening to specify the operable portion of the Door.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationOpening" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "DoorEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "RadianceSubFaceStateAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/RadianceShadeStateAbridged" + }, + { + "type": "object", + "properties": { + "vmtx_geometry": { + "title": "Vmtx Geometry", + "description": "A Face3D for the view matrix geometry (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "dmtx_geometry": { + "title": "Dmtx Geometry", + "description": "A Face3D for the daylight matrix geometry (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "type": { + "title": "Type", + "default": "RadianceSubFaceStateAbridged", + "pattern": "^RadianceSubFaceStateAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "RadianceSubFaceStateAbridged", + "description": "RadianceSubFaceStateAbridged is an abridged state for a dynamic Aperture or Door.\n ", + "discriminator": { + "propertyName": "type" + } + }, + "DoorRadiancePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_PropertiesBaseAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorRadiancePropertiesAbridged", + "pattern": "^DoorRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "dynamic_group_identifier": { + "title": "Dynamic Group Identifier", + "description": "An optional string to note the dynamic group ' 'to which the Door is a part of. Doors sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Door is assumed to be static. (default: None).", + "type": "string" + }, + "states": { + "title": "States", + "description": "An optional list of abridged states (default: None).", + "type": "array", + "items": { + "$ref": "#/components/schemas/RadianceSubFaceStateAbridged" + } + } + }, + "additionalProperties": false + } + ], + "title": "DoorRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Door Abridged.", + "discriminator": { + "propertyName": "type" + } + }, + "DoorPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorPropertiesAbridged", + "pattern": "^DoorPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/DoorEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/DoorRadiancePropertiesAbridged" + } + } + } + ], + "title": "DoorPropertiesAbridged", + "discriminator": { + "propertyName": "type" + } + }, + "Door": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "geometry", + "boundary_condition", + "properties" + ], + "properties": { + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "boundary_condition": { + "title": "Boundary Condition", + "anyOf": [ + { + "$ref": "#/components/schemas/Outdoors" + }, + { + "$ref": "#/components/schemas/Surface" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/DoorPropertiesAbridged" + } + ] + }, + "type": { + "title": "Type", + "default": "Door", + "pattern": "^Door$", + "type": "string", + "readOnly": true + }, + "is_glass": { + "title": "Is Glass", + "description": "Boolean to note whether this object is a glass door as opposed to an opaque door.", + "default": false, + "type": "boolean" + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. entryway awning).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + } + }, + "additionalProperties": false + } + ], + "title": "Door", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "discriminator": { + "propertyName": "type" + } + }, + "RadiantwithDOASEquipmentType": { + "title": "RadiantwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_Radiant_Chiller_Boiler", + "DOAS_Radiant_Chiller_ASHP", + "DOAS_Radiant_Chiller_DHW", + "DOAS_Radiant_ACChiller_Boiler", + "DOAS_Radiant_ACChiller_ASHP", + "DOAS_Radiant_ACChiller_DHW", + "DOAS_Radiant_DCW_Boiler", + "DOAS_Radiant_DCW_ASHP", + "DOAS_Radiant_DCW_DHW" + ], + "type": "string" + }, + "RadiantFaceTypes": { + "title": "RadiantFaceTypes", + "description": "An enumeration.", + "enum": [ + "Floor", + "Ceiling", + "FloorWithCarpet", + "CeilingMetalPanel", + "FloorWithHardwood" + ], + "type": "string" + }, + "RadiantwithDOASAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "RadiantwithDOASAbridged", + "pattern": "^RadiantwithDOASAbridged$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the RadiantwithDOASEquipmentType enumeration.", + "default": "DOAS_Radiant_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/RadiantwithDOASEquipmentType" + } + ] + }, + "radiant_face_type": { + "description": "Text to indicate which faces are thermally active by default. Note that this property has no effect when the rooms to which the HVAC system is assigned have constructions with internal source materials. In this case, those constructions will dictate the thermally active surfaces.", + "default": "Floor", + "allOf": [ + { + "$ref": "#/components/schemas/RadiantFaceTypes" + } + ] + }, + "minimum_operation_time": { + "title": "Minimum Operation Time", + "description": "A number for the minimum number of hours of operation for the radiant system before it shuts off.", + "default": 1.0, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "switch_over_time": { + "title": "Switch Over Time", + "description": "A number for the minimum number of hours for when the system can switch between heating and cooling.", + "default": 24.0, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "RadiantwithDOASAbridged", + "description": "Low Temperature Radiant with DOAS HVAC system.\n\nThis HVAC template will change the floor and/or ceiling constructions\nof the Rooms that it is applied to, replacing them with a construction that\naligns with the radiant_type property (eg. CeilingMetalPanel).\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a two-speed direct expansion (DX) cooling coil and a single-speed DX\nheating coil with backup electrical resistance heat.\n\nThe heating and cooling needs of the space are met with the radiant constructions,\nwhich use chilled water at 12.8C (55F) and a hot water temperature somewhere\nbetween 32.2C (90F) and 49C (120F) (warmer temperatures are used in colder\nclimate zones).\n\nNote that radiant systems are particularly limited in cooling capacity and\nusing them may result in many unmet hours. To reduce unmet hours, one can\nremove carpets, reduce internal loads, reduce solar and envelope gains during\npeak times, add thermal mass, and use an expanded comfort range.", + "discriminator": { + "propertyName": "type" + } + }, + "EnergyWindowMaterialSimpleGlazSys": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "u_factor", + "shgc" + ], + "properties": { + "u_factor": { + "title": "U Factor", + "description": "The overall heat transfer coefficient for window system in W/m2-K. Note that constructions with U-values above 5.8 should not be assigned to skylights as this implies the resistance of the window is negative when air films are subtracted.", + "exclusiveMinimum": 0, + "maximum": 12, + "type": "number", + "format": "double" + }, + "shgc": { + "title": "Shgc", + "description": "Unit-less quantity for the Solar Heat Gain Coefficient (solar transmittance + conduction) at normal incidence and vertical orientation.", + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialSimpleGlazSys", + "pattern": "^EnergyWindowMaterialSimpleGlazSys$", + "type": "string", + "readOnly": true + }, + "vt": { + "title": "Vt", + "description": "The fraction of visible light falling on the window that makes it through the glass at normal incidence.", + "default": 0.54, + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialSimpleGlazSys", + "description": "Describe an entire glazing system rather than individual layers.\n\nUsed when only very limited information is available on the glazing layers or when\nspecific performance levels are being targeted.", + "discriminator": { + "propertyName": "type" + } + }, + "EnergyWindowMaterialGlazing": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGlazing", + "pattern": "^EnergyWindowMaterialGlazing$", + "type": "string", + "readOnly": true + }, + "thickness": { + "title": "Thickness", + "description": "The surface-to-surface thickness of the glass in meters. Default: 0.003.", + "default": 0.003, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "solar_transmittance": { + "title": "Solar Transmittance", + "description": "Transmittance of solar radiation through the glass at normal incidence. Default: 0.85 for clear glass.", + "default": 0.85, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "solar_reflectance": { + "title": "Solar Reflectance", + "description": "Reflectance of solar radiation off of the front side of the glass at normal incidence, averaged over the solar spectrum. Default: 0.075 for clear glass.", + "default": 0.075, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "solar_reflectance_back": { + "title": "Solar Reflectance Back", + "description": "Reflectance of solar radiation off of the back side of the glass at normal incidence, averaged over the solar spectrum.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + }, + "visible_transmittance": { + "title": "Visible Transmittance", + "description": "Transmittance of visible light through the glass at normal incidence. Default: 0.9 for clear glass.", + "default": 0.9, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_reflectance": { + "title": "Visible Reflectance", + "description": "Reflectance of visible light off of the front side of the glass at normal incidence. Default: 0.075 for clear glass.", + "default": 0.075, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_reflectance_back": { + "title": "Visible Reflectance Back", + "description": "Reflectance of visible light off of the back side of the glass at normal incidence averaged over the solar spectrum and weighted by the response of the human eye.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + }, + "infrared_transmittance": { + "title": "Infrared Transmittance", + "description": "Long-wave transmittance at normal incidence.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "emissivity": { + "title": "Emissivity", + "description": "Infrared hemispherical emissivity of the front (outward facing) side of the glass. Default: 0.84, which is typical for clear glass without a low-e coating.", + "default": 0.84, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "emissivity_back": { + "title": "Emissivity Back", + "description": "Infrared hemispherical emissivity of the back (inward facing) side of the glass. Default: 0.84, which is typical for clear glass without a low-e coating.", + "default": 0.84, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "conductivity": { + "title": "Conductivity", + "description": "Thermal conductivity of the glass in W/(m-K). Default: 0.9, which is typical for clear glass without a low-e coating.", + "default": 0.9, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "dirt_correction": { + "title": "Dirt Correction", + "description": "Factor that corrects for the presence of dirt on the glass. A default value of 1 indicates the glass is clean.", + "default": 1, + "type": "number", + "format": "double" + }, + "solar_diffusing": { + "title": "Solar Diffusing", + "description": "If False (default), the beam solar radiation incident on the glass is transmitted as beam radiation with no diffuse component.If True, the beam solar radiation incident on the glass is transmitted as hemispherical diffuse radiation with no beam component.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialGlazing", + "description": "Describe a single glass pane corresponding to a layer in a window construction.", + "discriminator": { + "propertyName": "type" + } + }, + "GasType": { + "title": "GasType", + "description": "An enumeration.", + "enum": [ + "Air", + "Argon", + "Krypton", + "Xenon" + ], + "type": "string" + }, + "EnergyWindowMaterialGas": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGas", + "pattern": "^EnergyWindowMaterialGas$", + "type": "string", + "readOnly": true + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the gas layer in meters. Default: 0.0125.", + "default": 0.0125, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "gas_type": { + "default": "Air", + "allOf": [ + { + "$ref": "#/components/schemas/GasType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialGas", + "description": "Create single layer of gas in a window construction.\n\nCan be combined with EnergyWindowMaterialGlazing to make multi-pane windows.", + "discriminator": { + "propertyName": "type" + } + }, + "EnergyWindowMaterialGasCustom": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "conductivity_coeff_a", + "viscosity_coeff_a", + "specific_heat_coeff_a", + "specific_heat_ratio", + "molecular_weight" + ], + "properties": { + "conductivity_coeff_a": { + "title": "Conductivity Coeff A", + "description": "The A coefficient for gas conductivity in W/(m-K).", + "type": "number", + "format": "double" + }, + "viscosity_coeff_a": { + "title": "Viscosity Coeff A", + "description": "The A coefficient for gas viscosity in kg/(m-s).", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "specific_heat_coeff_a": { + "title": "Specific Heat Coeff A", + "description": "The A coefficient for gas specific heat in J/(kg-K).", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "specific_heat_ratio": { + "title": "Specific Heat Ratio", + "description": "The specific heat ratio for gas.", + "exclusiveMinimum": 1, + "type": "number", + "format": "double" + }, + "molecular_weight": { + "title": "Molecular Weight", + "description": "The molecular weight for gas in g/mol.", + "minimum": 20, + "maximum": 200, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGasCustom", + "pattern": "^EnergyWindowMaterialGasCustom$", + "type": "string", + "readOnly": true + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the gas layer in meters. Default: 0.0125.", + "default": 0.0125, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "conductivity_coeff_b": { + "title": "Conductivity Coeff B", + "description": "The B coefficient for gas conductivity in W/(m-K2).", + "default": 0, + "type": "number", + "format": "double" + }, + "conductivity_coeff_c": { + "title": "Conductivity Coeff C", + "description": "The C coefficient for gas conductivity in W/(m-K3).", + "default": 0, + "type": "number", + "format": "double" + }, + "viscosity_coeff_b": { + "title": "Viscosity Coeff B", + "description": "The B coefficient for gas viscosity in kg/(m-s-K).", + "default": 0, + "type": "number", + "format": "double" + }, + "viscosity_coeff_c": { + "title": "Viscosity Coeff C", + "description": "The C coefficient for gas viscosity in kg/(m-s-K2).", + "default": 0, + "type": "number", + "format": "double" + }, + "specific_heat_coeff_b": { + "title": "Specific Heat Coeff B", + "description": "The B coefficient for gas specific heat in J/(kg-K2).", + "default": 0, + "type": "number", + "format": "double" + }, + "specific_heat_coeff_c": { + "title": "Specific Heat Coeff C", + "description": "The C coefficient for gas specific heat in J/(kg-K3).", + "default": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialGasCustom", + "description": "Create single layer of custom gas.", + "discriminator": { + "propertyName": "type" + } + }, + "EnergyWindowMaterialGasMixture": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "gas_types", + "gas_fractions" + ], + "properties": { + "gas_types": { + "description": "List of gases in the gas mixture.", + "type": "array", + "items": { + "$ref": "#/components/schemas/GasType" + }, + "minItems": 2, + "maxItems": 4 + }, + "gas_fractions": { + "title": "Gas Fractions", + "description": "A list of fractional numbers describing the volumetric fractions of gas types in the mixture. This list must align with the gas_types list and must sum to 1.", + "minItems": 2, + "maxItems": 4, + "type": "array", + "items": { + "type": "number", + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGasMixture", + "pattern": "^EnergyWindowMaterialGasMixture$", + "type": "string", + "readOnly": true + }, + "thickness": { + "title": "Thickness", + "description": "The thickness of the gas mixture layer in meters.", + "default": 0.0125, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialGasMixture", + "description": "Create a mixture of two to four different gases to fill the panes of multiple\npane windows.", + "discriminator": { + "propertyName": "type" + } + }, + "EnergyWindowFrame": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "width", + "conductance" + ], + "properties": { + "width": { + "title": "Width", + "description": "Number for the width of frame in plane of window [m]. The frame width is assumed to be the same on all sides of window..", + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "conductance": { + "title": "Conductance", + "description": "Number for the thermal conductance of the frame material measured from inside to outside of the frame surface (no air films) and taking 2D conduction effects into account [W/m2-K].", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "EnergyWindowFrame", + "pattern": "^EnergyWindowFrame$", + "type": "string", + "readOnly": true + }, + "edge_to_center_ratio": { + "title": "Edge To Center Ratio", + "description": "Number between 0 and 4 for the ratio of the glass conductance near the frame (excluding air films) divided by the glass conductance at the center of the glazing (excluding air films). This is used only for multi-pane glazing constructions. This ratio should usually be greater than 1.0 since the spacer material that separates the glass panes is usually more conductive than the gap between panes. A value of 1 effectively indicates no spacer. Values should usually be obtained from the LBNL WINDOW program so that the unique characteristics of the window construction can be accounted for.", + "default": 1, + "exclusiveMinimum": 0, + "maximum": 4, + "type": "number", + "format": "double" + }, + "outside_projection": { + "title": "Outside Projection", + "description": "Number for the distance that the frame projects outward from the outside face of the glazing [m]. This is used to calculate shadowing of frame onto glass, solar absorbed by the frame, IR emitted and absorbed by the frame, and convection from frame.", + "default": 0, + "minimum": 0, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "inside_projection": { + "title": "Inside Projection", + "description": "Number for the distance that the frame projects inward from the inside face of the glazing [m]. This is used to calculate solar absorbed by the frame, IR emitted and absorbed by the frame, and convection from frame.", + "default": 0, + "minimum": 0, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "thermal_absorptance": { + "title": "Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the frame material.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number", + "format": "double" + }, + "solar_absorptance": { + "title": "Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the frame material.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_absorptance": { + "title": "Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the frame material.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowFrame", + "description": "Opaque material representing a layer within an opaque construction.", + "discriminator": { + "propertyName": "type" + } + }, + "WindowConstruction": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "materials" + ], + "properties": { + "materials": { + "title": "Materials", + "description": "List of glazing and gas material definitions. The order of the materials is from exterior to interior. If a SimpleGlazSys material is used, it must be the only material in the construction. For multi-layered constructions, adjacent glass layers must be separated by one and only one gas layer.", + "minItems": 1, + "maxItems": 8, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyWindowMaterialSimpleGlazSys" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGlazing" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGas" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGasCustom" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGasMixture" + } + ] + } + }, + "type": { + "title": "Type", + "default": "WindowConstruction", + "pattern": "^WindowConstruction$", + "type": "string", + "readOnly": true + }, + "frame": { + "title": "Frame", + "description": "An optional window frame material for the frame that surrounds the window construction.", + "allOf": [ + { + "$ref": "#/components/schemas/EnergyWindowFrame" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "WindowConstruction", + "description": "Construction for window objects (Aperture, Door).", + "discriminator": { + "propertyName": "type" + } + }, + "EnergyWindowMaterialShade": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "EnergyWindowMaterialShade", + "pattern": "^EnergyWindowMaterialShade$", + "type": "string", + "readOnly": true + }, + "solar_transmittance": { + "title": "Solar Transmittance", + "description": "The transmittance averaged over the solar spectrum. It is assumed independent of incidence angle. Default: 0.4.", + "default": 0.4, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "solar_reflectance": { + "title": "Solar Reflectance", + "description": "The reflectance averaged over the solar spectrum. It us assumed same on both sides of shade and independent of incidence angle. Default value is 0.5", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "visible_transmittance": { + "title": "Visible Transmittance", + "description": "The transmittance averaged over the solar spectrum and weighted by the response of the human eye. It is assumed independent of incidence angle. Default: 0.4.", + "default": 0.4, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "visible_reflectance": { + "title": "Visible Reflectance", + "description": "The transmittance averaged over the solar spectrum and weighted by the response of the human eye. It is assumed independent of incidence angle. Default: 0.4", + "default": 0.4, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "emissivity": { + "title": "Emissivity", + "description": "The effective long-wave infrared hemispherical emissivity. It is assumed same on both sides of shade. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number", + "format": "double" + }, + "infrared_transmittance": { + "title": "Infrared Transmittance", + "description": "The effective long-wave transmittance. It is assumed independent of incidence angle. Default: 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "thickness": { + "title": "Thickness", + "description": "The thickness of the shade material in meters. Default: 0.005.", + "default": 0.005, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "conductivity": { + "title": "Conductivity", + "description": "The conductivity of the shade material in W/(m-K). Default value is 0.1.", + "default": 0.1, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "distance_to_glass": { + "title": "Distance To Glass", + "description": "The distance from shade to adjacent glass in meters. Default value is 0.05", + "default": 0.05, + "minimum": 0.001, + "maximum": 1, + "type": "number", + "format": "double" + }, + "top_opening_multiplier": { + "title": "Top Opening Multiplier", + "description": "The effective area for air flow at the top of the shade, divided by the horizontal area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "bottom_opening_multiplier": { + "title": "Bottom Opening Multiplier", + "description": "The effective area for air flow at the bottom of the shade, divided by the horizontal area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "left_opening_multiplier": { + "title": "Left Opening Multiplier", + "description": "The effective area for air flow at the left side of the shade, divided by the vertical area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "right_opening_multiplier": { + "title": "Right Opening Multiplier", + "description": "The effective area for air flow at the right side of the shade, divided by the vertical area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "airflow_permeability": { + "title": "Airflow Permeability", + "description": "The fraction of the shade surface that is open to air flow. If air cannot pass through the shade material, airflow_permeability = 0. Default: 0.", + "default": 0, + "minimum": 0, + "maximum": 0.8, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialShade", + "description": "This object specifies the properties of window shade materials.", + "discriminator": { + "propertyName": "type" + } + }, + "SlatOrientation": { + "title": "SlatOrientation", + "description": "An enumeration.", + "enum": [ + "Horizontal", + "Vertical" + ], + "type": "string" + }, + "EnergyWindowMaterialBlind": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "EnergyWindowMaterialBlind", + "pattern": "^EnergyWindowMaterialBlind$", + "type": "string", + "readOnly": true + }, + "slat_orientation": { + "default": "Horizontal", + "allOf": [ + { + "$ref": "#/components/schemas/SlatOrientation" + } + ] + }, + "slat_width": { + "title": "Slat Width", + "description": "The width of slat measured from edge to edge in meters.", + "default": 0.025, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "slat_separation": { + "title": "Slat Separation", + "description": "The distance between the front of a slat and the back of the adjacent slat in meters.", + "default": 0.01875, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "slat_thickness": { + "title": "Slat Thickness", + "description": "The distance between the faces of a slat in meters. The default value is 0.001.", + "default": 0.001, + "exclusiveMinimum": 0, + "maximum": 0.1, + "type": "number", + "format": "double" + }, + "slat_angle": { + "title": "Slat Angle", + "description": "The angle (degrees) between the glazing outward normal and the slat outward normal where the outward normal points away from the front face of the slat (degrees). The default value is 45.", + "default": 45, + "minimum": 0, + "maximum": 180, + "type": "number", + "format": "double" + }, + "slat_conductivity": { + "title": "Slat Conductivity", + "description": "The thermal conductivity of the slat in W/(m-K). Default: 221.", + "default": 221, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "beam_solar_transmittance": { + "title": "Beam Solar Transmittance", + "description": "The beam solar transmittance of the slat, assumed to be independent of angle of incidence on the slat. Any transmitted beam radiation is assumed to be 100% diffuse (i.e., slats are translucent). The default value is 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_solar_reflectance": { + "title": "Beam Solar Reflectance", + "description": "The beam solar reflectance of the front side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_solar_reflectance_back": { + "title": "Beam Solar Reflectance Back", + "description": "The beam solar reflectance of the back side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_solar_transmittance": { + "title": "Diffuse Solar Transmittance", + "description": "The slat transmittance for hemispherically diffuse solar radiation. Default: 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_solar_reflectance": { + "title": "Diffuse Solar Reflectance", + "description": "The front-side slat reflectance for hemispherically diffuse solar radiation. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_solar_reflectance_back": { + "title": "Diffuse Solar Reflectance Back", + "description": "The back-side slat reflectance for hemispherically diffuse solar radiation. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_visible_transmittance": { + "title": "Beam Visible Transmittance", + "description": "The beam visible transmittance of the slat, it is assumed to be independent of the angle of incidence. Default: 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_visible_reflectance": { + "title": "Beam Visible Reflectance", + "description": "The beam visible reflectance on the front side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_visible_reflectance_back": { + "title": "Beam Visible Reflectance Back", + "description": "The beam visible reflectance on the back side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_visible_transmittance": { + "title": "Diffuse Visible Transmittance", + "description": "The slat transmittance for hemispherically diffuse visible radiation. This value should equal \u201cSlat Beam Visible Transmittance.\u201d", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_visible_reflectance": { + "title": "Diffuse Visible Reflectance", + "description": "The front-side slat reflectance for hemispherically diffuse visible radiation. This value should equal \u201cFront Side Slat Beam Visible Reflectance.\u201d Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_visible_reflectance_back": { + "title": "Diffuse Visible Reflectance Back", + "description": "The back-side slat reflectance for hemispherically diffuse visible radiation. This value should equal \u201cBack Side Slat Beam Visible Reflectance. Default: 0.5.\u201d", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "infrared_transmittance": { + "title": "Infrared Transmittance", + "description": "The slat infrared hemispherical transmittance. It is zero for solid metallic, wooden or glass slats, but may be non-zero in some cases such as for thin plastic slats. The default value is 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "emissivity": { + "title": "Emissivity", + "description": "Front side hemispherical emissivity of the slat. Default is 0.9 for most materials. The default value is 0.9.", + "default": 0.9, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "emissivity_back": { + "title": "Emissivity Back", + "description": "Back side hemispherical emissivity of the slat. Default is 0.9 for most materials. The default value is 0.9.", + "default": 0.9, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "distance_to_glass": { + "title": "Distance To Glass", + "description": "The distance from the mid-plane of the blind to the adjacent glass in meters. The default value is 0.05.", + "default": 0.05, + "minimum": 0.01, + "maximum": 1, + "type": "number", + "format": "double" + }, + "top_opening_multiplier": { + "title": "Top Opening Multiplier", + "description": "The effective area for air flow at the top of the shade, divided by the horizontal area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "bottom_opening_multiplier": { + "title": "Bottom Opening Multiplier", + "description": "The effective area for air flow at the bottom of the shade, divided by the horizontal area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "left_opening_multiplier": { + "title": "Left Opening Multiplier", + "description": "The effective area for air flow at the left side of the shade, divided by the vertical area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "right_opening_multiplier": { + "title": "Right Opening Multiplier", + "description": "The effective area for air flow at the right side of the shade, divided by the vertical area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialBlind", + "description": "Window blind material consisting of flat, equally-spaced slats.", + "discriminator": { + "propertyName": "type" + } + }, + "ShadeLocation": { + "title": "ShadeLocation", + "description": "Choices for where a shade material is located in a window assembly.", + "enum": [ + "Interior", + "Between", + "Exterior" + ], + "type": "string" + }, + "ControlType": { + "title": "ControlType", + "description": "Choices for how the shading device is controlled.", + "enum": [ + "AlwaysOn", + "OnIfHighSolarOnWindow", + "OnIfHighHorizontalSolar", + "OnIfHighOutdoorAirTemperature", + "OnIfHighZoneAirTemperature", + "OnIfHighZoneCooling", + "OnNightIfLowOutdoorTempAndOffDay", + "OnNightIfLowInsideTempAndOffDay", + "OnNightIfHeatingAndOffDay" + ], + "type": "string" + }, + "WindowConstructionShade": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "window_construction", + "shade_material" + ], + "properties": { + "window_construction": { + "title": "Window Construction", + "description": "A WindowConstruction object that serves as the \"switched off\" version of the construction (aka. the \"bare construction\"). The shade_material and shade_location will be used to modify this starting construction.", + "allOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + } + ] + }, + "shade_material": { + "title": "Shade Material", + "description": "Identifier of a An EnergyWindowMaterialShade or an EnergyWindowMaterialBlind that serves as the shading layer for this construction. This can also be an EnergyWindowMaterialGlazing, which will indicate that the WindowConstruction has a dynamically-controlled glass pane like an electrochromic window assembly.", + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyWindowMaterialShade" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialBlind" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGlazing" + } + ] + }, + "type": { + "title": "Type", + "default": "WindowConstructionShade", + "pattern": "^WindowConstructionShade$", + "type": "string", + "readOnly": true + }, + "shade_location": { + "description": "Text to indicate where in the window assembly the shade_material is located. Note that the WindowConstruction must have at least one gas gap to use the \"Between\" option. Also note that, for a WindowConstruction with more than one gas gap, the \"Between\" option defaults to using the inner gap as this is the only option that EnergyPlus supports.", + "default": "Interior", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeLocation" + } + ] + }, + "control_type": { + "description": "Text to indicate how the shading device is controlled, which determines when the shading is \u201con\u201d or \u201coff.\u201d", + "default": "AlwaysOn", + "allOf": [ + { + "$ref": "#/components/schemas/ControlType" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "A number that corresponds to the specified control_type. This can be a value in (W/m2), (C) or (W) depending upon the control type.Note that this value cannot be None for any control type except \"AlwaysOn.\"", + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "An optional ScheduleRuleset or ScheduleFixedInterval to be applied on top of the control_type. If None, the control_type will govern all behavior of the construction.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "WindowConstructionShade", + "description": "Construction for window objects (Aperture, Door).", + "discriminator": { + "propertyName": "type" + } + }, + "Roughness": { + "title": "Roughness", + "description": "Relative roughness of a particular material layer.", + "enum": [ + "VeryRough", + "Rough", + "MediumRough", + "MediumSmooth", + "Smooth", + "VerySmooth" + ], + "type": "string" + }, + "EnergyMaterial": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "thickness", + "conductivity", + "density", + "specific_heat" + ], + "properties": { + "thickness": { + "title": "Thickness", + "description": "Thickness of the material layer in meters.", + "exclusiveMinimum": 0, + "maximum": 3, + "type": "number", + "format": "double" + }, + "conductivity": { + "title": "Conductivity", + "description": "Thermal conductivity of the material layer in W/m-K.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "density": { + "title": "Density", + "description": "Density of the material layer in kg/m3.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "specific_heat": { + "title": "Specific Heat", + "description": "Specific heat of the material layer in J/kg-K.", + "minimum": 100, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "EnergyMaterial", + "pattern": "^EnergyMaterial$", + "type": "string", + "readOnly": true + }, + "roughness": { + "default": "MediumRough", + "allOf": [ + { + "$ref": "#/components/schemas/Roughness" + } + ] + }, + "thermal_absorptance": { + "title": "Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the material. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number", + "format": "double" + }, + "solar_absorptance": { + "title": "Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_absorptance": { + "title": "Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyMaterial", + "description": "Opaque material representing a layer within an opaque construction.", + "discriminator": { + "propertyName": "type" + } + }, + "EnergyMaterialNoMass": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "r_value" + ], + "properties": { + "r_value": { + "title": "R Value", + "description": "The thermal resistance (R-value) of the material layer [m2-K/W].", + "minimum": 0.001, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "EnergyMaterialNoMass", + "pattern": "^EnergyMaterialNoMass$", + "type": "string", + "readOnly": true + }, + "roughness": { + "default": "MediumRough", + "allOf": [ + { + "$ref": "#/components/schemas/Roughness" + } + ] + }, + "thermal_absorptance": { + "title": "Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the material. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number", + "format": "double" + }, + "solar_absorptance": { + "title": "Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_absorptance": { + "title": "Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyMaterialNoMass", + "description": "No mass opaque material representing a layer within an opaque construction.\n\nUsed when only the thermal resistance (R value) of the material is known.", + "discriminator": { + "propertyName": "type" + } + }, + "MoistureDiffusionModel": { + "title": "MoistureDiffusionModel", + "description": "Acceptable values for the moisture diffusion model for vegetation.", + "enum": [ + "Simple", + "Advanced" + ], + "type": "string" + }, + "EnergyMaterialVegetation": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "EnergyMaterialVegetation", + "pattern": "^EnergyMaterialVegetation$", + "type": "string", + "readOnly": true + }, + "roughness": { + "default": "MediumRough", + "allOf": [ + { + "$ref": "#/components/schemas/Roughness" + } + ] + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the soil layer in meters.", + "default": 0.1, + "exclusiveMinimum": 0, + "maximum": 3, + "type": "number", + "format": "double" + }, + "conductivity": { + "title": "Conductivity", + "description": "Thermal conductivity of the dry soil in W/m-K.", + "default": 0.35, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "density": { + "title": "Density", + "description": "Density of the dry soil in kg/m3.", + "default": 1100, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "specific_heat": { + "title": "Specific Heat", + "description": "Specific heat of the dry soil in J/kg-K.", + "default": 1200, + "minimum": 100, + "type": "number", + "format": "double" + }, + "soil_thermal_absorptance": { + "title": "Soil Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the soil. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number", + "format": "double" + }, + "soil_solar_absorptance": { + "title": "Soil Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the soil. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "soil_visible_absorptance": { + "title": "Soil Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "plant_height": { + "title": "Plant Height", + "description": "The height of plants in the vegetation in meters.", + "default": 0.2, + "minimum": 0.005, + "maximum": 1.0, + "type": "number", + "format": "double" + }, + "leaf_area_index": { + "title": "Leaf Area Index", + "description": "The projected leaf area per unit area of soil surface (aka. Leaf Area Index or LAI). Note that the fraction of vegetation cover is calculated directly from LAI using an empirical relation.", + "default": 1.0, + "minimum": 0.001, + "maximum": 5.0, + "type": "number", + "format": "double" + }, + "leaf_reflectivity": { + "title": "Leaf Reflectivity", + "description": "The fraction of incident solar radiation that is reflected by the leaf surfaces. Solar radiation includes the visible spectrum as well as infrared and ultraviolet wavelengths. Typical values are 0.18 to 0.25.", + "default": 0.22, + "minimum": 0.005, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "leaf_emissivity": { + "title": "Leaf Emissivity", + "description": "The ratio of thermal radiation emitted from leaf surfaces to that emitted by an ideal black body at the same temperature.", + "default": 0.95, + "minimum": 0.8, + "maximum": 1.0, + "type": "number", + "format": "double" + }, + "min_stomatal_resist": { + "title": "Min Stomatal Resist", + "description": "The resistance of the plants to moisture transport [s/m]. Plants with low values of stomatal resistance will result in higher evapotranspiration rates than plants with high resistance.", + "default": 180, + "minimum": 50, + "maximum": 300, + "type": "number", + "format": "double" + }, + "sat_vol_moist_cont": { + "title": "Sat Vol Moist Cont", + "description": "The saturation moisture content of the soil by volume.", + "default": 0.3, + "minimum": 0.1, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "residual_vol_moist_cont": { + "title": "Residual Vol Moist Cont", + "description": "The residual moisture content of the soil by volume.", + "default": 0.01, + "minimum": 0.01, + "maximum": 0.1, + "type": "number", + "format": "double" + }, + "init_vol_moist_cont": { + "title": "Init Vol Moist Cont", + "description": "The initial moisture content of the soil by volume.", + "default": 0.01, + "minimum": 0.05, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "moist_diff_model": { + "default": "Simple", + "allOf": [ + { + "$ref": "#/components/schemas/MoistureDiffusionModel" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "EnergyMaterialVegetation", + "description": "Material representing vegetation on the exterior of an opaque construction.", + "discriminator": { + "propertyName": "type" + } + }, + "OpaqueConstruction": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "materials" + ], + "properties": { + "materials": { + "title": "Materials", + "description": "List of opaque material definitions. The order of the materials is from exterior to interior.", + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyMaterial" + }, + { + "$ref": "#/components/schemas/EnergyMaterialNoMass" + }, + { + "$ref": "#/components/schemas/EnergyMaterialVegetation" + } + ] + } + }, + "type": { + "title": "Type", + "default": "OpaqueConstruction", + "pattern": "^OpaqueConstruction$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "OpaqueConstruction", + "description": "Construction for opaque objects (Face, Shade, Door).", + "discriminator": { + "propertyName": "type" + } + }, + "WallConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "WallConstructionSet", + "pattern": "^WallConstructionSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "WallConstructionSet", + "description": "A set of constructions for wall assemblies.", + "discriminator": { + "propertyName": "type" + } + }, + "FloorConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "FloorConstructionSet", + "pattern": "^FloorConstructionSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "FloorConstructionSet", + "description": "A set of constructions for floor assemblies.", + "discriminator": { + "propertyName": "type" + } + }, + "RoofCeilingConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "RoofCeilingConstructionSet", + "pattern": "^RoofCeilingConstructionSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "RoofCeilingConstructionSet", + "description": "A set of constructions for roof and ceiling assemblies.", + "discriminator": { + "propertyName": "type" + } + }, + "WindowConstructionDynamic": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "constructions", + "schedule" + ], + "properties": { + "constructions": { + "title": "Constructions", + "description": "A list of WindowConstruction objects that define the various states that the dynamic window can assume.", + "type": "array", + "items": { + "$ref": "#/components/schemas/WindowConstruction" + } + }, + "schedule": { + "title": "Schedule", + "description": "A control schedule that dictates which constructions are active at given times throughout the simulation. The values of the schedule should be integers and range from 0 to one less then the number of constructions. Zero indicates that the first construction is active, one indicates that the second on is active, etc. The schedule type limits of this schedule should be \"Control Level.\" If building custom schedule type limits that describe a particular range of states, the type limits should be \"Discrete\" and the unit type should be \"Mode,\" \"Control,\" or some other fractional unit.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "type": { + "title": "Type", + "default": "WindowConstructionDynamic", + "pattern": "^WindowConstructionDynamic$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "WindowConstructionDynamic", + "description": "Construction for window objects with an included shade layer.", + "discriminator": { + "propertyName": "type" + } + }, + "ApertureConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureConstructionSet", + "pattern": "^ApertureConstructionSet$", + "type": "string", + "readOnly": true + }, + "interior_construction": { + "title": "Interior Construction", + "description": "A WindowConstruction for all apertures with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + }, + "window_construction": { + "title": "Window Construction", + "description": "A WindowConstruction for apertures with an Outdoors boundary condition, False is_operable property, and a Wall face type for their parent face.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + }, + "skylight_construction": { + "title": "Skylight Construction", + "description": "A WindowConstruction for apertures with a Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + }, + "operable_construction": { + "title": "Operable Construction", + "description": "A WindowConstruction for all apertures with an Outdoors boundary condition and True is_operable property.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ApertureConstructionSet", + "description": "A set of constructions for aperture assemblies.", + "discriminator": { + "propertyName": "type" + } + }, + "DoorConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorConstructionSet", + "pattern": "^DoorConstructionSet$", + "type": "string", + "readOnly": true + }, + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for all opaque doors with a Surface boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for opaque doors with an Outdoors boundary condition and a Wall face type for their parent face.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "overhead_construction": { + "title": "Overhead Construction", + "description": "An OpaqueConstruction for opaque doors with an Outdoors boundary condition and a RoofCeiling or Floor type for their parent face.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_glass_construction": { + "title": "Exterior Glass Construction", + "description": "A WindowConstruction for all glass doors with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + }, + "interior_glass_construction": { + "title": "Interior Glass Construction", + "description": "A WindowConstruction for all glass doors with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "DoorConstructionSet", + "description": "A set of constructions for door assemblies.", + "discriminator": { + "propertyName": "type" + } + }, + "ShadeConstruction": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeConstruction", + "pattern": "^ShadeConstruction$", + "type": "string", + "readOnly": true + }, + "solar_reflectance": { + "title": "Solar Reflectance", + "description": "A number for the solar reflectance of the construction.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_reflectance": { + "title": "Visible Reflectance", + "description": "A number for the visible reflectance of the construction.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "is_specular": { + "title": "Is Specular", + "description": "Boolean to note whether the reflection off the shade is diffuse (False) or specular (True). Set to True if the construction is representing a glass facade or a mirror material.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "ShadeConstruction", + "description": "Construction for Shade objects.", + "discriminator": { + "propertyName": "type" + } + }, + "AirBoundaryConstruction": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "AirBoundaryConstruction", + "pattern": "^AirBoundaryConstruction$", + "type": "string", + "readOnly": true + }, + "air_mixing_per_area": { + "title": "Air Mixing Per Area", + "description": "A positive number for the amount of air mixing between Rooms across the air boundary surface [m3/s-m2]. Default: 0.1 corresponds to average indoor air speeds of 0.1 m/s (roughly 20 fpm), which is typical of what would be induced by a HVAC system.", + "default": 0.1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "air_mixing_schedule": { + "title": "Air Mixing Schedule", + "description": "A fractional schedule as a ScheduleRuleset or ScheduleFixedInterval for the air mixing schedule across the construction. If unspecified, an Always On schedule will be assumed.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "AirBoundaryConstruction", + "description": "Construction for Air Boundary objects.", + "discriminator": { + "propertyName": "type" + } + }, + "ConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ConstructionSet", + "pattern": "^ConstructionSet$", + "type": "string", + "readOnly": true + }, + "wall_set": { + "title": "Wall Set", + "description": "A WallConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/WallConstructionSet" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "A FloorConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/FloorConstructionSet" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "A RoofCeilingConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingConstructionSet" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "A ApertureConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/ApertureConstructionSet" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "A DoorConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/DoorConstructionSet" + } + ] + }, + "shade_construction": { + "title": "Shade Construction", + "description": "A ShadeConstruction to set the reflectance properties of all outdoor shades of all objects to which this ConstructionSet is assigned.", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeConstruction" + } + ] + }, + "air_boundary_construction": { + "title": "Air Boundary Construction", + "description": "An AirBoundaryConstruction or OpaqueConstruction to set the properties of Faces with an AirBoundary type.", + "anyOf": [ + { + "$ref": "#/components/schemas/AirBoundaryConstruction" + }, + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ConstructionSet", + "description": "A set of constructions for different surface types and boundary conditions.", + "discriminator": { + "propertyName": "type" + } + }, + "FCUwithDOASEquipmentType": { + "title": "FCUwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_FCU_Chiller_Boiler", + "DOAS_FCU_Chiller_ASHP", + "DOAS_FCU_Chiller_DHW", + "DOAS_FCU_Chiller_ElectricBaseboard", + "DOAS_FCU_Chiller_GasHeaters", + "DOAS_FCU_Chiller", + "DOAS_FCU_ACChiller_Boiler", + "DOAS_FCU_ACChiller_ASHP", + "DOAS_FCU_ACChiller_DHW", + "DOAS_FCU_ACChiller_ElectricBaseboard", + "DOAS_FCU_ACChiller_GasHeaters", + "DOAS_FCU_ACChiller", + "DOAS_FCU_DCW_Boiler", + "DOAS_FCU_DCW_ASHP", + "DOAS_FCU_DCW_DHW", + "DOAS_FCU_DCW_ElectricBaseboard", + "DOAS_FCU_DCW_GasHeaters", + "DOAS_FCU_DCW" + ], + "type": "string" + }, + "FCUwithDOASAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "FCUwithDOASAbridged", + "pattern": "^FCUwithDOASAbridged$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the FCUwithDOASEquipmentType enumeration.", + "default": "DOAS_FCU_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/FCUwithDOASEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "FCUwithDOASAbridged", + "description": "Fan Coil Unit (FCU) with DOAS HVAC system.\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a chilled water cooling coil and a heating coil. The heating coil is a hot\nwater coil except when electric baseboards or gas heaters are specified, in\nwhich case the heating coil is a single-speed direct expansion (DX) heat pump\nwith a backup electrical resistance coil.\n\nEach room/zone also receives its own Fan Coil Unit (FCU), which meets the heating\nand cooling loads of the space. The cooling coil in the FCU is always chilled\nwater cooling coil, which is connected to a chilled water loop operating\nat 6.7C (44F). The heating coil is a hot water coil except when when electric\nbaseboards or gas heaters are specified. Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.\n\nThe FCU with DOAS template is relatively close in performance to active chilled\nbeams (ACBs). When using this template to represent ACBs, care must be taken\nto ensure that the DOAS ventilation air requirement is sufficient to extract\nthe heating cooling from the ACB. If so, then this FCUwithDOAS template can be\nused but with the energy use of the FCU fans ignored.", + "discriminator": { + "propertyName": "type" + } + }, + "ApertureEnergyPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureEnergyPropertiesAbridged", + "pattern": "^ApertureEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of a WindowConstruction for the aperture. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "vent_opening": { + "title": "Vent Opening", + "description": "An optional VentilationOpening to specify the operable portion of the Aperture.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationOpening" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ApertureEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "ApertureRadiancePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_PropertiesBaseAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureRadiancePropertiesAbridged", + "pattern": "^ApertureRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "dynamic_group_identifier": { + "title": "Dynamic Group Identifier", + "description": "An optional string to note the dynamic group ' 'to which the Aperture is a part of. Apertures sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Aperture is assumed to be static. (default: None).", + "type": "string" + }, + "states": { + "title": "States", + "description": "An optional list of abridged states (default: None).", + "type": "array", + "items": { + "$ref": "#/components/schemas/RadianceSubFaceStateAbridged" + } + } + }, + "additionalProperties": false + } + ], + "title": "ApertureRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Aperture Abridged.", + "discriminator": { + "propertyName": "type" + } + }, + "AperturePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "AperturePropertiesAbridged", + "pattern": "^AperturePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/ApertureEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/ApertureRadiancePropertiesAbridged" + } + } + } + ], + "title": "AperturePropertiesAbridged", + "discriminator": { + "propertyName": "type" + } + }, + "Aperture": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "geometry", + "boundary_condition", + "properties" + ], + "properties": { + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "boundary_condition": { + "title": "Boundary Condition", + "anyOf": [ + { + "$ref": "#/components/schemas/Outdoors" + }, + { + "$ref": "#/components/schemas/Surface" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/AperturePropertiesAbridged" + } + ] + }, + "type": { + "title": "Type", + "default": "Aperture", + "pattern": "^Aperture$", + "type": "string", + "readOnly": true + }, + "is_operable": { + "title": "Is Operable", + "description": "Boolean to note whether the Aperture can be opened for ventilation.", + "default": false, + "type": "boolean" + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object (eg. window sill, light shelf).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. mullions, louvers).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + } + }, + "additionalProperties": false + } + ], + "title": "Aperture", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "discriminator": { + "propertyName": "type" + } + }, + "EconomizerType": { + "title": "EconomizerType", + "description": "An enumeration.", + "enum": [ + "NoEconomizer", + "DifferentialDryBulb", + "DifferentialEnthalpy" + ], + "type": "string" + }, + "Autosize": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Autosize", + "pattern": "^Autosize$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Autosize", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "IdealAirSystemAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "IdealAirSystemAbridged", + "pattern": "^IdealAirSystemAbridged$", + "type": "string", + "readOnly": true + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the ideal air system. Economizers will mix in a greater amount of outdoor air to cool the zone (rather than running the cooling system) when the zone needs cooling and the outdoor air is cooler than the zone.", + "default": "DifferentialDryBulb", + "allOf": [ + { + "$ref": "#/components/schemas/EconomizerType" + } + ] + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the zone.", + "default": false, + "type": "boolean" + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "heating_air_temperature": { + "title": "Heating Air Temperature", + "description": "A number for the maximum heating supply air temperature [C].", + "default": 50, + "exclusiveMinimum": 0, + "exclusiveMaximum": 100, + "type": "number", + "format": "double" + }, + "cooling_air_temperature": { + "title": "Cooling Air Temperature", + "description": "A number for the minimum cooling supply air temperature [C].", + "default": 13, + "exclusiveMinimum": -100, + "exclusiveMaximum": 50, + "type": "number", + "format": "double" + }, + "heating_limit": { + "title": "Heating Limit", + "description": "A number for the maximum heating capacity in Watts. This can also be an Autosize object to indicate that the capacity should be determined during the EnergyPlus sizing calculation. This can also be a NoLimit object to indicate no upper limit to the heating capacity.", + "default": { + "type": "Autosize" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autosize" + }, + { + "$ref": "#/components/schemas/NoLimit" + }, + { + "type": "number", + "minimum": 0 + } + ] + }, + "cooling_limit": { + "title": "Cooling Limit", + "description": "A number for the maximum cooling capacity in Watts. This can also be an Autosize object to indicate that the capacity should be determined during the EnergyPlus sizing calculation. This can also be a NoLimit object to indicate no upper limit to the cooling capacity.", + "default": { + "type": "Autosize" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autosize" + }, + { + "$ref": "#/components/schemas/NoLimit" + }, + { + "type": "number", + "minimum": 0 + } + ] + }, + "heating_availability": { + "title": "Heating Availability", + "description": "An optional identifier of a schedule to set the availability of heating over the course of the simulation.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "cooling_availability": { + "title": "Cooling Availability", + "description": "An optional identifier of a schedule to set the availability of cooling over the course of the simulation.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "IdealAirSystemAbridged", + "description": "Provides a model for an ideal HVAC system.", + "discriminator": { + "propertyName": "type" + } + }, + "ShadeMeshEnergyPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeMeshEnergyPropertiesAbridged", + "pattern": "^ShadeMeshEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of a ShadeConstruction to set the reflectance and specularity of the Shade. If None, it will be a generic context construction that is completely diffuse with 0.2 visible and solar reflectance. Unless it is building attached, in which case it will be set by the default generic ConstructionSet.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "transmittance_schedule": { + "title": "Transmittance Schedule", + "description": "Identifier of a schedule to set the transmittance of the shade, which can vary throughout the simulation. If None, the shade will be completely opaque.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "ShadeMeshEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "Void": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Void", + "pattern": "^Void$", + "type": "string", + "readOnly": true + } + } + } + ], + "title": "Void", + "description": "Void modifier", + "discriminator": { + "propertyName": "type" + } + }, + "Mirror": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "alternate_material": { + "title": "Alternate Material", + "description": "An optional material (like the illum type) that may be used to specify a different material to be used for shading non-source rays. If None, this will keep the alternat_material as mirror. If this alternate material is given as Void, then the mirror surface will be invisible. Using Void is only appropriate if the surface hides other (more detailed) geometry with the same overall reflectance.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "Mirror", + "pattern": "^Mirror$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Mirror", + "description": "Radiance mirror material.", + "discriminator": { + "propertyName": "type" + } + }, + "Metal": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "specularity": { + "title": "Specularity", + "description": "A value between 0 and 1 for the fraction of specularity. Specularity fractions lower than 0.9 are not realistic for metallic materials.", + "default": 0.9, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "roughness": { + "title": "Roughness", + "description": "A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Metal", + "pattern": "^Metal$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Metal", + "description": "Radiance metal material.", + "discriminator": { + "propertyName": "type" + } + }, + "Trans": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "specularity": { + "title": "Specularity", + "description": "A value between 0 and 1 for the fraction of specularity. Specularity fractions greater than 0.1 are not realistic for non-metallic materials.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "roughness": { + "title": "Roughness", + "description": "A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "transmitted_diff": { + "title": "Transmitted Diff", + "description": "The fraction of transmitted light that is transmitted diffusely in a scattering fashion.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "transmitted_spec": { + "title": "Transmitted Spec", + "description": "The fraction of transmitted light that is not diffusely scattered.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Trans", + "pattern": "^Trans$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Trans", + "description": "Radiance Translucent material.", + "discriminator": { + "propertyName": "type" + } + }, + "Light": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_emittance": { + "title": "R Emittance", + "description": "A value between 0 and 1 for the red channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_emittance": { + "title": "G Emittance", + "description": "A value between 0 and 1 for the green channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_emittance": { + "title": "B Emittance", + "description": "A value between 0 and 1 for the blue channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Light", + "pattern": "^Light$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Light", + "description": "Radiance Light material.", + "discriminator": { + "propertyName": "type" + } + }, + "Glow": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_emittance": { + "title": "R Emittance", + "description": "A value between 0 and 1 for the red channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_emittance": { + "title": "G Emittance", + "description": "A value between 0 and 1 for the green channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_emittance": { + "title": "B Emittance", + "description": "A value between 0 and 1 for the blue channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "max_radius": { + "title": "Max Radius", + "description": "Maximum radius for shadow testing. Objects with zero radius are permissable and may participate in interreflection calculation (though they are not representative of real light sources). Negative values will never contribute to scene illumination.", + "default": 0, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Glow", + "pattern": "^Glow$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Glow", + "description": "Radiance Glow material.", + "discriminator": { + "propertyName": "type" + } + }, + "BSDF": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "required": [ + "bsdf_data" + ], + "properties": { + "bsdf_data": { + "title": "Bsdf Data", + "description": "A string with the contents of the BSDF XML file.", + "type": "string" + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "up_orientation": { + "title": "Up Orientation", + "description": "Vector as sequence that sets the hemisphere that the BSDF material faces.", + "default": [ + 0.01, + 0.01, + 1.0 + ], + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "thickness": { + "title": "Thickness", + "description": "Optional number to set the thickness of the BSDF material Sign of thickness indicates whether proxied geometry is behind the BSDF surface (when thickness is positive) or in front (when thickness is negative).", + "default": 0, + "type": "number", + "format": "double" + }, + "function_file": { + "title": "Function File", + "description": "Optional input for function file. Using \".\" will ensure that BSDF data is written to the root of wherever a given study is run.", + "default": ".", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "transform": { + "title": "Transform", + "description": "Optional transform input to scale the thickness and reorient the up vector.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "front_diffuse_reflectance": { + "title": "Front Diffuse Reflectance", + "description": "Optional additional front diffuse reflectance as sequence of three RGB numbers.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "back_diffuse_reflectance": { + "title": "Back Diffuse Reflectance", + "description": "Optional additional back diffuse reflectance as sequence of three RGB numbers.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "diffuse_transmittance": { + "title": "Diffuse Transmittance", + "description": "Optional additional diffuse transmittance as sequence of three RGB numbers.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "BSDF", + "pattern": "^BSDF$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "BSDF", + "description": "Radiance BSDF (Bidirectional Scattering Distribution Function) material.", + "discriminator": { + "propertyName": "type" + } + }, + "Glass": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_transmissivity": { + "title": "R Transmissivity", + "description": "A value between 0 and 1 for the red channel transmissivity.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_transmissivity": { + "title": "G Transmissivity", + "description": "A value between 0 and 1 for the green channel transmissivity.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_transmissivity": { + "title": "B Transmissivity", + "description": "A value between 0 and 1 for the blue channel transmissivity.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "refraction_index": { + "title": "Refraction Index", + "description": "A value greater than 1 for the index of refraction. Typical values are 1.52 for float glass and 1.4 for ETFE.", + "default": 1.52, + "exclusiveMinimum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Glass", + "pattern": "^Glass$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Glass", + "description": "Radiance glass material.", + "discriminator": { + "propertyName": "type" + } + }, + "Plastic": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "specularity": { + "title": "Specularity", + "description": "A value between 0 and 1 for the fraction of specularity. Specularity fractions greater than 0.1 are not realistic for non-metallic materials.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "roughness": { + "title": "Roughness", + "description": "A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Plastic", + "pattern": "^Plastic$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Plastic", + "description": "Radiance plastic material.", + "discriminator": { + "propertyName": "type" + } + }, + "ShadeModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "ShadeModifierSet", + "pattern": "^ShadeModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ShadeModifierSet", + "description": "Set containing radiance modifiers needed for a model's Shade.", + "discriminator": { + "propertyName": "type" + } + }, + "ApertureModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureModifierSet", + "pattern": "^ApertureModifierSet$", + "type": "string", + "readOnly": true + }, + "window_modifier": { + "title": "Window Modifier", + "description": "A modifier object for apertures with an Outdoors boundary condition, False is_operable property, and Wall parent Face.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A modifier object for apertures with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "skylight_modifier": { + "title": "Skylight Modifier", + "description": "A modifier object for apertures with an Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "operable_modifier": { + "title": "Operable Modifier", + "description": "A modifier object for apertures with an Outdoors boundary condition and a True is_operable property.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ApertureModifierSet", + "description": "Set containing radiance modifiers needed for a model's Apertures.", + "discriminator": { + "propertyName": "type" + } + }, + "DetailedHVAC": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "specification" + ], + "properties": { + "specification": { + "title": "Specification", + "description": "A JSON-serializable dictionary representing the full specification of the detailed system. This can be obtained by calling the ToJson() method on any IronBug HVAC system and then serializing the resulting JSON string into a Python dictionary using the native Python json package. Note that the Rooms that the HVAC is assigned to must be specified as ThermalZones under this specification in order for the resulting Model this HVAC is a part of to be valid.", + "type": "object" + }, + "type": { + "title": "Type", + "default": "DetailedHVAC", + "pattern": "^DetailedHVAC$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "DetailedHVAC", + "description": "Detailed HVAC system object defined using IronBug or OpenStudio .NET bindings.", + "discriminator": { + "propertyName": "type" + } + }, + "AFNCrack": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "flow_coefficient": { + "title": "Flow Coefficient", + "description": "A number in kg/s-m at 1 Pa per meter of crack length at the conditions defined in the ReferenceCrack condition; required to run an AirflowNetwork simulation. The DesignBuilder Cracks template defines the flow coefficient for a tight, low-leakage wall to be 0.00001 and 0.001 for external and internal constructions, respectively. Flow coefficients for a very poor, high-leakage wall are defined to be 0.0004 and 0.019 for external and internal constructions, respectively.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "AFNCrack", + "pattern": "^AFNCrack$", + "type": "string", + "readOnly": true + }, + "flow_exponent": { + "title": "Flow Exponent", + "description": "An optional dimensionless number between 0.5 and 1 used to calculate the crack mass flow rate; required to run an AirflowNetwork simulation. This value represents the leak geometry impact on airflow, with 0.5 generally corresponding to turbulent orifice flow and 1 generally corresponding to laminar flow. The default of 0.65 is representative of many cases of wall and window leakage, used when the exponent cannot be measured.", + "default": 0.65, + "minimum": 0.5, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "flow_coefficient" + ], + "additionalProperties": false + } + ], + "title": "AFNCrack", + "description": "Properties for airflow through a crack.", + "discriminator": { + "propertyName": "type" + } + }, + "PeopleAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "people_per_area", + "occupancy_schedule" + ], + "properties": { + "people_per_area": { + "title": "People Per Area", + "description": "People per floor area expressed as [people/m2]", + "minimum": 0, + "type": "number", + "format": "double" + }, + "occupancy_schedule": { + "title": "Occupancy Schedule", + "description": "Identifier of a schedule for the occupancy over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the people_per_area to yield a complete occupancy profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "PeopleAbridged", + "pattern": "^PeopleAbridged$", + "type": "string", + "readOnly": true + }, + "activity_schedule": { + "title": "Activity Schedule", + "description": "Identifier of a schedule for the activity of the occupants over the course of the year. The type of this schedule should be ActivityLevel and the values of the schedule equal to the number of Watts given off by an individual person in the room. If None, a default constant schedule with 120 Watts per person will be used, which is typical of awake, adult humans who are seated.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The radiant fraction of sensible heat released by people. (Default: 0.3).", + "default": 0.3, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the latent fraction of heat gain due to people or an Autocalculate object.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "PeopleAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "LightingAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "watts_per_area", + "schedule" + ], + "properties": { + "watts_per_area": { + "title": "Watts Per Area", + "description": "Lighting per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of lights over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete lighting profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "LightingAbridged", + "pattern": "^LightingAbridged$", + "type": "string", + "readOnly": true + }, + "visible_fraction": { + "title": "Visible Fraction", + "description": "The fraction of heat from lights that goes into the zone as visible (short-wave) radiation. (Default: 0.25).", + "default": 0.25, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The fraction of heat from lights that is long-wave radiation. (Default: 0.32).", + "default": 0.32, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "return_air_fraction": { + "title": "Return Air Fraction", + "description": "The fraction of the heat from lights that goes into the zone return air. (Default: 0).", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "baseline_watts_per_area": { + "title": "Baseline Watts Per Area", + "description": "The baseline lighting power density in [W/m2] of floor area. This baseline is useful to track how much better the installed lights are in comparison to a standard like ASHRAE 90.1. If set to None, it will default to 11.84029 W/m2, which is that ASHRAE 90.1-2004 baseline for an office.", + "default": 11.84029, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "LightingAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "ElectricEquipmentAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_EquipmentBase" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ElectricEquipmentAbridged", + "pattern": "^ElectricEquipmentAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ElectricEquipmentAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "GasEquipmentAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_EquipmentBase" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "GasEquipmentAbridged", + "pattern": "^GasEquipmentAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "GasEquipmentAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "ServiceHotWaterAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "flow_per_area", + "schedule" + ], + "properties": { + "flow_per_area": { + "title": "Flow Per Area", + "description": "Number for the total volume flow rate of water per unit area of floor [L/h-m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the hot water use over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_area to yield a complete water usage profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "ServiceHotWaterAbridged", + "pattern": "^ServiceHotWaterAbridged$", + "type": "string", + "readOnly": true + }, + "target_temperature": { + "title": "Target Temperature", + "description": "Number for the target temperature of water out of the tap (C). This the temperature after hot water has been mixed with cold water from the water mains. The default is 60C, which essentially assumes that the flow_per_area on this object is only for water straight out of the water heater.", + "default": 60, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "sensible_fraction": { + "title": "Sensible Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load given off as sensible heat in the zone.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load that is latent.", + "default": 0.05, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "ServiceHotWaterAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "InfiltrationAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "flow_per_exterior_area", + "schedule" + ], + "properties": { + "flow_per_exterior_area": { + "title": "Flow Per Exterior Area", + "description": "Number for the infiltration per exterior surface area in m3/s-m2.", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the infiltration over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_exterior_area to yield a complete infiltration profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "InfiltrationAbridged", + "pattern": "^InfiltrationAbridged$", + "type": "string", + "readOnly": true + }, + "constant_coefficient": { + "title": "Constant Coefficient", + "default": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "temperature_coefficient": { + "title": "Temperature Coefficient", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "velocity_coefficient": { + "title": "Velocity Coefficient", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "InfiltrationAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "VentilationAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationAbridged", + "pattern": "^VentilationAbridged$", + "type": "string", + "readOnly": true + }, + "flow_per_person": { + "title": "Flow Per Person", + "description": "Intensity of ventilation in[] m3/s per person]. Note that setting this value does not mean that ventilation is varied based on real-time occupancy but rather that the design level of ventilation is determined using this value and the People object of the Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_per_area": { + "title": "Flow Per Area", + "description": "Intensity of ventilation in [m3/s per m2 of floor area].", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "air_changes_per_hour": { + "title": "Air Changes Per Hour", + "description": "Intensity of ventilation in air changes per hour (ACH) for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_per_zone": { + "title": "Flow Per Zone", + "description": "Intensity of ventilation in m3/s for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the ventilation over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the total design flow rate (determined from the sum of the other 4 fields) to yield a complete ventilation profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "VentilationAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "SetpointAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "cooling_schedule", + "heating_schedule" + ], + "properties": { + "cooling_schedule": { + "title": "Cooling Schedule", + "description": "Identifier of the schedule for the cooling setpoint. The values in this schedule should be temperature in [C].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "heating_schedule": { + "title": "Heating Schedule", + "description": "Identifier of the schedule for the heating setpoint. The values in this schedule should be temperature in [C].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "SetpointAbridged", + "pattern": "^SetpointAbridged$", + "type": "string", + "readOnly": true + }, + "humidifying_schedule": { + "title": "Humidifying Schedule", + "description": "Identifier of the schedule for the humidification setpoint. The values in this schedule should be in [%].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "dehumidifying_schedule": { + "title": "Dehumidifying Schedule", + "description": "Identifier of the schedule for the dehumidification setpoint. The values in this schedule should be in [%].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "setpoint_cutout_difference": { + "title": "Setpoint Cutout Difference", + "description": "An optional positive number for the temperature difference between the cutout temperature and the setpoint temperature. Specifying a non-zero number here is useful for modeling the throttling range associated with a given setup of setpoint controls and HVAC equipment. Throttling ranges describe the range where a zone is slightly over-cooled or over-heated beyond the thermostat setpoint. They are used to avoid situations where HVAC systems turn on only to turn off a few minutes later, thereby wearing out the parts of mechanical systems faster. They can have a minor impact on energy consumption and can often have significant impacts on occupant thermal comfort, though using the default value of zero will often yield results that are close enough when trying to estimate the annual heating/cooling energy use. Specifying a value of zero effectively assumes that the system will turn on whenever conditions are outside the setpoint range and will cut out as soon as the setpoint is reached.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "SetpointAbridged", + "description": "Used to specify information about the setpoint schedule.", + "discriminator": { + "propertyName": "type" + } + }, + "ProgramTypeAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ProgramTypeAbridged", + "pattern": "^ProgramTypeAbridged$", + "type": "string", + "readOnly": true + }, + "people": { + "title": "People", + "description": "People to describe the occupancy of the program. If None, no occupancy will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/PeopleAbridged" + } + ] + }, + "lighting": { + "title": "Lighting", + "description": "Lighting to describe the lighting usage of the program. If None, no lighting will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/LightingAbridged" + } + ] + }, + "electric_equipment": { + "title": "Electric Equipment", + "description": "ElectricEquipment to describe the usage of electric equipment within the program. If None, no electric equipment will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/ElectricEquipmentAbridged" + } + ] + }, + "gas_equipment": { + "title": "Gas Equipment", + "description": "GasEquipment to describe the usage of gas equipment within the program. If None, no gas equipment will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/GasEquipmentAbridged" + } + ] + }, + "service_hot_water": { + "title": "Service Hot Water", + "description": "ServiceHotWater object to describe the usage of hot water within the program. If None, no hot water will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/ServiceHotWaterAbridged" + } + ] + }, + "infiltration": { + "title": "Infiltration", + "description": "Infiltration to describe the outdoor air leakage of the program. If None, no infiltration will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/InfiltrationAbridged" + } + ] + }, + "ventilation": { + "title": "Ventilation", + "description": "Ventilation to describe the minimum outdoor air requirement of the program. If None, no ventilation requirement will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationAbridged" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "Setpoint object to describe the temperature and humidity setpoints of the program. If None, the ProgramType cannot be assigned to a Room that is conditioned.", + "allOf": [ + { + "$ref": "#/components/schemas/SetpointAbridged" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ProgramTypeAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "WindowACEquipmentType": { + "title": "WindowACEquipmentType", + "description": "An enumeration.", + "enum": [ + "WindowAC_ElectricBaseboard", + "WindowAC_BoilerBaseboard", + "WindowAC_ASHPBaseboard", + "WindowAC_DHWBaseboard", + "WindowAC_Furnace", + "WindowAC_GasHeaters", + "WindowAC" + ], + "type": "string" + }, + "WindowAC": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "WindowAC", + "pattern": "^WindowAC$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the WindowACEquipmentType enumeration.", + "default": "WindowAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/WindowACEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "WindowAC", + "description": "Window Air Conditioning cooling system (with optional heating).\n\nEach room/zone will receive its own Packaged Terminal Air Conditioner (PTAC)\nwith properties set to reflect a typical window air conditioning (AC) unit.\nNo ventilation air is supplied by the unit and the cooling coil within the\nunit is a single-speed direct expansion (DX) cooling coil. Heating loads\ncan be met with various options, including several types of baseboards,\na furnace, or gas unit heaters.", + "discriminator": { + "propertyName": "type" + } + }, + "Color": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "r": { + "title": "R", + "description": "Value for red channel.", + "minimum": 0, + "maximum": 255, + "type": "integer", + "format": "int32" + }, + "g": { + "title": "G", + "description": "Value for green channel.", + "minimum": 0, + "maximum": 255, + "type": "integer", + "format": "int32" + }, + "b": { + "title": "B", + "description": "Value for blue channel.", + "minimum": 0, + "maximum": 255, + "type": "integer", + "format": "int32" + }, + "type": { + "title": "Type", + "default": "Color", + "pattern": "^Color$", + "type": "string", + "readOnly": true + }, + "a": { + "title": "A", + "description": "Value for the alpha channel, which defines the opacity as a number between 0 (fully transparent) and 255 (fully opaque).", + "default": 255, + "minimum": 0, + "maximum": 255, + "type": "integer", + "format": "int32" + } + }, + "required": [ + "r", + "g", + "b" + ], + "additionalProperties": false + } + ], + "title": "Color", + "description": "A RGB color.", + "discriminator": { + "propertyName": "type" + } + }, + "Mesh3D": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "vertices": { + "title": "Vertices", + "description": "A list of points representing the vertices of the mesh. The list should include at least 3 points and each point should be a list of 3 (x, y, z) values.", + "minItems": 3, + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "minItems": 3, + "maxItems": 3 + } + }, + "faces": { + "title": "Faces", + "description": "A list of lists with each sub-list having either 3 or 4 integers. These integers correspond to indices within the list of vertices.", + "minItems": 1, + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "format": "int32" + }, + "minItems": 3, + "maxItems": 4 + } + }, + "type": { + "title": "Type", + "default": "Mesh3D", + "pattern": "^Mesh3D$", + "type": "string", + "readOnly": true + }, + "colors": { + "title": "Colors", + "description": "An optional list of colors that correspond to either the faces of the mesh or the vertices of the mesh.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Color" + } + } + }, + "required": [ + "vertices", + "faces" + ], + "additionalProperties": false + } + ], + "title": "Mesh3D", + "description": "A mesh in 3D space.", + "discriminator": { + "propertyName": "type" + } + }, + "ShadeMeshRadiancePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_PropertiesBaseAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeMeshRadiancePropertiesAbridged", + "pattern": "^ShadeMeshRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ShadeMeshRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee ShadeMesh Abridged.", + "discriminator": { + "propertyName": "type" + } + }, + "ShadeMeshPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeMeshPropertiesAbridged", + "pattern": "^ShadeMeshPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/ShadeMeshEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/ShadeMeshRadiancePropertiesAbridged" + } + } + } + ], + "title": "ShadeMeshPropertiesAbridged", + "discriminator": { + "propertyName": "type" + } + }, + "ShadeMesh": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "geometry", + "properties" + ], + "properties": { + "geometry": { + "title": "Geometry", + "description": "A Mesh3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Mesh3D" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeMeshPropertiesAbridged" + } + ] + }, + "type": { + "title": "Type", + "default": "ShadeMesh", + "pattern": "^ShadeMesh$", + "type": "string", + "readOnly": true + }, + "is_detached": { + "title": "Is Detached", + "description": "Boolean to note whether this shade is detached from any of the other geometry in the model. Cases where this should be True include shade representing surrounding buildings or context.", + "default": true, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "ShadeMesh", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "discriminator": { + "propertyName": "type" + } + }, + "OpaqueConstructionAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "materials" + ], + "properties": { + "materials": { + "title": "Materials", + "description": "List of strings for opaque material identifiers. The order of the materials is from exterior to interior.", + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 100 + } + }, + "type": { + "title": "Type", + "default": "OpaqueConstructionAbridged", + "pattern": "^OpaqueConstructionAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "OpaqueConstructionAbridged", + "description": "Construction for opaque objects (Face, Shade, Door).", + "discriminator": { + "propertyName": "type" + } + }, + "WindowConstructionAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "materials" + ], + "properties": { + "materials": { + "title": "Materials", + "description": "List of strings for glazing or gas material identifiers. The order of the materials is from exterior to interior. If a SimpleGlazSys material is used, it must be the only material in the construction. For multi-layered constructions, adjacent glass layers must be separated by one and only one gas layer.", + "minItems": 1, + "maxItems": 8, + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 100 + } + }, + "type": { + "title": "Type", + "default": "WindowConstructionAbridged", + "pattern": "^WindowConstructionAbridged$", + "type": "string", + "readOnly": true + }, + "frame": { + "title": "Frame", + "description": "An optional identifier for a frame material that surrounds the window construction.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "WindowConstructionAbridged", + "description": "Construction for window objects (Aperture, Door).", + "discriminator": { + "propertyName": "type" + } + }, + "AirBoundaryConstructionAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "AirBoundaryConstructionAbridged", + "pattern": "^AirBoundaryConstructionAbridged$", + "type": "string", + "readOnly": true + }, + "air_mixing_per_area": { + "title": "Air Mixing Per Area", + "description": "A positive number for the amount of air mixing between Rooms across the air boundary surface [m3/s-m2]. Default: 0.1 corresponds to average indoor air speeds of 0.1 m/s (roughly 20 fpm), which is typical of what would be induced by a HVAC system.", + "default": 0.1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "air_mixing_schedule": { + "title": "Air Mixing Schedule", + "description": "Identifier of a fractional schedule for the air mixing schedule across the construction. If unspecified, an Always On schedule will be assumed.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "AirBoundaryConstructionAbridged", + "description": "Construction for Air Boundary objects.", + "discriminator": { + "propertyName": "type" + } + }, + "WallConstructionSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_FaceSubSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "WallConstructionSetAbridged", + "pattern": "^WallConstructionSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "WallConstructionSetAbridged", + "description": "A set of constructions for wall assemblies.", + "discriminator": { + "propertyName": "type" + } + }, + "FloorConstructionSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_FaceSubSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FloorConstructionSetAbridged", + "pattern": "^FloorConstructionSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "FloorConstructionSetAbridged", + "description": "A set of constructions for floor assemblies.", + "discriminator": { + "propertyName": "type" + } + }, + "RoofCeilingConstructionSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_FaceSubSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoofCeilingConstructionSetAbridged", + "pattern": "^RoofCeilingConstructionSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "RoofCeilingConstructionSetAbridged", + "description": "A set of constructions for roof and ceiling assemblies.", + "discriminator": { + "propertyName": "type" + } + }, + "ApertureConstructionSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureConstructionSetAbridged", + "pattern": "^ApertureConstructionSetAbridged$", + "type": "string", + "readOnly": true + }, + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for a WindowConstruction for all apertures with a Surface boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "window_construction": { + "title": "Window Construction", + "description": "Identifier for a WindowConstruction for apertures with an Outdoors boundary condition, False is_operable property, and a Wall face type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "skylight_construction": { + "title": "Skylight Construction", + "description": "Identifier for a WindowConstruction for apertures with a Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "operable_construction": { + "title": "Operable Construction", + "description": "Identifier for a WindowConstruction for all apertures with an Outdoors boundary condition and True is_operable property.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "ApertureConstructionSetAbridged", + "description": "A set of constructions for aperture assemblies.", + "discriminator": { + "propertyName": "type" + } + }, + "DoorConstructionSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorConstructionSetAbridged", + "pattern": "^DoorConstructionSetAbridged$", + "type": "string", + "readOnly": true + }, + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for an OpaqueConstruction for all opaque doors with a Surface boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "Identifier for an OpaqueConstruction for opaque doors with an Outdoors boundary condition and a Wall face type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "overhead_construction": { + "title": "Overhead Construction", + "description": "Identifier for an OpaqueConstruction for opaque doors with an Outdoors boundary condition and a RoofCeiling or Floor type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_glass_construction": { + "title": "Exterior Glass Construction", + "description": "Identifier for a WindowConstruction for all glass doors with an Outdoors boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "interior_glass_construction": { + "title": "Interior Glass Construction", + "description": "Identifier for a WindowConstruction for all glass doors with a Surface boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "DoorConstructionSetAbridged", + "description": "A set of constructions for door assemblies.", + "discriminator": { + "propertyName": "type" + } + }, + "GlobalConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "GlobalConstructionSet", + "pattern": "^GlobalConstructionSet$", + "type": "string", + "readOnly": true + }, + "materials": { + "title": "Materials", + "description": "Global Honeybee Energy materials.", + "default": [ + { + "identifier": "Generic Roof Membrane", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.01, + "conductivity": 0.16, + "density": 1120.0, + "specific_heat": 1460.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic Acoustic Tile", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.02, + "conductivity": 0.06, + "density": 368.0, + "specific_heat": 590.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.2, + "visible_absorptance": 0.2 + }, + { + "identifier": "Generic 25mm Wood", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0254, + "conductivity": 0.15, + "density": 608.0, + "specific_heat": 1630.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic HW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.2, + "conductivity": 1.95, + "density": 2240.0, + "specific_heat": 900.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic Window Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGas", + "thickness": 0.0127, + "gas_type": "Air" + }, + { + "identifier": "Generic Gypsum Board", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0127, + "conductivity": 0.16, + "density": 800.0, + "specific_heat": 1090.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic Wall Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.667, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Ceiling Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.556, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Brick", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.9, + "density": 1920.0, + "specific_heat": 790.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic 50mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.05, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Low-e Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.45, + "solar_reflectance": 0.36, + "solar_reflectance_back": 0.36, + "visible_transmittance": 0.71, + "visible_reflectance": 0.21, + "visible_reflectance_back": 0.21, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.047, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + }, + { + "identifier": "Generic Painted Metal", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.0015, + "conductivity": 45.0, + "density": 7690.0, + "specific_heat": 410.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic LW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.53, + "density": 1280.0, + "specific_heat": 840.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic 25mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.025, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Clear Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.77, + "solar_reflectance": 0.07, + "solar_reflectance_back": 0.07, + "visible_transmittance": 0.88, + "visible_reflectance": 0.08, + "visible_reflectance_back": 0.08, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.84, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + } + ], + "readOnly": true, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyMaterial" + }, + { + "$ref": "#/components/schemas/EnergyMaterialNoMass" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGlazing" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGas" + } + ] + } + }, + "constructions": { + "title": "Constructions", + "description": "Global Honeybee Energy constructions.", + "default": [ + { + "identifier": "Generic Interior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 25mm Wood" + ] + }, + { + "identifier": "Generic Single Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Shade", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.35, + "visible_reflectance": 0.35, + "is_specular": false + }, + { + "identifier": "Generic Context", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.2, + "visible_reflectance": 0.2, + "is_specular": false + }, + { + "identifier": "Generic Interior Ceiling", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Interior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Gypsum Board", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Exposed Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic Ceiling Air Gap", + "Generic 50mm Insulation", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Interior Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Acoustic Tile", + "Generic Ceiling Air Gap", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Ground Slab", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete" + ] + }, + { + "identifier": "Generic Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Roof Membrane", + "Generic 50mm Insulation", + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Exterior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Brick", + "Generic LW Concrete", + "Generic 50mm Insulation", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Underground Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Air Boundary", + "display_name": null, + "user_data": null, + "type": "AirBoundaryConstructionAbridged", + "air_mixing_per_area": 0.1, + "air_mixing_schedule": "Always On" + }, + { + "identifier": "Generic Underground Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Double Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Low-e Glass", + "Generic Window Air Gap", + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Exterior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic 25mm Insulation", + "Generic Painted Metal" + ] + } + ], + "readOnly": true, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/OpaqueConstructionAbridged" + }, + { + "$ref": "#/components/schemas/WindowConstructionAbridged" + }, + { + "$ref": "#/components/schemas/ShadeConstruction" + }, + { + "$ref": "#/components/schemas/AirBoundaryConstructionAbridged" + } + ] + } + }, + "wall_set": { + "title": "Wall Set", + "description": "Global Honeybee WallConstructionSet.", + "default": { + "interior_construction": "Generic Interior Wall", + "exterior_construction": "Generic Exterior Wall", + "ground_construction": "Generic Underground Wall", + "type": "WallConstructionSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/WallConstructionSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "Global Honeybee FloorConstructionSet.", + "default": { + "interior_construction": "Generic Interior Floor", + "exterior_construction": "Generic Exposed Floor", + "ground_construction": "Generic Ground Slab", + "type": "FloorConstructionSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/FloorConstructionSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "Global Honeybee RoofCeilingConstructionSet.", + "default": { + "interior_construction": "Generic Interior Ceiling", + "exterior_construction": "Generic Roof", + "ground_construction": "Generic Underground Roof", + "type": "RoofCeilingConstructionSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingConstructionSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "Global Honeybee ApertureConstructionSet.", + "default": { + "type": "ApertureConstructionSetAbridged", + "interior_construction": "Generic Single Pane", + "window_construction": "Generic Double Pane", + "skylight_construction": "Generic Double Pane", + "operable_construction": "Generic Double Pane" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/ApertureConstructionSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "Global Honeybee DoorConstructionSet.", + "default": { + "type": "DoorConstructionSetAbridged", + "interior_construction": "Generic Interior Door", + "exterior_construction": "Generic Exterior Door", + "overhead_construction": "Generic Exterior Door", + "exterior_glass_construction": "Generic Double Pane", + "interior_glass_construction": "Generic Single Pane" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/DoorConstructionSetAbridged" + } + ] + }, + "shade_construction": { + "title": "Shade Construction", + "description": "Global Honeybee Construction for building-attached Shades.", + "default": "Generic Shade", + "readOnly": true, + "type": "string" + }, + "context_construction": { + "title": "Context Construction", + "description": "Global Honeybee Construction for context Shades.", + "default": "Generic Context", + "readOnly": true, + "type": "string" + }, + "air_boundary_construction": { + "title": "Air Boundary Construction", + "description": "Global Honeybee Construction for AirBoundary Faces.", + "default": "Generic Air Boundary", + "readOnly": true, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "GlobalConstructionSet", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "ConstructionSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ConstructionSetAbridged", + "pattern": "^ConstructionSetAbridged$", + "type": "string", + "readOnly": true + }, + "wall_set": { + "title": "Wall Set", + "description": "A WallConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/WallConstructionSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "A FloorConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/FloorConstructionSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "A RoofCeilingConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingConstructionSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "A ApertureConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/ApertureConstructionSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "A DoorConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/DoorConstructionSetAbridged" + } + ] + }, + "shade_construction": { + "title": "Shade Construction", + "description": "The identifier of a ShadeConstruction to set the reflectance properties of all outdoor shades of all objects to which this ConstructionSet is assigned.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "air_boundary_construction": { + "title": "Air Boundary Construction", + "description": "The identifier of an AirBoundaryConstruction or OpaqueConstruction to set the properties of Faces with an AirBoundary type.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "ConstructionSetAbridged", + "description": "A set of constructions for different surface types and boundary conditions.", + "discriminator": { + "propertyName": "type" + } + }, + "WindowConstructionShadeAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "window_construction", + "shade_material" + ], + "properties": { + "window_construction": { + "title": "Window Construction", + "description": "A WindowConstructionAbridged object that serves as the \"switched off\" version of the construction (aka. the \"bare construction\"). The shade_material and shade_location will be used to modify this starting construction.", + "allOf": [ + { + "$ref": "#/components/schemas/WindowConstructionAbridged" + } + ] + }, + "shade_material": { + "title": "Shade Material", + "description": "Identifier of a An EnergyWindowMaterialShade or an EnergyWindowMaterialBlind that serves as the shading layer for this construction. This can also be an EnergyWindowMaterialGlazing, which will indicate that the WindowConstruction has a dynamically-controlled glass pane like an electrochromic window assembly.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "WindowConstructionShadeAbridged", + "pattern": "^WindowConstructionShadeAbridged$", + "type": "string", + "readOnly": true + }, + "shade_location": { + "description": "Text to indicate where in the window assembly the shade_material is located. Note that the WindowConstruction must have at least one gas gap to use the \"Between\" option. Also note that, for a WindowConstruction with more than one gas gap, the \"Between\" option defaults to using the inner gap as this is the only option that EnergyPlus supports.", + "default": "Interior", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeLocation" + } + ] + }, + "control_type": { + "description": "Text to indicate how the shading device is controlled, which determines when the shading is \u201con\u201d or \u201coff.\u201d", + "default": "AlwaysOn", + "allOf": [ + { + "$ref": "#/components/schemas/ControlType" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "A number that corresponds to the specified control_type. This can be a value in (W/m2), (C) or (W) depending upon the control type.Note that this value cannot be None for any control type except \"AlwaysOn.\"", + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "An optional schedule identifier to be applied on top of the control_type. If None, the control_type will govern all behavior of the construction.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "WindowConstructionShadeAbridged", + "description": "Construction for window objects with an included shade layer.", + "discriminator": { + "propertyName": "type" + } + }, + "WindowConstructionDynamicAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "constructions", + "schedule" + ], + "properties": { + "constructions": { + "title": "Constructions", + "description": "A list of WindowConstructionAbridged objects that define the various states that the dynamic window can assume.", + "type": "array", + "items": { + "$ref": "#/components/schemas/WindowConstructionAbridged" + } + }, + "schedule": { + "title": "Schedule", + "description": "An identifier for a control schedule that dictates which constructions are active at given times throughout the simulation. The values of the schedule should be integers and range from 0 to one less then the number of constructions. Zero indicates that the first construction is active, one indicates that the second on is active, etc. The schedule type limits of this schedule should be \"Control Level.\" If building custom schedule type limits that describe a particular range of states, the type limits should be \"Discrete\" and the unit type should be \"Mode,\" \"Control,\" or some other fractional unit.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "WindowConstructionDynamicAbridged", + "pattern": "^WindowConstructionDynamicAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "WindowConstructionDynamicAbridged", + "description": "Construction for window objects with an included shade layer.", + "discriminator": { + "propertyName": "type" + } + }, + "AllAirEconomizerType": { + "title": "AllAirEconomizerType", + "description": "An enumeration.", + "enum": [ + "NoEconomizer", + "DifferentialDryBulb", + "DifferentialEnthalpy", + "DifferentialDryBulbAndEnthalpy", + "FixedDryBulb", + "FixedEnthalpy", + "ElectronicEnthalpy" + ], + "type": "string" + }, + "VAVEquipmentType": { + "title": "VAVEquipmentType", + "description": "An enumeration.", + "enum": [ + "VAV_Chiller_Boiler", + "VAV_Chiller_ASHP", + "VAV_Chiller_DHW", + "VAV_Chiller_PFP", + "VAV_Chiller_GasCoil", + "VAV_ACChiller_Boiler", + "VAV_ACChiller_ASHP", + "VAV_ACChiller_DHW", + "VAV_ACChiller_PFP", + "VAV_ACChiller_GasCoil", + "VAV_DCW_Boiler", + "VAV_DCW_ASHP", + "VAV_DCW_DHW", + "VAV_DCW_PFP", + "VAV_DCW_GasCoil" + ], + "type": "string" + }, + "VAV": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/components/schemas/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "VAV", + "pattern": "^VAV$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VAVEquipmentType enumeration.", + "default": "VAV_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/VAVEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "VAV", + "description": "Variable Air Volume (VAV) HVAC system (aka. System 7 or 8).\n\nAll rooms/zones are connected to a central air loop that is kept at a constant\ncentral temperature of 12.8C (55F). The central temperature is maintained by a\ncooling coil, which runs whenever the combination of return air and fresh outdoor\nair is greater than 12.8C, as well as a heating coil, which runs whenever\nthe combination of return air and fresh outdoor air is less than 12.8C.\n\nEach air terminal for the connected rooms/zones contains its own reheat coil,\nwhich runs whenever the room is not in need of the cooling supplied by the 12.8C\ncentral air.\n\nThe central cooling coil is always a chilled water coil, which is connected to a\nchilled water loop operating at 6.7C (44F). All heating coils are hot water coils\nexcept when Gas Coil equipment_type is used (in which case coils are gas)\nor when Parallel Fan-Powered (PFP) boxes equipment_type is used (in which case\ncoils are electric resistance). Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.\n\nVAV systems are the traditional baseline system for commercial buildings\ntaller than 5 stories or larger than 14,000 m2 (150,000 ft2) of floor area.", + "discriminator": { + "propertyName": "type" + } + }, + "PVAVEquipmentType": { + "title": "PVAVEquipmentType", + "description": "An enumeration.", + "enum": [ + "PVAV_Boiler", + "PVAV_ASHP", + "PVAV_DHW", + "PVAV_PFP", + "PVAV_BoilerElectricReheat" + ], + "type": "string" + }, + "PVAV": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/components/schemas/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "PVAV", + "pattern": "^PVAV$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VAVEquipmentType enumeration.", + "default": "PVAV_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/PVAVEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "PVAV", + "description": "Packaged Variable Air Volume (PVAV) HVAC system (aka. System 5 or 6).\n\nAll rooms/zones are connected to a central air loop that is kept at a constant\ncentral temperature of 12.8C (55F). The central temperature is maintained by a\ncooling coil, which runs whenever the combination of return air and fresh outdoor\nair is greater than 12.8C, as well as a heating coil, which runs whenever\nthe combination of return air and fresh outdoor air is less than 12.8C.\n\nEach air terminal for the connected rooms/zones contains its own reheat coil,\nwhich runs whenever the room is not in need of the cooling supplied by the 12.8C\ncentral air.\n\nThe central cooling coil is always a two-speed direct expansion (DX) coil.\nAll heating coils are hot water coils except when Gas Coil equipment_type is\nused (in which case the central coil is gas and all reheat is electric)\nor when Parallel Fan-Powered (PFP) boxes equipment_type is used (in which case\ncoils are electric resistance). Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.\n\nPVAV systems are the traditional baseline system for commercial buildings\nwith than 4-5 stories or between 2,300 m2 and 14,000 m2 (25,000 ft2 and\n150,000 ft2) of floor area.", + "discriminator": { + "propertyName": "type" + } + }, + "PSZEquipmentType": { + "title": "PSZEquipmentType", + "description": "An enumeration.", + "enum": [ + "PSZAC_ElectricBaseboard", + "PSZAC_BoilerBaseboard", + "PSZAC_DHWBaseboard", + "PSZAC_GasHeaters", + "PSZAC_ElectricCoil", + "PSZAC_GasCoil", + "PSZAC_Boiler", + "PSZAC_ASHP", + "PSZAC_DHW", + "PSZAC", + "PSZAC_DCW_ElectricBaseboard", + "PSZAC_DCW_BoilerBaseboard", + "PSZAC_DCW_GasHeaters", + "PSZAC_DCW_ElectricCoil", + "PSZAC_DCW_GasCoil", + "PSZAC_DCW_Boiler", + "PSZAC_DCW_ASHP", + "PSZAC_DCW_DHW", + "PSZAC_DCW", + "PSZHP" + ], + "type": "string" + }, + "PSZ": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/components/schemas/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "PSZ", + "pattern": "^PSZ$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the PVAVEquipmentType enumeration.", + "default": "PSZAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/PSZEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "PSZ", + "description": "Packaged Single-Zone (PSZ) HVAC system (aka. System 3 or 4).\n\nEach room/zone receives its own air loop with its own single-speed direct expansion\n(DX) cooling coil, which will condition the supply air to a value in between\n12.8C (55F) and 50C (122F) depending on the heating/cooling needs of the room/zone.\nAs long as a Baseboard equipment_type is NOT selected, heating will be supplied\nby a heating coil in the air loop. Otherwise, heating is accomplished with\nbaseboards and the air loop only supplies cooling and ventilation air.\nFans are constant volume.\n\nPSZ systems are the traditional baseline system for commercial buildings\nwith less than 4 stories or less than 2,300 m2 (25,000 ft2) of floor area.\nThey are also the default for all retail with less than 3 stories and all public\nassembly spaces.", + "discriminator": { + "propertyName": "type" + } + }, + "PTACEquipmentType": { + "title": "PTACEquipmentType", + "description": "An enumeration.", + "enum": [ + "PTAC_ElectricBaseboard", + "PTAC_BoilerBaseboard", + "PTAC_DHWBaseboard", + "PTAC_GasHeaters", + "PTAC_ElectricCoil", + "PTAC_GasCoil", + "PTAC_Boiler", + "PTAC_ASHP", + "PTAC_DHW", + "PTAC", + "PTHP" + ], + "type": "string" + }, + "PTAC": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "PTAC", + "pattern": "^PTAC$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the PTACEquipmentType enumeration.", + "default": "PTAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/PTACEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "PTAC", + "description": "Packaged Terminal Air Conditioning (PTAC/HP) HVAC system. (aka. System 1 or 2).\n\nEach room/zone receives its own packaged unit that supplies heating, cooling\nand ventilation. Cooling is always done via a single-speed direct expansion (DX)\ncooling coil. Heating can be done via a heating coil in the unit or via an\nexternal baseboard. Fans are constant volume.\n\nPTAC/HP systems are the traditional baseline system for residential buildings.", + "discriminator": { + "propertyName": "type" + } + }, + "FurnaceEquipmentType": { + "title": "FurnaceEquipmentType", + "description": "An enumeration.", + "enum": [ + "Furnace", + "Furnace_Electric" + ], + "type": "string" + }, + "ForcedAirFurnace": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "ForcedAirFurnace", + "pattern": "^ForcedAirFurnace$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the FurnaceEquipmentType enumeration.", + "default": "Furnace", + "allOf": [ + { + "$ref": "#/components/schemas/FurnaceEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ForcedAirFurnace", + "description": "Forced Air Furnace HVAC system (aka. System 9 or 10).\n\nForced air furnaces are intended only for spaces only requiring heating and\nventilation. Each room/zone receives its own air loop with its own gas heating\ncoil, which will supply air at a temperature up to 50C (122F) to meet the\nheating needs of the room/zone. Fans are constant volume.\n\nForcedAirFurnace systems are the traditional baseline system for storage\nspaces that only require heating.", + "discriminator": { + "propertyName": "type" + } + }, + "WSHPwithDOASEquipmentType": { + "title": "WSHPwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_WSHP_FluidCooler_Boiler", + "DOAS_WSHP_CoolingTower_Boiler", + "DOAS_WSHP_GSHP", + "DOAS_WSHP_DCW_DHW" + ], + "type": "string" + }, + "WSHPwithDOASAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "WSHPwithDOASAbridged", + "pattern": "^WSHPwithDOASAbridged$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the WSHPwithDOASEquipmentType enumeration.", + "default": "DOAS_WSHP_FluidCooler_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/WSHPwithDOASEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "WSHPwithDOASAbridged", + "description": "Water Source Heat Pump (WSHP) with DOAS HVAC system.\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a chilled water cooling coil and a hot water heating coil except when the\nground source heat pump (GSHP) option is selected. In this case, the ventilation\nair temperature is maintained by a two-speed direct expansion (DX) cooling coil\nand a single-speed DX heating coil with backup electrical resistance heat.\n\nEach room/zone also receives its own Water Source Heat Pump (WSHP), which meets\nthe heating and cooling loads of the space. All WSHPs are connected to the\nsame water condenser loop, which has its temperature maintained by the\nequipment_type (eg. Boiler with Cooling Tower).", + "discriminator": { + "propertyName": "type" + } + }, + "FCUEquipmentType": { + "title": "FCUEquipmentType", + "description": "An enumeration.", + "enum": [ + "FCU_Chiller_Boiler", + "FCU_Chiller_ASHP", + "FCU_Chiller_DHW", + "FCU_Chiller_ElectricBaseboard", + "FCU_Chiller_GasHeaters", + "FCU_Chiller", + "FCU_ACChiller_Boiler", + "FCU_ACChiller_ASHP", + "FCU_ACChiller_DHW", + "FCU_ACChiller_ElectricBaseboard", + "FCU_ACChiller_GasHeaters", + "FCU_ACChiller", + "FCU_DCW_Boiler", + "FCU_DCW_ASHP", + "FCU_DCW_DHW", + "FCU_DCW_ElectricBaseboard", + "FCU_DCW_GasHeaters", + "FCU_DCW" + ], + "type": "string" + }, + "FCU": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "FCU", + "pattern": "^FCU$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the FCUEquipmentType enumeration.", + "default": "FCU_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/FCUEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "FCU", + "description": "Fan Coil Unit (FCU) heating/cooling system (with no ventilation).\n\nEach room/zone receives its own Fan Coil Unit (FCU), which meets the heating\nand cooling loads of the space. The cooling coil in the FCU is always chilled\nwater cooling coil, which is connected to a chilled water loop operating\nat 6.7C (44F). The heating coil is a hot water coil except when when electric\nbaseboards or gas heaters are specified. Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.", + "discriminator": { + "propertyName": "type" + } + }, + "WSHPEquipmentType": { + "title": "WSHPEquipmentType", + "description": "An enumeration.", + "enum": [ + "WSHP_FluidCooler_Boiler", + "WSHP_CoolingTower_Boiler", + "WSHP_GSHP", + "WSHP_DCW_DHW" + ], + "type": "string" + }, + "WSHP": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "WSHP", + "pattern": "^WSHP$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the WSHPEquipmentType enumeration.", + "default": "WSHP_FluidCooler_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/WSHPEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "WSHP", + "description": "Water Source Heat Pump (WSHP) heating/cooling system (with no ventilation).\n\nEach room/zone receives its own Water Source Heat Pump (WSHP), which meets\nthe heating and cooling loads of the space. All WSHPs are connected to the\nsame water condenser loop, which has its temperature maintained by the\nequipment_type (eg. Boiler with Cooling Tower).", + "discriminator": { + "propertyName": "type" + } + }, + "VRFEquipmentType": { + "title": "VRFEquipmentType", + "description": "An enumeration.", + "enum": [ + "VRF" + ], + "type": "string" + }, + "VRF": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "VRF", + "pattern": "^VRF$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VRFEquipmentType enumeration.", + "default": "VRF", + "allOf": [ + { + "$ref": "#/components/schemas/VRFEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "VRF", + "description": "Variable Refrigerant Flow (VRF) heating/cooling system (with no ventilation).\n\nEach room/zone receives its own Variable Refrigerant Flow (VRF) terminal,\nwhich meets the heating and cooling loads of the space. All room/zone terminals\nare connected to the same outdoor unit, meaning that either all rooms must be\nin cooling or heating mode together.", + "discriminator": { + "propertyName": "type" + } + }, + "BaseboardEquipmentType": { + "title": "BaseboardEquipmentType", + "description": "An enumeration.", + "enum": [ + "ElectricBaseboard", + "BoilerBaseboard", + "ASHPBaseboard", + "DHWBaseboard" + ], + "type": "string" + }, + "Baseboard": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "Baseboard", + "pattern": "^Baseboard$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the BaseboardEquipmentType enumeration.", + "default": "ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/BaseboardEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "Baseboard", + "description": "Baseboard heating system.\n\nBaseboard systems are intended for spaces only requiring heating and\nno ventilation or cooling. Each room/zone will get its own baseboard\nheating unit that satisfies the heating load.", + "discriminator": { + "propertyName": "type" + } + }, + "EvaporativeCoolerEquipmentType": { + "title": "EvaporativeCoolerEquipmentType", + "description": "An enumeration.", + "enum": [ + "EvapCoolers_ElectricBaseboard", + "EvapCoolers_BoilerBaseboard", + "EvapCoolers_ASHPBaseboard", + "EvapCoolers_DHWBaseboard", + "EvapCoolers_Furnace", + "EvapCoolers_UnitHeaters", + "EvapCoolers" + ], + "type": "string" + }, + "EvaporativeCooler": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "EvaporativeCooler", + "pattern": "^EvaporativeCooler$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the EvaporativeCoolerEquipmentType enumeration.", + "default": "EvapCoolers_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/EvaporativeCoolerEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "EvaporativeCooler", + "description": "Direct evaporative cooling systems (with optional heating).\n\nEach room/zone will receive its own air loop sized to meet the sensible load,\nwhich contains an evaporative cooler that directly adds humidity to the room\nair to cool it. The loop contains an outdoor air mixer, which is used whenever\nthe outdoor air has a lower wet bulb temperature than the return air from\nthe room. In the event that the combination of outdoor and room return air\nair is too humid, a backup single-speed direct expansion (DX) cooling coil\nwill be used. Heating loads can be met with various options, including\nseveral types of baseboards, a furnace, or gas unit heaters.", + "discriminator": { + "propertyName": "type" + } + }, + "ResidentialEquipmentType": { + "title": "ResidentialEquipmentType", + "description": "An enumeration.", + "enum": [ + "ResidentialAC_ElectricBaseboard", + "ResidentialAC_BoilerBaseboard", + "ResidentialAC_ASHPBaseboard", + "ResidentialAC_DHWBaseboard", + "ResidentialAC_ResidentialFurnace", + "ResidentialAC", + "ResidentialHP", + "ResidentialHPNoCool", + "ResidentialFurnace" + ], + "type": "string" + }, + "Residential": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "Residential", + "pattern": "^Residential$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the ResidentialEquipmentType enumeration.", + "default": "ResidentialAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/ResidentialEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "Residential", + "description": "Residential Air Conditioning, Heat Pump or Furnace system.\n\nResidential HVAC systems are intended primarily for single-family homes and\ninclude a wide variety of options. In all cases, each room/zone will receive\nits own air loop WITHOUT an outdoor air inlet (air is simply being recirculated\nthrough the loop). Residential air conditioning (AC) systems are modeled\nusing a unitary system with a single-speed direct expansion (DX) cooling\ncoil in the loop. Residential heat pump (HP) systems use a single-speed DX\nheating coil in the unitary system and the residential furnace option uses\na gas coil in the unitary system. In all cases, the properties of these coils\nare set to reflect a typical residential system.", + "discriminator": { + "propertyName": "type" + } + }, + "GasUnitHeaterEquipmentType": { + "title": "GasUnitHeaterEquipmentType", + "description": "An enumeration.", + "enum": [ + "GasHeaters" + ], + "type": "string" + }, + "GasUnitHeater": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "GasUnitHeater", + "pattern": "^GasUnitHeater$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the GasUnitHeaterEquipmentType enumeration.", + "default": "GasHeaters", + "allOf": [ + { + "$ref": "#/components/schemas/GasUnitHeaterEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "GasUnitHeater", + "description": "Gas unit heating system.\n\nGas unit systems are intended for spaces only requiring heating and no\nventilation or cooling. Each room/zone will get its own gaa heating unit\nthat satisfies the heating load.", + "discriminator": { + "propertyName": "type" + } + }, + "RadiantEquipmentType": { + "title": "RadiantEquipmentType", + "description": "An enumeration.", + "enum": [ + "Radiant_Chiller_Boiler", + "Radiant_Chiller_ASHP", + "Radiant_Chiller_DHW", + "Radiant_ACChiller_Boiler", + "Radiant_ACChiller_ASHP", + "Radiant_ACChiller_DHW", + "Radiant_DCW_Boiler", + "Radiant_DCW_ASHP", + "Radiant_DCW_DHW" + ], + "type": "string" + }, + "Radiant": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "Radiant", + "pattern": "^Radiant$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the RadiantEquipmentType enumeration.", + "default": "Radiant_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/RadiantEquipmentType" + } + ] + }, + "radiant_face_type": { + "description": "Text to indicate which faces are thermally active by default. Note that this property has no effect when the rooms to which the HVAC system is assigned have constructions with internal source materials. In this case, those constructions will dictate the thermally active surfaces.", + "default": "Floor", + "allOf": [ + { + "$ref": "#/components/schemas/RadiantFaceTypes" + } + ] + }, + "minimum_operation_time": { + "title": "Minimum Operation Time", + "description": "A number for the minimum number of hours of operation for the radiant system before it shuts off.", + "default": 1.0, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "switch_over_time": { + "title": "Switch Over Time", + "description": "A number for the minimum number of hours for when the system can switch between heating and cooling.", + "default": 24.0, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "Radiant", + "description": "Low temperature radiant HVAC system.\n\nThis HVAC template will change the floor and/or ceiling constructions\nof the Rooms that it is applied to, replacing them with a construction that\naligns with the radiant_type property (eg. CeilingMetalPanel).\n\nThe heating and cooling needs of the space are met with the radiant constructions,\nwhich use chilled water at 12.8C (55F) and a hot water temperature somewhere\nbetween 32.2C (90F) and 49C (120F) (warmer temperatures are used in colder\nclimate zones).\n\nNote that radiant systems are particularly limited in cooling capacity and\nusing them may result in many unmet hours. To reduce unmet hours, one can\nremove carpets, reduce internal loads, reduce solar and envelope gains during\npeak times, add thermal mass, and use an expanded comfort range.", + "discriminator": { + "propertyName": "type" + } + }, + "SHWEquipmentType": { + "title": "SHWEquipmentType", + "description": "An enumeration.", + "enum": [ + "Gas_WaterHeater", + "Electric_WaterHeater", + "HeatPump_WaterHeater", + "Gas_TanklessHeater", + "Electric_TanklessHeater" + ], + "type": "string" + }, + "SHWSystem": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "SHWSystem", + "pattern": "^SHWSystem$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text to indicate the type of air-side economizer used on the ideal air system. Economizers will mix in a greater amount of outdoor air to cool the zone (rather than running the cooling system) when the zone needs cooling and the outdoor air is cooler than the zone.", + "default": "Gas_WaterHeater", + "allOf": [ + { + "$ref": "#/components/schemas/SHWEquipmentType" + } + ] + }, + "heater_efficiency": { + "title": "Heater Efficiency", + "description": "A number for the efficiency of the heater within the system. For Gas systems, this is the efficiency of the burner. For HeatPump systems, this is the rated COP of the system. For electric systems, this should usually be set to 1. If set to Autocalculate, this value will automatically be set based on the equipment_type. Gas_WaterHeater - 0.8, Electric_WaterHeater - 1.0, HeatPump_WaterHeater - 3.5, Gas_TanklessHeater - 0.8, Electric_TanklessHeater - 1.0.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "$ref": "#/components/schemas/Autocalculate" + } + ] + }, + "ambient_condition": { + "title": "Ambient Condition", + "description": "A number for the ambient temperature in which the hot water tank is located [C]. This can also be the identifier of a Room in which the tank is located.", + "default": 22, + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "ambient_loss_coefficient": { + "title": "Ambient Loss Coefficient", + "description": "A number for the loss of heat from the water heater tank to the surrounding ambient conditions [W/K].", + "default": 6, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "SHWSystem", + "description": "Provides a model for a Service Hot Water system.", + "discriminator": { + "propertyName": "type" + } + }, + "People": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "people_per_area", + "occupancy_schedule" + ], + "properties": { + "people_per_area": { + "title": "People Per Area", + "description": "People per floor area expressed as [people/m2]", + "minimum": 0, + "type": "number", + "format": "double" + }, + "occupancy_schedule": { + "title": "Occupancy Schedule", + "description": "A schedule for the occupancy over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the people_per_area to yield a complete occupancy profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "type": { + "title": "Type", + "default": "People", + "pattern": "^People$", + "type": "string", + "readOnly": true + }, + "activity_schedule": { + "title": "Activity Schedule", + "description": "A schedule for the activity of the occupants over the course of the year. The type of this schedule should be ActivityLevel and the values of the schedule equal to the number of Watts given off by an individual person in the room. If None, a default constant schedule with 120 Watts per person will be used, which is typical of awake, adult humans who are seated.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The radiant fraction of sensible heat released by people. (Default: 0.3).", + "default": 0.3, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the latent fraction of heat gain due to people or an Autocalculate object.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "People", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "Lighting": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "watts_per_area", + "schedule" + ], + "properties": { + "watts_per_area": { + "title": "Watts Per Area", + "description": "Lighting per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of lights over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete lighting profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "type": { + "title": "Type", + "default": "Lighting", + "pattern": "^Lighting$", + "type": "string", + "readOnly": true + }, + "visible_fraction": { + "title": "Visible Fraction", + "description": "The fraction of heat from lights that goes into the zone as visible (short-wave) radiation. (Default: 0.25).", + "default": 0.25, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The fraction of heat from lights that is long-wave radiation. (Default: 0.32).", + "default": 0.32, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "return_air_fraction": { + "title": "Return Air Fraction", + "description": "The fraction of the heat from lights that goes into the zone return air. (Default: 0).", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "baseline_watts_per_area": { + "title": "Baseline Watts Per Area", + "description": "The baseline lighting power density in [W/m2] of floor area. This baseline is useful to track how much better the installed lights are in comparison to a standard like ASHRAE 90.1. If set to None, it will default to 11.84029 W/m2, which is that ASHRAE 90.1-2004 baseline for an office.", + "default": 11.84029, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "Lighting", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "ElectricEquipment": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "watts_per_area", + "schedule" + ], + "properties": { + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "ElectricEquipment", + "pattern": "^ElectricEquipment$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ElectricEquipment", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "GasEquipment": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "watts_per_area", + "schedule" + ], + "properties": { + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "GasEquipment", + "pattern": "^GasEquipment$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "GasEquipment", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "ServiceHotWater": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "flow_per_area", + "schedule" + ], + "properties": { + "flow_per_area": { + "title": "Flow Per Area", + "description": "Number for the total volume flow rate of water per unit area of floor [L/h-m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of hot water over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_area to yield a complete water usage profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "type": { + "title": "Type", + "default": "ServiceHotWater", + "pattern": "^ServiceHotWater$", + "type": "string", + "readOnly": true + }, + "target_temperature": { + "title": "Target Temperature", + "description": "Number for the target temperature of water out of the tap (C). This the temperature after hot water has been mixed with cold water from the water mains. The default is 60C, which essentially assumes that the flow_per_area on this object is only for water straight out of the water heater.", + "default": 60, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "sensible_fraction": { + "title": "Sensible Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load given off as sensible heat in the zone.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load that is latent.", + "default": 0.05, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "ServiceHotWater", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "Ventilation": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Ventilation", + "pattern": "^Ventilation$", + "type": "string", + "readOnly": true + }, + "flow_per_person": { + "title": "Flow Per Person", + "description": "Intensity of ventilation in[] m3/s per person]. Note that setting this value does not mean that ventilation is varied based on real-time occupancy but rather that the design level of ventilation is determined using this value and the People object of the Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_per_area": { + "title": "Flow Per Area", + "description": "Intensity of ventilation in [m3/s per m2 of floor area].", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "air_changes_per_hour": { + "title": "Air Changes Per Hour", + "description": "Intensity of ventilation in air changes per hour (ACH) for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_per_zone": { + "title": "Flow Per Zone", + "description": "Intensity of ventilation in m3/s for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Schedule for the ventilation over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the total design flow rate (determined from the sum of the other 4 fields) to yield a complete ventilation profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "Ventilation", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "Setpoint": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "cooling_schedule", + "heating_schedule" + ], + "properties": { + "cooling_schedule": { + "title": "Cooling Schedule", + "description": "Schedule for the cooling setpoint. The values in this schedule should be temperature in [C].", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "heating_schedule": { + "title": "Heating Schedule", + "description": "Schedule for the heating setpoint. The values in this schedule should be temperature in [C].", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "type": { + "title": "Type", + "default": "Setpoint", + "pattern": "^Setpoint$", + "type": "string", + "readOnly": true + }, + "humidifying_schedule": { + "title": "Humidifying Schedule", + "description": "Schedule for the humidification setpoint. The values in this schedule should be in [%].", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "dehumidifying_schedule": { + "title": "Dehumidifying Schedule", + "description": "Schedule for the dehumidification setpoint. The values in this schedule should be in [%].", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "setpoint_cutout_difference": { + "title": "Setpoint Cutout Difference", + "description": "An optional positive number for the temperature difference between the cutout temperature and the setpoint temperature. Specifying a non-zero number here is useful for modeling the throttling range associated with a given setup of setpoint controls and HVAC equipment. Throttling ranges describe the range where a zone is slightly over-cooled or over-heated beyond the thermostat setpoint. They are used to avoid situations where HVAC systems turn on only to turn off a few minutes later, thereby wearing out the parts of mechanical systems faster. They can have a minor impact on energy consumption and can often have significant impacts on occupant thermal comfort, though using the default value of zero will often yield results that are close enough when trying to estimate the annual heating/cooling energy use. Specifying a value of zero effectively assumes that the system will turn on whenever conditions are outside the setpoint range and will cut out as soon as the setpoint is reached.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "Setpoint", + "description": "Used to specify information about the setpoint schedule.", + "discriminator": { + "propertyName": "type" + } + }, + "ProgramType": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ProgramType", + "pattern": "^ProgramType$", + "type": "string", + "readOnly": true + }, + "people": { + "title": "People", + "description": "People to describe the occupancy of the program. If None, no occupancy will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/People" + } + ] + }, + "lighting": { + "title": "Lighting", + "description": "Lighting to describe the lighting usage of the program. If None, no lighting will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/Lighting" + } + ] + }, + "electric_equipment": { + "title": "Electric Equipment", + "description": "ElectricEquipment to describe the usage of electric equipment within the program. If None, no electric equipment will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/ElectricEquipment" + } + ] + }, + "gas_equipment": { + "title": "Gas Equipment", + "description": "GasEquipment to describe the usage of gas equipment within the program. If None, no gas equipment will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/GasEquipment" + } + ] + }, + "service_hot_water": { + "title": "Service Hot Water", + "description": "ServiceHotWater object to describe the usage of hot water within the program. If None, no hot water will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/ServiceHotWater" + } + ] + }, + "infiltration": { + "title": "Infiltration", + "description": "Infiltration to describe the outdoor air leakage of the program. If None, no infiltration will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/Infiltration" + } + ] + }, + "ventilation": { + "title": "Ventilation", + "description": "Ventilation to describe the minimum outdoor air requirement of the program. If None, no ventilation requirement will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/Ventilation" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "Setpoint object to describe the temperature and humidity setpoints of the program. If None, the ProgramType cannot be assigned to a Room that is conditioned.", + "allOf": [ + { + "$ref": "#/components/schemas/Setpoint" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ProgramType", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "ScheduleRulesetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "day_schedules", + "default_day_schedule" + ], + "properties": { + "day_schedules": { + "title": "Day Schedules", + "description": "A list of ScheduleDays that are referenced in the other keys of this ScheduleRulesetAbridged.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleDay" + } + }, + "default_day_schedule": { + "title": "Default Day Schedule", + "description": "An identifier for the ScheduleDay that will be used for all days when no ScheduleRule is applied. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "ScheduleRulesetAbridged", + "pattern": "^ScheduleRulesetAbridged$", + "type": "string", + "readOnly": true + }, + "schedule_rules": { + "title": "Schedule Rules", + "description": "A list of ScheduleRuleAbridged that note exceptions to the default_day_schedule. These rules should be ordered from highest to lowest priority.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleRuleAbridged" + } + }, + "holiday_schedule": { + "title": "Holiday Schedule", + "description": "An identifier for the ScheduleDay that will be used for holidays. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "summer_designday_schedule": { + "title": "Summer Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the summer design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "winter_designday_schedule": { + "title": "Winter Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the winter design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "Identifier of a ScheduleTypeLimit that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleRulesetAbridged", + "description": "Used to define a schedule for a default day, further described by ScheduleRule.", + "discriminator": { + "propertyName": "type" + } + }, + "ScheduleFixedIntervalAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "values" + ], + "properties": { + "values": { + "title": "Values", + "description": "A list of timeseries values occuring at each timestep over the course of the simulation.", + "minItems": 24, + "maxItems": 527040, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "ScheduleFixedIntervalAbridged", + "pattern": "^ScheduleFixedIntervalAbridged$", + "type": "string", + "readOnly": true + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "Identifier of a ScheduleTypeLimit that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "timestep": { + "title": "Timestep", + "description": "An integer for the number of steps per hour that the input values correspond to. For example, if each value represents 30 minutes, the timestep is 2. For 15 minutes, it is 4.", + "default": 1, + "type": "integer", + "format": "int32" + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the start date when the schedule values begin to take effect.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "placeholder_value": { + "title": "Placeholder Value", + "description": " A value that will be used for all times not covered by the input values. Typically, your simulation should not need to use this value if the input values completely cover the simulation period.", + "default": 0, + "type": "number", + "format": "double" + }, + "interpolate": { + "title": "Interpolate", + "description": "Boolean to note whether values in between intervals should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleFixedIntervalAbridged", + "description": "Used to specify a start date and a list of values for a period of analysis.", + "discriminator": { + "propertyName": "type" + } + }, + "VentilationControlType": { + "title": "VentilationControlType", + "description": "An enumeration.", + "enum": [ + "SingleZone", + "MultiZoneWithDistribution", + "MultiZoneWithoutDistribution" + ], + "type": "string" + }, + "BuildingType": { + "title": "BuildingType", + "description": "An enumeration.", + "enum": [ + "LowRise", + "HighRise" + ], + "type": "string" + }, + "VentilationSimulationControl": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationSimulationControl", + "pattern": "^VentilationSimulationControl$", + "type": "string", + "readOnly": true + }, + "vent_control_type": { + "description": "Text indicating type of ventilation control. Choices are: SingleZone, MultiZoneWithDistribution, MultiZoneWithoutDistribution. The MultiZone options will model air flow with the AirflowNetwork model, which is generally more accurate then the SingleZone option, but will take considerably longer to simulate, and requires defining more ventilation parameters to explicitly account for weather and building-induced pressure differences, and the leakage geometry corresponding to specific windows, doors, and surface cracks.", + "default": "SingleZone", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationControlType" + } + ] + }, + "reference_temperature": { + "title": "Reference Temperature", + "description": "Reference temperature measurement in Celsius under which the surface crack data were obtained.", + "default": 20, + "minimum": -273.15, + "type": "number", + "format": "double" + }, + "reference_pressure": { + "title": "Reference Pressure", + "description": "Reference barometric pressure measurement in Pascals under which the surface crack data were obtained.", + "default": 101325, + "minimum": 31000, + "maximum": 120000, + "type": "number", + "format": "double" + }, + "reference_humidity_ratio": { + "title": "Reference Humidity Ratio", + "description": "Reference humidity ratio measurement in kgWater/kgDryAir under which the surface crack data were obtained.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "building_type": { + "description": "Text indicating relationship between building footprint and height used to calculate the wind pressure coefficients for exterior surfaces.Choices are: LowRise and HighRise. LowRise corresponds to rectangular building whose height is less then three times the width and length of the footprint. HighRise corresponds to a rectangular building whose height is more than three times the width and length of the footprint. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.", + "default": "LowRise", + "allOf": [ + { + "$ref": "#/components/schemas/BuildingType" + } + ] + }, + "long_axis_angle": { + "title": "Long Axis Angle", + "description": "The clockwise rotation in degrees from true North of the long axis of the building. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.", + "default": 0, + "minimum": 0, + "maximum": 180, + "type": "number", + "format": "double" + }, + "aspect_ratio": { + "title": "Aspect Ratio", + "description": "Aspect ratio of a rectangular footprint, defined as the ratio of length of the short axis divided by the length of the long axis. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.", + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "VentilationSimulationControl", + "description": "The global parameters used in the ventilation simulation.", + "discriminator": { + "propertyName": "type" + } + }, + "ElectricLoadCenter": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ElectricLoadCenter", + "pattern": "^ElectricLoadCenter$", + "type": "string", + "readOnly": true + }, + "inverter_efficiency": { + "title": "Inverter Efficiency", + "description": "A number between 0 and 1 for the load center inverter nominal rated DC-to-AC conversion efficiency. An inverter converts DC power, such as that output by photovoltaic panels, to AC power, such as that distributed by the electrical grid and is available from standard electrical outlets. Inverter efficiency is defined as the inverter rated AC power output divided by its rated DC power output.", + "default": 0.96, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "inverter_dc_to_ac_size_ratio": { + "title": "Inverter Dc To Ac Size Ratio", + "description": "A positive number (typically greater than 1) for the ratio of the inverter DC rated size to its AC rated size. Typically, inverters are not sized to convert the full DC output under standard test conditions (STC) as such conditions rarely occur in reality and therefore unnecessarily add to the size/cost of the inverter. For a system with a high DC to AC size ratio, during times when the DC power output exceeds the inverter rated DC input size, the inverter limits the power output by increasing the DC operating voltage, which moves the arrays operating point down its current-voltage (I-V) curve. In EnergyPlus, this is accomplished by simply limiting the system output to the AC size as dictated by the ratio. The default value of 1.1 is reasonable for most systems. A typical range is 1.1 to 1.25, although some large-scale systems have ratios of as high as 1.5. The optimal value depends on the system location, array orientation, and module cost.", + "default": 1.1, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "ElectricLoadCenter", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "ModelEnergyProperties": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModelEnergyProperties", + "pattern": "^ModelEnergyProperties$", + "type": "string", + "readOnly": true + }, + "global_construction_set": { + "title": "Global Construction Set", + "description": "Global Energy construction set.", + "default": { + "type": "GlobalConstructionSet", + "materials": [ + { + "identifier": "Generic Roof Membrane", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.01, + "conductivity": 0.16, + "density": 1120.0, + "specific_heat": 1460.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic Acoustic Tile", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.02, + "conductivity": 0.06, + "density": 368.0, + "specific_heat": 590.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.2, + "visible_absorptance": 0.2 + }, + { + "identifier": "Generic 25mm Wood", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0254, + "conductivity": 0.15, + "density": 608.0, + "specific_heat": 1630.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic HW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.2, + "conductivity": 1.95, + "density": 2240.0, + "specific_heat": 900.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic Window Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGas", + "thickness": 0.0127, + "gas_type": "Air" + }, + { + "identifier": "Generic Gypsum Board", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0127, + "conductivity": 0.16, + "density": 800.0, + "specific_heat": 1090.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic Wall Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.667, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Ceiling Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.556, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Brick", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.9, + "density": 1920.0, + "specific_heat": 790.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic 50mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.05, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Low-e Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.45, + "solar_reflectance": 0.36, + "solar_reflectance_back": 0.36, + "visible_transmittance": 0.71, + "visible_reflectance": 0.21, + "visible_reflectance_back": 0.21, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.047, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + }, + { + "identifier": "Generic Painted Metal", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.0015, + "conductivity": 45.0, + "density": 7690.0, + "specific_heat": 410.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic LW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.53, + "density": 1280.0, + "specific_heat": 840.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic 25mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.025, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Clear Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.77, + "solar_reflectance": 0.07, + "solar_reflectance_back": 0.07, + "visible_transmittance": 0.88, + "visible_reflectance": 0.08, + "visible_reflectance_back": 0.08, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.84, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + } + ], + "constructions": [ + { + "identifier": "Generic Interior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 25mm Wood" + ] + }, + { + "identifier": "Generic Single Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Shade", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.35, + "visible_reflectance": 0.35, + "is_specular": false + }, + { + "identifier": "Generic Context", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.2, + "visible_reflectance": 0.2, + "is_specular": false + }, + { + "identifier": "Generic Interior Ceiling", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Interior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Gypsum Board", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Exposed Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic Ceiling Air Gap", + "Generic 50mm Insulation", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Interior Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Acoustic Tile", + "Generic Ceiling Air Gap", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Ground Slab", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete" + ] + }, + { + "identifier": "Generic Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Roof Membrane", + "Generic 50mm Insulation", + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Exterior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Brick", + "Generic LW Concrete", + "Generic 50mm Insulation", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Underground Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Air Boundary", + "display_name": null, + "user_data": null, + "type": "AirBoundaryConstructionAbridged", + "air_mixing_per_area": 0.1, + "air_mixing_schedule": "Always On" + }, + { + "identifier": "Generic Underground Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Double Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Low-e Glass", + "Generic Window Air Gap", + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Exterior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic 25mm Insulation", + "Generic Painted Metal" + ] + } + ], + "wall_set": { + "interior_construction": "Generic Interior Wall", + "exterior_construction": "Generic Exterior Wall", + "ground_construction": "Generic Underground Wall", + "type": "WallConstructionSetAbridged" + }, + "floor_set": { + "interior_construction": "Generic Interior Floor", + "exterior_construction": "Generic Exposed Floor", + "ground_construction": "Generic Ground Slab", + "type": "FloorConstructionSetAbridged" + }, + "roof_ceiling_set": { + "interior_construction": "Generic Interior Ceiling", + "exterior_construction": "Generic Roof", + "ground_construction": "Generic Underground Roof", + "type": "RoofCeilingConstructionSetAbridged" + }, + "aperture_set": { + "type": "ApertureConstructionSetAbridged", + "interior_construction": "Generic Single Pane", + "window_construction": "Generic Double Pane", + "skylight_construction": "Generic Double Pane", + "operable_construction": "Generic Double Pane" + }, + "door_set": { + "type": "DoorConstructionSetAbridged", + "interior_construction": "Generic Interior Door", + "exterior_construction": "Generic Exterior Door", + "overhead_construction": "Generic Exterior Door", + "exterior_glass_construction": "Generic Double Pane", + "interior_glass_construction": "Generic Single Pane" + }, + "shade_construction": "Generic Shade", + "context_construction": "Generic Context", + "air_boundary_construction": "Generic Air Boundary" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/GlobalConstructionSet" + } + ] + }, + "construction_sets": { + "title": "Construction Sets", + "description": "List of all unique ConstructionSets in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ConstructionSetAbridged" + }, + { + "$ref": "#/components/schemas/ConstructionSet" + } + ] + } + }, + "constructions": { + "title": "Constructions", + "description": "A list of all unique constructions in the model. This includes constructions across all Faces, Apertures, Doors, Shades, Room ConstructionSets, and the global_construction_set.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/OpaqueConstructionAbridged" + }, + { + "$ref": "#/components/schemas/WindowConstructionAbridged" + }, + { + "$ref": "#/components/schemas/WindowConstructionShadeAbridged" + }, + { + "$ref": "#/components/schemas/AirBoundaryConstructionAbridged" + }, + { + "$ref": "#/components/schemas/OpaqueConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamicAbridged" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + }, + { + "$ref": "#/components/schemas/AirBoundaryConstruction" + }, + { + "$ref": "#/components/schemas/ShadeConstruction" + } + ] + } + }, + "materials": { + "title": "Materials", + "description": "A list of all unique materials in the model. This includes materials needed to make the Model constructions.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyMaterial" + }, + { + "$ref": "#/components/schemas/EnergyMaterialNoMass" + }, + { + "$ref": "#/components/schemas/EnergyMaterialVegetation" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGlazing" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialSimpleGlazSys" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGas" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGasMixture" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGasCustom" + }, + { + "$ref": "#/components/schemas/EnergyWindowFrame" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialBlind" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialShade" + } + ] + } + }, + "hvacs": { + "title": "Hvacs", + "description": "List of all unique HVAC systems in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/IdealAirSystemAbridged" + }, + { + "$ref": "#/components/schemas/VAV" + }, + { + "$ref": "#/components/schemas/PVAV" + }, + { + "$ref": "#/components/schemas/PSZ" + }, + { + "$ref": "#/components/schemas/PTAC" + }, + { + "$ref": "#/components/schemas/ForcedAirFurnace" + }, + { + "$ref": "#/components/schemas/FCUwithDOASAbridged" + }, + { + "$ref": "#/components/schemas/WSHPwithDOASAbridged" + }, + { + "$ref": "#/components/schemas/VRFwithDOASAbridged" + }, + { + "$ref": "#/components/schemas/RadiantwithDOASAbridged" + }, + { + "$ref": "#/components/schemas/FCU" + }, + { + "$ref": "#/components/schemas/WSHP" + }, + { + "$ref": "#/components/schemas/VRF" + }, + { + "$ref": "#/components/schemas/Baseboard" + }, + { + "$ref": "#/components/schemas/EvaporativeCooler" + }, + { + "$ref": "#/components/schemas/Residential" + }, + { + "$ref": "#/components/schemas/WindowAC" + }, + { + "$ref": "#/components/schemas/GasUnitHeater" + }, + { + "$ref": "#/components/schemas/Radiant" + }, + { + "$ref": "#/components/schemas/DetailedHVAC" + } + ] + } + }, + "shws": { + "title": "Shws", + "description": "List of all unique Service Hot Water (SHW) systems in the Model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SHWSystem" + } + }, + "program_types": { + "title": "Program Types", + "description": "List of all unique ProgramTypes in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProgramTypeAbridged" + }, + { + "$ref": "#/components/schemas/ProgramType" + } + ] + } + }, + "schedules": { + "title": "Schedules", + "description": "A list of all unique schedules in the model. This includes schedules across all HVAC systems, ProgramTypes, Rooms, and Shades.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRulesetAbridged" + }, + { + "$ref": "#/components/schemas/ScheduleFixedIntervalAbridged" + }, + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + } + }, + "schedule_type_limits": { + "title": "Schedule Type Limits", + "description": "A list of all unique ScheduleTypeLimits in the model. This all ScheduleTypeLimits needed to make the Model schedules.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleTypeLimit" + } + }, + "ventilation_simulation_control": { + "title": "Ventilation Simulation Control", + "description": "An optional parameter to define the global parameters for a ventilation cooling.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationSimulationControl" + } + ] + }, + "electric_load_center": { + "title": "Electric Load Center", + "description": "An optional parameter object that defines the properties of the model electric loads center that manages on site electricity generation and conversion.", + "allOf": [ + { + "$ref": "#/components/schemas/ElectricLoadCenter" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ModelEnergyProperties", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "WallModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseModifierSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "WallModifierSetAbridged", + "pattern": "^WallModifierSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "WallModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Walls.", + "discriminator": { + "propertyName": "type" + } + }, + "FloorModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseModifierSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FloorModifierSetAbridged", + "pattern": "^FloorModifierSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "FloorModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Floors.", + "discriminator": { + "propertyName": "type" + } + }, + "RoofCeilingModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseModifierSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoofCeilingModifierSetAbridged", + "pattern": "^RoofCeilingModifierSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "RoofCeilingModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Roofs.", + "discriminator": { + "propertyName": "type" + } + }, + "ApertureModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureModifierSetAbridged", + "pattern": "^ApertureModifierSetAbridged$", + "type": "string", + "readOnly": true + }, + "window_modifier": { + "title": "Window Modifier", + "description": "Identifier of modifier object for apertures with an Outdoors boundary condition, False is_operable property, and Wall parent Face.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier of modifier object for apertures with a Surface boundary condition.", + "type": "string" + }, + "skylight_modifier": { + "title": "Skylight Modifier", + "description": "Identifier of modifier object for apertures with an Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "type": "string" + }, + "operable_modifier": { + "title": "Operable Modifier", + "description": "Identifier of modifier object for apertures with an Outdoors boundary condition and a True is_operable property.", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "ApertureModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Apertures.", + "discriminator": { + "propertyName": "type" + } + }, + "DoorModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseModifierSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorModifierSetAbridged", + "pattern": "^DoorModifierSetAbridged$", + "type": "string", + "readOnly": true + }, + "interior_glass_modifier": { + "title": "Interior Glass Modifier", + "description": "Identifier of modifier object for glass with a Surface boundary condition.", + "type": "string" + }, + "exterior_glass_modifier": { + "title": "Exterior Glass Modifier", + "description": "Identifier of modifier object for glass with an Outdoors boundary condition.", + "type": "string" + }, + "overhead_modifier": { + "title": "Overhead Modifier", + "description": "Identifier of a modifier object for doors with an Outdoors boundary condition and a RoofCeiling or Floor face type for their parent face.", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "DoorModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Doors.", + "discriminator": { + "propertyName": "type" + } + }, + "ShadeModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseModifierSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeModifierSetAbridged", + "pattern": "^ShadeModifierSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ShadeModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Shade.", + "discriminator": { + "propertyName": "type" + } + }, + "GlobalModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "GlobalModifierSet", + "pattern": "^GlobalModifierSet$", + "type": "string", + "readOnly": true + }, + "modifiers": { + "title": "Modifiers", + "description": "Global Honeybee Radiance modifiers.", + "default": [ + { + "identifier": "generic_floor_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_wall_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_ceiling_0.80", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.8, + "g_reflectance": 0.8, + "b_reflectance": 0.8, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_opaque_door_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_shade_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_exterior_shade_0.35", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.35, + "g_reflectance": 0.35, + "b_reflectance": 0.35, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_context_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_window_vis_0.88", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.9584154328610596, + "g_transmissivity": 0.9584154328610596, + "b_transmissivity": 0.9584154328610596, + "refraction_index": null + }, + { + "identifier": "generic_exterior_window_vis_0.64", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.6975761815384331, + "g_transmissivity": 0.6975761815384331, + "b_transmissivity": 0.6975761815384331, + "refraction_index": null + }, + { + "identifier": "air_boundary", + "display_name": null, + "type": "Trans", + "modifier": null, + "dependencies": [], + "r_reflectance": 1.0, + "g_reflectance": 1.0, + "b_reflectance": 1.0, + "specularity": 0.0, + "roughness": 0.0, + "transmitted_diff": 1.0, + "transmitted_spec": 1.0 + } + ], + "readOnly": true, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/Trans" + } + ] + } + }, + "wall_set": { + "title": "Wall Set", + "description": "Global Honeybee WallModifierSet.", + "default": { + "exterior_modifier": "generic_wall_0.50", + "interior_modifier": "generic_wall_0.50", + "type": "WallModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/WallModifierSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "Global Honeybee FloorModifierSet.", + "default": { + "exterior_modifier": "generic_floor_0.20", + "interior_modifier": "generic_floor_0.20", + "type": "FloorModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/FloorModifierSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "Global Honeybee RoofCeilingModifierSet.", + "default": { + "exterior_modifier": "generic_ceiling_0.80", + "interior_modifier": "generic_ceiling_0.80", + "type": "RoofCeilingModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingModifierSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "Global Honeybee ApertureModifierSet.", + "default": { + "type": "ApertureModifierSetAbridged", + "window_modifier": "generic_exterior_window_vis_0.64", + "interior_modifier": "generic_interior_window_vis_0.88", + "skylight_modifier": "generic_exterior_window_vis_0.64", + "operable_modifier": "generic_exterior_window_vis_0.64" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/ApertureModifierSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "Global Honeybee DoorModifierSet.", + "default": { + "exterior_modifier": "generic_opaque_door_0.50", + "interior_modifier": "generic_opaque_door_0.50", + "type": "DoorModifierSetAbridged", + "interior_glass_modifier": "generic_interior_window_vis_0.88", + "exterior_glass_modifier": "generic_exterior_window_vis_0.64", + "overhead_modifier": "generic_opaque_door_0.50" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/DoorModifierSetAbridged" + } + ] + }, + "shade_set": { + "title": "Shade Set", + "description": "Global Honeybee ShadeModifierSet.", + "default": { + "exterior_modifier": "generic_exterior_shade_0.35", + "interior_modifier": "generic_interior_shade_0.50", + "type": "ShadeModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/ShadeModifierSetAbridged" + } + ] + }, + "air_boundary_modifier": { + "title": "Air Boundary Modifier", + "description": "Global Honeybee Modifier for AirBoundary Faces.", + "default": "air_boundary", + "readOnly": true, + "type": "string" + }, + "context_modifier": { + "title": "Context Modifier", + "description": "Global Honeybee Modifier for context Shades.", + "default": "generic_context_0.20", + "readOnly": true, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "GlobalModifierSet", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "WallModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "WallModifierSet", + "pattern": "^WallModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "WallModifierSet", + "description": "Set containing radiance modifiers needed for a model's Walls.", + "discriminator": { + "propertyName": "type" + } + }, + "FloorModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "FloorModifierSet", + "pattern": "^FloorModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "FloorModifierSet", + "description": "Set containing radiance modifiers needed for a model's Floors.", + "discriminator": { + "propertyName": "type" + } + }, + "RoofCeilingModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "RoofCeilingModifierSet", + "pattern": "^RoofCeilingModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "RoofCeilingModifierSet", + "description": "Set containing radiance modifiers needed for a model's roofs.", + "discriminator": { + "propertyName": "type" + } + }, + "DoorModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_glass_modifier": { + "title": "Interior Glass Modifier", + "description": "A modifier object for glass with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "exterior_glass_modifier": { + "title": "Exterior Glass Modifier", + "description": "A modifier object for glass with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "overhead_modifier": { + "title": "Overhead Modifier", + "description": "A window modifier object for doors with an Outdoors boundary condition and a RoofCeiling or Floor face type for their parent face.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "DoorModifierSet", + "pattern": "^DoorModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "DoorModifierSet", + "description": "Set containing radiance modifiers needed for a model's Doors.", + "discriminator": { + "propertyName": "type" + } + }, + "ModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdRadianceBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModifierSet", + "pattern": "^ModifierSet$", + "type": "string", + "readOnly": true + }, + "wall_set": { + "title": "Wall Set", + "description": "An optional WallModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/WallModifierSet" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "An optional FloorModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/FloorModifierSet" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "An optional RoofCeilingModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingModifierSet" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "An optional ApertureModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/ApertureModifierSet" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "An optional DoorModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/DoorModifierSet" + } + ] + }, + "shade_set": { + "title": "Shade Set", + "description": "An optional ShadeModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeModifierSet" + } + ] + }, + "air_boundary_modifier": { + "title": "Air Boundary Modifier", + "description": "An optional Modifier to be used for all Faces with an AirBoundary face type. If None, it will be the honeybee generic air wall modifier.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ModifierSet", + "description": "Set containing all radiance modifiers needed to create a radiance model.", + "discriminator": { + "propertyName": "type" + } + }, + "ModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdRadianceBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModifierSetAbridged", + "pattern": "^ModifierSetAbridged$", + "type": "string", + "readOnly": true + }, + "wall_set": { + "title": "Wall Set", + "description": "Optional WallModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/WallModifierSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "Optional FloorModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/FloorModifierSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "Optional RoofCeilingModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingModifierSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "Optional ApertureModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/ApertureModifierSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "Optional DoorModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/DoorModifierSetAbridged" + } + ] + }, + "shade_set": { + "title": "Shade Set", + "description": "Optional ShadeModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeModifierSetAbridged" + } + ] + }, + "air_boundary_modifier": { + "title": "Air Boundary Modifier", + "description": "Optional Modifier to be used for all Faces with an AirBoundary face type. If None, it will be the honeybee generic air wall modifier.", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "ModifierSetAbridged", + "description": "Abridged set containing all modifiers needed to create a radiance model.", + "discriminator": { + "propertyName": "type" + } + }, + "Sensor": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "pos": { + "title": "Pos", + "description": "Position of sensor in space as an array of (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "dir": { + "title": "Dir", + "description": "Direction of sensor as an array of (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "Sensor", + "pattern": "^Sensor$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "pos", + "dir" + ], + "additionalProperties": false + } + ], + "title": "Sensor", + "description": "A single Radiance of sensors.", + "discriminator": { + "propertyName": "type" + } + }, + "SensorGrid": { + "allOf": [ + { + "$ref": "#/components/schemas/_RadianceAsset" + }, + { + "type": "object", + "required": [ + "sensors" + ], + "properties": { + "sensors": { + "title": "Sensors", + "description": "A list of sensors that belong to the grid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Sensor" + } + }, + "type": { + "title": "Type", + "default": "SensorGrid", + "pattern": "^SensorGrid$", + "type": "string", + "readOnly": true + }, + "mesh": { + "title": "Mesh", + "description": "An optional Mesh3D that aligns with the sensors and can be used for visualization of the grid. Note that the number of sensors in the grid must match the number of faces or the number vertices within the Mesh3D.", + "allOf": [ + { + "$ref": "#/components/schemas/Mesh3D" + } + ] + }, + "base_geometry": { + "title": "Base Geometry", + "description": "An optional array of Face3D used to represent the grid. There are no restrictions on how this property relates to the sensors and it is provided only to assist with the display of the grid when the number of sensors or the mesh is too large to be practically visualized.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Face3D" + } + }, + "group_identifier": { + "title": "Group Identifier", + "description": "An optional string to note the sensor grid group ' 'to which the sensor is a part of. Grids sharing the same ' 'group_identifier will be written to the same subfolder in Radiance ' 'folder (default: None).", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "SensorGrid", + "description": "A grid of sensors.", + "discriminator": { + "propertyName": "type" + } + }, + "ViewType": { + "title": "ViewType", + "description": "A single character for the view type (-vt).", + "enum": [ + "v", + "h", + "l", + "c", + "a", + "s" + ], + "type": "string" + }, + "View": { + "allOf": [ + { + "$ref": "#/components/schemas/_RadianceAsset" + }, + { + "type": "object", + "required": [ + "position", + "direction", + "up_vector" + ], + "properties": { + "position": { + "title": "Position", + "description": "The view position (-vp) as an array of (x, y, z) values.This is the focal point of a perspective view or the center of a parallel projection.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "direction": { + "title": "Direction", + "description": "The view direction (-vd) as an array of (x, y, z) values.The length of this vector indicates the focal distance as needed by the pixel depth of field (-pd) in rpict.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "up_vector": { + "title": "Up Vector", + "description": "The view up (-vu) vector as an array of (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "View", + "pattern": "^View$", + "type": "string", + "readOnly": true + }, + "view_type": { + "default": "v", + "allOf": [ + { + "$ref": "#/components/schemas/ViewType" + } + ] + }, + "h_size": { + "title": "H Size", + "description": "A number for the horizontal field of view in degrees (for all perspective projections including fisheye). For a parallel projection, this is the view width in world coordinates.", + "default": 60, + "type": "number", + "format": "double" + }, + "v_size": { + "title": "V Size", + "description": "A number for the vertical field of view in degrees (for all perspective projections including fisheye). For a parallel projection, this is the view width in world coordinates.", + "default": 60, + "type": "number", + "format": "double" + }, + "shift": { + "title": "Shift", + "description": "The view shift (-vs). This is the amount the actual image will be shifted to the right of the specified view. This option is useful for generating skewed perspectives or rendering an image a piece at a time. A value of 1 means that the rendered image starts just to the right of the normal view. A value of -1 would be to the left. Larger or fractional values are permitted as well.", + "type": "number", + "format": "double" + }, + "lift": { + "title": "Lift", + "description": "The view lift (-vl). This is the amount the actual image will be lifted up from the specified view. This option is useful for generating skewed perspectives or rendering an image a piece at a time. A value of 1 means that the rendered image starts just to the right of the normal view. A value of -1 would be to the left. Larger or fractional values are permitted as well.", + "type": "number", + "format": "double" + }, + "fore_clip": { + "title": "Fore Clip", + "description": "View fore clip (-vo) at a distance from the view point.The plane will be perpendicular to the view direction for perspective and parallel view types. For fisheye view types, the clipping plane is actually a clipping sphere, centered on the view point with fore_clip radius. Objects in front of this imaginary surface will not be visible.", + "type": "number", + "format": "double" + }, + "aft_clip": { + "title": "Aft Clip", + "description": "View aft clip (-va) at a distance from the view point.Like the view fore plane, it will be perpendicular to the view direction for perspective and parallel view types. For fisheye view types, the clipping plane is actually a clipping sphere, centered on the view point with radius val.", + "type": "number", + "format": "double" + }, + "group_identifier": { + "title": "Group Identifier", + "description": "An optional string to note the view group ' 'to which the sensor is a part of. Views sharing the same ' 'group_identifier will be written to the same subfolder in Radiance ' 'folder (default: None).", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "View", + "description": "A single Radiance of sensors.", + "discriminator": { + "propertyName": "type" + } + }, + "ModelRadianceProperties": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModelRadianceProperties", + "pattern": "^ModelRadianceProperties$", + "type": "string", + "readOnly": true + }, + "global_modifier_set": { + "title": "Global Modifier Set", + "description": "Global Radiance modifier set.", + "default": { + "type": "GlobalModifierSet", + "modifiers": [ + { + "identifier": "generic_floor_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_wall_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_ceiling_0.80", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.8, + "g_reflectance": 0.8, + "b_reflectance": 0.8, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_opaque_door_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_shade_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_exterior_shade_0.35", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.35, + "g_reflectance": 0.35, + "b_reflectance": 0.35, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_context_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_window_vis_0.88", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.9584154328610596, + "g_transmissivity": 0.9584154328610596, + "b_transmissivity": 0.9584154328610596, + "refraction_index": null + }, + { + "identifier": "generic_exterior_window_vis_0.64", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.6975761815384331, + "g_transmissivity": 0.6975761815384331, + "b_transmissivity": 0.6975761815384331, + "refraction_index": null + }, + { + "identifier": "air_boundary", + "display_name": null, + "type": "Trans", + "modifier": null, + "dependencies": [], + "r_reflectance": 1.0, + "g_reflectance": 1.0, + "b_reflectance": 1.0, + "specularity": 0.0, + "roughness": 0.0, + "transmitted_diff": 1.0, + "transmitted_spec": 1.0 + } + ], + "wall_set": { + "exterior_modifier": "generic_wall_0.50", + "interior_modifier": "generic_wall_0.50", + "type": "WallModifierSetAbridged" + }, + "floor_set": { + "exterior_modifier": "generic_floor_0.20", + "interior_modifier": "generic_floor_0.20", + "type": "FloorModifierSetAbridged" + }, + "roof_ceiling_set": { + "exterior_modifier": "generic_ceiling_0.80", + "interior_modifier": "generic_ceiling_0.80", + "type": "RoofCeilingModifierSetAbridged" + }, + "aperture_set": { + "type": "ApertureModifierSetAbridged", + "window_modifier": "generic_exterior_window_vis_0.64", + "interior_modifier": "generic_interior_window_vis_0.88", + "skylight_modifier": "generic_exterior_window_vis_0.64", + "operable_modifier": "generic_exterior_window_vis_0.64" + }, + "door_set": { + "exterior_modifier": "generic_opaque_door_0.50", + "interior_modifier": "generic_opaque_door_0.50", + "type": "DoorModifierSetAbridged", + "interior_glass_modifier": "generic_interior_window_vis_0.88", + "exterior_glass_modifier": "generic_exterior_window_vis_0.64", + "overhead_modifier": "generic_opaque_door_0.50" + }, + "shade_set": { + "exterior_modifier": "generic_exterior_shade_0.35", + "interior_modifier": "generic_interior_shade_0.50", + "type": "ShadeModifierSetAbridged" + }, + "air_boundary_modifier": "air_boundary", + "context_modifier": "generic_context_0.20" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/GlobalModifierSet" + } + ] + }, + "modifiers": { + "title": "Modifiers", + "description": "A list of all unique modifiers in the model. This includes modifiers across all Faces, Apertures, Doors, Shades, Room ModifierSets, and the global_modifier_set.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "modifier_sets": { + "title": "Modifier Sets", + "description": "A list of all unique Room-Assigned ModifierSets in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ModifierSet" + }, + { + "$ref": "#/components/schemas/ModifierSetAbridged" + } + ] + } + }, + "sensor_grids": { + "title": "Sensor Grids", + "description": "An array of SensorGrids that are associated with the model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SensorGrid" + } + }, + "views": { + "title": "Views", + "description": "An array of Views that are associated with the model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/View" + } + } + }, + "additionalProperties": false + } + ], + "title": "ModelRadianceProperties", + "description": "Radiance Properties for Honeybee Model.", + "discriminator": { + "propertyName": "type" + } + }, + "ModelProperties": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModelProperties", + "pattern": "^ModelProperties$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/ModelEnergyProperties" + }, + "radiance": { + "$ref": "#/components/schemas/ModelRadianceProperties" + } + } + } + ], + "title": "ModelProperties", + "discriminator": { + "propertyName": "type" + } + }, + "FaceType": { + "title": "FaceType", + "description": "An enumeration.", + "enum": [ + "Wall", + "Floor", + "RoofCeiling", + "AirBoundary" + ], + "type": "string" + }, + "Ground": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Ground", + "pattern": "^Ground$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Ground", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "Adiabatic": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Adiabatic", + "pattern": "^Adiabatic$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Adiabatic", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "OtherSideTemperature": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "OtherSideTemperature", + "pattern": "^OtherSideTemperature$", + "type": "string", + "readOnly": true + }, + "heat_transfer_coefficient": { + "title": "Heat Transfer Coefficient", + "description": "A value in W/m2-K to indicate the combined convective/radiative film coefficient. If equal to 0, then the specified temperature above is equal to the exterior surface temperature. Otherwise, the temperature above is considered the outside air temperature and this coefficient is used to determine the difference between this outside air temperature and the exterior surface temperature.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "temperature": { + "title": "Temperature", + "description": "A temperature value in Celsius to note the temperature on the other side of the object. This input can also be an Autocalculate object to signify that the temperature is equal to the outdoor air temperature.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "OtherSideTemperature", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "FaceEnergyPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FaceEnergyPropertiesAbridged", + "pattern": "^FaceEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of an OpaqueConstruction for the Face. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "vent_crack": { + "title": "Vent Crack", + "description": "An optional AFNCrack to specify airflow through a surface crack used by the AirflowNetwork.", + "allOf": [ + { + "$ref": "#/components/schemas/AFNCrack" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "FaceEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "FaceRadiancePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_PropertiesBaseAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FaceRadiancePropertiesAbridged", + "pattern": "^FaceRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "FaceRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Face Abridged.", + "discriminator": { + "propertyName": "type" + } + }, + "FacePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FacePropertiesAbridged", + "pattern": "^FacePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/FaceEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/FaceRadiancePropertiesAbridged" + } + } + } + ], + "title": "FacePropertiesAbridged", + "discriminator": { + "propertyName": "type" + } + }, + "Face": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "geometry", + "face_type", + "boundary_condition", + "properties" + ], + "properties": { + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "face_type": { + "$ref": "#/components/schemas/FaceType" + }, + "boundary_condition": { + "title": "Boundary Condition", + "anyOf": [ + { + "$ref": "#/components/schemas/Ground" + }, + { + "$ref": "#/components/schemas/Outdoors" + }, + { + "$ref": "#/components/schemas/Adiabatic" + }, + { + "$ref": "#/components/schemas/Surface" + }, + { + "$ref": "#/components/schemas/OtherSideTemperature" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/FacePropertiesAbridged" + } + ] + }, + "type": { + "title": "Type", + "default": "Face", + "pattern": "^Face$", + "type": "string", + "readOnly": true + }, + "apertures": { + "title": "Apertures", + "description": "Apertures assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Aperture" + } + }, + "doors": { + "title": "Doors", + "description": "Doors assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Door" + } + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. balcony, overhang).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + } + }, + "additionalProperties": false + } + ], + "title": "Face", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "discriminator": { + "propertyName": "type" + } + }, + "VentilationControlAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationControlAbridged", + "pattern": "^VentilationControlAbridged$", + "type": "string", + "readOnly": true + }, + "min_indoor_temperature": { + "title": "Min Indoor Temperature", + "description": "A number for the minimum indoor temperature at which to ventilate in Celsius. Typically, this variable is used to initiate ventilation.", + "default": -100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "max_indoor_temperature": { + "title": "Max Indoor Temperature", + "description": "A number for the maximum indoor temperature at which to ventilate in Celsius. This can be used to set a maximum temperature at which point ventilation is stopped and a cooling system is turned on.", + "default": 100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "min_outdoor_temperature": { + "title": "Min Outdoor Temperature", + "description": "A number for the minimum outdoor temperature at which to ventilate in Celsius. This can be used to ensure ventilative cooling does not happen during the winter even if the Room is above the min_indoor_temperature.", + "default": -100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "max_outdoor_temperature": { + "title": "Max Outdoor Temperature", + "description": "A number for the maximum indoor temperature at which to ventilate in Celsius. This can be used to set a limit for when it is considered too hot outside for ventilative cooling.", + "default": 100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "delta_temperature": { + "title": "Delta Temperature", + "description": "A number for the temperature differential in Celsius between indoor and outdoor below which ventilation is shut off. This should usually be a positive number so that ventilation only occurs when the outdoors is cooler than the indoors. Negative numbers indicate how much hotter the outdoors can be than the indoors before ventilation is stopped.", + "default": -100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the ventilation over the course of the year. Note that this is applied on top of any setpoints. The type of this schedule should be On/Off and values should be either 0 (no possibility of ventilation) or 1 (ventilation possible).", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "VentilationControlAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "VentilationType": { + "title": "VentilationType", + "description": "An enumeration.", + "enum": [ + "Exhaust", + "Intake", + "Balanced" + ], + "type": "string" + }, + "VentilationFan": { + "allOf": [ + { + "$ref": "#/components/schemas/EnergyBaseModel" + }, + { + "type": "object", + "required": [ + "flow_rate", + "pressure_rise", + "efficiency" + ], + "properties": { + "flow_rate": { + "title": "Flow Rate", + "description": "A number for the flow rate of the fan in m3/s.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "pressure_rise": { + "title": "Pressure Rise", + "description": "A number for the the pressure rise across the fan in Pascals (N/m2). This is often a function of the fan speed and the conditions in which the fan is operating since having the fan blow air through filters or narrow ducts will increase the pressure rise that is needed to deliver the input flow rate. The pressure rise plays an important role in determining the amount of energy consumed by the fan. Smaller fans like a 0.05 m3/s desk fan tend to have lower pressure rises around 60 Pa. Larger fans, such as a 6 m3/s fan used for ventilating a large room tend to have higher pressure rises around 400 Pa. The highest pressure rises are typically for large fans blowing air through ducts and filters, which can have pressure rises as high as 1000 Pa.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "efficiency": { + "title": "Efficiency", + "description": "A number between 0 and 1 for the overall efficiency of the fan. Specifically, this is the ratio of the power delivered to the fluid to the electrical input power. It is the product of the fan motor efficiency and the fan impeller efficiency. Fans that have a higher blade diameter and operate at lower speeds with smaller pressure rises for their size tend to have higher efficiencies. Because motor efficiencies are typically between 0.8 and 0.9, the best overall fan efficiencies tend to be around 0.7 with most typical fan efficiencies between 0.5 and 0.7. The lowest efficiencies often happen for small fans in situations with high pressure rises for their size, which can result in efficiencies as low as 0.15.", + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "VentilationFan", + "pattern": "^VentilationFan$", + "type": "string", + "readOnly": true + }, + "ventilation_type": { + "description": "Text to indicate the type of type of ventilation. Choose from the options below. For either Exhaust or Intake, values for fan pressure and efficiency define the fan electric consumption. For Exhaust ventilation, the conditions of the air entering the space are assumed to be equivalent to outside air conditions. For Intake and Balanced ventilation, an appropriate amount of fan heat is added to the entering air stream. For Balanced ventilation, both an intake fan and an exhaust fan are assumed to co-exist, both having the same flow rate and power consumption (using the entered values for fan pressure rise and fan total efficiency). Thus, the fan electric consumption for Balanced ventilation is twice that for the Exhaust or Intake ventilation types which employ only a single fan.", + "default": "Balanced", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationType" + } + ] + }, + "control": { + "title": "Control", + "description": "A VentilationControl object that dictates the conditions under which the fan is turned on. If None, a default VentilationControl will be generated, which will keep the fan on all of the time.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationControlAbridged" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "VentilationFan", + "description": "Base class for all objects requiring a valid EnergyPlus identifier.", + "discriminator": { + "propertyName": "type" + } + }, + "InternalMassAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "construction", + "area" + ], + "properties": { + "construction": { + "title": "Construction", + "description": "Identifier for an OpaqueConstruction that represents the material that the internal thermal mass is composed of.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "area": { + "title": "Area", + "description": "A number representing the surface area of the internal mass that is exposed to the Room air. This value should always be in square meters regardless of what units system the parent model is a part of.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "InternalMassAbridged", + "pattern": "^InternalMassAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "InternalMassAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "FuelTypes": { + "title": "FuelTypes", + "description": "Designates the acceptable fuel types for process loads.", + "enum": [ + "Electricity", + "NaturalGas", + "Propane", + "FuelOilNo1", + "FuelOilNo2", + "Diesel", + "Gasoline", + "Coal", + "Steam", + "DistrictHeating", + "DistrictCooling", + "OtherFuel1", + "OtherFuel2", + "None" + ], + "type": "string" + }, + "ProcessAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "watts", + "schedule", + "fuel_type" + ], + "properties": { + "watts": { + "title": "Watts", + "description": "A number for the process load power in Watts.", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of the process over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts to yield a complete equipment profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "fuel_type": { + "description": "Text to denote the type of fuel consumed by the process. Using the \"None\" type indicates that no end uses will be associated with the process, only the zone gains.", + "allOf": [ + { + "$ref": "#/components/schemas/FuelTypes" + } + ] + }, + "type": { + "title": "Type", + "default": "ProcessAbridged", + "pattern": "^ProcessAbridged$", + "type": "string", + "readOnly": true + }, + "end_use_category": { + "title": "End Use Category", + "description": "Text to indicate the end-use subcategory, which will identify the process load in the end use output. For example, \u201cCooking\u201d, \u201cClothes Drying\u201d, etc. A new meter for reporting is created for each unique subcategory.", + "default": "Process", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by the process load. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by the process load. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by the process load. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "ProcessAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "RoomEnergyPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoomEnergyPropertiesAbridged", + "pattern": "^RoomEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction_set": { + "title": "Construction Set", + "description": "Identifier of a ConstructionSet to specify all default constructions for the Faces, Apertures, and Doors of the Room. If None, the Room will use the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "program_type": { + "title": "Program Type", + "description": "Identifier of a ProgramType to specify all default schedules and loads for the Room. If None, the Room will have no loads or setpoints.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "hvac": { + "title": "Hvac", + "description": "An optional identifier of a HVAC system (such as an IdealAirSystem) that specifies how the Room is conditioned. If None, it will be assumed that the Room is not conditioned.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "shw": { + "title": "Shw", + "description": "An optional identifier of a Service Hot Water (SHW) system that specifies how the hot water load of the Room is met. If None, the hot water load will be met with a generic system that only measures thermal loadand does not account for system efficiencies.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "people": { + "title": "People", + "description": "People object to describe the occupancy of the Room.", + "allOf": [ + { + "$ref": "#/components/schemas/PeopleAbridged" + } + ] + }, + "lighting": { + "title": "Lighting", + "description": "Lighting object to describe the lighting usage of the Room.", + "allOf": [ + { + "$ref": "#/components/schemas/LightingAbridged" + } + ] + }, + "electric_equipment": { + "title": "Electric Equipment", + "description": "ElectricEquipment object to describe the electric equipment usage.", + "allOf": [ + { + "$ref": "#/components/schemas/ElectricEquipmentAbridged" + } + ] + }, + "gas_equipment": { + "title": "Gas Equipment", + "description": "GasEquipment object to describe the gas equipment usage.", + "allOf": [ + { + "$ref": "#/components/schemas/GasEquipmentAbridged" + } + ] + }, + "service_hot_water": { + "title": "Service Hot Water", + "description": "ServiceHotWater object to describe the hot water usage.", + "allOf": [ + { + "$ref": "#/components/schemas/ServiceHotWaterAbridged" + } + ] + }, + "infiltration": { + "title": "Infiltration", + "description": "Infiltration object to to describe the outdoor air leakage.", + "allOf": [ + { + "$ref": "#/components/schemas/InfiltrationAbridged" + } + ] + }, + "ventilation": { + "title": "Ventilation", + "description": "Ventilation object for the minimum outdoor air requirement.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationAbridged" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "Setpoint object for the temperature setpoints of the Room.", + "allOf": [ + { + "$ref": "#/components/schemas/SetpointAbridged" + } + ] + }, + "daylighting_control": { + "title": "Daylighting Control", + "description": "An optional DaylightingControl object to dictate the dimming of lights. If None, the lighting will respond only to the schedule and not the daylight conditions within the room.", + "allOf": [ + { + "$ref": "#/components/schemas/DaylightingControl" + } + ] + }, + "window_vent_control": { + "title": "Window Vent Control", + "description": "An optional VentilationControl object to dictate the opening of windows. If None, the windows will never open.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationControlAbridged" + } + ] + }, + "fans": { + "title": "Fans", + "description": "An optional list of VentilationFan objects for fans within the room. Note that these fans are not connected to the heating or cooling system and are meant to represent the intentional circulation of unconditioned outdoor air for the purposes of keeping a space cooler, drier or free of indoor pollutants (as in the case of kitchen or bathroom exhaust fans). For the specification of mechanical ventilation of conditioned outdoor air, the Room.ventilation property should be used and the Room should be given a HVAC that can meet this specification.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VentilationFan" + } + }, + "internal_masses": { + "title": "Internal Masses", + "description": "An optional list of of InternalMass objects for thermal mass exposed to Room air. Note that internal masses assigned this way cannot \"see\" solar radiation that may potentially hit them and, as such, caution should be taken when using this component with internal mass objects that are not always in shade. Masses are factored into the the thermal calculations of the Room by undergoing heat transfer with the indoor air.", + "type": "array", + "items": { + "$ref": "#/components/schemas/InternalMassAbridged" + } + }, + "process_loads": { + "title": "Process Loads", + "description": "An optional list of of Process objects for process loads within the room. These can represent kilns, manufacturing equipment, and various industrial processes. They can also be used to represent wood burning fireplaces or certain pieces of equipment to be separated from the other end uses.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ProcessAbridged" + } + } + }, + "additionalProperties": false + } + ], + "title": "RoomEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "RoomRadiancePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoomRadiancePropertiesAbridged", + "pattern": "^RoomRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "modifier_set": { + "title": "Modifier Set", + "description": "An identifier for a unique Room-Assigned ModifierSet (default: None).", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "RoomRadiancePropertiesAbridged", + "description": "Abridged Radiance Properties for Honeybee Room.", + "discriminator": { + "propertyName": "type" + } + }, + "RoomPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoomPropertiesAbridged", + "pattern": "^RoomPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/RoomEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/RoomRadiancePropertiesAbridged" + } + } + } + ], + "title": "RoomPropertiesAbridged", + "discriminator": { + "propertyName": "type" + } + }, + "Room": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "faces", + "properties" + ], + "properties": { + "faces": { + "title": "Faces", + "description": "Faces that together form the closed volume of a room.", + "minItems": 4, + "type": "array", + "items": { + "$ref": "#/components/schemas/Face" + } + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/RoomPropertiesAbridged" + } + ] + }, + "type": { + "title": "Type", + "default": "Room", + "pattern": "^Room$", + "type": "string", + "readOnly": true + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object (eg. partitions, tables).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. trees, landscaping).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "multiplier": { + "title": "Multiplier", + "description": "An integer noting how many times this Room is repeated. Multipliers are used to speed up the calculation when similar Rooms are repeated more than once. Essentially, a given simulation with the Room is run once and then the result is multiplied by the multiplier.", + "default": 1, + "minimum": 1, + "type": "integer", + "format": "int32" + }, + "exclude_floor_area": { + "title": "Exclude Floor Area", + "description": "A boolean for whether the Room floor area contributes to Models it is a part of. Note that this will not affect the floor_area property of this Room itself but it will ensure the Room floor area is excluded from any calculations when the Room is part of a Model, including EUI calculations.", + "default": false, + "type": "boolean" + }, + "story": { + "title": "Story", + "description": "Text string for the story identifier to which this Room belongs. Rooms sharing the same story identifier are considered part of the same story in a Model. Note that this property has no character restrictions.", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "Room", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "discriminator": { + "propertyName": "type" + } + }, + "Units": { + "title": "Units", + "description": "An enumeration.", + "enum": [ + "Meters", + "Millimeters", + "Feet", + "Inches", + "Centimeters" + ], + "type": "string" + }, + "Model": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "properties" + ], + "properties": { + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/ModelProperties" + } + ] + }, + "type": { + "title": "Type", + "default": "Model", + "pattern": "^Model$", + "type": "string", + "readOnly": true + }, + "version": { + "title": "Version", + "description": "Text string for the current version of the schema.", + "default": "1.57.3", + "pattern": "([0-9]+)\\.([0-9]+)\\.([0-9]+)", + "type": "string", + "readOnly": true + }, + "rooms": { + "title": "Rooms", + "description": "A list of Rooms in the model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Room" + } + }, + "orphaned_faces": { + "title": "Orphaned Faces", + "description": "A list of Faces in the model that lack a parent Room. Note that orphaned Faces are not acceptable for Models that are to be exported for energy simulation.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Face" + } + }, + "orphaned_shades": { + "title": "Orphaned Shades", + "description": "A list of Shades in the model that lack a parent.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "orphaned_apertures": { + "title": "Orphaned Apertures", + "description": "A list of Apertures in the model that lack a parent Face. Note that orphaned Apertures are not acceptable for Models that are to be exported for energy simulation.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Aperture" + } + }, + "orphaned_doors": { + "title": "Orphaned Doors", + "description": "A list of Doors in the model that lack a parent Face. Note that orphaned Doors are not acceptable for Models that are to be exported for energy simulation.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Door" + } + }, + "shade_meshes": { + "title": "Shade Meshes", + "description": "A list of ShadeMesh in the model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ShadeMesh" + } + }, + "units": { + "description": "Text indicating the units in which the model geometry exists. This is used to scale the geometry to the correct units for simulation engines like EnergyPlus, which requires all geometry be in meters.", + "default": "Meters", + "allOf": [ + { + "$ref": "#/components/schemas/Units" + } + ] + }, + "tolerance": { + "title": "Tolerance", + "description": "The maximum difference between x, y, and z values at which vertices are considered equivalent. This value should be in the Model units and it is used in a variety of checks, including checks for whether Room faces form a closed volume and subsequently correcting all face normals point outward from the Room. A value of 0 will result in bypassing all checks so it is recommended that this always be a positive number when such checks have not already been performed on a Model. The default of 0.01 is suitable for models in meters.", + "default": 0.01, + "minimum": 0, + "type": "number", + "format": "double" + }, + "angle_tolerance": { + "title": "Angle Tolerance", + "description": "The max angle difference in degrees that vertices are allowed to differ from one another in order to consider them colinear. This value is used in a variety of checks, including checks for whether Room faces form a closed volume and subsequently correcting all face normals point outward from the Room. A value of 0 will result in bypassing all checks so it is recommended that this always be a positive number when such checks have not already been performed on a given Model.", + "default": 1.0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "Model", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "discriminator": { + "propertyName": "type" + } + }, + "_DOASBase": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "_DOASBase", + "type": "string", + "pattern": "^_DOASBase$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_DOASBase", + "description": "Base class for Dedicated Outdoor Air System (DOAS) HVACs.\n\nDOAS systems separate minimum ventilation supply from the satisfaction of heating\n+ cooling demand. Ventilation air tends to be supplied at neutral temperatures\n(close to room air temperature) and heating / cooling loads are met with additional\npieces of zone equipment (eg. Fan Coil Units (FCUs)).\n\nBecause DOAS systems only have to cool down and re-heat the minimum ventilation air,\nthey tend to use less energy than all-air systems. They also tend to use less energy\nto distribute heating + cooling by pumping around hot/cold water or refrigerant\ninstead of blowing hot/cold air. However, they do not provide as good of control\nover humidity and so they may not be appropriate for rooms with high latent loads\nlike auditoriums, kitchens, laundromats, etc.", + "discriminator": { + "propertyName": "type" + } + }, + "_TemplateSystem": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "_TemplateSystem", + "type": "string", + "pattern": "^_TemplateSystem$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_TemplateSystem", + "description": "Base class for HVAC systems following a standards template.", + "discriminator": { + "propertyName": "type" + } + }, + "IDdEnergyBaseModel": { + "allOf": [ + { + "$ref": "#/components/schemas/EnergyBaseModel" + }, + { + "type": "object", + "properties": { + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "IDdEnergyBaseModel", + "type": "string", + "pattern": "^IDdEnergyBaseModel$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "IDdEnergyBaseModel", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "EnergyBaseModel": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "EnergyBaseModel", + "type": "string", + "pattern": "^EnergyBaseModel$", + "readOnly": true + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + } + ], + "title": "EnergyBaseModel", + "description": "Base class for all objects requiring a valid EnergyPlus identifier.", + "discriminator": { + "propertyName": "type" + } + }, + "IDdBaseModel": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "IDdBaseModel", + "type": "string", + "pattern": "^IDdBaseModel$", + "readOnly": true + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + } + ], + "title": "IDdBaseModel", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "discriminator": { + "propertyName": "type" + } + }, + "BaseModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "BaseModifierSet", + "type": "string", + "pattern": "^BaseModifierSet$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "BaseModifierSet", + "description": "Base class for the modifier sets assigned to Faces.", + "discriminator": { + "propertyName": "type" + } + }, + "_HeatCoolBase": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "_HeatCoolBase", + "type": "string", + "pattern": "^_HeatCoolBase$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_HeatCoolBase", + "description": "Base class for all heating/cooling systems without any ventilation.\n\nThese systems are only designed to satisfy heating + cooling demand and they\ncannot meet any minimum ventilation requirements.\n\nAs such, these systems tend to be used in residential or storage settings where\nmeeting minimum ventilation requirements may not be required or the density\nof occupancy is so low that infiltration is enough to meet fresh air demand.", + "discriminator": { + "propertyName": "type" + } + }, + "_FaceSubSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "_FaceSubSet", + "type": "string", + "pattern": "^_FaceSubSet$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_FaceSubSet", + "description": "A set of constructions for wall, floor, or roof assemblies.", + "discriminator": { + "propertyName": "type" + } + }, + "_PropertiesBaseAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier (default: None).", + "type": "string" + }, + "modifier_blk": { + "title": "Modifier Blk", + "description": "A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + }, + "type": { + "title": "Type", + "default": "_PropertiesBaseAbridged", + "type": "string", + "pattern": "^_PropertiesBaseAbridged$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_PropertiesBaseAbridged", + "description": "Base class of Abridged Radiance Properties.", + "discriminator": { + "propertyName": "type" + } + }, + "_EquipmentBase": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "watts_per_area", + "schedule" + ], + "properties": { + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "_EquipmentBase", + "type": "string", + "pattern": "^_EquipmentBase$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_EquipmentBase", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "discriminator": { + "propertyName": "type" + } + }, + "ModifierBase": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdRadianceBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModifierBase", + "pattern": "^ModifierBase$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ModifierBase", + "description": "Base class for Radiance Modifiers", + "discriminator": { + "propertyName": "type" + } + }, + "IDdRadianceBaseModel": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "IDdRadianceBaseModel", + "type": "string", + "pattern": "^IDdRadianceBaseModel$", + "readOnly": true + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + } + ], + "title": "IDdRadianceBaseModel", + "description": "Base class for all objects requiring a valid Radiance identifier.", + "discriminator": { + "propertyName": "type" + } + }, + "BaseModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "Identifier for a radiance modifier object for faces with an Outdoors boundary condition.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "BaseModifierSetAbridged", + "type": "string", + "pattern": "^BaseModifierSetAbridged$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "BaseModifierSetAbridged", + "description": "Base class for the abridged modifier sets assigned to Faces.", + "discriminator": { + "propertyName": "type" + } + }, + "_AllAirBase": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/components/schemas/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "_AllAirBase", + "type": "string", + "pattern": "^_AllAirBase$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_AllAirBase", + "description": "Base class for all-air systems.\n\nAll-air systems provide both ventilation and heating + cooling demand with\nthe same stream of warm/cool air. As such, they often grant tight control\nover zone humidity. However, because such systems often involve the\ncooling of air only to reheat it again, they are often more energy intensive\nthan systems that separate ventilation from the meeting of thermal loads.", + "discriminator": { + "propertyName": "type" + } + }, + "_FaceSubSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Surface or Adiabatic boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "Identifier for an OpaqueConstruction for faces with an Outdoors boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "ground_construction": { + "title": "Ground Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Ground boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "_FaceSubSetAbridged", + "type": "string", + "pattern": "^_FaceSubSetAbridged$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_FaceSubSetAbridged", + "description": "A set of constructions for wall, floor, or roof assemblies.", + "discriminator": { + "propertyName": "type" + } + }, + "_RadianceAsset": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdRadianceBaseModel" + }, + { + "type": "object", + "properties": { + "room_identifier": { + "title": "Room Identifier", + "description": "Optional text string for the Room identifier to which this object belongs. This will be used to narrow down the number of aperture groups that have to be run with this sensor grid. If None, the grid will be run with all aperture groups in the model.", + "maxLength": 100, + "minLength": 1, + "pattern": "[.A-Za-z0-9_-]", + "type": "string" + }, + "light_path": { + "title": "Light Path", + "description": "Get or set a list of lists for the light path from the object to the sky. Each sub-list contains identifiers of aperture groups through which light passes. (eg. [[\"SouthWindow1\"], [\"static_apertures\", \"NorthWindow2\"]]).Setting this property will override any auto-calculation of the light path from the model and room_identifier upon export to the simulation.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": { + "title": "Type", + "default": "_RadianceAsset", + "type": "string", + "pattern": "^_RadianceAsset$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_RadianceAsset", + "description": "Hidden base class for all Radiance Assets.", + "discriminator": { + "propertyName": "type" + } + }, + "DatedBaseModel": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DatedBaseModel", + "type": "string", + "pattern": "^DatedBaseModel$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "DatedBaseModel", + "description": "Base class for all objects needing to check for a valid Date.", + "discriminator": { + "propertyName": "type" + } + }, + "_OpenAPIGenBaseModel": { + "title": "_OpenAPIGenBaseModel", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "A base class to use when there is no baseclass available to fall on.", + "default": "InvalidType", + "type": "string", + "readOnly": true + } + }, + "discriminator": { + "propertyName": "type" + } + } + } + } +} \ No newline at end of file diff --git a/model_json_schema.json b/model_json_schema.json new file mode 100644 index 0000000..d540b2f --- /dev/null +++ b/model_json_schema.json @@ -0,0 +1,13199 @@ +{ + "title": "Model", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Model", + "pattern": "^Model$", + "type": "string" + }, + "version": { + "title": "Version", + "description": "Text string for the current version of the schema.", + "default": "0.0.0", + "pattern": "([0-9]+)\\.([0-9]+)\\.([0-9]+)", + "type": "string" + }, + "rooms": { + "title": "Rooms", + "description": "A list of Rooms in the model.", + "type": "array", + "items": { + "$ref": "#/definitions/Room" + } + }, + "orphaned_faces": { + "title": "Orphaned Faces", + "description": "A list of Faces in the model that lack a parent Room. Note that orphaned Faces are not acceptable for Models that are to be exported for energy simulation.", + "type": "array", + "items": { + "$ref": "#/definitions/Face" + } + }, + "orphaned_shades": { + "title": "Orphaned Shades", + "description": "A list of Shades in the model that lack a parent.", + "type": "array", + "items": { + "$ref": "#/definitions/Shade" + } + }, + "orphaned_apertures": { + "title": "Orphaned Apertures", + "description": "A list of Apertures in the model that lack a parent Face. Note that orphaned Apertures are not acceptable for Models that are to be exported for energy simulation.", + "type": "array", + "items": { + "$ref": "#/definitions/Aperture" + } + }, + "orphaned_doors": { + "title": "Orphaned Doors", + "description": "A list of Doors in the model that lack a parent Face. Note that orphaned Doors are not acceptable for Models that are to be exported for energy simulation.", + "type": "array", + "items": { + "$ref": "#/definitions/Door" + } + }, + "shade_meshes": { + "title": "Shade Meshes", + "description": "A list of ShadeMesh in the model.", + "type": "array", + "items": { + "$ref": "#/definitions/ShadeMesh" + } + }, + "units": { + "description": "Text indicating the units in which the model geometry exists. This is used to scale the geometry to the correct units for simulation engines like EnergyPlus, which requires all geometry be in meters.", + "default": "Meters", + "allOf": [ + { + "$ref": "#/definitions/Units" + } + ] + }, + "tolerance": { + "title": "Tolerance", + "description": "The maximum difference between x, y, and z values at which vertices are considered equivalent. This value should be in the Model units and it is used in a variety of checks, including checks for whether Room faces form a closed volume and subsequently correcting all face normals point outward from the Room. A value of 0 will result in bypassing all checks so it is recommended that this always be a positive number when such checks have not already been performed on a Model. The default of 0.01 is suitable for models in meters.", + "default": 0.01, + "minimum": 0, + "type": "number" + }, + "angle_tolerance": { + "title": "Angle Tolerance", + "description": "The max angle difference in degrees that vertices are allowed to differ from one another in order to consider them colinear. This value is used in a variety of checks, including checks for whether Room faces form a closed volume and subsequently correcting all face normals point outward from the Room. A value of 0 will result in bypassing all checks so it is recommended that this always be a positive number when such checks have not already been performed on a given Model.", + "default": 1.0, + "minimum": 0, + "type": "number" + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/definitions/ModelProperties" + } + ] + } + }, + "required": [ + "identifier", + "properties" + ], + "additionalProperties": false, + "definitions": { + "Plane": { + "title": "Plane", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Plane", + "pattern": "^Plane$", + "type": "string" + }, + "n": { + "title": "N", + "description": "Plane normal as 3 (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number" + } + }, + "o": { + "title": "O", + "description": "Plane origin as 3 (x, y, z) values", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number" + } + }, + "x": { + "title": "X", + "description": "Plane x-axis as 3 (x, y, z) values. If None, it is autocalculated.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "n", + "o" + ], + "additionalProperties": false + }, + "Face3D": { + "title": "Face3D", + "description": "A single planar face in 3D space.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Face3D", + "pattern": "^Face3D$", + "type": "string" + }, + "boundary": { + "title": "Boundary", + "description": "A list of points representing the outer boundary vertices of the face. The list should include at least 3 points and each point should be a list of 3 (x, y, z) values.", + "minItems": 3, + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3, + "maxItems": 3 + } + }, + "holes": { + "title": "Holes", + "description": "Optional list of lists with one list for each hole in the face.Each hole should be a list of at least 3 points and each point a list of 3 (x, y, z) values. If None, it will be assumed that there are no holes in the face.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": 3 + } + }, + "plane": { + "title": "Plane", + "description": "Optional Plane indicating the plane in which the face exists.If None, the plane will usually be derived from the boundary points.", + "allOf": [ + { + "$ref": "#/definitions/Plane" + } + ] + } + }, + "required": [ + "boundary" + ], + "additionalProperties": false + }, + "FaceType": { + "title": "FaceType", + "description": "An enumeration.", + "enum": [ + "Wall", + "Floor", + "RoofCeiling", + "AirBoundary" + ], + "type": "string" + }, + "Ground": { + "title": "Ground", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Ground", + "pattern": "^Ground$", + "type": "string" + } + }, + "additionalProperties": false + }, + "Autocalculate": { + "title": "Autocalculate", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Autocalculate", + "pattern": "^Autocalculate$", + "type": "string" + } + }, + "additionalProperties": false + }, + "Outdoors": { + "title": "Outdoors", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Outdoors", + "pattern": "^Outdoors$", + "type": "string" + }, + "sun_exposure": { + "title": "Sun Exposure", + "description": "A boolean noting whether the boundary is exposed to sun.", + "default": true, + "type": "boolean" + }, + "wind_exposure": { + "title": "Wind Exposure", + "description": "A boolean noting whether the boundary is exposed to wind.", + "default": true, + "type": "boolean" + }, + "view_factor": { + "title": "View Factor", + "description": "A number for the view factor to the ground. This can also be an Autocalculate object to have the view factor automatically calculated.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/definitions/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + } + }, + "additionalProperties": false + }, + "Adiabatic": { + "title": "Adiabatic", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Adiabatic", + "pattern": "^Adiabatic$", + "type": "string" + } + }, + "additionalProperties": false + }, + "Surface": { + "title": "Surface", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Surface", + "pattern": "^Surface$", + "type": "string" + }, + "boundary_condition_objects": { + "title": "Boundary Condition Objects", + "description": "A list of up to 3 object identifiers that are adjacent to this one. The first object is always the one that is immediately adjacent and is of the same object type (Face, Aperture, Door). When this boundary condition is applied to a Face, the second object in the tuple will be the parent Room of the adjacent object. When the boundary condition is applied to a sub-face (Door or Aperture), the second object will be the parent Face of the adjacent sub-face and the third object will be the parent Room of the adjacent sub-face.", + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "boundary_condition_objects" + ], + "additionalProperties": false + }, + "OtherSideTemperature": { + "title": "OtherSideTemperature", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "OtherSideTemperature", + "pattern": "^OtherSideTemperature$", + "type": "string" + }, + "heat_transfer_coefficient": { + "title": "Heat Transfer Coefficient", + "description": "A value in W/m2-K to indicate the combined convective/radiative film coefficient. If equal to 0, then the specified temperature above is equal to the exterior surface temperature. Otherwise, the temperature above is considered the outside air temperature and this coefficient is used to determine the difference between this outside air temperature and the exterior surface temperature.", + "default": 0, + "minimum": 0, + "type": "number" + }, + "temperature": { + "title": "Temperature", + "description": "A temperature value in Celsius to note the temperature on the other side of the object. This input can also be an Autocalculate object to signify that the temperature is equal to the outdoor air temperature.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/definitions/Autocalculate" + }, + { + "type": "number" + } + ] + } + }, + "additionalProperties": false + }, + "ModuleType": { + "title": "ModuleType", + "description": "An enumeration.", + "enum": [ + "Standard", + "Premium", + "ThinFilm" + ], + "type": "string" + }, + "MountingType": { + "title": "MountingType", + "description": "An enumeration.", + "enum": [ + "FixedOpenRack", + "FixedRoofMounted", + "OneAxis", + "OneAxisBacktracking", + "TwoAxis" + ], + "type": "string" + }, + "PVProperties": { + "title": "PVProperties", + "description": "Base class for all objects requiring a valid EnergyPlus identifier.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "PVProperties", + "pattern": "^PVProperties$", + "type": "string" + }, + "rated_efficiency": { + "title": "Rated Efficiency", + "description": "A number between 0 and 1 for the rated nameplate efficiency of the photovoltaic solar cells under standard test conditions (STC). Standard test conditions are 1,000 Watts per square meter solar irradiance, 25 degrees C cell temperature, and ASTM G173-03 standard spectrum. Nameplate efficiencies reported by manufacturers are typically under STC. Standard poly- or mono-crystalline silicon modules tend to have rated efficiencies in the range of 14-17%. Premium high efficiency mono-crystalline silicon modules with anti-reflective coatings can have efficiencies in the range of 18-20%. Thin film photovoltaic modules typically have efficiencies of 11% or less. (Default: 0.15 for standard silicon solar cells).", + "default": 0.15, + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number" + }, + "active_area_fraction": { + "title": "Active Area Fraction", + "description": "The fraction of the parent Shade geometry that is covered in active solar cells. This fraction includes the difference between the PV panel (aka. PV module) area and the active cells within the panel as well as any losses for how the (typically rectangular) panels can be arranged on the Shade geometry. When the parent Shade geometry represents just the solar panels, this fraction is typically around 0.9 given that the framing elements of the panel reduce the overall active area. (Default: 0.9, assuming parent Shade geometry represents only the PV panel geometry).", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "module_type": { + "description": "Text to indicate the type of solar module. This is used to determine the temperature coefficients used in the simulation of the photovoltaic modules. When the rated_efficiency is between 12-18%, the Standard type is typically most appropriate. When the rated_efficiency is greater than 18%, the Premium type is likely more appropriate. When the rated_efficiency is less than 12%, this likely refers to a case where the ThinFilm module type is most appropriate.", + "default": "Standard", + "allOf": [ + { + "$ref": "#/definitions/ModuleType" + } + ] + }, + "mounting_type": { + "description": "Text to indicate the type of mounting and/or tracking used for the photovoltaic array. Note that the OneAxis options have an axis of rotation that is determined by the azimuth of the parent Shade geometry. Also note that, in the case of one or two axis tracking, shadows on the (static) parent Shade geometry still reduce the electrical output, enabling the simulation to account for large context geometry casting shadows on the array. However, the effects of smaller detailed shading may be improperly accounted for and self shading of the dynamic panel geometry is only accounted for via the tracking_ground_coverage_ratio property on this object. FixedOpenRack refers to ground or roof mounting where the air flows freely. FixedRoofMounted refers to mounting flush with the roof with limited air flow. OneAxis refers to a fixed tilt and azimuth, which define an axis of rotation. OneAxisBacktracking is the same as OneAxis but with controls to reduce self-shade at low sun angles. TwoAxis refers to a dynamic tilt and azimuth that track the sun.", + "default": "FixedOpenRack", + "allOf": [ + { + "$ref": "#/definitions/MountingType" + } + ] + }, + "system_loss_fraction": { + "title": "System Loss Fraction", + "description": "A number between 0 and 1 for the fraction of the electricity output lost due to factors other than EPW weather conditions, panel efficiency/type, active area, mounting, and inverter conversion from DC to AC. Factors that should be accounted for in this input include soiling, snow, wiring losses, electrical connection losses, manufacturer defects/tolerances/mismatch in cell characteristics, losses from power grid availability, and losses due to age or light-induced degradation. Losses from these factors tend to be between 10-20% but can vary widely depending on the installation, maintenance and the grid to which the panels are connected..", + "default": 0.14, + "minimum": 0, + "maximum": 1, + "type": "number" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ShadeEnergyPropertiesAbridged": { + "title": "ShadeEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeEnergyPropertiesAbridged", + "pattern": "^ShadeEnergyPropertiesAbridged$", + "type": "string" + }, + "construction": { + "title": "Construction", + "description": "Identifier of a ShadeConstruction to set the reflectance and specularity of the Shade. If None, the construction is set by theparent Room construction_set, the Model global_construction_set or (in the case fo an orphaned shade) the EnergyPlus default of 0.2 diffuse reflectance.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "transmittance_schedule": { + "title": "Transmittance Schedule", + "description": "Identifier of a schedule to set the transmittance of the shade, which can vary throughout the simulation. If None, the shade will be completely opaque.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "pv_properties": { + "title": "Pv Properties", + "description": "An optional PVProperties object to specify photovoltaic behavior of the Shade. If None, the Shade will have no Photovoltaic properties. Note that the normal of the Shade is important in determining the performance of the shade as a PV geometry.", + "allOf": [ + { + "$ref": "#/definitions/PVProperties" + } + ] + } + }, + "additionalProperties": false + }, + "StateGeometryAbridged": { + "title": "StateGeometryAbridged", + "description": "A single planar geometry that can be assigned to Radiance states.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "StateGeometryAbridged", + "pattern": "^StateGeometryAbridged$", + "type": "string" + }, + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier identifier (default: None).", + "type": "string" + }, + "modifier_direct": { + "title": "Modifier Direct", + "description": "A string for Honeybee Radiance Modifier identifiers to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "A ladybug_geometry Face3D.", + "allOf": [ + { + "$ref": "#/definitions/Face3D" + } + ] + } + }, + "required": [ + "identifier", + "geometry" + ], + "additionalProperties": false + }, + "RadianceShadeStateAbridged": { + "title": "RadianceShadeStateAbridged", + "description": "RadianceShadeStateAbridged represents a single state for a dynamic Shade.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RadianceShadeStateAbridged", + "pattern": "^RadianceShadeStateAbridged$", + "type": "string" + }, + "modifier": { + "title": "Modifier", + "description": "A Radiance Modifier identifier (default: None).", + "type": "string" + }, + "modifier_direct": { + "title": "Modifier Direct", + "description": "A Radiance Modifier identifier (default: None).", + "type": "string" + }, + "shades": { + "title": "Shades", + "description": "A list of StateGeometryAbridged objects (default: None).", + "type": "array", + "items": { + "$ref": "#/definitions/StateGeometryAbridged" + } + } + }, + "additionalProperties": false + }, + "ShadeRadiancePropertiesAbridged": { + "title": "ShadeRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Shade Abridged.", + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier (default: None).", + "type": "string" + }, + "modifier_blk": { + "title": "Modifier Blk", + "description": "A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ShadeRadiancePropertiesAbridged", + "pattern": "^ShadeRadiancePropertiesAbridged$", + "type": "string" + }, + "dynamic_group_identifier": { + "title": "Dynamic Group Identifier", + "description": "An optional string to note the dynamic group ' 'to which the Shade is a part of. Shades sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Shade is assumed to be static. (default: None).", + "type": "string" + }, + "states": { + "title": "States", + "description": "An optional list of abridged states (default: None).", + "type": "array", + "items": { + "$ref": "#/definitions/RadianceShadeStateAbridged" + } + } + }, + "additionalProperties": false + }, + "ShadePropertiesAbridged": { + "title": "ShadePropertiesAbridged", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadePropertiesAbridged", + "pattern": "^ShadePropertiesAbridged$", + "type": "string" + }, + "energy": { + "$ref": "#/definitions/ShadeEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/definitions/ShadeRadiancePropertiesAbridged" + } + } + }, + "Shade": { + "title": "Shade", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Shade", + "pattern": "^Shade$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/definitions/Face3D" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/definitions/ShadePropertiesAbridged" + } + ] + }, + "is_detached": { + "title": "Is Detached", + "description": "Boolean to note whether this shade is detached from any of the other geometry in the model. Cases where this should be True include shade representing surrounding buildings or context. Note that this should always be False for shades assigned to parent objects.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "identifier", + "geometry", + "properties" + ], + "additionalProperties": false + }, + "VentilationOpening": { + "title": "VentilationOpening", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationOpening", + "pattern": "^VentilationOpening$", + "type": "string" + }, + "fraction_area_operable": { + "title": "Fraction Area Operable", + "description": "A number for the fraction of the window area that is operable.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "fraction_height_operable": { + "title": "Fraction Height Operable", + "description": "A number for the fraction of the distance from the bottom of the window to the top that is operable", + "default": 1.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "discharge_coefficient": { + "title": "Discharge Coefficient", + "description": "A number that will be multiplied by the area of the window in the stack (buoyancy-driven) part of the equation to account for additional friction from window geometry, insect screens, etc. Typical values include 0.45, for unobstructed windows WITH insect screens and 0.65 for unobstructed windows WITHOUT insect screens. This value should be lowered if windows are of an awning or casement type and are not allowed to fully open.", + "default": 0.45, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "wind_cross_vent": { + "title": "Wind Cross Vent", + "description": "Boolean to indicate if there is an opening of roughly equal area on the opposite side of the Room such that wind-driven cross ventilation will be induced. If False, the assumption is that the operable area is primarily on one side of the Room and there is no wind-driven ventilation.", + "default": false, + "type": "boolean" + }, + "flow_coefficient_closed": { + "title": "Flow Coefficient Closed", + "description": "An optional number in kg/s-m, at 1 Pa per meter of crack length, used to calculate the mass flow rate when the opening is closed; required to run an AirflowNetwork simulation. The DesignBuilder Cracks template defines the flow coefficient for a tight, low-leakage closed external window to be 0.00001, and the flow coefficient for a very poor, high-leakage closed external window to be 0.003.", + "default": 0, + "minimum": 0, + "type": "number" + }, + "flow_exponent_closed": { + "title": "Flow Exponent Closed", + "description": "An optional dimensionless number between 0.5 and 1 used to calculate the mass flow rate when the opening is closed; required to run an AirflowNetwork simulation. This value represents the leak geometry impact on airflow, with 0.5 generally corresponding to turbulent orifice flow and 1 generally corresponding to laminar flow. The default of 0.65 is representative of many cases of wall and window leakage, used when the exponent cannot be measured.", + "default": 0.65, + "minimum": 0.5, + "maximum": 1, + "type": "number" + }, + "two_way_threshold": { + "title": "Two Way Threshold", + "description": "A number in kg/m3 indicating the minimum density difference above which two-way flow may occur due to stack effect, required to run an AirflowNetwork simulation. This value is required because the air density difference between two zones (which drives two-way air flow) will tend towards division by zero errors as the air density difference approaches zero. The default of 0.0001 is a typical default value used for AirflowNetwork openings.", + "default": 0.0001, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "additionalProperties": false + }, + "ApertureEnergyPropertiesAbridged": { + "title": "ApertureEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureEnergyPropertiesAbridged", + "pattern": "^ApertureEnergyPropertiesAbridged$", + "type": "string" + }, + "construction": { + "title": "Construction", + "description": "Identifier of a WindowConstruction for the aperture. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "vent_opening": { + "title": "Vent Opening", + "description": "An optional VentilationOpening to specify the operable portion of the Aperture.", + "allOf": [ + { + "$ref": "#/definitions/VentilationOpening" + } + ] + } + }, + "additionalProperties": false + }, + "RadianceSubFaceStateAbridged": { + "title": "RadianceSubFaceStateAbridged", + "description": "RadianceSubFaceStateAbridged is an abridged state for a dynamic Aperture or Door.\n ", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RadianceSubFaceStateAbridged", + "pattern": "^RadianceSubFaceStateAbridged$", + "type": "string" + }, + "modifier": { + "title": "Modifier", + "description": "A Radiance Modifier identifier (default: None).", + "type": "string" + }, + "modifier_direct": { + "title": "Modifier Direct", + "description": "A Radiance Modifier identifier (default: None).", + "type": "string" + }, + "shades": { + "title": "Shades", + "description": "A list of StateGeometryAbridged objects (default: None).", + "type": "array", + "items": { + "$ref": "#/definitions/StateGeometryAbridged" + } + }, + "vmtx_geometry": { + "title": "Vmtx Geometry", + "description": "A Face3D for the view matrix geometry (default: None).", + "allOf": [ + { + "$ref": "#/definitions/Face3D" + } + ] + }, + "dmtx_geometry": { + "title": "Dmtx Geometry", + "description": "A Face3D for the daylight matrix geometry (default: None).", + "allOf": [ + { + "$ref": "#/definitions/Face3D" + } + ] + } + }, + "additionalProperties": false + }, + "ApertureRadiancePropertiesAbridged": { + "title": "ApertureRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Aperture Abridged.", + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier (default: None).", + "type": "string" + }, + "modifier_blk": { + "title": "Modifier Blk", + "description": "A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ApertureRadiancePropertiesAbridged", + "pattern": "^ApertureRadiancePropertiesAbridged$", + "type": "string" + }, + "dynamic_group_identifier": { + "title": "Dynamic Group Identifier", + "description": "An optional string to note the dynamic group ' 'to which the Aperture is a part of. Apertures sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Aperture is assumed to be static. (default: None).", + "type": "string" + }, + "states": { + "title": "States", + "description": "An optional list of abridged states (default: None).", + "type": "array", + "items": { + "$ref": "#/definitions/RadianceSubFaceStateAbridged" + } + } + }, + "additionalProperties": false + }, + "AperturePropertiesAbridged": { + "title": "AperturePropertiesAbridged", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "AperturePropertiesAbridged", + "pattern": "^AperturePropertiesAbridged$", + "type": "string" + }, + "energy": { + "$ref": "#/definitions/ApertureEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/definitions/ApertureRadiancePropertiesAbridged" + } + } + }, + "Aperture": { + "title": "Aperture", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Aperture", + "pattern": "^Aperture$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/definitions/Face3D" + } + ] + }, + "boundary_condition": { + "title": "Boundary Condition", + "anyOf": [ + { + "$ref": "#/definitions/Outdoors" + }, + { + "$ref": "#/definitions/Surface" + } + ] + }, + "is_operable": { + "title": "Is Operable", + "description": "Boolean to note whether the Aperture can be opened for ventilation.", + "default": false, + "type": "boolean" + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object (eg. window sill, light shelf).", + "type": "array", + "items": { + "$ref": "#/definitions/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. mullions, louvers).", + "type": "array", + "items": { + "$ref": "#/definitions/Shade" + } + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/definitions/AperturePropertiesAbridged" + } + ] + } + }, + "required": [ + "identifier", + "geometry", + "boundary_condition", + "properties" + ], + "additionalProperties": false + }, + "DoorEnergyPropertiesAbridged": { + "title": "DoorEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorEnergyPropertiesAbridged", + "pattern": "^DoorEnergyPropertiesAbridged$", + "type": "string" + }, + "construction": { + "title": "Construction", + "description": "Identifier of an OpaqueConstruction or WindowConstruction for the door. Note that the host door must have the is_glass property set to True to assign a WindowConstruction. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "vent_opening": { + "title": "Vent Opening", + "description": "An optional VentilationOpening to specify the operable portion of the Door.", + "allOf": [ + { + "$ref": "#/definitions/VentilationOpening" + } + ] + } + }, + "additionalProperties": false + }, + "DoorRadiancePropertiesAbridged": { + "title": "DoorRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Door Abridged.", + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier (default: None).", + "type": "string" + }, + "modifier_blk": { + "title": "Modifier Blk", + "description": "A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + }, + "type": { + "title": "Type", + "default": "DoorRadiancePropertiesAbridged", + "pattern": "^DoorRadiancePropertiesAbridged$", + "type": "string" + }, + "dynamic_group_identifier": { + "title": "Dynamic Group Identifier", + "description": "An optional string to note the dynamic group ' 'to which the Door is a part of. Doors sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Door is assumed to be static. (default: None).", + "type": "string" + }, + "states": { + "title": "States", + "description": "An optional list of abridged states (default: None).", + "type": "array", + "items": { + "$ref": "#/definitions/RadianceSubFaceStateAbridged" + } + } + }, + "additionalProperties": false + }, + "DoorPropertiesAbridged": { + "title": "DoorPropertiesAbridged", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorPropertiesAbridged", + "pattern": "^DoorPropertiesAbridged$", + "type": "string" + }, + "energy": { + "$ref": "#/definitions/DoorEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/definitions/DoorRadiancePropertiesAbridged" + } + } + }, + "Door": { + "title": "Door", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Door", + "pattern": "^Door$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/definitions/Face3D" + } + ] + }, + "boundary_condition": { + "title": "Boundary Condition", + "anyOf": [ + { + "$ref": "#/definitions/Outdoors" + }, + { + "$ref": "#/definitions/Surface" + } + ] + }, + "is_glass": { + "title": "Is Glass", + "description": "Boolean to note whether this object is a glass door as opposed to an opaque door.", + "default": false, + "type": "boolean" + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object.", + "type": "array", + "items": { + "$ref": "#/definitions/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. entryway awning).", + "type": "array", + "items": { + "$ref": "#/definitions/Shade" + } + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/definitions/DoorPropertiesAbridged" + } + ] + } + }, + "required": [ + "identifier", + "geometry", + "boundary_condition", + "properties" + ], + "additionalProperties": false + }, + "AFNCrack": { + "title": "AFNCrack", + "description": "Properties for airflow through a crack.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "AFNCrack", + "pattern": "^AFNCrack$", + "type": "string" + }, + "flow_coefficient": { + "title": "Flow Coefficient", + "description": "A number in kg/s-m at 1 Pa per meter of crack length at the conditions defined in the ReferenceCrack condition; required to run an AirflowNetwork simulation. The DesignBuilder Cracks template defines the flow coefficient for a tight, low-leakage wall to be 0.00001 and 0.001 for external and internal constructions, respectively. Flow coefficients for a very poor, high-leakage wall are defined to be 0.0004 and 0.019 for external and internal constructions, respectively.", + "exclusiveMinimum": 0, + "type": "number" + }, + "flow_exponent": { + "title": "Flow Exponent", + "description": "An optional dimensionless number between 0.5 and 1 used to calculate the crack mass flow rate; required to run an AirflowNetwork simulation. This value represents the leak geometry impact on airflow, with 0.5 generally corresponding to turbulent orifice flow and 1 generally corresponding to laminar flow. The default of 0.65 is representative of many cases of wall and window leakage, used when the exponent cannot be measured.", + "default": 0.65, + "minimum": 0.5, + "maximum": 1, + "type": "number" + } + }, + "required": [ + "flow_coefficient" + ], + "additionalProperties": false + }, + "FaceEnergyPropertiesAbridged": { + "title": "FaceEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FaceEnergyPropertiesAbridged", + "pattern": "^FaceEnergyPropertiesAbridged$", + "type": "string" + }, + "construction": { + "title": "Construction", + "description": "Identifier of an OpaqueConstruction for the Face. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "vent_crack": { + "title": "Vent Crack", + "description": "An optional AFNCrack to specify airflow through a surface crack used by the AirflowNetwork.", + "allOf": [ + { + "$ref": "#/definitions/AFNCrack" + } + ] + } + }, + "additionalProperties": false + }, + "FaceRadiancePropertiesAbridged": { + "title": "FaceRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Face Abridged.", + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier (default: None).", + "type": "string" + }, + "modifier_blk": { + "title": "Modifier Blk", + "description": "A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + }, + "type": { + "title": "Type", + "default": "FaceRadiancePropertiesAbridged", + "pattern": "^FaceRadiancePropertiesAbridged$", + "type": "string" + } + }, + "additionalProperties": false + }, + "FacePropertiesAbridged": { + "title": "FacePropertiesAbridged", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FacePropertiesAbridged", + "pattern": "^FacePropertiesAbridged$", + "type": "string" + }, + "energy": { + "$ref": "#/definitions/FaceEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/definitions/FaceRadiancePropertiesAbridged" + } + } + }, + "Face": { + "title": "Face", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Face", + "pattern": "^Face$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/definitions/Face3D" + } + ] + }, + "face_type": { + "$ref": "#/definitions/FaceType" + }, + "boundary_condition": { + "title": "Boundary Condition", + "anyOf": [ + { + "$ref": "#/definitions/Ground" + }, + { + "$ref": "#/definitions/Outdoors" + }, + { + "$ref": "#/definitions/Adiabatic" + }, + { + "$ref": "#/definitions/Surface" + }, + { + "$ref": "#/definitions/OtherSideTemperature" + } + ] + }, + "apertures": { + "title": "Apertures", + "description": "Apertures assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid.", + "type": "array", + "items": { + "$ref": "#/definitions/Aperture" + } + }, + "doors": { + "title": "Doors", + "description": "Doors assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid.", + "type": "array", + "items": { + "$ref": "#/definitions/Door" + } + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object.", + "type": "array", + "items": { + "$ref": "#/definitions/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. balcony, overhang).", + "type": "array", + "items": { + "$ref": "#/definitions/Shade" + } + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/definitions/FacePropertiesAbridged" + } + ] + } + }, + "required": [ + "identifier", + "geometry", + "face_type", + "boundary_condition", + "properties" + ], + "additionalProperties": false + }, + "PeopleAbridged": { + "title": "PeopleAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "PeopleAbridged", + "pattern": "^PeopleAbridged$", + "type": "string" + }, + "people_per_area": { + "title": "People Per Area", + "description": "People per floor area expressed as [people/m2]", + "minimum": 0, + "type": "number" + }, + "occupancy_schedule": { + "title": "Occupancy Schedule", + "description": "Identifier of a schedule for the occupancy over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the people_per_area to yield a complete occupancy profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "activity_schedule": { + "title": "Activity Schedule", + "description": "Identifier of a schedule for the activity of the occupants over the course of the year. The type of this schedule should be ActivityLevel and the values of the schedule equal to the number of Watts given off by an individual person in the room. If None, a default constant schedule with 120 Watts per person will be used, which is typical of awake, adult humans who are seated.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The radiant fraction of sensible heat released by people. (Default: 0.3).", + "default": 0.3, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the latent fraction of heat gain due to people or an Autocalculate object.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/definitions/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + } + }, + "required": [ + "identifier", + "people_per_area", + "occupancy_schedule" + ], + "additionalProperties": false + }, + "LightingAbridged": { + "title": "LightingAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "LightingAbridged", + "pattern": "^LightingAbridged$", + "type": "string" + }, + "watts_per_area": { + "title": "Watts Per Area", + "description": "Lighting per floor area as [W/m2].", + "minimum": 0, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of lights over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete lighting profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "visible_fraction": { + "title": "Visible Fraction", + "description": "The fraction of heat from lights that goes into the zone as visible (short-wave) radiation. (Default: 0.25).", + "default": 0.25, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The fraction of heat from lights that is long-wave radiation. (Default: 0.32).", + "default": 0.32, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "return_air_fraction": { + "title": "Return Air Fraction", + "description": "The fraction of the heat from lights that goes into the zone return air. (Default: 0).", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "baseline_watts_per_area": { + "title": "Baseline Watts Per Area", + "description": "The baseline lighting power density in [W/m2] of floor area. This baseline is useful to track how much better the installed lights are in comparison to a standard like ASHRAE 90.1. If set to None, it will default to 11.84029 W/m2, which is that ASHRAE 90.1-2004 baseline for an office.", + "default": 11.84029, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "identifier", + "watts_per_area", + "schedule" + ], + "additionalProperties": false + }, + "ElectricEquipmentAbridged": { + "title": "ElectricEquipmentAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "type": { + "title": "Type", + "default": "ElectricEquipmentAbridged", + "pattern": "^ElectricEquipmentAbridged$", + "type": "string" + } + }, + "required": [ + "identifier", + "watts_per_area", + "schedule" + ], + "additionalProperties": false + }, + "GasEquipmentAbridged": { + "title": "GasEquipmentAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "type": { + "title": "Type", + "default": "GasEquipmentAbridged", + "pattern": "^GasEquipmentAbridged$", + "type": "string" + } + }, + "required": [ + "identifier", + "watts_per_area", + "schedule" + ], + "additionalProperties": false + }, + "ServiceHotWaterAbridged": { + "title": "ServiceHotWaterAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ServiceHotWaterAbridged", + "pattern": "^ServiceHotWaterAbridged$", + "type": "string" + }, + "flow_per_area": { + "title": "Flow Per Area", + "description": "Number for the total volume flow rate of water per unit area of floor [L/h-m2].", + "minimum": 0, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the hot water use over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_area to yield a complete water usage profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "target_temperature": { + "title": "Target Temperature", + "description": "Number for the target temperature of water out of the tap (C). This the temperature after hot water has been mixed with cold water from the water mains. The default is 60C, which essentially assumes that the flow_per_area on this object is only for water straight out of the water heater.", + "default": 60, + "exclusiveMinimum": 0, + "type": "number" + }, + "sensible_fraction": { + "title": "Sensible Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load given off as sensible heat in the zone.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load that is latent.", + "default": 0.05, + "minimum": 0, + "maximum": 1, + "type": "number" + } + }, + "required": [ + "identifier", + "flow_per_area", + "schedule" + ], + "additionalProperties": false + }, + "InfiltrationAbridged": { + "title": "InfiltrationAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "InfiltrationAbridged", + "pattern": "^InfiltrationAbridged$", + "type": "string" + }, + "flow_per_exterior_area": { + "title": "Flow Per Exterior Area", + "description": "Number for the infiltration per exterior surface area in m3/s-m2.", + "minimum": 0, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the infiltration over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_exterior_area to yield a complete infiltration profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "constant_coefficient": { + "title": "Constant Coefficient", + "default": 1, + "minimum": 0, + "type": "number" + }, + "temperature_coefficient": { + "title": "Temperature Coefficient", + "default": 0, + "minimum": 0, + "type": "number" + }, + "velocity_coefficient": { + "title": "Velocity Coefficient", + "default": 0, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "identifier", + "flow_per_exterior_area", + "schedule" + ], + "additionalProperties": false + }, + "VentilationAbridged": { + "title": "VentilationAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "VentilationAbridged", + "pattern": "^VentilationAbridged$", + "type": "string" + }, + "flow_per_person": { + "title": "Flow Per Person", + "description": "Intensity of ventilation in[] m3/s per person]. Note that setting this value does not mean that ventilation is varied based on real-time occupancy but rather that the design level of ventilation is determined using this value and the People object of the Room.", + "default": 0, + "minimum": 0, + "type": "number" + }, + "flow_per_area": { + "title": "Flow Per Area", + "description": "Intensity of ventilation in [m3/s per m2 of floor area].", + "default": 0, + "minimum": 0, + "type": "number" + }, + "air_changes_per_hour": { + "title": "Air Changes Per Hour", + "description": "Intensity of ventilation in air changes per hour (ACH) for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number" + }, + "flow_per_zone": { + "title": "Flow Per Zone", + "description": "Intensity of ventilation in m3/s for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the ventilation over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the total design flow rate (determined from the sum of the other 4 fields) to yield a complete ventilation profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "SetpointAbridged": { + "title": "SetpointAbridged", + "description": "Used to specify information about the setpoint schedule.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "SetpointAbridged", + "pattern": "^SetpointAbridged$", + "type": "string" + }, + "cooling_schedule": { + "title": "Cooling Schedule", + "description": "Identifier of the schedule for the cooling setpoint. The values in this schedule should be temperature in [C].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "heating_schedule": { + "title": "Heating Schedule", + "description": "Identifier of the schedule for the heating setpoint. The values in this schedule should be temperature in [C].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "humidifying_schedule": { + "title": "Humidifying Schedule", + "description": "Identifier of the schedule for the humidification setpoint. The values in this schedule should be in [%].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "dehumidifying_schedule": { + "title": "Dehumidifying Schedule", + "description": "Identifier of the schedule for the dehumidification setpoint. The values in this schedule should be in [%].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "setpoint_cutout_difference": { + "title": "Setpoint Cutout Difference", + "description": "An optional positive number for the temperature difference between the cutout temperature and the setpoint temperature. Specifying a non-zero number here is useful for modeling the throttling range associated with a given setup of setpoint controls and HVAC equipment. Throttling ranges describe the range where a zone is slightly over-cooled or over-heated beyond the thermostat setpoint. They are used to avoid situations where HVAC systems turn on only to turn off a few minutes later, thereby wearing out the parts of mechanical systems faster. They can have a minor impact on energy consumption and can often have significant impacts on occupant thermal comfort, though using the default value of zero will often yield results that are close enough when trying to estimate the annual heating/cooling energy use. Specifying a value of zero effectively assumes that the system will turn on whenever conditions are outside the setpoint range and will cut out as soon as the setpoint is reached.", + "default": 0, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "identifier", + "cooling_schedule", + "heating_schedule" + ], + "additionalProperties": false + }, + "DaylightingControl": { + "title": "DaylightingControl", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DaylightingControl", + "pattern": "^DaylightingControl$", + "type": "string" + }, + "sensor_position": { + "title": "Sensor Position", + "description": "A point as 3 (x, y, z) values for the position of the daylight sensor within the parent Room. This point should lie within the Room volume in order for the results to be meaningful.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number" + } + }, + "illuminance_setpoint": { + "title": "Illuminance Setpoint", + "description": "A number for the illuminance setpoint in lux beyond which electric lights are dimmed if there is sufficient daylight.", + "default": 300, + "exclusiveMinimum": 0, + "type": "number" + }, + "control_fraction": { + "title": "Control Fraction", + "description": "A number between 0 and 1 that represents the fraction of the Room lights that are dimmed when the illuminance at the sensor position is at the specified illuminance. 1 indicates that all lights are dim-able while 0 indicates that no lights are dim-able. Deeper rooms should have lower control fractions to account for the face that the lights in the back of the space do not dim in response to suitable daylight at the front of the room.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "min_power_input": { + "title": "Min Power Input", + "description": "A number between 0 and 1 for the the lowest power the lighting system can dim down to, expressed as a fraction of maximum input power.", + "default": 0.3, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "min_light_output": { + "title": "Min Light Output", + "description": "A number between 0 and 1 the lowest lighting output the lighting system can dim down to, expressed as a fraction of maximum light output.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "off_at_minimum": { + "title": "Off At Minimum", + "description": "Boolean to note whether lights should switch off completely when they get to the minimum power input.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "sensor_position" + ], + "additionalProperties": false + }, + "VentilationControlAbridged": { + "title": "VentilationControlAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationControlAbridged", + "pattern": "^VentilationControlAbridged$", + "type": "string" + }, + "min_indoor_temperature": { + "title": "Min Indoor Temperature", + "description": "A number for the minimum indoor temperature at which to ventilate in Celsius. Typically, this variable is used to initiate ventilation.", + "default": -100, + "minimum": -100, + "maximum": 100, + "type": "number" + }, + "max_indoor_temperature": { + "title": "Max Indoor Temperature", + "description": "A number for the maximum indoor temperature at which to ventilate in Celsius. This can be used to set a maximum temperature at which point ventilation is stopped and a cooling system is turned on.", + "default": 100, + "minimum": -100, + "maximum": 100, + "type": "number" + }, + "min_outdoor_temperature": { + "title": "Min Outdoor Temperature", + "description": "A number for the minimum outdoor temperature at which to ventilate in Celsius. This can be used to ensure ventilative cooling does not happen during the winter even if the Room is above the min_indoor_temperature.", + "default": -100, + "minimum": -100, + "maximum": 100, + "type": "number" + }, + "max_outdoor_temperature": { + "title": "Max Outdoor Temperature", + "description": "A number for the maximum indoor temperature at which to ventilate in Celsius. This can be used to set a limit for when it is considered too hot outside for ventilative cooling.", + "default": 100, + "minimum": -100, + "maximum": 100, + "type": "number" + }, + "delta_temperature": { + "title": "Delta Temperature", + "description": "A number for the temperature differential in Celsius between indoor and outdoor below which ventilation is shut off. This should usually be a positive number so that ventilation only occurs when the outdoors is cooler than the indoors. Negative numbers indicate how much hotter the outdoors can be than the indoors before ventilation is stopped.", + "default": -100, + "minimum": -100, + "maximum": 100, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the ventilation over the course of the year. Note that this is applied on top of any setpoints. The type of this schedule should be On/Off and values should be either 0 (no possibility of ventilation) or 1 (ventilation possible).", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "VentilationType": { + "title": "VentilationType", + "description": "An enumeration.", + "enum": [ + "Exhaust", + "Intake", + "Balanced" + ], + "type": "string" + }, + "VentilationFan": { + "title": "VentilationFan", + "description": "Base class for all objects requiring a valid EnergyPlus identifier.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "VentilationFan", + "pattern": "^VentilationFan$", + "type": "string" + }, + "flow_rate": { + "title": "Flow Rate", + "description": "A number for the flow rate of the fan in m3/s.", + "exclusiveMinimum": 0, + "type": "number" + }, + "ventilation_type": { + "description": "Text to indicate the type of type of ventilation. Choose from the options below. For either Exhaust or Intake, values for fan pressure and efficiency define the fan electric consumption. For Exhaust ventilation, the conditions of the air entering the space are assumed to be equivalent to outside air conditions. For Intake and Balanced ventilation, an appropriate amount of fan heat is added to the entering air stream. For Balanced ventilation, both an intake fan and an exhaust fan are assumed to co-exist, both having the same flow rate and power consumption (using the entered values for fan pressure rise and fan total efficiency). Thus, the fan electric consumption for Balanced ventilation is twice that for the Exhaust or Intake ventilation types which employ only a single fan.", + "default": "Balanced", + "allOf": [ + { + "$ref": "#/definitions/VentilationType" + } + ] + }, + "pressure_rise": { + "title": "Pressure Rise", + "description": "A number for the the pressure rise across the fan in Pascals (N/m2). This is often a function of the fan speed and the conditions in which the fan is operating since having the fan blow air through filters or narrow ducts will increase the pressure rise that is needed to deliver the input flow rate. The pressure rise plays an important role in determining the amount of energy consumed by the fan. Smaller fans like a 0.05 m3/s desk fan tend to have lower pressure rises around 60 Pa. Larger fans, such as a 6 m3/s fan used for ventilating a large room tend to have higher pressure rises around 400 Pa. The highest pressure rises are typically for large fans blowing air through ducts and filters, which can have pressure rises as high as 1000 Pa.", + "exclusiveMinimum": 0, + "type": "number" + }, + "efficiency": { + "title": "Efficiency", + "description": "A number between 0 and 1 for the overall efficiency of the fan. Specifically, this is the ratio of the power delivered to the fluid to the electrical input power. It is the product of the fan motor efficiency and the fan impeller efficiency. Fans that have a higher blade diameter and operate at lower speeds with smaller pressure rises for their size tend to have higher efficiencies. Because motor efficiencies are typically between 0.8 and 0.9, the best overall fan efficiencies tend to be around 0.7 with most typical fan efficiencies between 0.5 and 0.7. The lowest efficiencies often happen for small fans in situations with high pressure rises for their size, which can result in efficiencies as low as 0.15.", + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "control": { + "title": "Control", + "description": "A VentilationControl object that dictates the conditions under which the fan is turned on. If None, a default VentilationControl will be generated, which will keep the fan on all of the time.", + "allOf": [ + { + "$ref": "#/definitions/VentilationControlAbridged" + } + ] + } + }, + "required": [ + "identifier", + "flow_rate", + "pressure_rise", + "efficiency" + ], + "additionalProperties": false + }, + "InternalMassAbridged": { + "title": "InternalMassAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "InternalMassAbridged", + "pattern": "^InternalMassAbridged$", + "type": "string" + }, + "construction": { + "title": "Construction", + "description": "Identifier for an OpaqueConstruction that represents the material that the internal thermal mass is composed of.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "area": { + "title": "Area", + "description": "A number representing the surface area of the internal mass that is exposed to the Room air. This value should always be in square meters regardless of what units system the parent model is a part of.", + "exclusiveMinimum": 0, + "type": "number" + } + }, + "required": [ + "identifier", + "construction", + "area" + ], + "additionalProperties": false + }, + "FuelTypes": { + "title": "FuelTypes", + "description": "Designates the acceptable fuel types for process loads.", + "enum": [ + "Electricity", + "NaturalGas", + "Propane", + "FuelOilNo1", + "FuelOilNo2", + "Diesel", + "Gasoline", + "Coal", + "Steam", + "DistrictHeating", + "DistrictCooling", + "OtherFuel1", + "OtherFuel2", + "None" + ], + "type": "string" + }, + "ProcessAbridged": { + "title": "ProcessAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ProcessAbridged", + "pattern": "^ProcessAbridged$", + "type": "string" + }, + "watts": { + "title": "Watts", + "description": "A number for the process load power in Watts.", + "minimum": 0, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of the process over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts to yield a complete equipment profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "fuel_type": { + "description": "Text to denote the type of fuel consumed by the process. Using the \"None\" type indicates that no end uses will be associated with the process, only the zone gains.", + "allOf": [ + { + "$ref": "#/definitions/FuelTypes" + } + ] + }, + "end_use_category": { + "title": "End Use Category", + "description": "Text to indicate the end-use subcategory, which will identify the process load in the end use output. For example, \u201cCooking\u201d, \u201cClothes Drying\u201d, etc. A new meter for reporting is created for each unique subcategory.", + "default": "Process", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by the process load. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by the process load. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by the process load. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + } + }, + "required": [ + "identifier", + "watts", + "schedule", + "fuel_type" + ], + "additionalProperties": false + }, + "RoomEnergyPropertiesAbridged": { + "title": "RoomEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoomEnergyPropertiesAbridged", + "pattern": "^RoomEnergyPropertiesAbridged$", + "type": "string" + }, + "construction_set": { + "title": "Construction Set", + "description": "Identifier of a ConstructionSet to specify all default constructions for the Faces, Apertures, and Doors of the Room. If None, the Room will use the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "program_type": { + "title": "Program Type", + "description": "Identifier of a ProgramType to specify all default schedules and loads for the Room. If None, the Room will have no loads or setpoints.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "hvac": { + "title": "Hvac", + "description": "An optional identifier of a HVAC system (such as an IdealAirSystem) that specifies how the Room is conditioned. If None, it will be assumed that the Room is not conditioned.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "shw": { + "title": "Shw", + "description": "An optional identifier of a Service Hot Water (SHW) system that specifies how the hot water load of the Room is met. If None, the hot water load will be met with a generic system that only measures thermal loadand does not account for system efficiencies.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "people": { + "title": "People", + "description": "People object to describe the occupancy of the Room.", + "allOf": [ + { + "$ref": "#/definitions/PeopleAbridged" + } + ] + }, + "lighting": { + "title": "Lighting", + "description": "Lighting object to describe the lighting usage of the Room.", + "allOf": [ + { + "$ref": "#/definitions/LightingAbridged" + } + ] + }, + "electric_equipment": { + "title": "Electric Equipment", + "description": "ElectricEquipment object to describe the electric equipment usage.", + "allOf": [ + { + "$ref": "#/definitions/ElectricEquipmentAbridged" + } + ] + }, + "gas_equipment": { + "title": "Gas Equipment", + "description": "GasEquipment object to describe the gas equipment usage.", + "allOf": [ + { + "$ref": "#/definitions/GasEquipmentAbridged" + } + ] + }, + "service_hot_water": { + "title": "Service Hot Water", + "description": "ServiceHotWater object to describe the hot water usage.", + "allOf": [ + { + "$ref": "#/definitions/ServiceHotWaterAbridged" + } + ] + }, + "infiltration": { + "title": "Infiltration", + "description": "Infiltration object to to describe the outdoor air leakage.", + "allOf": [ + { + "$ref": "#/definitions/InfiltrationAbridged" + } + ] + }, + "ventilation": { + "title": "Ventilation", + "description": "Ventilation object for the minimum outdoor air requirement.", + "allOf": [ + { + "$ref": "#/definitions/VentilationAbridged" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "Setpoint object for the temperature setpoints of the Room.", + "allOf": [ + { + "$ref": "#/definitions/SetpointAbridged" + } + ] + }, + "daylighting_control": { + "title": "Daylighting Control", + "description": "An optional DaylightingControl object to dictate the dimming of lights. If None, the lighting will respond only to the schedule and not the daylight conditions within the room.", + "allOf": [ + { + "$ref": "#/definitions/DaylightingControl" + } + ] + }, + "window_vent_control": { + "title": "Window Vent Control", + "description": "An optional VentilationControl object to dictate the opening of windows. If None, the windows will never open.", + "allOf": [ + { + "$ref": "#/definitions/VentilationControlAbridged" + } + ] + }, + "fans": { + "title": "Fans", + "description": "An optional list of VentilationFan objects for fans within the room. Note that these fans are not connected to the heating or cooling system and are meant to represent the intentional circulation of unconditioned outdoor air for the purposes of keeping a space cooler, drier or free of indoor pollutants (as in the case of kitchen or bathroom exhaust fans). For the specification of mechanical ventilation of conditioned outdoor air, the Room.ventilation property should be used and the Room should be given a HVAC that can meet this specification.", + "type": "array", + "items": { + "$ref": "#/definitions/VentilationFan" + } + }, + "internal_masses": { + "title": "Internal Masses", + "description": "An optional list of of InternalMass objects for thermal mass exposed to Room air. Note that internal masses assigned this way cannot \"see\" solar radiation that may potentially hit them and, as such, caution should be taken when using this component with internal mass objects that are not always in shade. Masses are factored into the the thermal calculations of the Room by undergoing heat transfer with the indoor air.", + "type": "array", + "items": { + "$ref": "#/definitions/InternalMassAbridged" + } + }, + "process_loads": { + "title": "Process Loads", + "description": "An optional list of of Process objects for process loads within the room. These can represent kilns, manufacturing equipment, and various industrial processes. They can also be used to represent wood burning fireplaces or certain pieces of equipment to be separated from the other end uses.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessAbridged" + } + } + }, + "additionalProperties": false + }, + "RoomRadiancePropertiesAbridged": { + "title": "RoomRadiancePropertiesAbridged", + "description": "Abridged Radiance Properties for Honeybee Room.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoomRadiancePropertiesAbridged", + "pattern": "^RoomRadiancePropertiesAbridged$", + "type": "string" + }, + "modifier_set": { + "title": "Modifier Set", + "description": "An identifier for a unique Room-Assigned ModifierSet (default: None).", + "type": "string" + } + }, + "additionalProperties": false + }, + "RoomPropertiesAbridged": { + "title": "RoomPropertiesAbridged", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoomPropertiesAbridged", + "pattern": "^RoomPropertiesAbridged$", + "type": "string" + }, + "energy": { + "$ref": "#/definitions/RoomEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/definitions/RoomRadiancePropertiesAbridged" + } + } + }, + "Room": { + "title": "Room", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Room", + "pattern": "^Room$", + "type": "string" + }, + "faces": { + "title": "Faces", + "description": "Faces that together form the closed volume of a room.", + "minItems": 4, + "type": "array", + "items": { + "$ref": "#/definitions/Face" + } + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object (eg. partitions, tables).", + "type": "array", + "items": { + "$ref": "#/definitions/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. trees, landscaping).", + "type": "array", + "items": { + "$ref": "#/definitions/Shade" + } + }, + "multiplier": { + "title": "Multiplier", + "description": "An integer noting how many times this Room is repeated. Multipliers are used to speed up the calculation when similar Rooms are repeated more than once. Essentially, a given simulation with the Room is run once and then the result is multiplied by the multiplier.", + "default": 1, + "minimum": 1, + "type": "integer" + }, + "exclude_floor_area": { + "title": "Exclude Floor Area", + "description": "A boolean for whether the Room floor area contributes to Models it is a part of. Note that this will not affect the floor_area property of this Room itself but it will ensure the Room floor area is excluded from any calculations when the Room is part of a Model, including EUI calculations.", + "default": false, + "type": "boolean" + }, + "story": { + "title": "Story", + "description": "Text string for the story identifier to which this Room belongs. Rooms sharing the same story identifier are considered part of the same story in a Model. Note that this property has no character restrictions.", + "type": "string" + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/definitions/RoomPropertiesAbridged" + } + ] + } + }, + "required": [ + "identifier", + "faces", + "properties" + ], + "additionalProperties": false + }, + "Color": { + "title": "Color", + "description": "A RGB color.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Color", + "pattern": "^Color$", + "type": "string" + }, + "r": { + "title": "R", + "description": "Value for red channel.", + "minimum": 0, + "maximum": 255, + "type": "integer" + }, + "g": { + "title": "G", + "description": "Value for green channel.", + "minimum": 0, + "maximum": 255, + "type": "integer" + }, + "b": { + "title": "B", + "description": "Value for blue channel.", + "minimum": 0, + "maximum": 255, + "type": "integer" + }, + "a": { + "title": "A", + "description": "Value for the alpha channel, which defines the opacity as a number between 0 (fully transparent) and 255 (fully opaque).", + "default": 255, + "minimum": 0, + "maximum": 255, + "type": "integer" + } + }, + "required": [ + "r", + "g", + "b" + ], + "additionalProperties": false + }, + "Mesh3D": { + "title": "Mesh3D", + "description": "A mesh in 3D space.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Mesh3D", + "pattern": "^Mesh3D$", + "type": "string" + }, + "vertices": { + "title": "Vertices", + "description": "A list of points representing the vertices of the mesh. The list should include at least 3 points and each point should be a list of 3 (x, y, z) values.", + "minItems": 3, + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3, + "maxItems": 3 + } + }, + "faces": { + "title": "Faces", + "description": "A list of lists with each sub-list having either 3 or 4 integers. These integers correspond to indices within the list of vertices.", + "minItems": 1, + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0 + }, + "minItems": 3, + "maxItems": 4 + } + }, + "colors": { + "title": "Colors", + "description": "An optional list of colors that correspond to either the faces of the mesh or the vertices of the mesh.", + "type": "array", + "items": { + "$ref": "#/definitions/Color" + } + } + }, + "required": [ + "vertices", + "faces" + ], + "additionalProperties": false + }, + "ShadeMeshEnergyPropertiesAbridged": { + "title": "ShadeMeshEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeMeshEnergyPropertiesAbridged", + "pattern": "^ShadeMeshEnergyPropertiesAbridged$", + "type": "string" + }, + "construction": { + "title": "Construction", + "description": "Identifier of a ShadeConstruction to set the reflectance and specularity of the Shade. If None, it will be a generic context construction that is completely diffuse with 0.2 visible and solar reflectance. Unless it is building attached, in which case it will be set by the default generic ConstructionSet.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "transmittance_schedule": { + "title": "Transmittance Schedule", + "description": "Identifier of a schedule to set the transmittance of the shade, which can vary throughout the simulation. If None, the shade will be completely opaque.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "ShadeMeshRadiancePropertiesAbridged": { + "title": "ShadeMeshRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee ShadeMesh Abridged.", + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier (default: None).", + "type": "string" + }, + "modifier_blk": { + "title": "Modifier Blk", + "description": "A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ShadeMeshRadiancePropertiesAbridged", + "pattern": "^ShadeMeshRadiancePropertiesAbridged$", + "type": "string" + } + }, + "additionalProperties": false + }, + "ShadeMeshPropertiesAbridged": { + "title": "ShadeMeshPropertiesAbridged", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeMeshPropertiesAbridged", + "pattern": "^ShadeMeshPropertiesAbridged$", + "type": "string" + }, + "energy": { + "$ref": "#/definitions/ShadeMeshEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/definitions/ShadeMeshRadiancePropertiesAbridged" + } + } + }, + "ShadeMesh": { + "title": "ShadeMesh", + "description": "Base class for all objects requiring a identifiers acceptable for all engines.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ShadeMesh", + "pattern": "^ShadeMesh$", + "type": "string" + }, + "geometry": { + "title": "Geometry", + "description": "A Mesh3D for the geometry.", + "allOf": [ + { + "$ref": "#/definitions/Mesh3D" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/definitions/ShadeMeshPropertiesAbridged" + } + ] + }, + "is_detached": { + "title": "Is Detached", + "description": "Boolean to note whether this shade is detached from any of the other geometry in the model. Cases where this should be True include shade representing surrounding buildings or context.", + "default": true, + "type": "boolean" + } + }, + "required": [ + "identifier", + "geometry", + "properties" + ], + "additionalProperties": false + }, + "Units": { + "title": "Units", + "description": "An enumeration.", + "enum": [ + "Meters", + "Millimeters", + "Feet", + "Inches", + "Centimeters" + ], + "type": "string" + }, + "Roughness": { + "title": "Roughness", + "description": "Relative roughness of a particular material layer.", + "enum": [ + "VeryRough", + "Rough", + "MediumRough", + "MediumSmooth", + "Smooth", + "VerySmooth" + ], + "type": "string" + }, + "EnergyMaterial": { + "title": "EnergyMaterial", + "description": "Opaque material representing a layer within an opaque construction.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyMaterial", + "pattern": "^EnergyMaterial$", + "type": "string" + }, + "roughness": { + "default": "MediumRough", + "allOf": [ + { + "$ref": "#/definitions/Roughness" + } + ] + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the material layer in meters.", + "exclusiveMinimum": 0, + "maximum": 3, + "type": "number" + }, + "conductivity": { + "title": "Conductivity", + "description": "Thermal conductivity of the material layer in W/m-K.", + "exclusiveMinimum": 0, + "type": "number" + }, + "density": { + "title": "Density", + "description": "Density of the material layer in kg/m3.", + "exclusiveMinimum": 0, + "type": "number" + }, + "specific_heat": { + "title": "Specific Heat", + "description": "Specific heat of the material layer in J/kg-K.", + "minimum": 100, + "type": "number" + }, + "thermal_absorptance": { + "title": "Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the material. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number" + }, + "solar_absorptance": { + "title": "Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "visible_absorptance": { + "title": "Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number" + } + }, + "required": [ + "identifier", + "thickness", + "conductivity", + "density", + "specific_heat" + ], + "additionalProperties": false + }, + "EnergyMaterialNoMass": { + "title": "EnergyMaterialNoMass", + "description": "No mass opaque material representing a layer within an opaque construction.\n\nUsed when only the thermal resistance (R value) of the material is known.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyMaterialNoMass", + "pattern": "^EnergyMaterialNoMass$", + "type": "string" + }, + "r_value": { + "title": "R Value", + "description": "The thermal resistance (R-value) of the material layer [m2-K/W].", + "minimum": 0.001, + "type": "number" + }, + "roughness": { + "default": "MediumRough", + "allOf": [ + { + "$ref": "#/definitions/Roughness" + } + ] + }, + "thermal_absorptance": { + "title": "Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the material. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number" + }, + "solar_absorptance": { + "title": "Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "visible_absorptance": { + "title": "Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number" + } + }, + "required": [ + "identifier", + "r_value" + ], + "additionalProperties": false + }, + "EnergyWindowMaterialGlazing": { + "title": "EnergyWindowMaterialGlazing", + "description": "Describe a single glass pane corresponding to a layer in a window construction.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGlazing", + "pattern": "^EnergyWindowMaterialGlazing$", + "type": "string" + }, + "thickness": { + "title": "Thickness", + "description": "The surface-to-surface thickness of the glass in meters. Default: 0.003.", + "default": 0.003, + "exclusiveMinimum": 0, + "type": "number" + }, + "solar_transmittance": { + "title": "Solar Transmittance", + "description": "Transmittance of solar radiation through the glass at normal incidence. Default: 0.85 for clear glass.", + "default": 0.85, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "solar_reflectance": { + "title": "Solar Reflectance", + "description": "Reflectance of solar radiation off of the front side of the glass at normal incidence, averaged over the solar spectrum. Default: 0.075 for clear glass.", + "default": 0.075, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "solar_reflectance_back": { + "title": "Solar Reflectance Back", + "description": "Reflectance of solar radiation off of the back side of the glass at normal incidence, averaged over the solar spectrum.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/definitions/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + }, + "visible_transmittance": { + "title": "Visible Transmittance", + "description": "Transmittance of visible light through the glass at normal incidence. Default: 0.9 for clear glass.", + "default": 0.9, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "visible_reflectance": { + "title": "Visible Reflectance", + "description": "Reflectance of visible light off of the front side of the glass at normal incidence. Default: 0.075 for clear glass.", + "default": 0.075, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "visible_reflectance_back": { + "title": "Visible Reflectance Back", + "description": "Reflectance of visible light off of the back side of the glass at normal incidence averaged over the solar spectrum and weighted by the response of the human eye.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/definitions/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + }, + "infrared_transmittance": { + "title": "Infrared Transmittance", + "description": "Long-wave transmittance at normal incidence.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "emissivity": { + "title": "Emissivity", + "description": "Infrared hemispherical emissivity of the front (outward facing) side of the glass. Default: 0.84, which is typical for clear glass without a low-e coating.", + "default": 0.84, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "emissivity_back": { + "title": "Emissivity Back", + "description": "Infrared hemispherical emissivity of the back (inward facing) side of the glass. Default: 0.84, which is typical for clear glass without a low-e coating.", + "default": 0.84, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "conductivity": { + "title": "Conductivity", + "description": "Thermal conductivity of the glass in W/(m-K). Default: 0.9, which is typical for clear glass without a low-e coating.", + "default": 0.9, + "exclusiveMinimum": 0, + "type": "number" + }, + "dirt_correction": { + "title": "Dirt Correction", + "description": "Factor that corrects for the presence of dirt on the glass. A default value of 1 indicates the glass is clean.", + "default": 1, + "type": "number" + }, + "solar_diffusing": { + "title": "Solar Diffusing", + "description": "If False (default), the beam solar radiation incident on the glass is transmitted as beam radiation with no diffuse component.If True, the beam solar radiation incident on the glass is transmitted as hemispherical diffuse radiation with no beam component.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "GasType": { + "title": "GasType", + "description": "An enumeration.", + "enum": [ + "Air", + "Argon", + "Krypton", + "Xenon" + ], + "type": "string" + }, + "EnergyWindowMaterialGas": { + "title": "EnergyWindowMaterialGas", + "description": "Create single layer of gas in a window construction.\n\nCan be combined with EnergyWindowMaterialGlazing to make multi-pane windows.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGas", + "pattern": "^EnergyWindowMaterialGas$", + "type": "string" + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the gas layer in meters. Default: 0.0125.", + "default": 0.0125, + "exclusiveMinimum": 0, + "type": "number" + }, + "gas_type": { + "default": "Air", + "allOf": [ + { + "$ref": "#/definitions/GasType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "OpaqueConstructionAbridged": { + "title": "OpaqueConstructionAbridged", + "description": "Construction for opaque objects (Face, Shade, Door).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "OpaqueConstructionAbridged", + "pattern": "^OpaqueConstructionAbridged$", + "type": "string" + }, + "materials": { + "title": "Materials", + "description": "List of strings for opaque material identifiers. The order of the materials is from exterior to interior.", + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 100 + } + } + }, + "required": [ + "identifier", + "materials" + ], + "additionalProperties": false + }, + "WindowConstructionAbridged": { + "title": "WindowConstructionAbridged", + "description": "Construction for window objects (Aperture, Door).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "WindowConstructionAbridged", + "pattern": "^WindowConstructionAbridged$", + "type": "string" + }, + "materials": { + "title": "Materials", + "description": "List of strings for glazing or gas material identifiers. The order of the materials is from exterior to interior. If a SimpleGlazSys material is used, it must be the only material in the construction. For multi-layered constructions, adjacent glass layers must be separated by one and only one gas layer.", + "minItems": 1, + "maxItems": 8, + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 100 + } + }, + "frame": { + "title": "Frame", + "description": "An optional identifier for a frame material that surrounds the window construction.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier", + "materials" + ], + "additionalProperties": false + }, + "ShadeConstruction": { + "title": "ShadeConstruction", + "description": "Construction for Shade objects.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ShadeConstruction", + "pattern": "^ShadeConstruction$", + "type": "string" + }, + "solar_reflectance": { + "title": "Solar Reflectance", + "description": "A number for the solar reflectance of the construction.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "visible_reflectance": { + "title": "Visible Reflectance", + "description": "A number for the visible reflectance of the construction.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "is_specular": { + "title": "Is Specular", + "description": "Boolean to note whether the reflection off the shade is diffuse (False) or specular (True). Set to True if the construction is representing a glass facade or a mirror material.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "AirBoundaryConstructionAbridged": { + "title": "AirBoundaryConstructionAbridged", + "description": "Construction for Air Boundary objects.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "AirBoundaryConstructionAbridged", + "pattern": "^AirBoundaryConstructionAbridged$", + "type": "string" + }, + "air_mixing_per_area": { + "title": "Air Mixing Per Area", + "description": "A positive number for the amount of air mixing between Rooms across the air boundary surface [m3/s-m2]. Default: 0.1 corresponds to average indoor air speeds of 0.1 m/s (roughly 20 fpm), which is typical of what would be induced by a HVAC system.", + "default": 0.1, + "minimum": 0, + "type": "number" + }, + "air_mixing_schedule": { + "title": "Air Mixing Schedule", + "description": "Identifier of a fractional schedule for the air mixing schedule across the construction. If unspecified, an Always On schedule will be assumed.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "WallConstructionSetAbridged": { + "title": "WallConstructionSetAbridged", + "description": "A set of constructions for wall assemblies.", + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Surface or Adiabatic boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "Identifier for an OpaqueConstruction for faces with an Outdoors boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "ground_construction": { + "title": "Ground Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Ground boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "WallConstructionSetAbridged", + "pattern": "^WallConstructionSetAbridged$", + "type": "string" + } + }, + "additionalProperties": false + }, + "FloorConstructionSetAbridged": { + "title": "FloorConstructionSetAbridged", + "description": "A set of constructions for floor assemblies.", + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Surface or Adiabatic boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "Identifier for an OpaqueConstruction for faces with an Outdoors boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "ground_construction": { + "title": "Ground Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Ground boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "FloorConstructionSetAbridged", + "pattern": "^FloorConstructionSetAbridged$", + "type": "string" + } + }, + "additionalProperties": false + }, + "RoofCeilingConstructionSetAbridged": { + "title": "RoofCeilingConstructionSetAbridged", + "description": "A set of constructions for roof and ceiling assemblies.", + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Surface or Adiabatic boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "Identifier for an OpaqueConstruction for faces with an Outdoors boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "ground_construction": { + "title": "Ground Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Ground boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "RoofCeilingConstructionSetAbridged", + "pattern": "^RoofCeilingConstructionSetAbridged$", + "type": "string" + } + }, + "additionalProperties": false + }, + "ApertureConstructionSetAbridged": { + "title": "ApertureConstructionSetAbridged", + "description": "A set of constructions for aperture assemblies.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureConstructionSetAbridged", + "pattern": "^ApertureConstructionSetAbridged$", + "type": "string" + }, + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for a WindowConstruction for all apertures with a Surface boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "window_construction": { + "title": "Window Construction", + "description": "Identifier for a WindowConstruction for apertures with an Outdoors boundary condition, False is_operable property, and a Wall face type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "skylight_construction": { + "title": "Skylight Construction", + "description": "Identifier for a WindowConstruction for apertures with a Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "operable_construction": { + "title": "Operable Construction", + "description": "Identifier for a WindowConstruction for all apertures with an Outdoors boundary condition and True is_operable property.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "DoorConstructionSetAbridged": { + "title": "DoorConstructionSetAbridged", + "description": "A set of constructions for door assemblies.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorConstructionSetAbridged", + "pattern": "^DoorConstructionSetAbridged$", + "type": "string" + }, + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for an OpaqueConstruction for all opaque doors with a Surface boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "Identifier for an OpaqueConstruction for opaque doors with an Outdoors boundary condition and a Wall face type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "overhead_construction": { + "title": "Overhead Construction", + "description": "Identifier for an OpaqueConstruction for opaque doors with an Outdoors boundary condition and a RoofCeiling or Floor type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_glass_construction": { + "title": "Exterior Glass Construction", + "description": "Identifier for a WindowConstruction for all glass doors with an Outdoors boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "interior_glass_construction": { + "title": "Interior Glass Construction", + "description": "Identifier for a WindowConstruction for all glass doors with a Surface boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + }, + "GlobalConstructionSet": { + "title": "GlobalConstructionSet", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "GlobalConstructionSet", + "pattern": "^GlobalConstructionSet$", + "type": "string" + }, + "materials": { + "title": "Materials", + "description": "Global Honeybee Energy materials.", + "default": [ + { + "identifier": "Generic Roof Membrane", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.01, + "conductivity": 0.16, + "density": 1120.0, + "specific_heat": 1460.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic Acoustic Tile", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.02, + "conductivity": 0.06, + "density": 368.0, + "specific_heat": 590.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.2, + "visible_absorptance": 0.2 + }, + { + "identifier": "Generic 25mm Wood", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0254, + "conductivity": 0.15, + "density": 608.0, + "specific_heat": 1630.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic HW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.2, + "conductivity": 1.95, + "density": 2240.0, + "specific_heat": 900.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic Window Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGas", + "thickness": 0.0127, + "gas_type": "Air" + }, + { + "identifier": "Generic Gypsum Board", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0127, + "conductivity": 0.16, + "density": 800.0, + "specific_heat": 1090.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic Wall Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.667, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Ceiling Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.556, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Brick", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.9, + "density": 1920.0, + "specific_heat": 790.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic 50mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.05, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Low-e Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.45, + "solar_reflectance": 0.36, + "solar_reflectance_back": 0.36, + "visible_transmittance": 0.71, + "visible_reflectance": 0.21, + "visible_reflectance_back": 0.21, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.047, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + }, + { + "identifier": "Generic Painted Metal", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.0015, + "conductivity": 45.0, + "density": 7690.0, + "specific_heat": 410.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic LW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.53, + "density": 1280.0, + "specific_heat": 840.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic 25mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.025, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Clear Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.77, + "solar_reflectance": 0.07, + "solar_reflectance_back": 0.07, + "visible_transmittance": 0.88, + "visible_reflectance": 0.08, + "visible_reflectance_back": 0.08, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.84, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + } + ], + "readOnly": true, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/EnergyMaterial" + }, + { + "$ref": "#/definitions/EnergyMaterialNoMass" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialGlazing" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialGas" + } + ] + } + }, + "constructions": { + "title": "Constructions", + "description": "Global Honeybee Energy constructions.", + "default": [ + { + "identifier": "Generic Interior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 25mm Wood" + ] + }, + { + "identifier": "Generic Single Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Shade", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.35, + "visible_reflectance": 0.35, + "is_specular": false + }, + { + "identifier": "Generic Context", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.2, + "visible_reflectance": 0.2, + "is_specular": false + }, + { + "identifier": "Generic Interior Ceiling", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Interior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Gypsum Board", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Exposed Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic Ceiling Air Gap", + "Generic 50mm Insulation", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Interior Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Acoustic Tile", + "Generic Ceiling Air Gap", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Ground Slab", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete" + ] + }, + { + "identifier": "Generic Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Roof Membrane", + "Generic 50mm Insulation", + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Exterior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Brick", + "Generic LW Concrete", + "Generic 50mm Insulation", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Underground Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Air Boundary", + "display_name": null, + "user_data": null, + "type": "AirBoundaryConstructionAbridged", + "air_mixing_per_area": 0.1, + "air_mixing_schedule": "Always On" + }, + { + "identifier": "Generic Underground Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Double Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Low-e Glass", + "Generic Window Air Gap", + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Exterior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic 25mm Insulation", + "Generic Painted Metal" + ] + } + ], + "readOnly": true, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/OpaqueConstructionAbridged" + }, + { + "$ref": "#/definitions/WindowConstructionAbridged" + }, + { + "$ref": "#/definitions/ShadeConstruction" + }, + { + "$ref": "#/definitions/AirBoundaryConstructionAbridged" + } + ] + } + }, + "wall_set": { + "title": "Wall Set", + "description": "Global Honeybee WallConstructionSet.", + "default": { + "interior_construction": "Generic Interior Wall", + "exterior_construction": "Generic Exterior Wall", + "ground_construction": "Generic Underground Wall", + "type": "WallConstructionSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/WallConstructionSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "Global Honeybee FloorConstructionSet.", + "default": { + "interior_construction": "Generic Interior Floor", + "exterior_construction": "Generic Exposed Floor", + "ground_construction": "Generic Ground Slab", + "type": "FloorConstructionSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/FloorConstructionSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "Global Honeybee RoofCeilingConstructionSet.", + "default": { + "interior_construction": "Generic Interior Ceiling", + "exterior_construction": "Generic Roof", + "ground_construction": "Generic Underground Roof", + "type": "RoofCeilingConstructionSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/RoofCeilingConstructionSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "Global Honeybee ApertureConstructionSet.", + "default": { + "type": "ApertureConstructionSetAbridged", + "interior_construction": "Generic Single Pane", + "window_construction": "Generic Double Pane", + "skylight_construction": "Generic Double Pane", + "operable_construction": "Generic Double Pane" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/ApertureConstructionSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "Global Honeybee DoorConstructionSet.", + "default": { + "type": "DoorConstructionSetAbridged", + "interior_construction": "Generic Interior Door", + "exterior_construction": "Generic Exterior Door", + "overhead_construction": "Generic Exterior Door", + "exterior_glass_construction": "Generic Double Pane", + "interior_glass_construction": "Generic Single Pane" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/DoorConstructionSetAbridged" + } + ] + }, + "shade_construction": { + "title": "Shade Construction", + "description": "Global Honeybee Construction for building-attached Shades.", + "default": "Generic Shade", + "readOnly": true, + "type": "string" + }, + "context_construction": { + "title": "Context Construction", + "description": "Global Honeybee Construction for context Shades.", + "default": "Generic Context", + "readOnly": true, + "type": "string" + }, + "air_boundary_construction": { + "title": "Air Boundary Construction", + "description": "Global Honeybee Construction for AirBoundary Faces.", + "default": "Generic Air Boundary", + "readOnly": true, + "type": "string" + } + }, + "additionalProperties": false + }, + "ConstructionSetAbridged": { + "title": "ConstructionSetAbridged", + "description": "A set of constructions for different surface types and boundary conditions.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ConstructionSetAbridged", + "pattern": "^ConstructionSetAbridged$", + "type": "string" + }, + "wall_set": { + "title": "Wall Set", + "description": "A WallConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/definitions/WallConstructionSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "A FloorConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/definitions/FloorConstructionSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "A RoofCeilingConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/definitions/RoofCeilingConstructionSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "A ApertureConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/definitions/ApertureConstructionSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "A DoorConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/definitions/DoorConstructionSetAbridged" + } + ] + }, + "shade_construction": { + "title": "Shade Construction", + "description": "The identifier of a ShadeConstruction to set the reflectance properties of all outdoor shades of all objects to which this ConstructionSet is assigned.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "air_boundary_construction": { + "title": "Air Boundary Construction", + "description": "The identifier of an AirBoundaryConstruction or OpaqueConstruction to set the properties of Faces with an AirBoundary type.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "MoistureDiffusionModel": { + "title": "MoistureDiffusionModel", + "description": "Acceptable values for the moisture diffusion model for vegetation.", + "enum": [ + "Simple", + "Advanced" + ], + "type": "string" + }, + "EnergyMaterialVegetation": { + "title": "EnergyMaterialVegetation", + "description": "Material representing vegetation on the exterior of an opaque construction.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyMaterialVegetation", + "pattern": "^EnergyMaterialVegetation$", + "type": "string" + }, + "roughness": { + "default": "MediumRough", + "allOf": [ + { + "$ref": "#/definitions/Roughness" + } + ] + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the soil layer in meters.", + "default": 0.1, + "exclusiveMinimum": 0, + "maximum": 3, + "type": "number" + }, + "conductivity": { + "title": "Conductivity", + "description": "Thermal conductivity of the dry soil in W/m-K.", + "default": 0.35, + "exclusiveMinimum": 0, + "type": "number" + }, + "density": { + "title": "Density", + "description": "Density of the dry soil in kg/m3.", + "default": 1100, + "exclusiveMinimum": 0, + "type": "number" + }, + "specific_heat": { + "title": "Specific Heat", + "description": "Specific heat of the dry soil in J/kg-K.", + "default": 1200, + "minimum": 100, + "type": "number" + }, + "soil_thermal_absorptance": { + "title": "Soil Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the soil. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number" + }, + "soil_solar_absorptance": { + "title": "Soil Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the soil. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "soil_visible_absorptance": { + "title": "Soil Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "plant_height": { + "title": "Plant Height", + "description": "The height of plants in the vegetation in meters.", + "default": 0.2, + "minimum": 0.005, + "maximum": 1.0, + "type": "number" + }, + "leaf_area_index": { + "title": "Leaf Area Index", + "description": "The projected leaf area per unit area of soil surface (aka. Leaf Area Index or LAI). Note that the fraction of vegetation cover is calculated directly from LAI using an empirical relation.", + "default": 1.0, + "minimum": 0.001, + "maximum": 5.0, + "type": "number" + }, + "leaf_reflectivity": { + "title": "Leaf Reflectivity", + "description": "The fraction of incident solar radiation that is reflected by the leaf surfaces. Solar radiation includes the visible spectrum as well as infrared and ultraviolet wavelengths. Typical values are 0.18 to 0.25.", + "default": 0.22, + "minimum": 0.005, + "maximum": 0.5, + "type": "number" + }, + "leaf_emissivity": { + "title": "Leaf Emissivity", + "description": "The ratio of thermal radiation emitted from leaf surfaces to that emitted by an ideal black body at the same temperature.", + "default": 0.95, + "minimum": 0.8, + "maximum": 1.0, + "type": "number" + }, + "min_stomatal_resist": { + "title": "Min Stomatal Resist", + "description": "The resistance of the plants to moisture transport [s/m]. Plants with low values of stomatal resistance will result in higher evapotranspiration rates than plants with high resistance.", + "default": 180, + "minimum": 50, + "maximum": 300, + "type": "number" + }, + "sat_vol_moist_cont": { + "title": "Sat Vol Moist Cont", + "description": "The saturation moisture content of the soil by volume.", + "default": 0.3, + "minimum": 0.1, + "maximum": 0.5, + "type": "number" + }, + "residual_vol_moist_cont": { + "title": "Residual Vol Moist Cont", + "description": "The residual moisture content of the soil by volume.", + "default": 0.01, + "minimum": 0.01, + "maximum": 0.1, + "type": "number" + }, + "init_vol_moist_cont": { + "title": "Init Vol Moist Cont", + "description": "The initial moisture content of the soil by volume.", + "default": 0.01, + "minimum": 0.05, + "maximum": 0.5, + "type": "number" + }, + "moist_diff_model": { + "default": "Simple", + "allOf": [ + { + "$ref": "#/definitions/MoistureDiffusionModel" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "OpaqueConstruction": { + "title": "OpaqueConstruction", + "description": "Construction for opaque objects (Face, Shade, Door).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "OpaqueConstruction", + "pattern": "^OpaqueConstruction$", + "type": "string" + }, + "materials": { + "title": "Materials", + "description": "List of opaque material definitions. The order of the materials is from exterior to interior.", + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/EnergyMaterial" + }, + { + "$ref": "#/definitions/EnergyMaterialNoMass" + }, + { + "$ref": "#/definitions/EnergyMaterialVegetation" + } + ] + } + } + }, + "required": [ + "identifier", + "materials" + ], + "additionalProperties": false + }, + "WallConstructionSet": { + "title": "WallConstructionSet", + "description": "A set of constructions for wall assemblies.", + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/definitions/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/definitions/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/definitions/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "WallConstructionSet", + "pattern": "^WallConstructionSet$", + "type": "string" + } + }, + "additionalProperties": false + }, + "FloorConstructionSet": { + "title": "FloorConstructionSet", + "description": "A set of constructions for floor assemblies.", + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/definitions/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/definitions/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/definitions/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "FloorConstructionSet", + "pattern": "^FloorConstructionSet$", + "type": "string" + } + }, + "additionalProperties": false + }, + "RoofCeilingConstructionSet": { + "title": "RoofCeilingConstructionSet", + "description": "A set of constructions for roof and ceiling assemblies.", + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/definitions/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/definitions/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/definitions/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "RoofCeilingConstructionSet", + "pattern": "^RoofCeilingConstructionSet$", + "type": "string" + } + }, + "additionalProperties": false + }, + "EnergyWindowMaterialSimpleGlazSys": { + "title": "EnergyWindowMaterialSimpleGlazSys", + "description": "Describe an entire glazing system rather than individual layers.\n\nUsed when only very limited information is available on the glazing layers or when\nspecific performance levels are being targeted.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialSimpleGlazSys", + "pattern": "^EnergyWindowMaterialSimpleGlazSys$", + "type": "string" + }, + "u_factor": { + "title": "U Factor", + "description": "The overall heat transfer coefficient for window system in W/m2-K. Note that constructions with U-values above 5.8 should not be assigned to skylights as this implies the resistance of the window is negative when air films are subtracted.", + "exclusiveMinimum": 0, + "maximum": 12, + "type": "number" + }, + "shgc": { + "title": "Shgc", + "description": "Unit-less quantity for the Solar Heat Gain Coefficient (solar transmittance + conduction) at normal incidence and vertical orientation.", + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number" + }, + "vt": { + "title": "Vt", + "description": "The fraction of visible light falling on the window that makes it through the glass at normal incidence.", + "default": 0.54, + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number" + } + }, + "required": [ + "identifier", + "u_factor", + "shgc" + ], + "additionalProperties": false + }, + "EnergyWindowMaterialGasCustom": { + "title": "EnergyWindowMaterialGasCustom", + "description": "Create single layer of custom gas.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGasCustom", + "pattern": "^EnergyWindowMaterialGasCustom$", + "type": "string" + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the gas layer in meters. Default: 0.0125.", + "default": 0.0125, + "exclusiveMinimum": 0, + "type": "number" + }, + "conductivity_coeff_a": { + "title": "Conductivity Coeff A", + "description": "The A coefficient for gas conductivity in W/(m-K).", + "type": "number" + }, + "conductivity_coeff_b": { + "title": "Conductivity Coeff B", + "description": "The B coefficient for gas conductivity in W/(m-K2).", + "default": 0, + "type": "number" + }, + "conductivity_coeff_c": { + "title": "Conductivity Coeff C", + "description": "The C coefficient for gas conductivity in W/(m-K3).", + "default": 0, + "type": "number" + }, + "viscosity_coeff_a": { + "title": "Viscosity Coeff A", + "description": "The A coefficient for gas viscosity in kg/(m-s).", + "exclusiveMinimum": 0, + "type": "number" + }, + "viscosity_coeff_b": { + "title": "Viscosity Coeff B", + "description": "The B coefficient for gas viscosity in kg/(m-s-K).", + "default": 0, + "type": "number" + }, + "viscosity_coeff_c": { + "title": "Viscosity Coeff C", + "description": "The C coefficient for gas viscosity in kg/(m-s-K2).", + "default": 0, + "type": "number" + }, + "specific_heat_coeff_a": { + "title": "Specific Heat Coeff A", + "description": "The A coefficient for gas specific heat in J/(kg-K).", + "exclusiveMinimum": 0, + "type": "number" + }, + "specific_heat_coeff_b": { + "title": "Specific Heat Coeff B", + "description": "The B coefficient for gas specific heat in J/(kg-K2).", + "default": 0, + "type": "number" + }, + "specific_heat_coeff_c": { + "title": "Specific Heat Coeff C", + "description": "The C coefficient for gas specific heat in J/(kg-K3).", + "default": 0, + "type": "number" + }, + "specific_heat_ratio": { + "title": "Specific Heat Ratio", + "description": "The specific heat ratio for gas.", + "exclusiveMinimum": 1, + "type": "number" + }, + "molecular_weight": { + "title": "Molecular Weight", + "description": "The molecular weight for gas in g/mol.", + "minimum": 20, + "maximum": 200, + "type": "number" + } + }, + "required": [ + "identifier", + "conductivity_coeff_a", + "viscosity_coeff_a", + "specific_heat_coeff_a", + "specific_heat_ratio", + "molecular_weight" + ], + "additionalProperties": false + }, + "EnergyWindowMaterialGasMixture": { + "title": "EnergyWindowMaterialGasMixture", + "description": "Create a mixture of two to four different gases to fill the panes of multiple\npane windows.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGasMixture", + "pattern": "^EnergyWindowMaterialGasMixture$", + "type": "string" + }, + "thickness": { + "title": "Thickness", + "description": "The thickness of the gas mixture layer in meters.", + "default": 0.0125, + "exclusiveMinimum": 0, + "type": "number" + }, + "gas_types": { + "description": "List of gases in the gas mixture.", + "type": "array", + "items": { + "$ref": "#/definitions/GasType" + }, + "minItems": 2, + "maxItems": 4 + }, + "gas_fractions": { + "title": "Gas Fractions", + "description": "A list of fractional numbers describing the volumetric fractions of gas types in the mixture. This list must align with the gas_types list and must sum to 1.", + "minItems": 2, + "maxItems": 4, + "type": "array", + "items": { + "type": "number", + "exclusiveMinimum": 0, + "exclusiveMaximum": 1 + } + } + }, + "required": [ + "identifier", + "gas_types", + "gas_fractions" + ], + "additionalProperties": false + }, + "EnergyWindowFrame": { + "title": "EnergyWindowFrame", + "description": "Opaque material representing a layer within an opaque construction.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowFrame", + "pattern": "^EnergyWindowFrame$", + "type": "string" + }, + "width": { + "title": "Width", + "description": "Number for the width of frame in plane of window [m]. The frame width is assumed to be the same on all sides of window..", + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "conductance": { + "title": "Conductance", + "description": "Number for the thermal conductance of the frame material measured from inside to outside of the frame surface (no air films) and taking 2D conduction effects into account [W/m2-K].", + "exclusiveMinimum": 0, + "type": "number" + }, + "edge_to_center_ratio": { + "title": "Edge To Center Ratio", + "description": "Number between 0 and 4 for the ratio of the glass conductance near the frame (excluding air films) divided by the glass conductance at the center of the glazing (excluding air films). This is used only for multi-pane glazing constructions. This ratio should usually be greater than 1.0 since the spacer material that separates the glass panes is usually more conductive than the gap between panes. A value of 1 effectively indicates no spacer. Values should usually be obtained from the LBNL WINDOW program so that the unique characteristics of the window construction can be accounted for.", + "default": 1, + "exclusiveMinimum": 0, + "maximum": 4, + "type": "number" + }, + "outside_projection": { + "title": "Outside Projection", + "description": "Number for the distance that the frame projects outward from the outside face of the glazing [m]. This is used to calculate shadowing of frame onto glass, solar absorbed by the frame, IR emitted and absorbed by the frame, and convection from frame.", + "default": 0, + "minimum": 0, + "maximum": 0.5, + "type": "number" + }, + "inside_projection": { + "title": "Inside Projection", + "description": "Number for the distance that the frame projects inward from the inside face of the glazing [m]. This is used to calculate solar absorbed by the frame, IR emitted and absorbed by the frame, and convection from frame.", + "default": 0, + "minimum": 0, + "maximum": 0.5, + "type": "number" + }, + "thermal_absorptance": { + "title": "Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the frame material.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number" + }, + "solar_absorptance": { + "title": "Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the frame material.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "visible_absorptance": { + "title": "Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the frame material.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number" + } + }, + "required": [ + "identifier", + "width", + "conductance" + ], + "additionalProperties": false + }, + "WindowConstruction": { + "title": "WindowConstruction", + "description": "Construction for window objects (Aperture, Door).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "WindowConstruction", + "pattern": "^WindowConstruction$", + "type": "string" + }, + "materials": { + "title": "Materials", + "description": "List of glazing and gas material definitions. The order of the materials is from exterior to interior. If a SimpleGlazSys material is used, it must be the only material in the construction. For multi-layered constructions, adjacent glass layers must be separated by one and only one gas layer.", + "minItems": 1, + "maxItems": 8, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/EnergyWindowMaterialSimpleGlazSys" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialGlazing" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialGas" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialGasCustom" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialGasMixture" + } + ] + } + }, + "frame": { + "title": "Frame", + "description": "An optional window frame material for the frame that surrounds the window construction.", + "allOf": [ + { + "$ref": "#/definitions/EnergyWindowFrame" + } + ] + } + }, + "required": [ + "identifier", + "materials" + ], + "additionalProperties": false + }, + "EnergyWindowMaterialShade": { + "title": "EnergyWindowMaterialShade", + "description": "This object specifies the properties of window shade materials.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialShade", + "pattern": "^EnergyWindowMaterialShade$", + "type": "string" + }, + "solar_transmittance": { + "title": "Solar Transmittance", + "description": "The transmittance averaged over the solar spectrum. It is assumed independent of incidence angle. Default: 0.4.", + "default": 0.4, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "solar_reflectance": { + "title": "Solar Reflectance", + "description": "The reflectance averaged over the solar spectrum. It us assumed same on both sides of shade and independent of incidence angle. Default value is 0.5", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "visible_transmittance": { + "title": "Visible Transmittance", + "description": "The transmittance averaged over the solar spectrum and weighted by the response of the human eye. It is assumed independent of incidence angle. Default: 0.4.", + "default": 0.4, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "visible_reflectance": { + "title": "Visible Reflectance", + "description": "The transmittance averaged over the solar spectrum and weighted by the response of the human eye. It is assumed independent of incidence angle. Default: 0.4", + "default": 0.4, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "emissivity": { + "title": "Emissivity", + "description": "The effective long-wave infrared hemispherical emissivity. It is assumed same on both sides of shade. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number" + }, + "infrared_transmittance": { + "title": "Infrared Transmittance", + "description": "The effective long-wave transmittance. It is assumed independent of incidence angle. Default: 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "thickness": { + "title": "Thickness", + "description": "The thickness of the shade material in meters. Default: 0.005.", + "default": 0.005, + "exclusiveMinimum": 0, + "type": "number" + }, + "conductivity": { + "title": "Conductivity", + "description": "The conductivity of the shade material in W/(m-K). Default value is 0.1.", + "default": 0.1, + "exclusiveMinimum": 0, + "type": "number" + }, + "distance_to_glass": { + "title": "Distance To Glass", + "description": "The distance from shade to adjacent glass in meters. Default value is 0.05", + "default": 0.05, + "minimum": 0.001, + "maximum": 1, + "type": "number" + }, + "top_opening_multiplier": { + "title": "Top Opening Multiplier", + "description": "The effective area for air flow at the top of the shade, divided by the horizontal area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "bottom_opening_multiplier": { + "title": "Bottom Opening Multiplier", + "description": "The effective area for air flow at the bottom of the shade, divided by the horizontal area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "left_opening_multiplier": { + "title": "Left Opening Multiplier", + "description": "The effective area for air flow at the left side of the shade, divided by the vertical area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "right_opening_multiplier": { + "title": "Right Opening Multiplier", + "description": "The effective area for air flow at the right side of the shade, divided by the vertical area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "airflow_permeability": { + "title": "Airflow Permeability", + "description": "The fraction of the shade surface that is open to air flow. If air cannot pass through the shade material, airflow_permeability = 0. Default: 0.", + "default": 0, + "minimum": 0, + "maximum": 0.8, + "type": "number" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "SlatOrientation": { + "title": "SlatOrientation", + "description": "An enumeration.", + "enum": [ + "Horizontal", + "Vertical" + ], + "type": "string" + }, + "EnergyWindowMaterialBlind": { + "title": "EnergyWindowMaterialBlind", + "description": "Window blind material consisting of flat, equally-spaced slats.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialBlind", + "pattern": "^EnergyWindowMaterialBlind$", + "type": "string" + }, + "slat_orientation": { + "default": "Horizontal", + "allOf": [ + { + "$ref": "#/definitions/SlatOrientation" + } + ] + }, + "slat_width": { + "title": "Slat Width", + "description": "The width of slat measured from edge to edge in meters.", + "default": 0.025, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "slat_separation": { + "title": "Slat Separation", + "description": "The distance between the front of a slat and the back of the adjacent slat in meters.", + "default": 0.01875, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "slat_thickness": { + "title": "Slat Thickness", + "description": "The distance between the faces of a slat in meters. The default value is 0.001.", + "default": 0.001, + "exclusiveMinimum": 0, + "maximum": 0.1, + "type": "number" + }, + "slat_angle": { + "title": "Slat Angle", + "description": "The angle (degrees) between the glazing outward normal and the slat outward normal where the outward normal points away from the front face of the slat (degrees). The default value is 45.", + "default": 45, + "minimum": 0, + "maximum": 180, + "type": "number" + }, + "slat_conductivity": { + "title": "Slat Conductivity", + "description": "The thermal conductivity of the slat in W/(m-K). Default: 221.", + "default": 221, + "exclusiveMinimum": 0, + "type": "number" + }, + "beam_solar_transmittance": { + "title": "Beam Solar Transmittance", + "description": "The beam solar transmittance of the slat, assumed to be independent of angle of incidence on the slat. Any transmitted beam radiation is assumed to be 100% diffuse (i.e., slats are translucent). The default value is 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "beam_solar_reflectance": { + "title": "Beam Solar Reflectance", + "description": "The beam solar reflectance of the front side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "beam_solar_reflectance_back": { + "title": "Beam Solar Reflectance Back", + "description": "The beam solar reflectance of the back side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "diffuse_solar_transmittance": { + "title": "Diffuse Solar Transmittance", + "description": "The slat transmittance for hemispherically diffuse solar radiation. Default: 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "diffuse_solar_reflectance": { + "title": "Diffuse Solar Reflectance", + "description": "The front-side slat reflectance for hemispherically diffuse solar radiation. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "diffuse_solar_reflectance_back": { + "title": "Diffuse Solar Reflectance Back", + "description": "The back-side slat reflectance for hemispherically diffuse solar radiation. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "beam_visible_transmittance": { + "title": "Beam Visible Transmittance", + "description": "The beam visible transmittance of the slat, it is assumed to be independent of the angle of incidence. Default: 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "beam_visible_reflectance": { + "title": "Beam Visible Reflectance", + "description": "The beam visible reflectance on the front side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "beam_visible_reflectance_back": { + "title": "Beam Visible Reflectance Back", + "description": "The beam visible reflectance on the back side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "diffuse_visible_transmittance": { + "title": "Diffuse Visible Transmittance", + "description": "The slat transmittance for hemispherically diffuse visible radiation. This value should equal \u201cSlat Beam Visible Transmittance.\u201d", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "diffuse_visible_reflectance": { + "title": "Diffuse Visible Reflectance", + "description": "The front-side slat reflectance for hemispherically diffuse visible radiation. This value should equal \u201cFront Side Slat Beam Visible Reflectance.\u201d Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "diffuse_visible_reflectance_back": { + "title": "Diffuse Visible Reflectance Back", + "description": "The back-side slat reflectance for hemispherically diffuse visible radiation. This value should equal \u201cBack Side Slat Beam Visible Reflectance. Default: 0.5.\u201d", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "infrared_transmittance": { + "title": "Infrared Transmittance", + "description": "The slat infrared hemispherical transmittance. It is zero for solid metallic, wooden or glass slats, but may be non-zero in some cases such as for thin plastic slats. The default value is 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "emissivity": { + "title": "Emissivity", + "description": "Front side hemispherical emissivity of the slat. Default is 0.9 for most materials. The default value is 0.9.", + "default": 0.9, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "emissivity_back": { + "title": "Emissivity Back", + "description": "Back side hemispherical emissivity of the slat. Default is 0.9 for most materials. The default value is 0.9.", + "default": 0.9, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number" + }, + "distance_to_glass": { + "title": "Distance To Glass", + "description": "The distance from the mid-plane of the blind to the adjacent glass in meters. The default value is 0.05.", + "default": 0.05, + "minimum": 0.01, + "maximum": 1, + "type": "number" + }, + "top_opening_multiplier": { + "title": "Top Opening Multiplier", + "description": "The effective area for air flow at the top of the shade, divided by the horizontal area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "bottom_opening_multiplier": { + "title": "Bottom Opening Multiplier", + "description": "The effective area for air flow at the bottom of the shade, divided by the horizontal area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "left_opening_multiplier": { + "title": "Left Opening Multiplier", + "description": "The effective area for air flow at the left side of the shade, divided by the vertical area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "right_opening_multiplier": { + "title": "Right Opening Multiplier", + "description": "The effective area for air flow at the right side of the shade, divided by the vertical area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ShadeLocation": { + "title": "ShadeLocation", + "description": "Choices for where a shade material is located in a window assembly.", + "enum": [ + "Interior", + "Between", + "Exterior" + ], + "type": "string" + }, + "ControlType": { + "title": "ControlType", + "description": "Choices for how the shading device is controlled.", + "enum": [ + "AlwaysOn", + "OnIfHighSolarOnWindow", + "OnIfHighHorizontalSolar", + "OnIfHighOutdoorAirTemperature", + "OnIfHighZoneAirTemperature", + "OnIfHighZoneCooling", + "OnNightIfLowOutdoorTempAndOffDay", + "OnNightIfLowInsideTempAndOffDay", + "OnNightIfHeatingAndOffDay" + ], + "type": "string" + }, + "ScheduleDay": { + "title": "ScheduleDay", + "description": "Used to describe the daily schedule for a single simulation day.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ScheduleDay", + "pattern": "^ScheduleDay$", + "type": "string" + }, + "values": { + "title": "Values", + "description": "A list of floats or integers for the values of the schedule. The length of this list must match the length of the times list.", + "type": "array", + "items": { + "type": "number" + } + }, + "times": { + "title": "Times", + "description": "A list of lists with each sub-list possesing 2 values for [hour, minute]. The length of the master list must match the length of the values list. Each time in the master list represents the time of day that the corresponding value begins to take effect. For example [(0,0), (9,0), (17,0)] in combination with the values [0, 1, 0] denotes a schedule value of 0 from 0:00 to 9:00, a value of 1 from 9:00 to 17:00 and 0 from 17:00 to the end of the day. Note that this representation of times as the \"time of beginning\" is a different convention than EnergyPlus, which uses \"time until\".", + "default": [ + 0, + 0 + ], + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer" + }, + "minItems": 2, + "maxItems": 2 + } + }, + "interpolate": { + "title": "Interpolate", + "description": "Boolean to note whether values in between times should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "identifier", + "values" + ], + "additionalProperties": false + }, + "ScheduleRuleAbridged": { + "title": "ScheduleRuleAbridged", + "description": "Schedule rule including a ScheduleDay and when it should be applied..", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ScheduleRuleAbridged", + "pattern": "^ScheduleRuleAbridged$", + "type": "string" + }, + "schedule_day": { + "title": "Schedule Day", + "description": "The identifier of a ScheduleDay object associated with this rule.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "apply_sunday": { + "title": "Apply Sunday", + "description": "Boolean noting whether to apply schedule_day on Sundays.", + "default": false, + "type": "boolean" + }, + "apply_monday": { + "title": "Apply Monday", + "description": "Boolean noting whether to apply schedule_day on Mondays.", + "default": false, + "type": "boolean" + }, + "apply_tuesday": { + "title": "Apply Tuesday", + "description": "Boolean noting whether to apply schedule_day on Tuesdays.", + "default": false, + "type": "boolean" + }, + "apply_wednesday": { + "title": "Apply Wednesday", + "description": "Boolean noting whether to apply schedule_day on Wednesdays.", + "default": false, + "type": "boolean" + }, + "apply_thursday": { + "title": "Apply Thursday", + "description": "Boolean noting whether to apply schedule_day on Thursdays.", + "default": false, + "type": "boolean" + }, + "apply_friday": { + "title": "Apply Friday", + "description": "Boolean noting whether to apply schedule_day on Fridays.", + "default": false, + "type": "boolean" + }, + "apply_saturday": { + "title": "Apply Saturday", + "description": "Boolean noting whether to apply schedule_day on Saturdays.", + "default": false, + "type": "boolean" + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the start date of the period over which the schedule_day will be applied.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer" + } + }, + "end_date": { + "title": "End Date", + "description": "A list of two integers for [month, day], representing the end date of the period over which the schedule_day will be applied.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 12, + 31 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer" + } + } + }, + "required": [ + "schedule_day" + ], + "additionalProperties": false + }, + "NoLimit": { + "title": "NoLimit", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "NoLimit", + "pattern": "^NoLimit$", + "type": "string" + } + }, + "additionalProperties": false + }, + "ScheduleNumericType": { + "title": "ScheduleNumericType", + "description": "Designates how the range values are validated.", + "enum": [ + "Continuous", + "Discrete" + ], + "type": "string" + }, + "ScheduleUnitType": { + "title": "ScheduleUnitType", + "description": "An enumeration.", + "enum": [ + "Dimensionless", + "Temperature", + "DeltaTemperature", + "PrecipitationRate", + "Angle", + "ConvectionCoefficient", + "ActivityLevel", + "Velocity", + "Capacity", + "Power", + "Availability", + "Percent", + "Control", + "Mode" + ], + "type": "string" + }, + "ScheduleTypeLimit": { + "title": "ScheduleTypeLimit", + "description": "Specifies the data types and limits for values contained in schedules.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ScheduleTypeLimit", + "pattern": "^ScheduleTypeLimit$", + "type": "string" + }, + "lower_limit": { + "title": "Lower Limit", + "description": "Lower limit for the schedule type or NoLimit.", + "default": { + "type": "NoLimit" + }, + "anyOf": [ + { + "$ref": "#/definitions/NoLimit" + }, + { + "type": "number" + } + ] + }, + "upper_limit": { + "title": "Upper Limit", + "description": "Upper limit for the schedule type or NoLimit.", + "default": { + "type": "NoLimit" + }, + "anyOf": [ + { + "$ref": "#/definitions/NoLimit" + }, + { + "type": "number" + } + ] + }, + "numeric_type": { + "default": "Continuous", + "allOf": [ + { + "$ref": "#/definitions/ScheduleNumericType" + } + ] + }, + "unit_type": { + "default": "Dimensionless", + "allOf": [ + { + "$ref": "#/definitions/ScheduleUnitType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ScheduleRuleset": { + "title": "ScheduleRuleset", + "description": "Used to define a schedule for a default day, further described by ScheduleRule.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ScheduleRuleset", + "pattern": "^ScheduleRuleset$", + "type": "string" + }, + "day_schedules": { + "title": "Day Schedules", + "description": "A list of ScheduleDays that are referenced in the other keys of this ScheduleRulesetAbridged.", + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleDay" + } + }, + "default_day_schedule": { + "title": "Default Day Schedule", + "description": "An identifier for the ScheduleDay that will be used for all days when no ScheduleRule is applied. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "schedule_rules": { + "title": "Schedule Rules", + "description": "A list of ScheduleRuleAbridged that note exceptions to the default_day_schedule. These rules should be ordered from highest to lowest priority.", + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleRuleAbridged" + } + }, + "holiday_schedule": { + "title": "Holiday Schedule", + "description": "An identifier for the ScheduleDay that will be used for holidays. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "summer_designday_schedule": { + "title": "Summer Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the summer design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "winter_designday_schedule": { + "title": "Winter Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the winter design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "ScheduleTypeLimit object that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "allOf": [ + { + "$ref": "#/definitions/ScheduleTypeLimit" + } + ] + } + }, + "required": [ + "identifier", + "day_schedules", + "default_day_schedule" + ], + "additionalProperties": false + }, + "ScheduleFixedInterval": { + "title": "ScheduleFixedInterval", + "description": "Used to specify a start date and a list of values for a period of analysis.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ScheduleFixedInterval", + "pattern": "^ScheduleFixedInterval$", + "type": "string" + }, + "values": { + "title": "Values", + "description": "A list of timeseries values occuring at each timestep over the course of the simulation.", + "minItems": 24, + "maxItems": 527040, + "type": "array", + "items": { + "type": "number" + } + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "ScheduleTypeLimit object that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "allOf": [ + { + "$ref": "#/definitions/ScheduleTypeLimit" + } + ] + }, + "timestep": { + "title": "Timestep", + "description": "An integer for the number of steps per hour that the input values correspond to. For example, if each value represents 30 minutes, the timestep is 2. For 15 minutes, it is 4.", + "default": 1, + "type": "integer" + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the start date when the schedule values begin to take effect.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer" + } + }, + "placeholder_value": { + "title": "Placeholder Value", + "description": " A value that will be used for all times not covered by the input values. Typically, your simulation should not need to use this value if the input values completely cover the simulation period.", + "default": 0, + "type": "number" + }, + "interpolate": { + "title": "Interpolate", + "description": "Boolean to note whether values in between intervals should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "identifier", + "values" + ], + "additionalProperties": false + }, + "WindowConstructionShade": { + "title": "WindowConstructionShade", + "description": "Construction for window objects (Aperture, Door).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "WindowConstructionShade", + "pattern": "^WindowConstructionShade$", + "type": "string" + }, + "window_construction": { + "title": "Window Construction", + "description": "A WindowConstruction object that serves as the \"switched off\" version of the construction (aka. the \"bare construction\"). The shade_material and shade_location will be used to modify this starting construction.", + "allOf": [ + { + "$ref": "#/definitions/WindowConstruction" + } + ] + }, + "shade_material": { + "title": "Shade Material", + "description": "Identifier of a An EnergyWindowMaterialShade or an EnergyWindowMaterialBlind that serves as the shading layer for this construction. This can also be an EnergyWindowMaterialGlazing, which will indicate that the WindowConstruction has a dynamically-controlled glass pane like an electrochromic window assembly.", + "anyOf": [ + { + "$ref": "#/definitions/EnergyWindowMaterialShade" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialBlind" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialGlazing" + } + ] + }, + "shade_location": { + "description": "Text to indicate where in the window assembly the shade_material is located. Note that the WindowConstruction must have at least one gas gap to use the \"Between\" option. Also note that, for a WindowConstruction with more than one gas gap, the \"Between\" option defaults to using the inner gap as this is the only option that EnergyPlus supports.", + "default": "Interior", + "allOf": [ + { + "$ref": "#/definitions/ShadeLocation" + } + ] + }, + "control_type": { + "description": "Text to indicate how the shading device is controlled, which determines when the shading is \u201con\u201d or \u201coff.\u201d", + "default": "AlwaysOn", + "allOf": [ + { + "$ref": "#/definitions/ControlType" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "A number that corresponds to the specified control_type. This can be a value in (W/m2), (C) or (W) depending upon the control type.Note that this value cannot be None for any control type except \"AlwaysOn.\"", + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "An optional ScheduleRuleset or ScheduleFixedInterval to be applied on top of the control_type. If None, the control_type will govern all behavior of the construction.", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + } + }, + "required": [ + "identifier", + "window_construction", + "shade_material" + ], + "additionalProperties": false + }, + "WindowConstructionDynamic": { + "title": "WindowConstructionDynamic", + "description": "Construction for window objects with an included shade layer.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "WindowConstructionDynamic", + "pattern": "^WindowConstructionDynamic$", + "type": "string" + }, + "constructions": { + "title": "Constructions", + "description": "A list of WindowConstruction objects that define the various states that the dynamic window can assume.", + "type": "array", + "items": { + "$ref": "#/definitions/WindowConstruction" + } + }, + "schedule": { + "title": "Schedule", + "description": "A control schedule that dictates which constructions are active at given times throughout the simulation. The values of the schedule should be integers and range from 0 to one less then the number of constructions. Zero indicates that the first construction is active, one indicates that the second on is active, etc. The schedule type limits of this schedule should be \"Control Level.\" If building custom schedule type limits that describe a particular range of states, the type limits should be \"Discrete\" and the unit type should be \"Mode,\" \"Control,\" or some other fractional unit.", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + } + }, + "required": [ + "identifier", + "constructions", + "schedule" + ], + "additionalProperties": false + }, + "ApertureConstructionSet": { + "title": "ApertureConstructionSet", + "description": "A set of constructions for aperture assemblies.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureConstructionSet", + "pattern": "^ApertureConstructionSet$", + "type": "string" + }, + "interior_construction": { + "title": "Interior Construction", + "description": "A WindowConstruction for all apertures with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/definitions/WindowConstruction" + }, + { + "$ref": "#/definitions/WindowConstructionShade" + }, + { + "$ref": "#/definitions/WindowConstructionDynamic" + } + ] + }, + "window_construction": { + "title": "Window Construction", + "description": "A WindowConstruction for apertures with an Outdoors boundary condition, False is_operable property, and a Wall face type for their parent face.", + "anyOf": [ + { + "$ref": "#/definitions/WindowConstruction" + }, + { + "$ref": "#/definitions/WindowConstructionShade" + }, + { + "$ref": "#/definitions/WindowConstructionDynamic" + } + ] + }, + "skylight_construction": { + "title": "Skylight Construction", + "description": "A WindowConstruction for apertures with a Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "anyOf": [ + { + "$ref": "#/definitions/WindowConstruction" + }, + { + "$ref": "#/definitions/WindowConstructionShade" + }, + { + "$ref": "#/definitions/WindowConstructionDynamic" + } + ] + }, + "operable_construction": { + "title": "Operable Construction", + "description": "A WindowConstruction for all apertures with an Outdoors boundary condition and True is_operable property.", + "anyOf": [ + { + "$ref": "#/definitions/WindowConstruction" + }, + { + "$ref": "#/definitions/WindowConstructionShade" + }, + { + "$ref": "#/definitions/WindowConstructionDynamic" + } + ] + } + }, + "additionalProperties": false + }, + "DoorConstructionSet": { + "title": "DoorConstructionSet", + "description": "A set of constructions for door assemblies.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorConstructionSet", + "pattern": "^DoorConstructionSet$", + "type": "string" + }, + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for all opaque doors with a Surface boundary condition.", + "allOf": [ + { + "$ref": "#/definitions/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for opaque doors with an Outdoors boundary condition and a Wall face type for their parent face.", + "allOf": [ + { + "$ref": "#/definitions/OpaqueConstruction" + } + ] + }, + "overhead_construction": { + "title": "Overhead Construction", + "description": "An OpaqueConstruction for opaque doors with an Outdoors boundary condition and a RoofCeiling or Floor type for their parent face.", + "allOf": [ + { + "$ref": "#/definitions/OpaqueConstruction" + } + ] + }, + "exterior_glass_construction": { + "title": "Exterior Glass Construction", + "description": "A WindowConstruction for all glass doors with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/definitions/WindowConstruction" + }, + { + "$ref": "#/definitions/WindowConstructionShade" + }, + { + "$ref": "#/definitions/WindowConstructionDynamic" + } + ] + }, + "interior_glass_construction": { + "title": "Interior Glass Construction", + "description": "A WindowConstruction for all glass doors with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/definitions/WindowConstruction" + }, + { + "$ref": "#/definitions/WindowConstructionShade" + }, + { + "$ref": "#/definitions/WindowConstructionDynamic" + } + ] + } + }, + "additionalProperties": false + }, + "AirBoundaryConstruction": { + "title": "AirBoundaryConstruction", + "description": "Construction for Air Boundary objects.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "AirBoundaryConstruction", + "pattern": "^AirBoundaryConstruction$", + "type": "string" + }, + "air_mixing_per_area": { + "title": "Air Mixing Per Area", + "description": "A positive number for the amount of air mixing between Rooms across the air boundary surface [m3/s-m2]. Default: 0.1 corresponds to average indoor air speeds of 0.1 m/s (roughly 20 fpm), which is typical of what would be induced by a HVAC system.", + "default": 0.1, + "minimum": 0, + "type": "number" + }, + "air_mixing_schedule": { + "title": "Air Mixing Schedule", + "description": "A fractional schedule as a ScheduleRuleset or ScheduleFixedInterval for the air mixing schedule across the construction. If unspecified, an Always On schedule will be assumed.", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ConstructionSet": { + "title": "ConstructionSet", + "description": "A set of constructions for different surface types and boundary conditions.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ConstructionSet", + "pattern": "^ConstructionSet$", + "type": "string" + }, + "wall_set": { + "title": "Wall Set", + "description": "A WallConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/definitions/WallConstructionSet" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "A FloorConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/definitions/FloorConstructionSet" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "A RoofCeilingConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/definitions/RoofCeilingConstructionSet" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "A ApertureConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/definitions/ApertureConstructionSet" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "A DoorConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/definitions/DoorConstructionSet" + } + ] + }, + "shade_construction": { + "title": "Shade Construction", + "description": "A ShadeConstruction to set the reflectance properties of all outdoor shades of all objects to which this ConstructionSet is assigned.", + "allOf": [ + { + "$ref": "#/definitions/ShadeConstruction" + } + ] + }, + "air_boundary_construction": { + "title": "Air Boundary Construction", + "description": "An AirBoundaryConstruction or OpaqueConstruction to set the properties of Faces with an AirBoundary type.", + "anyOf": [ + { + "$ref": "#/definitions/AirBoundaryConstruction" + }, + { + "$ref": "#/definitions/OpaqueConstruction" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "WindowConstructionShadeAbridged": { + "title": "WindowConstructionShadeAbridged", + "description": "Construction for window objects with an included shade layer.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "WindowConstructionShadeAbridged", + "pattern": "^WindowConstructionShadeAbridged$", + "type": "string" + }, + "window_construction": { + "title": "Window Construction", + "description": "A WindowConstructionAbridged object that serves as the \"switched off\" version of the construction (aka. the \"bare construction\"). The shade_material and shade_location will be used to modify this starting construction.", + "allOf": [ + { + "$ref": "#/definitions/WindowConstructionAbridged" + } + ] + }, + "shade_material": { + "title": "Shade Material", + "description": "Identifier of a An EnergyWindowMaterialShade or an EnergyWindowMaterialBlind that serves as the shading layer for this construction. This can also be an EnergyWindowMaterialGlazing, which will indicate that the WindowConstruction has a dynamically-controlled glass pane like an electrochromic window assembly.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "shade_location": { + "description": "Text to indicate where in the window assembly the shade_material is located. Note that the WindowConstruction must have at least one gas gap to use the \"Between\" option. Also note that, for a WindowConstruction with more than one gas gap, the \"Between\" option defaults to using the inner gap as this is the only option that EnergyPlus supports.", + "default": "Interior", + "allOf": [ + { + "$ref": "#/definitions/ShadeLocation" + } + ] + }, + "control_type": { + "description": "Text to indicate how the shading device is controlled, which determines when the shading is \u201con\u201d or \u201coff.\u201d", + "default": "AlwaysOn", + "allOf": [ + { + "$ref": "#/definitions/ControlType" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "A number that corresponds to the specified control_type. This can be a value in (W/m2), (C) or (W) depending upon the control type.Note that this value cannot be None for any control type except \"AlwaysOn.\"", + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "An optional schedule identifier to be applied on top of the control_type. If None, the control_type will govern all behavior of the construction.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier", + "window_construction", + "shade_material" + ], + "additionalProperties": false + }, + "WindowConstructionDynamicAbridged": { + "title": "WindowConstructionDynamicAbridged", + "description": "Construction for window objects with an included shade layer.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "WindowConstructionDynamicAbridged", + "pattern": "^WindowConstructionDynamicAbridged$", + "type": "string" + }, + "constructions": { + "title": "Constructions", + "description": "A list of WindowConstructionAbridged objects that define the various states that the dynamic window can assume.", + "type": "array", + "items": { + "$ref": "#/definitions/WindowConstructionAbridged" + } + }, + "schedule": { + "title": "Schedule", + "description": "An identifier for a control schedule that dictates which constructions are active at given times throughout the simulation. The values of the schedule should be integers and range from 0 to one less then the number of constructions. Zero indicates that the first construction is active, one indicates that the second on is active, etc. The schedule type limits of this schedule should be \"Control Level.\" If building custom schedule type limits that describe a particular range of states, the type limits should be \"Discrete\" and the unit type should be \"Mode,\" \"Control,\" or some other fractional unit.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier", + "constructions", + "schedule" + ], + "additionalProperties": false + }, + "EconomizerType": { + "title": "EconomizerType", + "description": "An enumeration.", + "enum": [ + "NoEconomizer", + "DifferentialDryBulb", + "DifferentialEnthalpy" + ], + "type": "string" + }, + "Autosize": { + "title": "Autosize", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Autosize", + "pattern": "^Autosize$", + "type": "string" + } + }, + "additionalProperties": false + }, + "IdealAirSystemAbridged": { + "title": "IdealAirSystemAbridged", + "description": "Provides a model for an ideal HVAC system.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "IdealAirSystemAbridged", + "pattern": "^IdealAirSystemAbridged$", + "type": "string" + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the ideal air system. Economizers will mix in a greater amount of outdoor air to cool the zone (rather than running the cooling system) when the zone needs cooling and the outdoor air is cooler than the zone.", + "default": "DifferentialDryBulb", + "allOf": [ + { + "$ref": "#/definitions/EconomizerType" + } + ] + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the zone.", + "default": false, + "type": "boolean" + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "heating_air_temperature": { + "title": "Heating Air Temperature", + "description": "A number for the maximum heating supply air temperature [C].", + "default": 50, + "exclusiveMinimum": 0, + "exclusiveMaximum": 100, + "type": "number" + }, + "cooling_air_temperature": { + "title": "Cooling Air Temperature", + "description": "A number for the minimum cooling supply air temperature [C].", + "default": 13, + "exclusiveMinimum": -100, + "exclusiveMaximum": 50, + "type": "number" + }, + "heating_limit": { + "title": "Heating Limit", + "description": "A number for the maximum heating capacity in Watts. This can also be an Autosize object to indicate that the capacity should be determined during the EnergyPlus sizing calculation. This can also be a NoLimit object to indicate no upper limit to the heating capacity.", + "default": { + "type": "Autosize" + }, + "anyOf": [ + { + "$ref": "#/definitions/Autosize" + }, + { + "$ref": "#/definitions/NoLimit" + }, + { + "type": "number", + "minimum": 0 + } + ] + }, + "cooling_limit": { + "title": "Cooling Limit", + "description": "A number for the maximum cooling capacity in Watts. This can also be an Autosize object to indicate that the capacity should be determined during the EnergyPlus sizing calculation. This can also be a NoLimit object to indicate no upper limit to the cooling capacity.", + "default": { + "type": "Autosize" + }, + "anyOf": [ + { + "$ref": "#/definitions/Autosize" + }, + { + "$ref": "#/definitions/NoLimit" + }, + { + "type": "number", + "minimum": 0 + } + ] + }, + "heating_availability": { + "title": "Heating Availability", + "description": "An optional identifier of a schedule to set the availability of heating over the course of the simulation.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "cooling_availability": { + "title": "Cooling Availability", + "description": "An optional identifier of a schedule to set the availability of cooling over the course of the simulation.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Vintages": { + "title": "Vintages", + "description": "An enumeration.", + "enum": [ + "ASHRAE_2019", + "ASHRAE_2016", + "ASHRAE_2013", + "ASHRAE_2010", + "ASHRAE_2007", + "ASHRAE_2004", + "DOE_Ref_1980_2004", + "DOE_Ref_Pre_1980" + ], + "type": "string" + }, + "AllAirEconomizerType": { + "title": "AllAirEconomizerType", + "description": "An enumeration.", + "enum": [ + "NoEconomizer", + "DifferentialDryBulb", + "DifferentialEnthalpy", + "DifferentialDryBulbAndEnthalpy", + "FixedDryBulb", + "FixedEnthalpy", + "ElectronicEnthalpy" + ], + "type": "string" + }, + "VAVEquipmentType": { + "title": "VAVEquipmentType", + "description": "An enumeration.", + "enum": [ + "VAV_Chiller_Boiler", + "VAV_Chiller_ASHP", + "VAV_Chiller_DHW", + "VAV_Chiller_PFP", + "VAV_Chiller_GasCoil", + "VAV_ACChiller_Boiler", + "VAV_ACChiller_ASHP", + "VAV_ACChiller_DHW", + "VAV_ACChiller_PFP", + "VAV_ACChiller_GasCoil", + "VAV_DCW_Boiler", + "VAV_DCW_ASHP", + "VAV_DCW_DHW", + "VAV_DCW_PFP", + "VAV_DCW_GasCoil" + ], + "type": "string" + }, + "VAV": { + "title": "VAV", + "description": "Variable Air Volume (VAV) HVAC system (aka. System 7 or 8).\n\nAll rooms/zones are connected to a central air loop that is kept at a constant\ncentral temperature of 12.8C (55F). The central temperature is maintained by a\ncooling coil, which runs whenever the combination of return air and fresh outdoor\nair is greater than 12.8C, as well as a heating coil, which runs whenever\nthe combination of return air and fresh outdoor air is less than 12.8C.\n\nEach air terminal for the connected rooms/zones contains its own reheat coil,\nwhich runs whenever the room is not in need of the cooling supplied by the 12.8C\ncentral air.\n\nThe central cooling coil is always a chilled water coil, which is connected to a\nchilled water loop operating at 6.7C (44F). All heating coils are hot water coils\nexcept when Gas Coil equipment_type is used (in which case coils are gas)\nor when Parallel Fan-Powered (PFP) boxes equipment_type is used (in which case\ncoils are electric resistance). Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.\n\nVAV systems are the traditional baseline system for commercial buildings\ntaller than 5 stories or larger than 14,000 m2 (150,000 ft2) of floor area.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/definitions/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "VAV", + "pattern": "^VAV$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VAVEquipmentType enumeration.", + "default": "VAV_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/definitions/VAVEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "PVAVEquipmentType": { + "title": "PVAVEquipmentType", + "description": "An enumeration.", + "enum": [ + "PVAV_Boiler", + "PVAV_ASHP", + "PVAV_DHW", + "PVAV_PFP", + "PVAV_BoilerElectricReheat" + ], + "type": "string" + }, + "PVAV": { + "title": "PVAV", + "description": "Packaged Variable Air Volume (PVAV) HVAC system (aka. System 5 or 6).\n\nAll rooms/zones are connected to a central air loop that is kept at a constant\ncentral temperature of 12.8C (55F). The central temperature is maintained by a\ncooling coil, which runs whenever the combination of return air and fresh outdoor\nair is greater than 12.8C, as well as a heating coil, which runs whenever\nthe combination of return air and fresh outdoor air is less than 12.8C.\n\nEach air terminal for the connected rooms/zones contains its own reheat coil,\nwhich runs whenever the room is not in need of the cooling supplied by the 12.8C\ncentral air.\n\nThe central cooling coil is always a two-speed direct expansion (DX) coil.\nAll heating coils are hot water coils except when Gas Coil equipment_type is\nused (in which case the central coil is gas and all reheat is electric)\nor when Parallel Fan-Powered (PFP) boxes equipment_type is used (in which case\ncoils are electric resistance). Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.\n\nPVAV systems are the traditional baseline system for commercial buildings\nwith than 4-5 stories or between 2,300 m2 and 14,000 m2 (25,000 ft2 and\n150,000 ft2) of floor area.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/definitions/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "PVAV", + "pattern": "^PVAV$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VAVEquipmentType enumeration.", + "default": "PVAV_Boiler", + "allOf": [ + { + "$ref": "#/definitions/PVAVEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "PSZEquipmentType": { + "title": "PSZEquipmentType", + "description": "An enumeration.", + "enum": [ + "PSZAC_ElectricBaseboard", + "PSZAC_BoilerBaseboard", + "PSZAC_DHWBaseboard", + "PSZAC_GasHeaters", + "PSZAC_ElectricCoil", + "PSZAC_GasCoil", + "PSZAC_Boiler", + "PSZAC_ASHP", + "PSZAC_DHW", + "PSZAC", + "PSZAC_DCW_ElectricBaseboard", + "PSZAC_DCW_BoilerBaseboard", + "PSZAC_DCW_GasHeaters", + "PSZAC_DCW_ElectricCoil", + "PSZAC_DCW_GasCoil", + "PSZAC_DCW_Boiler", + "PSZAC_DCW_ASHP", + "PSZAC_DCW_DHW", + "PSZAC_DCW", + "PSZHP" + ], + "type": "string" + }, + "PSZ": { + "title": "PSZ", + "description": "Packaged Single-Zone (PSZ) HVAC system (aka. System 3 or 4).\n\nEach room/zone receives its own air loop with its own single-speed direct expansion\n(DX) cooling coil, which will condition the supply air to a value in between\n12.8C (55F) and 50C (122F) depending on the heating/cooling needs of the room/zone.\nAs long as a Baseboard equipment_type is NOT selected, heating will be supplied\nby a heating coil in the air loop. Otherwise, heating is accomplished with\nbaseboards and the air loop only supplies cooling and ventilation air.\nFans are constant volume.\n\nPSZ systems are the traditional baseline system for commercial buildings\nwith less than 4 stories or less than 2,300 m2 (25,000 ft2) of floor area.\nThey are also the default for all retail with less than 3 stories and all public\nassembly spaces.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/definitions/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "PSZ", + "pattern": "^PSZ$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the PVAVEquipmentType enumeration.", + "default": "PSZAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/definitions/PSZEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "PTACEquipmentType": { + "title": "PTACEquipmentType", + "description": "An enumeration.", + "enum": [ + "PTAC_ElectricBaseboard", + "PTAC_BoilerBaseboard", + "PTAC_DHWBaseboard", + "PTAC_GasHeaters", + "PTAC_ElectricCoil", + "PTAC_GasCoil", + "PTAC_Boiler", + "PTAC_ASHP", + "PTAC_DHW", + "PTAC", + "PTHP" + ], + "type": "string" + }, + "PTAC": { + "title": "PTAC", + "description": "Packaged Terminal Air Conditioning (PTAC/HP) HVAC system. (aka. System 1 or 2).\n\nEach room/zone receives its own packaged unit that supplies heating, cooling\nand ventilation. Cooling is always done via a single-speed direct expansion (DX)\ncooling coil. Heating can be done via a heating coil in the unit or via an\nexternal baseboard. Fans are constant volume.\n\nPTAC/HP systems are the traditional baseline system for residential buildings.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "PTAC", + "pattern": "^PTAC$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the PTACEquipmentType enumeration.", + "default": "PTAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/definitions/PTACEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "FurnaceEquipmentType": { + "title": "FurnaceEquipmentType", + "description": "An enumeration.", + "enum": [ + "Furnace", + "Furnace_Electric" + ], + "type": "string" + }, + "ForcedAirFurnace": { + "title": "ForcedAirFurnace", + "description": "Forced Air Furnace HVAC system (aka. System 9 or 10).\n\nForced air furnaces are intended only for spaces only requiring heating and\nventilation. Each room/zone receives its own air loop with its own gas heating\ncoil, which will supply air at a temperature up to 50C (122F) to meet the\nheating needs of the room/zone. Fans are constant volume.\n\nForcedAirFurnace systems are the traditional baseline system for storage\nspaces that only require heating.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "ForcedAirFurnace", + "pattern": "^ForcedAirFurnace$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the FurnaceEquipmentType enumeration.", + "default": "Furnace", + "allOf": [ + { + "$ref": "#/definitions/FurnaceEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "FCUwithDOASEquipmentType": { + "title": "FCUwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_FCU_Chiller_Boiler", + "DOAS_FCU_Chiller_ASHP", + "DOAS_FCU_Chiller_DHW", + "DOAS_FCU_Chiller_ElectricBaseboard", + "DOAS_FCU_Chiller_GasHeaters", + "DOAS_FCU_Chiller", + "DOAS_FCU_ACChiller_Boiler", + "DOAS_FCU_ACChiller_ASHP", + "DOAS_FCU_ACChiller_DHW", + "DOAS_FCU_ACChiller_ElectricBaseboard", + "DOAS_FCU_ACChiller_GasHeaters", + "DOAS_FCU_ACChiller", + "DOAS_FCU_DCW_Boiler", + "DOAS_FCU_DCW_ASHP", + "DOAS_FCU_DCW_DHW", + "DOAS_FCU_DCW_ElectricBaseboard", + "DOAS_FCU_DCW_GasHeaters", + "DOAS_FCU_DCW" + ], + "type": "string" + }, + "FCUwithDOASAbridged": { + "title": "FCUwithDOASAbridged", + "description": "Fan Coil Unit (FCU) with DOAS HVAC system.\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a chilled water cooling coil and a heating coil. The heating coil is a hot\nwater coil except when electric baseboards or gas heaters are specified, in\nwhich case the heating coil is a single-speed direct expansion (DX) heat pump\nwith a backup electrical resistance coil.\n\nEach room/zone also receives its own Fan Coil Unit (FCU), which meets the heating\nand cooling loads of the space. The cooling coil in the FCU is always chilled\nwater cooling coil, which is connected to a chilled water loop operating\nat 6.7C (44F). The heating coil is a hot water coil except when when electric\nbaseboards or gas heaters are specified. Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.\n\nThe FCU with DOAS template is relatively close in performance to active chilled\nbeams (ACBs). When using this template to represent ACBs, care must be taken\nto ensure that the DOAS ventilation air requirement is sufficient to extract\nthe heating cooling from the ACB. If so, then this FCUwithDOAS template can be\nused but with the energy use of the FCU fans ignored.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "FCUwithDOASAbridged", + "pattern": "^FCUwithDOASAbridged$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the FCUwithDOASEquipmentType enumeration.", + "default": "DOAS_FCU_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/definitions/FCUwithDOASEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "WSHPwithDOASEquipmentType": { + "title": "WSHPwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_WSHP_FluidCooler_Boiler", + "DOAS_WSHP_CoolingTower_Boiler", + "DOAS_WSHP_GSHP", + "DOAS_WSHP_DCW_DHW" + ], + "type": "string" + }, + "WSHPwithDOASAbridged": { + "title": "WSHPwithDOASAbridged", + "description": "Water Source Heat Pump (WSHP) with DOAS HVAC system.\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a chilled water cooling coil and a hot water heating coil except when the\nground source heat pump (GSHP) option is selected. In this case, the ventilation\nair temperature is maintained by a two-speed direct expansion (DX) cooling coil\nand a single-speed DX heating coil with backup electrical resistance heat.\n\nEach room/zone also receives its own Water Source Heat Pump (WSHP), which meets\nthe heating and cooling loads of the space. All WSHPs are connected to the\nsame water condenser loop, which has its temperature maintained by the\nequipment_type (eg. Boiler with Cooling Tower).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "WSHPwithDOASAbridged", + "pattern": "^WSHPwithDOASAbridged$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the WSHPwithDOASEquipmentType enumeration.", + "default": "DOAS_WSHP_FluidCooler_Boiler", + "allOf": [ + { + "$ref": "#/definitions/WSHPwithDOASEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "VRFwithDOASEquipmentType": { + "title": "VRFwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_VRF" + ], + "type": "string" + }, + "VRFwithDOASAbridged": { + "title": "VRFwithDOASAbridged", + "description": "Variable Refrigerant Flow (VRF) with DOAS HVAC system.\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a single speed direct expansion (DX) cooling coil along with a single-speed\ndirect expansion (DX) heat pump with a backup electrical resistance coil.\n\nEach room/zone also receives its own Variable Refrigerant Flow (VRF) terminal,\nwhich meets the heating and cooling loads of the space. All room/zone terminals\nare connected to the same outdoor unit, meaning that either all rooms must be\nin cooling or heating mode together.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "VRFwithDOASAbridged", + "pattern": "^VRFwithDOASAbridged$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VRFwithDOASEquipmentType enumeration.", + "default": "DOAS_VRF", + "allOf": [ + { + "$ref": "#/definitions/VRFwithDOASEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "RadiantwithDOASEquipmentType": { + "title": "RadiantwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_Radiant_Chiller_Boiler", + "DOAS_Radiant_Chiller_ASHP", + "DOAS_Radiant_Chiller_DHW", + "DOAS_Radiant_ACChiller_Boiler", + "DOAS_Radiant_ACChiller_ASHP", + "DOAS_Radiant_ACChiller_DHW", + "DOAS_Radiant_DCW_Boiler", + "DOAS_Radiant_DCW_ASHP", + "DOAS_Radiant_DCW_DHW" + ], + "type": "string" + }, + "RadiantFaceTypes": { + "title": "RadiantFaceTypes", + "description": "An enumeration.", + "enum": [ + "Floor", + "Ceiling", + "FloorWithCarpet", + "CeilingMetalPanel", + "FloorWithHardwood" + ], + "type": "string" + }, + "RadiantwithDOASAbridged": { + "title": "RadiantwithDOASAbridged", + "description": "Low Temperature Radiant with DOAS HVAC system.\n\nThis HVAC template will change the floor and/or ceiling constructions\nof the Rooms that it is applied to, replacing them with a construction that\naligns with the radiant_type property (eg. CeilingMetalPanel).\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a two-speed direct expansion (DX) cooling coil and a single-speed DX\nheating coil with backup electrical resistance heat.\n\nThe heating and cooling needs of the space are met with the radiant constructions,\nwhich use chilled water at 12.8C (55F) and a hot water temperature somewhere\nbetween 32.2C (90F) and 49C (120F) (warmer temperatures are used in colder\nclimate zones).\n\nNote that radiant systems are particularly limited in cooling capacity and\nusing them may result in many unmet hours. To reduce unmet hours, one can\nremove carpets, reduce internal loads, reduce solar and envelope gains during\npeak times, add thermal mass, and use an expanded comfort range.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "RadiantwithDOASAbridged", + "pattern": "^RadiantwithDOASAbridged$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the RadiantwithDOASEquipmentType enumeration.", + "default": "DOAS_Radiant_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/definitions/RadiantwithDOASEquipmentType" + } + ] + }, + "radiant_face_type": { + "description": "Text to indicate which faces are thermally active by default. Note that this property has no effect when the rooms to which the HVAC system is assigned have constructions with internal source materials. In this case, those constructions will dictate the thermally active surfaces.", + "default": "Floor", + "allOf": [ + { + "$ref": "#/definitions/RadiantFaceTypes" + } + ] + }, + "minimum_operation_time": { + "title": "Minimum Operation Time", + "description": "A number for the minimum number of hours of operation for the radiant system before it shuts off.", + "default": 1.0, + "exclusiveMinimum": 0, + "type": "number" + }, + "switch_over_time": { + "title": "Switch Over Time", + "description": "A number for the minimum number of hours for when the system can switch between heating and cooling.", + "default": 24.0, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "FCUEquipmentType": { + "title": "FCUEquipmentType", + "description": "An enumeration.", + "enum": [ + "FCU_Chiller_Boiler", + "FCU_Chiller_ASHP", + "FCU_Chiller_DHW", + "FCU_Chiller_ElectricBaseboard", + "FCU_Chiller_GasHeaters", + "FCU_Chiller", + "FCU_ACChiller_Boiler", + "FCU_ACChiller_ASHP", + "FCU_ACChiller_DHW", + "FCU_ACChiller_ElectricBaseboard", + "FCU_ACChiller_GasHeaters", + "FCU_ACChiller", + "FCU_DCW_Boiler", + "FCU_DCW_ASHP", + "FCU_DCW_DHW", + "FCU_DCW_ElectricBaseboard", + "FCU_DCW_GasHeaters", + "FCU_DCW" + ], + "type": "string" + }, + "FCU": { + "title": "FCU", + "description": "Fan Coil Unit (FCU) heating/cooling system (with no ventilation).\n\nEach room/zone receives its own Fan Coil Unit (FCU), which meets the heating\nand cooling loads of the space. The cooling coil in the FCU is always chilled\nwater cooling coil, which is connected to a chilled water loop operating\nat 6.7C (44F). The heating coil is a hot water coil except when when electric\nbaseboards or gas heaters are specified. Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "FCU", + "pattern": "^FCU$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the FCUEquipmentType enumeration.", + "default": "FCU_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/definitions/FCUEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "WSHPEquipmentType": { + "title": "WSHPEquipmentType", + "description": "An enumeration.", + "enum": [ + "WSHP_FluidCooler_Boiler", + "WSHP_CoolingTower_Boiler", + "WSHP_GSHP", + "WSHP_DCW_DHW" + ], + "type": "string" + }, + "WSHP": { + "title": "WSHP", + "description": "Water Source Heat Pump (WSHP) heating/cooling system (with no ventilation).\n\nEach room/zone receives its own Water Source Heat Pump (WSHP), which meets\nthe heating and cooling loads of the space. All WSHPs are connected to the\nsame water condenser loop, which has its temperature maintained by the\nequipment_type (eg. Boiler with Cooling Tower).", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "WSHP", + "pattern": "^WSHP$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the WSHPEquipmentType enumeration.", + "default": "WSHP_FluidCooler_Boiler", + "allOf": [ + { + "$ref": "#/definitions/WSHPEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "VRFEquipmentType": { + "title": "VRFEquipmentType", + "description": "An enumeration.", + "enum": [ + "VRF" + ], + "type": "string" + }, + "VRF": { + "title": "VRF", + "description": "Variable Refrigerant Flow (VRF) heating/cooling system (with no ventilation).\n\nEach room/zone receives its own Variable Refrigerant Flow (VRF) terminal,\nwhich meets the heating and cooling loads of the space. All room/zone terminals\nare connected to the same outdoor unit, meaning that either all rooms must be\nin cooling or heating mode together.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "VRF", + "pattern": "^VRF$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VRFEquipmentType enumeration.", + "default": "VRF", + "allOf": [ + { + "$ref": "#/definitions/VRFEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "BaseboardEquipmentType": { + "title": "BaseboardEquipmentType", + "description": "An enumeration.", + "enum": [ + "ElectricBaseboard", + "BoilerBaseboard", + "ASHPBaseboard", + "DHWBaseboard" + ], + "type": "string" + }, + "Baseboard": { + "title": "Baseboard", + "description": "Baseboard heating system.\n\nBaseboard systems are intended for spaces only requiring heating and\nno ventilation or cooling. Each room/zone will get its own baseboard\nheating unit that satisfies the heating load.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "Baseboard", + "pattern": "^Baseboard$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the BaseboardEquipmentType enumeration.", + "default": "ElectricBaseboard", + "allOf": [ + { + "$ref": "#/definitions/BaseboardEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "EvaporativeCoolerEquipmentType": { + "title": "EvaporativeCoolerEquipmentType", + "description": "An enumeration.", + "enum": [ + "EvapCoolers_ElectricBaseboard", + "EvapCoolers_BoilerBaseboard", + "EvapCoolers_ASHPBaseboard", + "EvapCoolers_DHWBaseboard", + "EvapCoolers_Furnace", + "EvapCoolers_UnitHeaters", + "EvapCoolers" + ], + "type": "string" + }, + "EvaporativeCooler": { + "title": "EvaporativeCooler", + "description": "Direct evaporative cooling systems (with optional heating).\n\nEach room/zone will receive its own air loop sized to meet the sensible load,\nwhich contains an evaporative cooler that directly adds humidity to the room\nair to cool it. The loop contains an outdoor air mixer, which is used whenever\nthe outdoor air has a lower wet bulb temperature than the return air from\nthe room. In the event that the combination of outdoor and room return air\nair is too humid, a backup single-speed direct expansion (DX) cooling coil\nwill be used. Heating loads can be met with various options, including\nseveral types of baseboards, a furnace, or gas unit heaters.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "EvaporativeCooler", + "pattern": "^EvaporativeCooler$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the EvaporativeCoolerEquipmentType enumeration.", + "default": "EvapCoolers_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/definitions/EvaporativeCoolerEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ResidentialEquipmentType": { + "title": "ResidentialEquipmentType", + "description": "An enumeration.", + "enum": [ + "ResidentialAC_ElectricBaseboard", + "ResidentialAC_BoilerBaseboard", + "ResidentialAC_ASHPBaseboard", + "ResidentialAC_DHWBaseboard", + "ResidentialAC_ResidentialFurnace", + "ResidentialAC", + "ResidentialHP", + "ResidentialHPNoCool", + "ResidentialFurnace" + ], + "type": "string" + }, + "Residential": { + "title": "Residential", + "description": "Residential Air Conditioning, Heat Pump or Furnace system.\n\nResidential HVAC systems are intended primarily for single-family homes and\ninclude a wide variety of options. In all cases, each room/zone will receive\nits own air loop WITHOUT an outdoor air inlet (air is simply being recirculated\nthrough the loop). Residential air conditioning (AC) systems are modeled\nusing a unitary system with a single-speed direct expansion (DX) cooling\ncoil in the loop. Residential heat pump (HP) systems use a single-speed DX\nheating coil in the unitary system and the residential furnace option uses\na gas coil in the unitary system. In all cases, the properties of these coils\nare set to reflect a typical residential system.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "Residential", + "pattern": "^Residential$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the ResidentialEquipmentType enumeration.", + "default": "ResidentialAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/definitions/ResidentialEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "WindowACEquipmentType": { + "title": "WindowACEquipmentType", + "description": "An enumeration.", + "enum": [ + "WindowAC_ElectricBaseboard", + "WindowAC_BoilerBaseboard", + "WindowAC_ASHPBaseboard", + "WindowAC_DHWBaseboard", + "WindowAC_Furnace", + "WindowAC_GasHeaters", + "WindowAC" + ], + "type": "string" + }, + "WindowAC": { + "title": "WindowAC", + "description": "Window Air Conditioning cooling system (with optional heating).\n\nEach room/zone will receive its own Packaged Terminal Air Conditioner (PTAC)\nwith properties set to reflect a typical window air conditioning (AC) unit.\nNo ventilation air is supplied by the unit and the cooling coil within the\nunit is a single-speed direct expansion (DX) cooling coil. Heating loads\ncan be met with various options, including several types of baseboards,\na furnace, or gas unit heaters.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "WindowAC", + "pattern": "^WindowAC$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the WindowACEquipmentType enumeration.", + "default": "WindowAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/definitions/WindowACEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "GasUnitHeaterEquipmentType": { + "title": "GasUnitHeaterEquipmentType", + "description": "An enumeration.", + "enum": [ + "GasHeaters" + ], + "type": "string" + }, + "GasUnitHeater": { + "title": "GasUnitHeater", + "description": "Gas unit heating system.\n\nGas unit systems are intended for spaces only requiring heating and no\nventilation or cooling. Each room/zone will get its own gaa heating unit\nthat satisfies the heating load.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "GasUnitHeater", + "pattern": "^GasUnitHeater$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the GasUnitHeaterEquipmentType enumeration.", + "default": "GasHeaters", + "allOf": [ + { + "$ref": "#/definitions/GasUnitHeaterEquipmentType" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "RadiantEquipmentType": { + "title": "RadiantEquipmentType", + "description": "An enumeration.", + "enum": [ + "Radiant_Chiller_Boiler", + "Radiant_Chiller_ASHP", + "Radiant_Chiller_DHW", + "Radiant_ACChiller_Boiler", + "Radiant_ACChiller_ASHP", + "Radiant_ACChiller_DHW", + "Radiant_DCW_Boiler", + "Radiant_DCW_ASHP", + "Radiant_DCW_DHW" + ], + "type": "string" + }, + "Radiant": { + "title": "Radiant", + "description": "Low temperature radiant HVAC system.\n\nThis HVAC template will change the floor and/or ceiling constructions\nof the Rooms that it is applied to, replacing them with a construction that\naligns with the radiant_type property (eg. CeilingMetalPanel).\n\nThe heating and cooling needs of the space are met with the radiant constructions,\nwhich use chilled water at 12.8C (55F) and a hot water temperature somewhere\nbetween 32.2C (90F) and 49C (120F) (warmer temperatures are used in colder\nclimate zones).\n\nNote that radiant systems are particularly limited in cooling capacity and\nusing them may result in many unmet hours. To reduce unmet hours, one can\nremove carpets, reduce internal loads, reduce solar and envelope gains during\npeak times, add thermal mass, and use an expanded comfort range.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/definitions/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "Radiant", + "pattern": "^Radiant$", + "type": "string" + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the RadiantEquipmentType enumeration.", + "default": "Radiant_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/definitions/RadiantEquipmentType" + } + ] + }, + "radiant_face_type": { + "description": "Text to indicate which faces are thermally active by default. Note that this property has no effect when the rooms to which the HVAC system is assigned have constructions with internal source materials. In this case, those constructions will dictate the thermally active surfaces.", + "default": "Floor", + "allOf": [ + { + "$ref": "#/definitions/RadiantFaceTypes" + } + ] + }, + "minimum_operation_time": { + "title": "Minimum Operation Time", + "description": "A number for the minimum number of hours of operation for the radiant system before it shuts off.", + "default": 1.0, + "exclusiveMinimum": 0, + "type": "number" + }, + "switch_over_time": { + "title": "Switch Over Time", + "description": "A number for the minimum number of hours for when the system can switch between heating and cooling.", + "default": 24.0, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "DetailedHVAC": { + "title": "DetailedHVAC", + "description": "Detailed HVAC system object defined using IronBug or OpenStudio .NET bindings.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "DetailedHVAC", + "pattern": "^DetailedHVAC$", + "type": "string" + }, + "specification": { + "title": "Specification", + "description": "A JSON-serializable dictionary representing the full specification of the detailed system. This can be obtained by calling the ToJson() method on any IronBug HVAC system and then serializing the resulting JSON string into a Python dictionary using the native Python json package. Note that the Rooms that the HVAC is assigned to must be specified as ThermalZones under this specification in order for the resulting Model this HVAC is a part of to be valid.", + "type": "object" + } + }, + "required": [ + "identifier", + "specification" + ], + "additionalProperties": false + }, + "SHWEquipmentType": { + "title": "SHWEquipmentType", + "description": "An enumeration.", + "enum": [ + "Gas_WaterHeater", + "Electric_WaterHeater", + "HeatPump_WaterHeater", + "Gas_TanklessHeater", + "Electric_TanklessHeater" + ], + "type": "string" + }, + "SHWSystem": { + "title": "SHWSystem", + "description": "Provides a model for a Service Hot Water system.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "SHWSystem", + "pattern": "^SHWSystem$", + "type": "string" + }, + "equipment_type": { + "description": "Text to indicate the type of air-side economizer used on the ideal air system. Economizers will mix in a greater amount of outdoor air to cool the zone (rather than running the cooling system) when the zone needs cooling and the outdoor air is cooler than the zone.", + "default": "Gas_WaterHeater", + "allOf": [ + { + "$ref": "#/definitions/SHWEquipmentType" + } + ] + }, + "heater_efficiency": { + "title": "Heater Efficiency", + "description": "A number for the efficiency of the heater within the system. For Gas systems, this is the efficiency of the burner. For HeatPump systems, this is the rated COP of the system. For electric systems, this should usually be set to 1. If set to Autocalculate, this value will automatically be set based on the equipment_type. Gas_WaterHeater - 0.8, Electric_WaterHeater - 1.0, HeatPump_WaterHeater - 3.5, Gas_TanklessHeater - 0.8, Electric_TanklessHeater - 1.0.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "$ref": "#/definitions/Autocalculate" + } + ] + }, + "ambient_condition": { + "title": "Ambient Condition", + "description": "A number for the ambient temperature in which the hot water tank is located [C]. This can also be the identifier of a Room in which the tank is located.", + "default": 22, + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "ambient_loss_coefficient": { + "title": "Ambient Loss Coefficient", + "description": "A number for the loss of heat from the water heater tank to the surrounding ambient conditions [W/K].", + "default": 6, + "type": "number" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ProgramTypeAbridged": { + "title": "ProgramTypeAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ProgramTypeAbridged", + "pattern": "^ProgramTypeAbridged$", + "type": "string" + }, + "people": { + "title": "People", + "description": "People to describe the occupancy of the program. If None, no occupancy will be assumed for the program.", + "allOf": [ + { + "$ref": "#/definitions/PeopleAbridged" + } + ] + }, + "lighting": { + "title": "Lighting", + "description": "Lighting to describe the lighting usage of the program. If None, no lighting will be assumed for the program.", + "allOf": [ + { + "$ref": "#/definitions/LightingAbridged" + } + ] + }, + "electric_equipment": { + "title": "Electric Equipment", + "description": "ElectricEquipment to describe the usage of electric equipment within the program. If None, no electric equipment will be assumed.", + "allOf": [ + { + "$ref": "#/definitions/ElectricEquipmentAbridged" + } + ] + }, + "gas_equipment": { + "title": "Gas Equipment", + "description": "GasEquipment to describe the usage of gas equipment within the program. If None, no gas equipment will be assumed.", + "allOf": [ + { + "$ref": "#/definitions/GasEquipmentAbridged" + } + ] + }, + "service_hot_water": { + "title": "Service Hot Water", + "description": "ServiceHotWater object to describe the usage of hot water within the program. If None, no hot water will be assumed.", + "allOf": [ + { + "$ref": "#/definitions/ServiceHotWaterAbridged" + } + ] + }, + "infiltration": { + "title": "Infiltration", + "description": "Infiltration to describe the outdoor air leakage of the program. If None, no infiltration will be assumed for the program.", + "allOf": [ + { + "$ref": "#/definitions/InfiltrationAbridged" + } + ] + }, + "ventilation": { + "title": "Ventilation", + "description": "Ventilation to describe the minimum outdoor air requirement of the program. If None, no ventilation requirement will be assumed.", + "allOf": [ + { + "$ref": "#/definitions/VentilationAbridged" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "Setpoint object to describe the temperature and humidity setpoints of the program. If None, the ProgramType cannot be assigned to a Room that is conditioned.", + "allOf": [ + { + "$ref": "#/definitions/SetpointAbridged" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "People": { + "title": "People", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "People", + "pattern": "^People$", + "type": "string" + }, + "people_per_area": { + "title": "People Per Area", + "description": "People per floor area expressed as [people/m2]", + "minimum": 0, + "type": "number" + }, + "occupancy_schedule": { + "title": "Occupancy Schedule", + "description": "A schedule for the occupancy over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the people_per_area to yield a complete occupancy profile.", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + }, + "activity_schedule": { + "title": "Activity Schedule", + "description": "A schedule for the activity of the occupants over the course of the year. The type of this schedule should be ActivityLevel and the values of the schedule equal to the number of Watts given off by an individual person in the room. If None, a default constant schedule with 120 Watts per person will be used, which is typical of awake, adult humans who are seated.", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The radiant fraction of sensible heat released by people. (Default: 0.3).", + "default": 0.3, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the latent fraction of heat gain due to people or an Autocalculate object.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/definitions/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + } + }, + "required": [ + "identifier", + "people_per_area", + "occupancy_schedule" + ], + "additionalProperties": false + }, + "Lighting": { + "title": "Lighting", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Lighting", + "pattern": "^Lighting$", + "type": "string" + }, + "watts_per_area": { + "title": "Watts Per Area", + "description": "Lighting per floor area as [W/m2].", + "minimum": 0, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of lights over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete lighting profile.", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + }, + "visible_fraction": { + "title": "Visible Fraction", + "description": "The fraction of heat from lights that goes into the zone as visible (short-wave) radiation. (Default: 0.25).", + "default": 0.25, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The fraction of heat from lights that is long-wave radiation. (Default: 0.32).", + "default": 0.32, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "return_air_fraction": { + "title": "Return Air Fraction", + "description": "The fraction of the heat from lights that goes into the zone return air. (Default: 0).", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "baseline_watts_per_area": { + "title": "Baseline Watts Per Area", + "description": "The baseline lighting power density in [W/m2] of floor area. This baseline is useful to track how much better the installed lights are in comparison to a standard like ASHRAE 90.1. If set to None, it will default to 11.84029 W/m2, which is that ASHRAE 90.1-2004 baseline for an office.", + "default": 11.84029, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "identifier", + "watts_per_area", + "schedule" + ], + "additionalProperties": false + }, + "ElectricEquipment": { + "title": "ElectricEquipment", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "type": { + "title": "Type", + "default": "ElectricEquipment", + "pattern": "^ElectricEquipment$", + "type": "string" + } + }, + "required": [ + "identifier", + "watts_per_area", + "schedule" + ], + "additionalProperties": false + }, + "GasEquipment": { + "title": "GasEquipment", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "type": { + "title": "Type", + "default": "GasEquipment", + "pattern": "^GasEquipment$", + "type": "string" + } + }, + "required": [ + "identifier", + "watts_per_area", + "schedule" + ], + "additionalProperties": false + }, + "ServiceHotWater": { + "title": "ServiceHotWater", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ServiceHotWater", + "pattern": "^ServiceHotWater$", + "type": "string" + }, + "flow_per_area": { + "title": "Flow Per Area", + "description": "Number for the total volume flow rate of water per unit area of floor [L/h-m2].", + "minimum": 0, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of hot water over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_area to yield a complete water usage profile.", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + }, + "target_temperature": { + "title": "Target Temperature", + "description": "Number for the target temperature of water out of the tap (C). This the temperature after hot water has been mixed with cold water from the water mains. The default is 60C, which essentially assumes that the flow_per_area on this object is only for water straight out of the water heater.", + "default": 60, + "exclusiveMinimum": 0, + "type": "number" + }, + "sensible_fraction": { + "title": "Sensible Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load given off as sensible heat in the zone.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load that is latent.", + "default": 0.05, + "minimum": 0, + "maximum": 1, + "type": "number" + } + }, + "required": [ + "identifier", + "flow_per_area", + "schedule" + ], + "additionalProperties": false + }, + "Infiltration": { + "title": "Infiltration", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Infiltration", + "pattern": "^Infiltration$", + "type": "string" + }, + "flow_per_exterior_area": { + "title": "Flow Per Exterior Area", + "description": "Number for the infiltration per exterior surface area in m3/s-m2.", + "minimum": 0, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the infiltration over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_exterior_area to yield a complete infiltration profile.", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + }, + "constant_coefficient": { + "title": "Constant Coefficient", + "default": 1, + "minimum": 0, + "type": "number" + }, + "temperature_coefficient": { + "title": "Temperature Coefficient", + "default": 0, + "minimum": 0, + "type": "number" + }, + "velocity_coefficient": { + "title": "Velocity Coefficient", + "default": 0, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "identifier", + "flow_per_exterior_area", + "schedule" + ], + "additionalProperties": false + }, + "Ventilation": { + "title": "Ventilation", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Ventilation", + "pattern": "^Ventilation$", + "type": "string" + }, + "flow_per_person": { + "title": "Flow Per Person", + "description": "Intensity of ventilation in[] m3/s per person]. Note that setting this value does not mean that ventilation is varied based on real-time occupancy but rather that the design level of ventilation is determined using this value and the People object of the Room.", + "default": 0, + "minimum": 0, + "type": "number" + }, + "flow_per_area": { + "title": "Flow Per Area", + "description": "Intensity of ventilation in [m3/s per m2 of floor area].", + "default": 0, + "minimum": 0, + "type": "number" + }, + "air_changes_per_hour": { + "title": "Air Changes Per Hour", + "description": "Intensity of ventilation in air changes per hour (ACH) for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number" + }, + "flow_per_zone": { + "title": "Flow Per Zone", + "description": "Intensity of ventilation in m3/s for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number" + }, + "schedule": { + "title": "Schedule", + "description": "Schedule for the ventilation over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the total design flow rate (determined from the sum of the other 4 fields) to yield a complete ventilation profile.", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Setpoint": { + "title": "Setpoint", + "description": "Used to specify information about the setpoint schedule.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "Setpoint", + "pattern": "^Setpoint$", + "type": "string" + }, + "cooling_schedule": { + "title": "Cooling Schedule", + "description": "Schedule for the cooling setpoint. The values in this schedule should be temperature in [C].", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + }, + "heating_schedule": { + "title": "Heating Schedule", + "description": "Schedule for the heating setpoint. The values in this schedule should be temperature in [C].", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + }, + "humidifying_schedule": { + "title": "Humidifying Schedule", + "description": "Schedule for the humidification setpoint. The values in this schedule should be in [%].", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + }, + "dehumidifying_schedule": { + "title": "Dehumidifying Schedule", + "description": "Schedule for the dehumidification setpoint. The values in this schedule should be in [%].", + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + }, + "setpoint_cutout_difference": { + "title": "Setpoint Cutout Difference", + "description": "An optional positive number for the temperature difference between the cutout temperature and the setpoint temperature. Specifying a non-zero number here is useful for modeling the throttling range associated with a given setup of setpoint controls and HVAC equipment. Throttling ranges describe the range where a zone is slightly over-cooled or over-heated beyond the thermostat setpoint. They are used to avoid situations where HVAC systems turn on only to turn off a few minutes later, thereby wearing out the parts of mechanical systems faster. They can have a minor impact on energy consumption and can often have significant impacts on occupant thermal comfort, though using the default value of zero will often yield results that are close enough when trying to estimate the annual heating/cooling energy use. Specifying a value of zero effectively assumes that the system will turn on whenever conditions are outside the setpoint range and will cut out as soon as the setpoint is reached.", + "default": 0, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "identifier", + "cooling_schedule", + "heating_schedule" + ], + "additionalProperties": false + }, + "ProgramType": { + "title": "ProgramType", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ProgramType", + "pattern": "^ProgramType$", + "type": "string" + }, + "people": { + "title": "People", + "description": "People to describe the occupancy of the program. If None, no occupancy will be assumed for the program.", + "allOf": [ + { + "$ref": "#/definitions/People" + } + ] + }, + "lighting": { + "title": "Lighting", + "description": "Lighting to describe the lighting usage of the program. If None, no lighting will be assumed for the program.", + "allOf": [ + { + "$ref": "#/definitions/Lighting" + } + ] + }, + "electric_equipment": { + "title": "Electric Equipment", + "description": "ElectricEquipment to describe the usage of electric equipment within the program. If None, no electric equipment will be assumed.", + "allOf": [ + { + "$ref": "#/definitions/ElectricEquipment" + } + ] + }, + "gas_equipment": { + "title": "Gas Equipment", + "description": "GasEquipment to describe the usage of gas equipment within the program. If None, no gas equipment will be assumed.", + "allOf": [ + { + "$ref": "#/definitions/GasEquipment" + } + ] + }, + "service_hot_water": { + "title": "Service Hot Water", + "description": "ServiceHotWater object to describe the usage of hot water within the program. If None, no hot water will be assumed.", + "allOf": [ + { + "$ref": "#/definitions/ServiceHotWater" + } + ] + }, + "infiltration": { + "title": "Infiltration", + "description": "Infiltration to describe the outdoor air leakage of the program. If None, no infiltration will be assumed for the program.", + "allOf": [ + { + "$ref": "#/definitions/Infiltration" + } + ] + }, + "ventilation": { + "title": "Ventilation", + "description": "Ventilation to describe the minimum outdoor air requirement of the program. If None, no ventilation requirement will be assumed.", + "allOf": [ + { + "$ref": "#/definitions/Ventilation" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "Setpoint object to describe the temperature and humidity setpoints of the program. If None, the ProgramType cannot be assigned to a Room that is conditioned.", + "allOf": [ + { + "$ref": "#/definitions/Setpoint" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ScheduleRulesetAbridged": { + "title": "ScheduleRulesetAbridged", + "description": "Used to define a schedule for a default day, further described by ScheduleRule.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ScheduleRulesetAbridged", + "pattern": "^ScheduleRulesetAbridged$", + "type": "string" + }, + "day_schedules": { + "title": "Day Schedules", + "description": "A list of ScheduleDays that are referenced in the other keys of this ScheduleRulesetAbridged.", + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleDay" + } + }, + "default_day_schedule": { + "title": "Default Day Schedule", + "description": "An identifier for the ScheduleDay that will be used for all days when no ScheduleRule is applied. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "schedule_rules": { + "title": "Schedule Rules", + "description": "A list of ScheduleRuleAbridged that note exceptions to the default_day_schedule. These rules should be ordered from highest to lowest priority.", + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleRuleAbridged" + } + }, + "holiday_schedule": { + "title": "Holiday Schedule", + "description": "An identifier for the ScheduleDay that will be used for holidays. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "summer_designday_schedule": { + "title": "Summer Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the summer design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "winter_designday_schedule": { + "title": "Winter Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the winter design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "Identifier of a ScheduleTypeLimit that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "identifier", + "day_schedules", + "default_day_schedule" + ], + "additionalProperties": false + }, + "ScheduleFixedIntervalAbridged": { + "title": "ScheduleFixedIntervalAbridged", + "description": "Used to specify a start date and a list of values for a period of analysis.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "ScheduleFixedIntervalAbridged", + "pattern": "^ScheduleFixedIntervalAbridged$", + "type": "string" + }, + "values": { + "title": "Values", + "description": "A list of timeseries values occuring at each timestep over the course of the simulation.", + "minItems": 24, + "maxItems": 527040, + "type": "array", + "items": { + "type": "number" + } + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "Identifier of a ScheduleTypeLimit that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "timestep": { + "title": "Timestep", + "description": "An integer for the number of steps per hour that the input values correspond to. For example, if each value represents 30 minutes, the timestep is 2. For 15 minutes, it is 4.", + "default": 1, + "type": "integer" + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the start date when the schedule values begin to take effect.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer" + } + }, + "placeholder_value": { + "title": "Placeholder Value", + "description": " A value that will be used for all times not covered by the input values. Typically, your simulation should not need to use this value if the input values completely cover the simulation period.", + "default": 0, + "type": "number" + }, + "interpolate": { + "title": "Interpolate", + "description": "Boolean to note whether values in between intervals should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "identifier", + "values" + ], + "additionalProperties": false + }, + "VentilationControlType": { + "title": "VentilationControlType", + "description": "An enumeration.", + "enum": [ + "SingleZone", + "MultiZoneWithDistribution", + "MultiZoneWithoutDistribution" + ], + "type": "string" + }, + "BuildingType": { + "title": "BuildingType", + "description": "An enumeration.", + "enum": [ + "LowRise", + "HighRise" + ], + "type": "string" + }, + "VentilationSimulationControl": { + "title": "VentilationSimulationControl", + "description": "The global parameters used in the ventilation simulation.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationSimulationControl", + "pattern": "^VentilationSimulationControl$", + "type": "string" + }, + "vent_control_type": { + "description": "Text indicating type of ventilation control. Choices are: SingleZone, MultiZoneWithDistribution, MultiZoneWithoutDistribution. The MultiZone options will model air flow with the AirflowNetwork model, which is generally more accurate then the SingleZone option, but will take considerably longer to simulate, and requires defining more ventilation parameters to explicitly account for weather and building-induced pressure differences, and the leakage geometry corresponding to specific windows, doors, and surface cracks.", + "default": "SingleZone", + "allOf": [ + { + "$ref": "#/definitions/VentilationControlType" + } + ] + }, + "reference_temperature": { + "title": "Reference Temperature", + "description": "Reference temperature measurement in Celsius under which the surface crack data were obtained.", + "default": 20, + "minimum": -273.15, + "type": "number" + }, + "reference_pressure": { + "title": "Reference Pressure", + "description": "Reference barometric pressure measurement in Pascals under which the surface crack data were obtained.", + "default": 101325, + "minimum": 31000, + "maximum": 120000, + "type": "number" + }, + "reference_humidity_ratio": { + "title": "Reference Humidity Ratio", + "description": "Reference humidity ratio measurement in kgWater/kgDryAir under which the surface crack data were obtained.", + "default": 0, + "minimum": 0, + "type": "number" + }, + "building_type": { + "description": "Text indicating relationship between building footprint and height used to calculate the wind pressure coefficients for exterior surfaces.Choices are: LowRise and HighRise. LowRise corresponds to rectangular building whose height is less then three times the width and length of the footprint. HighRise corresponds to a rectangular building whose height is more than three times the width and length of the footprint. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.", + "default": "LowRise", + "allOf": [ + { + "$ref": "#/definitions/BuildingType" + } + ] + }, + "long_axis_angle": { + "title": "Long Axis Angle", + "description": "The clockwise rotation in degrees from true North of the long axis of the building. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.", + "default": 0, + "minimum": 0, + "maximum": 180, + "type": "number" + }, + "aspect_ratio": { + "title": "Aspect Ratio", + "description": "Aspect ratio of a rectangular footprint, defined as the ratio of length of the short axis divided by the length of the long axis. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.", + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + } + }, + "additionalProperties": false + }, + "ElectricLoadCenter": { + "title": "ElectricLoadCenter", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ElectricLoadCenter", + "pattern": "^ElectricLoadCenter$", + "type": "string" + }, + "inverter_efficiency": { + "title": "Inverter Efficiency", + "description": "A number between 0 and 1 for the load center inverter nominal rated DC-to-AC conversion efficiency. An inverter converts DC power, such as that output by photovoltaic panels, to AC power, such as that distributed by the electrical grid and is available from standard electrical outlets. Inverter efficiency is defined as the inverter rated AC power output divided by its rated DC power output.", + "default": 0.96, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "inverter_dc_to_ac_size_ratio": { + "title": "Inverter Dc To Ac Size Ratio", + "description": "A positive number (typically greater than 1) for the ratio of the inverter DC rated size to its AC rated size. Typically, inverters are not sized to convert the full DC output under standard test conditions (STC) as such conditions rarely occur in reality and therefore unnecessarily add to the size/cost of the inverter. For a system with a high DC to AC size ratio, during times when the DC power output exceeds the inverter rated DC input size, the inverter limits the power output by increasing the DC operating voltage, which moves the arrays operating point down its current-voltage (I-V) curve. In EnergyPlus, this is accomplished by simply limiting the system output to the AC size as dictated by the ratio. The default value of 1.1 is reasonable for most systems. A typical range is 1.1 to 1.25, although some large-scale systems have ratios of as high as 1.5. The optimal value depends on the system location, array orientation, and module cost.", + "default": 1.1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "additionalProperties": false + }, + "ModelEnergyProperties": { + "title": "ModelEnergyProperties", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModelEnergyProperties", + "pattern": "^ModelEnergyProperties$", + "type": "string" + }, + "global_construction_set": { + "title": "Global Construction Set", + "description": "Global Energy construction set.", + "default": { + "type": "GlobalConstructionSet", + "materials": [ + { + "identifier": "Generic Roof Membrane", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.01, + "conductivity": 0.16, + "density": 1120.0, + "specific_heat": 1460.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic Acoustic Tile", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.02, + "conductivity": 0.06, + "density": 368.0, + "specific_heat": 590.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.2, + "visible_absorptance": 0.2 + }, + { + "identifier": "Generic 25mm Wood", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0254, + "conductivity": 0.15, + "density": 608.0, + "specific_heat": 1630.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic HW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.2, + "conductivity": 1.95, + "density": 2240.0, + "specific_heat": 900.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic Window Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGas", + "thickness": 0.0127, + "gas_type": "Air" + }, + { + "identifier": "Generic Gypsum Board", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0127, + "conductivity": 0.16, + "density": 800.0, + "specific_heat": 1090.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic Wall Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.667, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Ceiling Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.556, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Brick", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.9, + "density": 1920.0, + "specific_heat": 790.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic 50mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.05, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Low-e Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.45, + "solar_reflectance": 0.36, + "solar_reflectance_back": 0.36, + "visible_transmittance": 0.71, + "visible_reflectance": 0.21, + "visible_reflectance_back": 0.21, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.047, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + }, + { + "identifier": "Generic Painted Metal", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.0015, + "conductivity": 45.0, + "density": 7690.0, + "specific_heat": 410.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic LW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.53, + "density": 1280.0, + "specific_heat": 840.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic 25mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.025, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Clear Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.77, + "solar_reflectance": 0.07, + "solar_reflectance_back": 0.07, + "visible_transmittance": 0.88, + "visible_reflectance": 0.08, + "visible_reflectance_back": 0.08, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.84, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + } + ], + "constructions": [ + { + "identifier": "Generic Interior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 25mm Wood" + ] + }, + { + "identifier": "Generic Single Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Shade", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.35, + "visible_reflectance": 0.35, + "is_specular": false + }, + { + "identifier": "Generic Context", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.2, + "visible_reflectance": 0.2, + "is_specular": false + }, + { + "identifier": "Generic Interior Ceiling", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Interior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Gypsum Board", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Exposed Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic Ceiling Air Gap", + "Generic 50mm Insulation", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Interior Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Acoustic Tile", + "Generic Ceiling Air Gap", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Ground Slab", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete" + ] + }, + { + "identifier": "Generic Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Roof Membrane", + "Generic 50mm Insulation", + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Exterior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Brick", + "Generic LW Concrete", + "Generic 50mm Insulation", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Underground Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Air Boundary", + "display_name": null, + "user_data": null, + "type": "AirBoundaryConstructionAbridged", + "air_mixing_per_area": 0.1, + "air_mixing_schedule": "Always On" + }, + { + "identifier": "Generic Underground Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Double Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Low-e Glass", + "Generic Window Air Gap", + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Exterior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic 25mm Insulation", + "Generic Painted Metal" + ] + } + ], + "wall_set": { + "interior_construction": "Generic Interior Wall", + "exterior_construction": "Generic Exterior Wall", + "ground_construction": "Generic Underground Wall", + "type": "WallConstructionSetAbridged" + }, + "floor_set": { + "interior_construction": "Generic Interior Floor", + "exterior_construction": "Generic Exposed Floor", + "ground_construction": "Generic Ground Slab", + "type": "FloorConstructionSetAbridged" + }, + "roof_ceiling_set": { + "interior_construction": "Generic Interior Ceiling", + "exterior_construction": "Generic Roof", + "ground_construction": "Generic Underground Roof", + "type": "RoofCeilingConstructionSetAbridged" + }, + "aperture_set": { + "type": "ApertureConstructionSetAbridged", + "interior_construction": "Generic Single Pane", + "window_construction": "Generic Double Pane", + "skylight_construction": "Generic Double Pane", + "operable_construction": "Generic Double Pane" + }, + "door_set": { + "type": "DoorConstructionSetAbridged", + "interior_construction": "Generic Interior Door", + "exterior_construction": "Generic Exterior Door", + "overhead_construction": "Generic Exterior Door", + "exterior_glass_construction": "Generic Double Pane", + "interior_glass_construction": "Generic Single Pane" + }, + "shade_construction": "Generic Shade", + "context_construction": "Generic Context", + "air_boundary_construction": "Generic Air Boundary" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/GlobalConstructionSet" + } + ] + }, + "construction_sets": { + "title": "Construction Sets", + "description": "List of all unique ConstructionSets in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/ConstructionSetAbridged" + }, + { + "$ref": "#/definitions/ConstructionSet" + } + ] + } + }, + "constructions": { + "title": "Constructions", + "description": "A list of all unique constructions in the model. This includes constructions across all Faces, Apertures, Doors, Shades, Room ConstructionSets, and the global_construction_set.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/OpaqueConstructionAbridged" + }, + { + "$ref": "#/definitions/WindowConstructionAbridged" + }, + { + "$ref": "#/definitions/WindowConstructionShadeAbridged" + }, + { + "$ref": "#/definitions/AirBoundaryConstructionAbridged" + }, + { + "$ref": "#/definitions/OpaqueConstruction" + }, + { + "$ref": "#/definitions/WindowConstruction" + }, + { + "$ref": "#/definitions/WindowConstructionShade" + }, + { + "$ref": "#/definitions/WindowConstructionDynamicAbridged" + }, + { + "$ref": "#/definitions/WindowConstructionDynamic" + }, + { + "$ref": "#/definitions/AirBoundaryConstruction" + }, + { + "$ref": "#/definitions/ShadeConstruction" + } + ] + } + }, + "materials": { + "title": "Materials", + "description": "A list of all unique materials in the model. This includes materials needed to make the Model constructions.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/EnergyMaterial" + }, + { + "$ref": "#/definitions/EnergyMaterialNoMass" + }, + { + "$ref": "#/definitions/EnergyMaterialVegetation" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialGlazing" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialSimpleGlazSys" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialGas" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialGasMixture" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialGasCustom" + }, + { + "$ref": "#/definitions/EnergyWindowFrame" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialBlind" + }, + { + "$ref": "#/definitions/EnergyWindowMaterialShade" + } + ] + } + }, + "hvacs": { + "title": "Hvacs", + "description": "List of all unique HVAC systems in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/IdealAirSystemAbridged" + }, + { + "$ref": "#/definitions/VAV" + }, + { + "$ref": "#/definitions/PVAV" + }, + { + "$ref": "#/definitions/PSZ" + }, + { + "$ref": "#/definitions/PTAC" + }, + { + "$ref": "#/definitions/ForcedAirFurnace" + }, + { + "$ref": "#/definitions/FCUwithDOASAbridged" + }, + { + "$ref": "#/definitions/WSHPwithDOASAbridged" + }, + { + "$ref": "#/definitions/VRFwithDOASAbridged" + }, + { + "$ref": "#/definitions/RadiantwithDOASAbridged" + }, + { + "$ref": "#/definitions/FCU" + }, + { + "$ref": "#/definitions/WSHP" + }, + { + "$ref": "#/definitions/VRF" + }, + { + "$ref": "#/definitions/Baseboard" + }, + { + "$ref": "#/definitions/EvaporativeCooler" + }, + { + "$ref": "#/definitions/Residential" + }, + { + "$ref": "#/definitions/WindowAC" + }, + { + "$ref": "#/definitions/GasUnitHeater" + }, + { + "$ref": "#/definitions/Radiant" + }, + { + "$ref": "#/definitions/DetailedHVAC" + } + ] + } + }, + "shws": { + "title": "Shws", + "description": "List of all unique Service Hot Water (SHW) systems in the Model.", + "type": "array", + "items": { + "$ref": "#/definitions/SHWSystem" + } + }, + "program_types": { + "title": "Program Types", + "description": "List of all unique ProgramTypes in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/ProgramTypeAbridged" + }, + { + "$ref": "#/definitions/ProgramType" + } + ] + } + }, + "schedules": { + "title": "Schedules", + "description": "A list of all unique schedules in the model. This includes schedules across all HVAC systems, ProgramTypes, Rooms, and Shades.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/ScheduleRulesetAbridged" + }, + { + "$ref": "#/definitions/ScheduleFixedIntervalAbridged" + }, + { + "$ref": "#/definitions/ScheduleRuleset" + }, + { + "$ref": "#/definitions/ScheduleFixedInterval" + } + ] + } + }, + "schedule_type_limits": { + "title": "Schedule Type Limits", + "description": "A list of all unique ScheduleTypeLimits in the model. This all ScheduleTypeLimits needed to make the Model schedules.", + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleTypeLimit" + } + }, + "ventilation_simulation_control": { + "title": "Ventilation Simulation Control", + "description": "An optional parameter to define the global parameters for a ventilation cooling.", + "allOf": [ + { + "$ref": "#/definitions/VentilationSimulationControl" + } + ] + }, + "electric_load_center": { + "title": "Electric Load Center", + "description": "An optional parameter object that defines the properties of the model electric loads center that manages on site electricity generation and conversion.", + "allOf": [ + { + "$ref": "#/definitions/ElectricLoadCenter" + } + ] + } + }, + "additionalProperties": false + }, + "Void": { + "title": "Void", + "description": "Void modifier", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Void", + "pattern": "^Void$", + "type": "string" + } + } + }, + "Mirror": { + "title": "Mirror", + "description": "Radiance mirror material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Mirror", + "pattern": "^Mirror$", + "type": "string" + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "alternate_material": { + "title": "Alternate Material", + "description": "An optional material (like the illum type) that may be used to specify a different material to be used for shading non-source rays. If None, this will keep the alternat_material as mirror. If this alternate material is given as Void, then the mirror surface will be invisible. Using Void is only appropriate if the surface hides other (more detailed) geometry with the same overall reflectance.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Metal": { + "title": "Metal", + "description": "Radiance metal material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Metal", + "pattern": "^Metal$", + "type": "string" + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "specularity": { + "title": "Specularity", + "description": "A value between 0 and 1 for the fraction of specularity. Specularity fractions lower than 0.9 are not realistic for metallic materials.", + "default": 0.9, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "roughness": { + "title": "Roughness", + "description": "A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Trans": { + "title": "Trans", + "description": "Radiance Translucent material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Trans", + "pattern": "^Trans$", + "type": "string" + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "specularity": { + "title": "Specularity", + "description": "A value between 0 and 1 for the fraction of specularity. Specularity fractions greater than 0.1 are not realistic for non-metallic materials.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "roughness": { + "title": "Roughness", + "description": "A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "transmitted_diff": { + "title": "Transmitted Diff", + "description": "The fraction of transmitted light that is transmitted diffusely in a scattering fashion.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "transmitted_spec": { + "title": "Transmitted Spec", + "description": "The fraction of transmitted light that is not diffusely scattered.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Light": { + "title": "Light", + "description": "Radiance Light material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Light", + "pattern": "^Light$", + "type": "string" + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + } + }, + "r_emittance": { + "title": "R Emittance", + "description": "A value between 0 and 1 for the red channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "g_emittance": { + "title": "G Emittance", + "description": "A value between 0 and 1 for the green channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "b_emittance": { + "title": "B Emittance", + "description": "A value between 0 and 1 for the blue channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Glow": { + "title": "Glow", + "description": "Radiance Glow material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Glow", + "pattern": "^Glow$", + "type": "string" + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + } + }, + "r_emittance": { + "title": "R Emittance", + "description": "A value between 0 and 1 for the red channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "g_emittance": { + "title": "G Emittance", + "description": "A value between 0 and 1 for the green channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "b_emittance": { + "title": "B Emittance", + "description": "A value between 0 and 1 for the blue channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "max_radius": { + "title": "Max Radius", + "description": "Maximum radius for shadow testing. Objects with zero radius are permissable and may participate in interreflection calculation (though they are not representative of real light sources). Negative values will never contribute to scene illumination.", + "default": 0, + "type": "number" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "BSDF": { + "title": "BSDF", + "description": "Radiance BSDF (Bidirectional Scattering Distribution Function) material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "BSDF", + "pattern": "^BSDF$", + "type": "string" + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + } + }, + "up_orientation": { + "title": "Up Orientation", + "description": "Vector as sequence that sets the hemisphere that the BSDF material faces.", + "default": [ + 0.01, + 0.01, + 1.0 + ], + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number" + } + }, + "thickness": { + "title": "Thickness", + "description": "Optional number to set the thickness of the BSDF material Sign of thickness indicates whether proxied geometry is behind the BSDF surface (when thickness is positive) or in front (when thickness is negative).", + "default": 0, + "type": "number" + }, + "function_file": { + "title": "Function File", + "description": "Optional input for function file. Using \".\" will ensure that BSDF data is written to the root of wherever a given study is run.", + "default": ".", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "transform": { + "title": "Transform", + "description": "Optional transform input to scale the thickness and reorient the up vector.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "bsdf_data": { + "title": "Bsdf Data", + "description": "A string with the contents of the BSDF XML file.", + "type": "string" + }, + "front_diffuse_reflectance": { + "title": "Front Diffuse Reflectance", + "description": "Optional additional front diffuse reflectance as sequence of three RGB numbers.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number" + } + }, + "back_diffuse_reflectance": { + "title": "Back Diffuse Reflectance", + "description": "Optional additional back diffuse reflectance as sequence of three RGB numbers.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number" + } + }, + "diffuse_transmittance": { + "title": "Diffuse Transmittance", + "description": "Optional additional diffuse transmittance as sequence of three RGB numbers.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "identifier", + "bsdf_data" + ], + "additionalProperties": false + }, + "Glass": { + "title": "Glass", + "description": "Radiance glass material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Glass", + "pattern": "^Glass$", + "type": "string" + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + } + }, + "r_transmissivity": { + "title": "R Transmissivity", + "description": "A value between 0 and 1 for the red channel transmissivity.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "g_transmissivity": { + "title": "G Transmissivity", + "description": "A value between 0 and 1 for the green channel transmissivity.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "b_transmissivity": { + "title": "B Transmissivity", + "description": "A value between 0 and 1 for the blue channel transmissivity.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "refraction_index": { + "title": "Refraction Index", + "description": "A value greater than 1 for the index of refraction. Typical values are 1.52 for float glass and 1.4 for ETFE.", + "default": 1.52, + "exclusiveMinimum": 1, + "type": "number" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Plastic": { + "title": "Plastic", + "description": "Radiance plastic material.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "Plastic", + "pattern": "^Plastic$", + "type": "string" + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "specularity": { + "title": "Specularity", + "description": "A value between 0 and 1 for the fraction of specularity. Specularity fractions greater than 0.1 are not realistic for non-metallic materials.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + }, + "roughness": { + "title": "Roughness", + "description": "A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "WallModifierSetAbridged": { + "title": "WallModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Walls.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "Identifier for a radiance modifier object for faces with an Outdoors boundary condition.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "WallModifierSetAbridged", + "pattern": "^WallModifierSetAbridged$", + "type": "string" + } + }, + "additionalProperties": false + }, + "FloorModifierSetAbridged": { + "title": "FloorModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Floors.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "Identifier for a radiance modifier object for faces with an Outdoors boundary condition.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "FloorModifierSetAbridged", + "pattern": "^FloorModifierSetAbridged$", + "type": "string" + } + }, + "additionalProperties": false + }, + "RoofCeilingModifierSetAbridged": { + "title": "RoofCeilingModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Roofs.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "Identifier for a radiance modifier object for faces with an Outdoors boundary condition.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "RoofCeilingModifierSetAbridged", + "pattern": "^RoofCeilingModifierSetAbridged$", + "type": "string" + } + }, + "additionalProperties": false + }, + "ApertureModifierSetAbridged": { + "title": "ApertureModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Apertures.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureModifierSetAbridged", + "pattern": "^ApertureModifierSetAbridged$", + "type": "string" + }, + "window_modifier": { + "title": "Window Modifier", + "description": "Identifier of modifier object for apertures with an Outdoors boundary condition, False is_operable property, and Wall parent Face.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier of modifier object for apertures with a Surface boundary condition.", + "type": "string" + }, + "skylight_modifier": { + "title": "Skylight Modifier", + "description": "Identifier of modifier object for apertures with an Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "type": "string" + }, + "operable_modifier": { + "title": "Operable Modifier", + "description": "Identifier of modifier object for apertures with an Outdoors boundary condition and a True is_operable property.", + "type": "string" + } + }, + "additionalProperties": false + }, + "DoorModifierSetAbridged": { + "title": "DoorModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Doors.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "Identifier for a radiance modifier object for faces with an Outdoors boundary condition.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "DoorModifierSetAbridged", + "pattern": "^DoorModifierSetAbridged$", + "type": "string" + }, + "interior_glass_modifier": { + "title": "Interior Glass Modifier", + "description": "Identifier of modifier object for glass with a Surface boundary condition.", + "type": "string" + }, + "exterior_glass_modifier": { + "title": "Exterior Glass Modifier", + "description": "Identifier of modifier object for glass with an Outdoors boundary condition.", + "type": "string" + }, + "overhead_modifier": { + "title": "Overhead Modifier", + "description": "Identifier of a modifier object for doors with an Outdoors boundary condition and a RoofCeiling or Floor face type for their parent face.", + "type": "string" + } + }, + "additionalProperties": false + }, + "ShadeModifierSetAbridged": { + "title": "ShadeModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Shade.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "Identifier for a radiance modifier object for faces with an Outdoors boundary condition.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ShadeModifierSetAbridged", + "pattern": "^ShadeModifierSetAbridged$", + "type": "string" + } + }, + "additionalProperties": false + }, + "GlobalModifierSet": { + "title": "GlobalModifierSet", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "GlobalModifierSet", + "pattern": "^GlobalModifierSet$", + "type": "string" + }, + "modifiers": { + "title": "Modifiers", + "description": "Global Honeybee Radiance modifiers.", + "default": [ + { + "identifier": "generic_floor_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_wall_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_ceiling_0.80", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.8, + "g_reflectance": 0.8, + "b_reflectance": 0.8, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_opaque_door_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_shade_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_exterior_shade_0.35", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.35, + "g_reflectance": 0.35, + "b_reflectance": 0.35, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_context_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_window_vis_0.88", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.9584154328610596, + "g_transmissivity": 0.9584154328610596, + "b_transmissivity": 0.9584154328610596, + "refraction_index": null + }, + { + "identifier": "generic_exterior_window_vis_0.64", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.6975761815384331, + "g_transmissivity": 0.6975761815384331, + "b_transmissivity": 0.6975761815384331, + "refraction_index": null + }, + { + "identifier": "air_boundary", + "display_name": null, + "type": "Trans", + "modifier": null, + "dependencies": [], + "r_reflectance": 1.0, + "g_reflectance": 1.0, + "b_reflectance": 1.0, + "specularity": 0.0, + "roughness": 0.0, + "transmitted_diff": 1.0, + "transmitted_spec": 1.0 + } + ], + "readOnly": true, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/Trans" + } + ] + } + }, + "wall_set": { + "title": "Wall Set", + "description": "Global Honeybee WallModifierSet.", + "default": { + "exterior_modifier": "generic_wall_0.50", + "interior_modifier": "generic_wall_0.50", + "type": "WallModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/WallModifierSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "Global Honeybee FloorModifierSet.", + "default": { + "exterior_modifier": "generic_floor_0.20", + "interior_modifier": "generic_floor_0.20", + "type": "FloorModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/FloorModifierSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "Global Honeybee RoofCeilingModifierSet.", + "default": { + "exterior_modifier": "generic_ceiling_0.80", + "interior_modifier": "generic_ceiling_0.80", + "type": "RoofCeilingModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/RoofCeilingModifierSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "Global Honeybee ApertureModifierSet.", + "default": { + "type": "ApertureModifierSetAbridged", + "window_modifier": "generic_exterior_window_vis_0.64", + "interior_modifier": "generic_interior_window_vis_0.88", + "skylight_modifier": "generic_exterior_window_vis_0.64", + "operable_modifier": "generic_exterior_window_vis_0.64" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/ApertureModifierSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "Global Honeybee DoorModifierSet.", + "default": { + "exterior_modifier": "generic_opaque_door_0.50", + "interior_modifier": "generic_opaque_door_0.50", + "type": "DoorModifierSetAbridged", + "interior_glass_modifier": "generic_interior_window_vis_0.88", + "exterior_glass_modifier": "generic_exterior_window_vis_0.64", + "overhead_modifier": "generic_opaque_door_0.50" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/DoorModifierSetAbridged" + } + ] + }, + "shade_set": { + "title": "Shade Set", + "description": "Global Honeybee ShadeModifierSet.", + "default": { + "exterior_modifier": "generic_exterior_shade_0.35", + "interior_modifier": "generic_interior_shade_0.50", + "type": "ShadeModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/ShadeModifierSetAbridged" + } + ] + }, + "air_boundary_modifier": { + "title": "Air Boundary Modifier", + "description": "Global Honeybee Modifier for AirBoundary Faces.", + "default": "air_boundary", + "readOnly": true, + "type": "string" + }, + "context_modifier": { + "title": "Context Modifier", + "description": "Global Honeybee Modifier for context Shades.", + "default": "generic_context_0.20", + "readOnly": true, + "type": "string" + } + }, + "additionalProperties": false + }, + "WallModifierSet": { + "title": "WallModifierSet", + "description": "Set containing radiance modifiers needed for a model's Walls.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "WallModifierSet", + "pattern": "^WallModifierSet$", + "type": "string" + } + }, + "additionalProperties": false + }, + "FloorModifierSet": { + "title": "FloorModifierSet", + "description": "Set containing radiance modifiers needed for a model's Floors.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "FloorModifierSet", + "pattern": "^FloorModifierSet$", + "type": "string" + } + }, + "additionalProperties": false + }, + "RoofCeilingModifierSet": { + "title": "RoofCeilingModifierSet", + "description": "Set containing radiance modifiers needed for a model's roofs.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "RoofCeilingModifierSet", + "pattern": "^RoofCeilingModifierSet$", + "type": "string" + } + }, + "additionalProperties": false + }, + "ApertureModifierSet": { + "title": "ApertureModifierSet", + "description": "Set containing radiance modifiers needed for a model's Apertures.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureModifierSet", + "pattern": "^ApertureModifierSet$", + "type": "string" + }, + "window_modifier": { + "title": "Window Modifier", + "description": "A modifier object for apertures with an Outdoors boundary condition, False is_operable property, and Wall parent Face.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A modifier object for apertures with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "skylight_modifier": { + "title": "Skylight Modifier", + "description": "A modifier object for apertures with an Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "operable_modifier": { + "title": "Operable Modifier", + "description": "A modifier object for apertures with an Outdoors boundary condition and a True is_operable property.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + } + }, + "additionalProperties": false + }, + "DoorModifierSet": { + "title": "DoorModifierSet", + "description": "Set containing radiance modifiers needed for a model's Doors.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "DoorModifierSet", + "pattern": "^DoorModifierSet$", + "type": "string" + }, + "interior_glass_modifier": { + "title": "Interior Glass Modifier", + "description": "A modifier object for glass with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "exterior_glass_modifier": { + "title": "Exterior Glass Modifier", + "description": "A modifier object for glass with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "overhead_modifier": { + "title": "Overhead Modifier", + "description": "A window modifier object for doors with an Outdoors boundary condition and a RoofCeiling or Floor face type for their parent face.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + } + }, + "additionalProperties": false + }, + "ShadeModifierSet": { + "title": "ShadeModifierSet", + "description": "Set containing radiance modifiers needed for a model's Shade.", + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "ShadeModifierSet", + "pattern": "^ShadeModifierSet$", + "type": "string" + } + }, + "additionalProperties": false + }, + "ModifierSet": { + "title": "ModifierSet", + "description": "Set containing all radiance modifiers needed to create a radiance model.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ModifierSet", + "pattern": "^ModifierSet$", + "type": "string" + }, + "wall_set": { + "title": "Wall Set", + "description": "An optional WallModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/definitions/WallModifierSet" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "An optional FloorModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/definitions/FloorModifierSet" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "An optional RoofCeilingModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/definitions/RoofCeilingModifierSet" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "An optional ApertureModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/definitions/ApertureModifierSet" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "An optional DoorModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/definitions/DoorModifierSet" + } + ] + }, + "shade_set": { + "title": "Shade Set", + "description": "An optional ShadeModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/definitions/ShadeModifierSet" + } + ] + }, + "air_boundary_modifier": { + "title": "Air Boundary Modifier", + "description": "An optional Modifier to be used for all Faces with an AirBoundary face type. If None, it will be the honeybee generic air wall modifier.", + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "ModifierSetAbridged": { + "title": "ModifierSetAbridged", + "description": "Abridged set containing all modifiers needed to create a radiance model.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ModifierSetAbridged", + "pattern": "^ModifierSetAbridged$", + "type": "string" + }, + "wall_set": { + "title": "Wall Set", + "description": "Optional WallModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/definitions/WallModifierSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "Optional FloorModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/definitions/FloorModifierSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "Optional RoofCeilingModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/definitions/RoofCeilingModifierSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "Optional ApertureModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/definitions/ApertureModifierSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "Optional DoorModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/definitions/DoorModifierSetAbridged" + } + ] + }, + "shade_set": { + "title": "Shade Set", + "description": "Optional ShadeModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/definitions/ShadeModifierSetAbridged" + } + ] + }, + "air_boundary_modifier": { + "title": "Air Boundary Modifier", + "description": "Optional Modifier to be used for all Faces with an AirBoundary face type. If None, it will be the honeybee generic air wall modifier.", + "type": "string" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "Sensor": { + "title": "Sensor", + "description": "A single Radiance of sensors.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Sensor", + "pattern": "^Sensor$", + "type": "string" + }, + "pos": { + "title": "Pos", + "description": "Position of sensor in space as an array of (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number" + } + }, + "dir": { + "title": "Dir", + "description": "Direction of sensor as an array of (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "pos", + "dir" + ], + "additionalProperties": false + }, + "SensorGrid": { + "title": "SensorGrid", + "description": "A grid of sensors.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "room_identifier": { + "title": "Room Identifier", + "description": "Optional text string for the Room identifier to which this object belongs. This will be used to narrow down the number of aperture groups that have to be run with this sensor grid. If None, the grid will be run with all aperture groups in the model.", + "maxLength": 100, + "minLength": 1, + "pattern": "[.A-Za-z0-9_-]", + "type": "string" + }, + "light_path": { + "title": "Light Path", + "description": "Get or set a list of lists for the light path from the object to the sky. Each sub-list contains identifiers of aperture groups through which light passes. (eg. [[\"SouthWindow1\"], [\"static_apertures\", \"NorthWindow2\"]]).Setting this property will override any auto-calculation of the light path from the model and room_identifier upon export to the simulation.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": { + "title": "Type", + "default": "SensorGrid", + "pattern": "^SensorGrid$", + "type": "string" + }, + "sensors": { + "title": "Sensors", + "description": "A list of sensors that belong to the grid.", + "type": "array", + "items": { + "$ref": "#/definitions/Sensor" + } + }, + "mesh": { + "title": "Mesh", + "description": "An optional Mesh3D that aligns with the sensors and can be used for visualization of the grid. Note that the number of sensors in the grid must match the number of faces or the number vertices within the Mesh3D.", + "allOf": [ + { + "$ref": "#/definitions/Mesh3D" + } + ] + }, + "base_geometry": { + "title": "Base Geometry", + "description": "An optional array of Face3D used to represent the grid. There are no restrictions on how this property relates to the sensors and it is provided only to assist with the display of the grid when the number of sensors or the mesh is too large to be practically visualized.", + "type": "array", + "items": { + "$ref": "#/definitions/Face3D" + } + }, + "group_identifier": { + "title": "Group Identifier", + "description": "An optional string to note the sensor grid group ' 'to which the sensor is a part of. Grids sharing the same ' 'group_identifier will be written to the same subfolder in Radiance ' 'folder (default: None).", + "type": "string" + } + }, + "required": [ + "identifier", + "sensors" + ], + "additionalProperties": false + }, + "ViewType": { + "title": "ViewType", + "description": "A single character for the view type (-vt).", + "enum": [ + "v", + "h", + "l", + "c", + "a", + "s" + ], + "type": "string" + }, + "View": { + "title": "View", + "description": "A single Radiance of sensors.", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "room_identifier": { + "title": "Room Identifier", + "description": "Optional text string for the Room identifier to which this object belongs. This will be used to narrow down the number of aperture groups that have to be run with this sensor grid. If None, the grid will be run with all aperture groups in the model.", + "maxLength": 100, + "minLength": 1, + "pattern": "[.A-Za-z0-9_-]", + "type": "string" + }, + "light_path": { + "title": "Light Path", + "description": "Get or set a list of lists for the light path from the object to the sky. Each sub-list contains identifiers of aperture groups through which light passes. (eg. [[\"SouthWindow1\"], [\"static_apertures\", \"NorthWindow2\"]]).Setting this property will override any auto-calculation of the light path from the model and room_identifier upon export to the simulation.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": { + "title": "Type", + "default": "View", + "pattern": "^View$", + "type": "string" + }, + "position": { + "title": "Position", + "description": "The view position (-vp) as an array of (x, y, z) values.This is the focal point of a perspective view or the center of a parallel projection.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number" + } + }, + "direction": { + "title": "Direction", + "description": "The view direction (-vd) as an array of (x, y, z) values.The length of this vector indicates the focal distance as needed by the pixel depth of field (-pd) in rpict.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number" + } + }, + "up_vector": { + "title": "Up Vector", + "description": "The view up (-vu) vector as an array of (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number" + } + }, + "view_type": { + "default": "v", + "allOf": [ + { + "$ref": "#/definitions/ViewType" + } + ] + }, + "h_size": { + "title": "H Size", + "description": "A number for the horizontal field of view in degrees (for all perspective projections including fisheye). For a parallel projection, this is the view width in world coordinates.", + "default": 60, + "type": "number" + }, + "v_size": { + "title": "V Size", + "description": "A number for the vertical field of view in degrees (for all perspective projections including fisheye). For a parallel projection, this is the view width in world coordinates.", + "default": 60, + "type": "number" + }, + "shift": { + "title": "Shift", + "description": "The view shift (-vs). This is the amount the actual image will be shifted to the right of the specified view. This option is useful for generating skewed perspectives or rendering an image a piece at a time. A value of 1 means that the rendered image starts just to the right of the normal view. A value of -1 would be to the left. Larger or fractional values are permitted as well.", + "type": "number" + }, + "lift": { + "title": "Lift", + "description": "The view lift (-vl). This is the amount the actual image will be lifted up from the specified view. This option is useful for generating skewed perspectives or rendering an image a piece at a time. A value of 1 means that the rendered image starts just to the right of the normal view. A value of -1 would be to the left. Larger or fractional values are permitted as well.", + "type": "number" + }, + "fore_clip": { + "title": "Fore Clip", + "description": "View fore clip (-vo) at a distance from the view point.The plane will be perpendicular to the view direction for perspective and parallel view types. For fisheye view types, the clipping plane is actually a clipping sphere, centered on the view point with fore_clip radius. Objects in front of this imaginary surface will not be visible.", + "type": "number" + }, + "aft_clip": { + "title": "Aft Clip", + "description": "View aft clip (-va) at a distance from the view point.Like the view fore plane, it will be perpendicular to the view direction for perspective and parallel view types. For fisheye view types, the clipping plane is actually a clipping sphere, centered on the view point with radius val.", + "type": "number" + }, + "group_identifier": { + "title": "Group Identifier", + "description": "An optional string to note the view group ' 'to which the sensor is a part of. Views sharing the same ' 'group_identifier will be written to the same subfolder in Radiance ' 'folder (default: None).", + "type": "string" + } + }, + "required": [ + "identifier", + "position", + "direction", + "up_vector" + ], + "additionalProperties": false + }, + "ModelRadianceProperties": { + "title": "ModelRadianceProperties", + "description": "Radiance Properties for Honeybee Model.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModelRadianceProperties", + "pattern": "^ModelRadianceProperties$", + "type": "string" + }, + "global_modifier_set": { + "title": "Global Modifier Set", + "description": "Global Radiance modifier set.", + "default": { + "type": "GlobalModifierSet", + "modifiers": [ + { + "identifier": "generic_floor_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_wall_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_ceiling_0.80", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.8, + "g_reflectance": 0.8, + "b_reflectance": 0.8, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_opaque_door_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_shade_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_exterior_shade_0.35", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.35, + "g_reflectance": 0.35, + "b_reflectance": 0.35, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_context_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_window_vis_0.88", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.9584154328610596, + "g_transmissivity": 0.9584154328610596, + "b_transmissivity": 0.9584154328610596, + "refraction_index": null + }, + { + "identifier": "generic_exterior_window_vis_0.64", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.6975761815384331, + "g_transmissivity": 0.6975761815384331, + "b_transmissivity": 0.6975761815384331, + "refraction_index": null + }, + { + "identifier": "air_boundary", + "display_name": null, + "type": "Trans", + "modifier": null, + "dependencies": [], + "r_reflectance": 1.0, + "g_reflectance": 1.0, + "b_reflectance": 1.0, + "specularity": 0.0, + "roughness": 0.0, + "transmitted_diff": 1.0, + "transmitted_spec": 1.0 + } + ], + "wall_set": { + "exterior_modifier": "generic_wall_0.50", + "interior_modifier": "generic_wall_0.50", + "type": "WallModifierSetAbridged" + }, + "floor_set": { + "exterior_modifier": "generic_floor_0.20", + "interior_modifier": "generic_floor_0.20", + "type": "FloorModifierSetAbridged" + }, + "roof_ceiling_set": { + "exterior_modifier": "generic_ceiling_0.80", + "interior_modifier": "generic_ceiling_0.80", + "type": "RoofCeilingModifierSetAbridged" + }, + "aperture_set": { + "type": "ApertureModifierSetAbridged", + "window_modifier": "generic_exterior_window_vis_0.64", + "interior_modifier": "generic_interior_window_vis_0.88", + "skylight_modifier": "generic_exterior_window_vis_0.64", + "operable_modifier": "generic_exterior_window_vis_0.64" + }, + "door_set": { + "exterior_modifier": "generic_opaque_door_0.50", + "interior_modifier": "generic_opaque_door_0.50", + "type": "DoorModifierSetAbridged", + "interior_glass_modifier": "generic_interior_window_vis_0.88", + "exterior_glass_modifier": "generic_exterior_window_vis_0.64", + "overhead_modifier": "generic_opaque_door_0.50" + }, + "shade_set": { + "exterior_modifier": "generic_exterior_shade_0.35", + "interior_modifier": "generic_interior_shade_0.50", + "type": "ShadeModifierSetAbridged" + }, + "air_boundary_modifier": "air_boundary", + "context_modifier": "generic_context_0.20" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/GlobalModifierSet" + } + ] + }, + "modifiers": { + "title": "Modifiers", + "description": "A list of all unique modifiers in the model. This includes modifiers across all Faces, Apertures, Doors, Shades, Room ModifierSets, and the global_modifier_set.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/Plastic" + }, + { + "$ref": "#/definitions/Glass" + }, + { + "$ref": "#/definitions/BSDF" + }, + { + "$ref": "#/definitions/Glow" + }, + { + "$ref": "#/definitions/Light" + }, + { + "$ref": "#/definitions/Trans" + }, + { + "$ref": "#/definitions/Metal" + }, + { + "$ref": "#/definitions/Void" + }, + { + "$ref": "#/definitions/Mirror" + } + ] + } + }, + "modifier_sets": { + "title": "Modifier Sets", + "description": "A list of all unique Room-Assigned ModifierSets in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/ModifierSet" + }, + { + "$ref": "#/definitions/ModifierSetAbridged" + } + ] + } + }, + "sensor_grids": { + "title": "Sensor Grids", + "description": "An array of SensorGrids that are associated with the model.", + "type": "array", + "items": { + "$ref": "#/definitions/SensorGrid" + } + }, + "views": { + "title": "Views", + "description": "An array of Views that are associated with the model.", + "type": "array", + "items": { + "$ref": "#/definitions/View" + } + } + }, + "additionalProperties": false + }, + "ModelProperties": { + "title": "ModelProperties", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModelProperties", + "pattern": "^ModelProperties$", + "type": "string" + }, + "energy": { + "$ref": "#/definitions/ModelEnergyProperties" + }, + "radiance": { + "$ref": "#/definitions/ModelRadianceProperties" + } + } + } + } +} \ No newline at end of file diff --git a/model_mapper.json b/model_mapper.json new file mode 100644 index 0000000..97e1aab --- /dev/null +++ b/model_mapper.json @@ -0,0 +1,224 @@ +{ + "classes": { + "AFNCrack": "honeybee_schema.energy.ventcool", + "Adiabatic": "honeybee_schema.boundarycondition", + "AirBoundaryConstruction": "honeybee_schema.energy.construction", + "AirBoundaryConstructionAbridged": "honeybee_schema.energy.construction", + "Aperture": "honeybee_schema.model", + "ApertureConstructionSet": "honeybee_schema.energy.constructionset", + "ApertureConstructionSetAbridged": "honeybee_schema.energy.constructionset", + "ApertureEnergyPropertiesAbridged": "honeybee_schema.energy.properties", + "ApertureModifierSet": "honeybee_schema.radiance.modifierset", + "ApertureModifierSetAbridged": "honeybee_schema.radiance.modifierset", + "AperturePropertiesAbridged": "honeybee_schema.model", + "ApertureRadiancePropertiesAbridged": "honeybee_schema.radiance.properties", + "Autocalculate": "honeybee_schema.altnumber", + "Autosize": "honeybee_schema.altnumber", + "BSDF": "honeybee_schema.radiance.modifier", + "BaseModifierSet": "honeybee_schema.radiance.modifierset", + "BaseModifierSetAbridged": "honeybee_schema.radiance.modifierset", + "Baseboard": "honeybee_schema.energy.hvac.heatcool", + "Color": "honeybee_schema.geometry", + "ConstructionSet": "honeybee_schema.energy.constructionset", + "ConstructionSetAbridged": "honeybee_schema.energy.constructionset", + "DatedBaseModel": "honeybee_schema.energy._base", + "DaylightingControl": "honeybee_schema.energy.daylight", + "DetailedHVAC": "honeybee_schema.energy.hvac.detailed", + "Door": "honeybee_schema.model", + "DoorConstructionSet": "honeybee_schema.energy.constructionset", + "DoorConstructionSetAbridged": "honeybee_schema.energy.constructionset", + "DoorEnergyPropertiesAbridged": "honeybee_schema.energy.properties", + "DoorModifierSet": "honeybee_schema.radiance.modifierset", + "DoorModifierSetAbridged": "honeybee_schema.radiance.modifierset", + "DoorPropertiesAbridged": "honeybee_schema.model", + "DoorRadiancePropertiesAbridged": "honeybee_schema.radiance.properties", + "ElectricEquipment": "honeybee_schema.energy.load", + "ElectricEquipmentAbridged": "honeybee_schema.energy.load", + "ElectricLoadCenter": "honeybee_schema.energy.generator", + "EnergyBaseModel": "honeybee_schema.energy._base", + "EnergyMaterial": "honeybee_schema.energy.material", + "EnergyMaterialNoMass": "honeybee_schema.energy.material", + "EnergyMaterialVegetation": "honeybee_schema.energy.material", + "EnergyWindowFrame": "honeybee_schema.energy.material", + "EnergyWindowMaterialBlind": "honeybee_schema.energy.material", + "EnergyWindowMaterialGas": "honeybee_schema.energy.material", + "EnergyWindowMaterialGasCustom": "honeybee_schema.energy.material", + "EnergyWindowMaterialGasMixture": "honeybee_schema.energy.material", + "EnergyWindowMaterialGlazing": "honeybee_schema.energy.material", + "EnergyWindowMaterialShade": "honeybee_schema.energy.material", + "EnergyWindowMaterialSimpleGlazSys": "honeybee_schema.energy.material", + "EvaporativeCooler": "honeybee_schema.energy.hvac.heatcool", + "FCU": "honeybee_schema.energy.hvac.heatcool", + "FCUwithDOASAbridged": "honeybee_schema.energy.hvac.doas", + "Face": "honeybee_schema.model", + "Face3D": "honeybee_schema.geometry", + "FaceEnergyPropertiesAbridged": "honeybee_schema.energy.properties", + "FacePropertiesAbridged": "honeybee_schema.model", + "FaceRadiancePropertiesAbridged": "honeybee_schema.radiance.properties", + "FloorConstructionSet": "honeybee_schema.energy.constructionset", + "FloorConstructionSetAbridged": "honeybee_schema.energy.constructionset", + "FloorModifierSet": "honeybee_schema.radiance.modifierset", + "FloorModifierSetAbridged": "honeybee_schema.radiance.modifierset", + "ForcedAirFurnace": "honeybee_schema.energy.hvac.allair", + "GasEquipment": "honeybee_schema.energy.load", + "GasEquipmentAbridged": "honeybee_schema.energy.load", + "GasUnitHeater": "honeybee_schema.energy.hvac.heatcool", + "Glass": "honeybee_schema.radiance.modifier", + "GlobalConstructionSet": "honeybee_schema.energy.global_constructionset", + "GlobalModifierSet": "honeybee_schema.radiance.global_modifierset", + "Glow": "honeybee_schema.radiance.modifier", + "Ground": "honeybee_schema.boundarycondition", + "IDdBaseModel": "honeybee_schema._base", + "IDdEnergyBaseModel": "honeybee_schema.energy._base", + "IDdRadianceBaseModel": "honeybee_schema.radiance._base", + "IdealAirSystemAbridged": "honeybee_schema.energy.hvac.idealair", + "Infiltration": "honeybee_schema.energy.load", + "InfiltrationAbridged": "honeybee_schema.energy.load", + "InternalMassAbridged": "honeybee_schema.energy.internalmass", + "Light": "honeybee_schema.radiance.modifier", + "Lighting": "honeybee_schema.energy.load", + "LightingAbridged": "honeybee_schema.energy.load", + "Mesh3D": "honeybee_schema.geometry", + "Metal": "honeybee_schema.radiance.modifier", + "Mirror": "honeybee_schema.radiance.modifier", + "Model": "honeybee_schema.model", + "ModelEnergyProperties": "honeybee_schema.energy.properties", + "ModelProperties": "honeybee_schema.model", + "ModelRadianceProperties": "honeybee_schema.radiance.properties", + "ModifierBase": "honeybee_schema.radiance.modifier", + "ModifierSet": "honeybee_schema.radiance.modifierset", + "ModifierSetAbridged": "honeybee_schema.radiance.modifierset", + "NoLimit": "honeybee_schema.altnumber", + "OpaqueConstruction": "honeybee_schema.energy.construction", + "OpaqueConstructionAbridged": "honeybee_schema.energy.construction", + "OtherSideTemperature": "honeybee_schema.boundarycondition", + "Outdoors": "honeybee_schema.boundarycondition", + "PSZ": "honeybee_schema.energy.hvac.allair", + "PTAC": "honeybee_schema.energy.hvac.allair", + "PVAV": "honeybee_schema.energy.hvac.allair", + "PVProperties": "honeybee_schema.energy.generator", + "People": "honeybee_schema.energy.load", + "PeopleAbridged": "honeybee_schema.energy.load", + "Plane": "honeybee_schema.geometry", + "Plastic": "honeybee_schema.radiance.modifier", + "ProcessAbridged": "honeybee_schema.energy.load", + "ProgramType": "honeybee_schema.energy.programtype", + "ProgramTypeAbridged": "honeybee_schema.energy.programtype", + "RadianceShadeStateAbridged": "honeybee_schema.radiance.state", + "RadianceSubFaceStateAbridged": "honeybee_schema.radiance.state", + "Radiant": "honeybee_schema.energy.hvac.heatcool", + "RadiantwithDOASAbridged": "honeybee_schema.energy.hvac.doas", + "Residential": "honeybee_schema.energy.hvac.heatcool", + "RoofCeilingConstructionSet": "honeybee_schema.energy.constructionset", + "RoofCeilingConstructionSetAbridged": "honeybee_schema.energy.constructionset", + "RoofCeilingModifierSet": "honeybee_schema.radiance.modifierset", + "RoofCeilingModifierSetAbridged": "honeybee_schema.radiance.modifierset", + "Room": "honeybee_schema.model", + "RoomEnergyPropertiesAbridged": "honeybee_schema.energy.properties", + "RoomPropertiesAbridged": "honeybee_schema.model", + "RoomRadiancePropertiesAbridged": "honeybee_schema.radiance.properties", + "SHWSystem": "honeybee_schema.energy.shw", + "ScheduleDay": "honeybee_schema.energy.schedule", + "ScheduleFixedInterval": "honeybee_schema.energy.schedule", + "ScheduleFixedIntervalAbridged": "honeybee_schema.energy.schedule", + "ScheduleRuleAbridged": "honeybee_schema.energy.schedule", + "ScheduleRuleset": "honeybee_schema.energy.schedule", + "ScheduleRulesetAbridged": "honeybee_schema.energy.schedule", + "ScheduleTypeLimit": "honeybee_schema.energy.schedule", + "Sensor": "honeybee_schema.radiance.asset", + "SensorGrid": "honeybee_schema.radiance.asset", + "ServiceHotWater": "honeybee_schema.energy.load", + "ServiceHotWaterAbridged": "honeybee_schema.energy.load", + "Setpoint": "honeybee_schema.energy.load", + "SetpointAbridged": "honeybee_schema.energy.load", + "Shade": "honeybee_schema.model", + "ShadeConstruction": "honeybee_schema.energy.construction", + "ShadeEnergyPropertiesAbridged": "honeybee_schema.energy.properties", + "ShadeMesh": "honeybee_schema.model", + "ShadeMeshEnergyPropertiesAbridged": "honeybee_schema.energy.properties", + "ShadeMeshPropertiesAbridged": "honeybee_schema.model", + "ShadeMeshRadiancePropertiesAbridged": "honeybee_schema.radiance.properties", + "ShadeModifierSet": "honeybee_schema.radiance.modifierset", + "ShadeModifierSetAbridged": "honeybee_schema.radiance.modifierset", + "ShadePropertiesAbridged": "honeybee_schema.model", + "ShadeRadiancePropertiesAbridged": "honeybee_schema.radiance.properties", + "StateGeometryAbridged": "honeybee_schema.radiance.state", + "Surface": "honeybee_schema.boundarycondition", + "Trans": "honeybee_schema.radiance.modifier", + "VAV": "honeybee_schema.energy.hvac.allair", + "VRF": "honeybee_schema.energy.hvac.heatcool", + "VRFwithDOASAbridged": "honeybee_schema.energy.hvac.doas", + "Ventilation": "honeybee_schema.energy.load", + "VentilationAbridged": "honeybee_schema.energy.load", + "VentilationControlAbridged": "honeybee_schema.energy.ventcool", + "VentilationFan": "honeybee_schema.energy.ventcool", + "VentilationOpening": "honeybee_schema.energy.ventcool", + "VentilationSimulationControl": "honeybee_schema.energy.ventcool", + "View": "honeybee_schema.radiance.asset", + "Void": "honeybee_schema.radiance.modifier", + "WSHP": "honeybee_schema.energy.hvac.heatcool", + "WSHPwithDOASAbridged": "honeybee_schema.energy.hvac.doas", + "WallConstructionSet": "honeybee_schema.energy.constructionset", + "WallConstructionSetAbridged": "honeybee_schema.energy.constructionset", + "WallModifierSet": "honeybee_schema.radiance.modifierset", + "WallModifierSetAbridged": "honeybee_schema.radiance.modifierset", + "WindowAC": "honeybee_schema.energy.hvac.heatcool", + "WindowConstruction": "honeybee_schema.energy.construction", + "WindowConstructionAbridged": "honeybee_schema.energy.construction", + "WindowConstructionDynamic": "honeybee_schema.energy.construction", + "WindowConstructionDynamicAbridged": "honeybee_schema.energy.construction", + "WindowConstructionShade": "honeybee_schema.energy.construction", + "WindowConstructionShadeAbridged": "honeybee_schema.energy.construction", + "_AllAirBase": "honeybee_schema.energy.hvac.allair", + "_DOASBase": "honeybee_schema.energy.hvac.doas", + "_EquipmentBase": "honeybee_schema.energy.load", + "_FaceSubSet": "honeybee_schema.energy.constructionset", + "_FaceSubSetAbridged": "honeybee_schema.energy.constructionset", + "_HeatCoolBase": "honeybee_schema.energy.hvac.heatcool", + "_PropertiesBaseAbridged": "honeybee_schema.radiance.properties", + "_RadianceAsset": "honeybee_schema.radiance.asset", + "_TemplateSystem": "honeybee_schema.energy.hvac._template" + }, + "enums": { + "AllAirEconomizerType": "honeybee_schema.energy.hvac.allair", + "BaseboardEquipmentType": "honeybee_schema.energy.hvac.heatcool", + "BuildingType": "honeybee_schema.energy.ventcool", + "ControlType": "honeybee_schema.energy.construction", + "EconomizerType": "honeybee_schema.energy.hvac.idealair", + "EvaporativeCoolerEquipmentType": "honeybee_schema.energy.hvac.heatcool", + "FCUEquipmentType": "honeybee_schema.energy.hvac.heatcool", + "FCUwithDOASEquipmentType": "honeybee_schema.energy.hvac.doas", + "FaceType": "honeybee_schema.model", + "FuelTypes": "honeybee_schema.energy.load", + "FurnaceEquipmentType": "honeybee_schema.energy.hvac.allair", + "GasType": "honeybee_schema.energy.material", + "GasUnitHeaterEquipmentType": "honeybee_schema.energy.hvac.heatcool", + "ModuleType": "honeybee_schema.energy.generator", + "MoistureDiffusionModel": "honeybee_schema.energy.material", + "MountingType": "honeybee_schema.energy.generator", + "PSZEquipmentType": "honeybee_schema.energy.hvac.allair", + "PTACEquipmentType": "honeybee_schema.energy.hvac.allair", + "PVAVEquipmentType": "honeybee_schema.energy.hvac.allair", + "RadiantEquipmentType": "honeybee_schema.energy.hvac.heatcool", + "RadiantFaceTypes": "honeybee_schema.energy.hvac._template", + "RadiantwithDOASEquipmentType": "honeybee_schema.energy.hvac.doas", + "ResidentialEquipmentType": "honeybee_schema.energy.hvac.heatcool", + "Roughness": "honeybee_schema.energy.material", + "SHWEquipmentType": "honeybee_schema.energy.shw", + "ScheduleNumericType": "honeybee_schema.energy.schedule", + "ScheduleUnitType": "honeybee_schema.energy.schedule", + "ShadeLocation": "honeybee_schema.energy.construction", + "SlatOrientation": "honeybee_schema.energy.material", + "Units": "honeybee_schema.model", + "VAVEquipmentType": "honeybee_schema.energy.hvac.allair", + "VRFEquipmentType": "honeybee_schema.energy.hvac.heatcool", + "VRFwithDOASEquipmentType": "honeybee_schema.energy.hvac.doas", + "VentilationControlType": "honeybee_schema.energy.ventcool", + "VentilationType": "honeybee_schema.energy.ventcool", + "ViewType": "honeybee_schema.radiance.asset", + "Vintages": "honeybee_schema.energy.hvac._template", + "WSHPEquipmentType": "honeybee_schema.energy.hvac.heatcool", + "WSHPwithDOASEquipmentType": "honeybee_schema.energy.hvac.doas", + "WindowACEquipmentType": "honeybee_schema.energy.hvac.heatcool" + } +} \ No newline at end of file diff --git a/model_redoc.json b/model_redoc.json new file mode 100644 index 0000000..59360d5 --- /dev/null +++ b/model_redoc.json @@ -0,0 +1,14809 @@ +{ + "openapi": "3.0.2", + "servers": [], + "info": { + "description": "Documentation for Honeybee model schema", + "version": "1.57.3", + "title": "Honeybee Model Schema", + "contact": { + "name": "Ladybug Tools", + "email": "info@ladybug.tools", + "url": "https://github.com/ladybug-tools/honeybee-schema" + }, + "x-logo": { + "url": "https://www.ladybug.tools/assets/img/honeybee-large.png", + "altText": "Honeybee logo" + }, + "license": { + "name": "BSD", + "url": "https://github.com/ladybug-tools-in2/honeybee-schema/blob/master/LICENSE" + } + }, + "externalDocs": { + "description": "OpenAPI Specification with Inheritance", + "url": "./model_inheritance.json" + }, + "tags": [ + { + "name": "afncrack_model", + "x-displayName": "AFNCrack", + "description": "\n" + }, + { + "name": "adiabatic_model", + "x-displayName": "Adiabatic", + "description": "\n" + }, + { + "name": "airboundaryconstruction_model", + "x-displayName": "AirBoundaryConstruction", + "description": "\n" + }, + { + "name": "airboundaryconstructionabridged_model", + "x-displayName": "AirBoundaryConstructionAbridged", + "description": "\n" + }, + { + "name": "allaireconomizertype_model", + "x-displayName": "AllAirEconomizerType", + "description": "\n" + }, + { + "name": "aperture_model", + "x-displayName": "Aperture", + "description": "\n" + }, + { + "name": "apertureconstructionset_model", + "x-displayName": "ApertureConstructionSet", + "description": "\n" + }, + { + "name": "apertureconstructionsetabridged_model", + "x-displayName": "ApertureConstructionSetAbridged", + "description": "\n" + }, + { + "name": "apertureenergypropertiesabridged_model", + "x-displayName": "ApertureEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "aperturemodifierset_model", + "x-displayName": "ApertureModifierSet", + "description": "\n" + }, + { + "name": "aperturemodifiersetabridged_model", + "x-displayName": "ApertureModifierSetAbridged", + "description": "\n" + }, + { + "name": "aperturepropertiesabridged_model", + "x-displayName": "AperturePropertiesAbridged", + "description": "\n" + }, + { + "name": "apertureradiancepropertiesabridged_model", + "x-displayName": "ApertureRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "autocalculate_model", + "x-displayName": "Autocalculate", + "description": "\n" + }, + { + "name": "autosize_model", + "x-displayName": "Autosize", + "description": "\n" + }, + { + "name": "bsdf_model", + "x-displayName": "BSDF", + "description": "\n" + }, + { + "name": "basemodifierset_model", + "x-displayName": "BaseModifierSet", + "description": "\n" + }, + { + "name": "basemodifiersetabridged_model", + "x-displayName": "BaseModifierSetAbridged", + "description": "\n" + }, + { + "name": "baseboard_model", + "x-displayName": "Baseboard", + "description": "\n" + }, + { + "name": "baseboardequipmenttype_model", + "x-displayName": "BaseboardEquipmentType", + "description": "\n" + }, + { + "name": "buildingtype_model", + "x-displayName": "BuildingType", + "description": "\n" + }, + { + "name": "color_model", + "x-displayName": "Color", + "description": "\n" + }, + { + "name": "constructionset_model", + "x-displayName": "ConstructionSet", + "description": "\n" + }, + { + "name": "constructionsetabridged_model", + "x-displayName": "ConstructionSetAbridged", + "description": "\n" + }, + { + "name": "controltype_model", + "x-displayName": "ControlType", + "description": "\n" + }, + { + "name": "datedbasemodel_model", + "x-displayName": "DatedBaseModel", + "description": "\n" + }, + { + "name": "daylightingcontrol_model", + "x-displayName": "DaylightingControl", + "description": "\n" + }, + { + "name": "detailedhvac_model", + "x-displayName": "DetailedHVAC", + "description": "\n" + }, + { + "name": "door_model", + "x-displayName": "Door", + "description": "\n" + }, + { + "name": "doorconstructionset_model", + "x-displayName": "DoorConstructionSet", + "description": "\n" + }, + { + "name": "doorconstructionsetabridged_model", + "x-displayName": "DoorConstructionSetAbridged", + "description": "\n" + }, + { + "name": "doorenergypropertiesabridged_model", + "x-displayName": "DoorEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "doormodifierset_model", + "x-displayName": "DoorModifierSet", + "description": "\n" + }, + { + "name": "doormodifiersetabridged_model", + "x-displayName": "DoorModifierSetAbridged", + "description": "\n" + }, + { + "name": "doorpropertiesabridged_model", + "x-displayName": "DoorPropertiesAbridged", + "description": "\n" + }, + { + "name": "doorradiancepropertiesabridged_model", + "x-displayName": "DoorRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "economizertype_model", + "x-displayName": "EconomizerType", + "description": "\n" + }, + { + "name": "electricequipment_model", + "x-displayName": "ElectricEquipment", + "description": "\n" + }, + { + "name": "electricequipmentabridged_model", + "x-displayName": "ElectricEquipmentAbridged", + "description": "\n" + }, + { + "name": "electricloadcenter_model", + "x-displayName": "ElectricLoadCenter", + "description": "\n" + }, + { + "name": "energybasemodel_model", + "x-displayName": "EnergyBaseModel", + "description": "\n" + }, + { + "name": "energymaterial_model", + "x-displayName": "EnergyMaterial", + "description": "\n" + }, + { + "name": "energymaterialnomass_model", + "x-displayName": "EnergyMaterialNoMass", + "description": "\n" + }, + { + "name": "energymaterialvegetation_model", + "x-displayName": "EnergyMaterialVegetation", + "description": "\n" + }, + { + "name": "energywindowframe_model", + "x-displayName": "EnergyWindowFrame", + "description": "\n" + }, + { + "name": "energywindowmaterialblind_model", + "x-displayName": "EnergyWindowMaterialBlind", + "description": "\n" + }, + { + "name": "energywindowmaterialgas_model", + "x-displayName": "EnergyWindowMaterialGas", + "description": "\n" + }, + { + "name": "energywindowmaterialgascustom_model", + "x-displayName": "EnergyWindowMaterialGasCustom", + "description": "\n" + }, + { + "name": "energywindowmaterialgasmixture_model", + "x-displayName": "EnergyWindowMaterialGasMixture", + "description": "\n" + }, + { + "name": "energywindowmaterialglazing_model", + "x-displayName": "EnergyWindowMaterialGlazing", + "description": "\n" + }, + { + "name": "energywindowmaterialshade_model", + "x-displayName": "EnergyWindowMaterialShade", + "description": "\n" + }, + { + "name": "energywindowmaterialsimpleglazsys_model", + "x-displayName": "EnergyWindowMaterialSimpleGlazSys", + "description": "\n" + }, + { + "name": "evaporativecooler_model", + "x-displayName": "EvaporativeCooler", + "description": "\n" + }, + { + "name": "evaporativecoolerequipmenttype_model", + "x-displayName": "EvaporativeCoolerEquipmentType", + "description": "\n" + }, + { + "name": "fcu_model", + "x-displayName": "FCU", + "description": "\n" + }, + { + "name": "fcuequipmenttype_model", + "x-displayName": "FCUEquipmentType", + "description": "\n" + }, + { + "name": "fcuwithdoasabridged_model", + "x-displayName": "FCUwithDOASAbridged", + "description": "\n" + }, + { + "name": "fcuwithdoasequipmenttype_model", + "x-displayName": "FCUwithDOASEquipmentType", + "description": "\n" + }, + { + "name": "face_model", + "x-displayName": "Face", + "description": "\n" + }, + { + "name": "face3d_model", + "x-displayName": "Face3D", + "description": "\n" + }, + { + "name": "faceenergypropertiesabridged_model", + "x-displayName": "FaceEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "facepropertiesabridged_model", + "x-displayName": "FacePropertiesAbridged", + "description": "\n" + }, + { + "name": "faceradiancepropertiesabridged_model", + "x-displayName": "FaceRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "facetype_model", + "x-displayName": "FaceType", + "description": "\n" + }, + { + "name": "floorconstructionset_model", + "x-displayName": "FloorConstructionSet", + "description": "\n" + }, + { + "name": "floorconstructionsetabridged_model", + "x-displayName": "FloorConstructionSetAbridged", + "description": "\n" + }, + { + "name": "floormodifierset_model", + "x-displayName": "FloorModifierSet", + "description": "\n" + }, + { + "name": "floormodifiersetabridged_model", + "x-displayName": "FloorModifierSetAbridged", + "description": "\n" + }, + { + "name": "forcedairfurnace_model", + "x-displayName": "ForcedAirFurnace", + "description": "\n" + }, + { + "name": "fueltypes_model", + "x-displayName": "FuelTypes", + "description": "\n" + }, + { + "name": "furnaceequipmenttype_model", + "x-displayName": "FurnaceEquipmentType", + "description": "\n" + }, + { + "name": "gasequipment_model", + "x-displayName": "GasEquipment", + "description": "\n" + }, + { + "name": "gasequipmentabridged_model", + "x-displayName": "GasEquipmentAbridged", + "description": "\n" + }, + { + "name": "gastype_model", + "x-displayName": "GasType", + "description": "\n" + }, + { + "name": "gasunitheater_model", + "x-displayName": "GasUnitHeater", + "description": "\n" + }, + { + "name": "gasunitheaterequipmenttype_model", + "x-displayName": "GasUnitHeaterEquipmentType", + "description": "\n" + }, + { + "name": "glass_model", + "x-displayName": "Glass", + "description": "\n" + }, + { + "name": "globalconstructionset_model", + "x-displayName": "GlobalConstructionSet", + "description": "\n" + }, + { + "name": "globalmodifierset_model", + "x-displayName": "GlobalModifierSet", + "description": "\n" + }, + { + "name": "glow_model", + "x-displayName": "Glow", + "description": "\n" + }, + { + "name": "ground_model", + "x-displayName": "Ground", + "description": "\n" + }, + { + "name": "iddbasemodel_model", + "x-displayName": "IDdBaseModel", + "description": "\n" + }, + { + "name": "iddenergybasemodel_model", + "x-displayName": "IDdEnergyBaseModel", + "description": "\n" + }, + { + "name": "iddradiancebasemodel_model", + "x-displayName": "IDdRadianceBaseModel", + "description": "\n" + }, + { + "name": "idealairsystemabridged_model", + "x-displayName": "IdealAirSystemAbridged", + "description": "\n" + }, + { + "name": "infiltration_model", + "x-displayName": "Infiltration", + "description": "\n" + }, + { + "name": "infiltrationabridged_model", + "x-displayName": "InfiltrationAbridged", + "description": "\n" + }, + { + "name": "internalmassabridged_model", + "x-displayName": "InternalMassAbridged", + "description": "\n" + }, + { + "name": "light_model", + "x-displayName": "Light", + "description": "\n" + }, + { + "name": "lighting_model", + "x-displayName": "Lighting", + "description": "\n" + }, + { + "name": "lightingabridged_model", + "x-displayName": "LightingAbridged", + "description": "\n" + }, + { + "name": "mesh3d_model", + "x-displayName": "Mesh3D", + "description": "\n" + }, + { + "name": "metal_model", + "x-displayName": "Metal", + "description": "\n" + }, + { + "name": "mirror_model", + "x-displayName": "Mirror", + "description": "\n" + }, + { + "name": "model_model", + "x-displayName": "Model", + "description": "\n" + }, + { + "name": "modelenergyproperties_model", + "x-displayName": "ModelEnergyProperties", + "description": "\n" + }, + { + "name": "modelproperties_model", + "x-displayName": "ModelProperties", + "description": "\n" + }, + { + "name": "modelradianceproperties_model", + "x-displayName": "ModelRadianceProperties", + "description": "\n" + }, + { + "name": "modifierbase_model", + "x-displayName": "ModifierBase", + "description": "\n" + }, + { + "name": "modifierset_model", + "x-displayName": "ModifierSet", + "description": "\n" + }, + { + "name": "modifiersetabridged_model", + "x-displayName": "ModifierSetAbridged", + "description": "\n" + }, + { + "name": "moduletype_model", + "x-displayName": "ModuleType", + "description": "\n" + }, + { + "name": "moisturediffusionmodel_model", + "x-displayName": "MoistureDiffusionModel", + "description": "\n" + }, + { + "name": "mountingtype_model", + "x-displayName": "MountingType", + "description": "\n" + }, + { + "name": "nolimit_model", + "x-displayName": "NoLimit", + "description": "\n" + }, + { + "name": "opaqueconstruction_model", + "x-displayName": "OpaqueConstruction", + "description": "\n" + }, + { + "name": "opaqueconstructionabridged_model", + "x-displayName": "OpaqueConstructionAbridged", + "description": "\n" + }, + { + "name": "othersidetemperature_model", + "x-displayName": "OtherSideTemperature", + "description": "\n" + }, + { + "name": "outdoors_model", + "x-displayName": "Outdoors", + "description": "\n" + }, + { + "name": "psz_model", + "x-displayName": "PSZ", + "description": "\n" + }, + { + "name": "pszequipmenttype_model", + "x-displayName": "PSZEquipmentType", + "description": "\n" + }, + { + "name": "ptac_model", + "x-displayName": "PTAC", + "description": "\n" + }, + { + "name": "ptacequipmenttype_model", + "x-displayName": "PTACEquipmentType", + "description": "\n" + }, + { + "name": "pvav_model", + "x-displayName": "PVAV", + "description": "\n" + }, + { + "name": "pvavequipmenttype_model", + "x-displayName": "PVAVEquipmentType", + "description": "\n" + }, + { + "name": "pvproperties_model", + "x-displayName": "PVProperties", + "description": "\n" + }, + { + "name": "people_model", + "x-displayName": "People", + "description": "\n" + }, + { + "name": "peopleabridged_model", + "x-displayName": "PeopleAbridged", + "description": "\n" + }, + { + "name": "plane_model", + "x-displayName": "Plane", + "description": "\n" + }, + { + "name": "plastic_model", + "x-displayName": "Plastic", + "description": "\n" + }, + { + "name": "processabridged_model", + "x-displayName": "ProcessAbridged", + "description": "\n" + }, + { + "name": "programtype_model", + "x-displayName": "ProgramType", + "description": "\n" + }, + { + "name": "programtypeabridged_model", + "x-displayName": "ProgramTypeAbridged", + "description": "\n" + }, + { + "name": "radianceshadestateabridged_model", + "x-displayName": "RadianceShadeStateAbridged", + "description": "\n" + }, + { + "name": "radiancesubfacestateabridged_model", + "x-displayName": "RadianceSubFaceStateAbridged", + "description": "\n" + }, + { + "name": "radiant_model", + "x-displayName": "Radiant", + "description": "\n" + }, + { + "name": "radiantequipmenttype_model", + "x-displayName": "RadiantEquipmentType", + "description": "\n" + }, + { + "name": "radiantfacetypes_model", + "x-displayName": "RadiantFaceTypes", + "description": "\n" + }, + { + "name": "radiantwithdoasabridged_model", + "x-displayName": "RadiantwithDOASAbridged", + "description": "\n" + }, + { + "name": "radiantwithdoasequipmenttype_model", + "x-displayName": "RadiantwithDOASEquipmentType", + "description": "\n" + }, + { + "name": "residential_model", + "x-displayName": "Residential", + "description": "\n" + }, + { + "name": "residentialequipmenttype_model", + "x-displayName": "ResidentialEquipmentType", + "description": "\n" + }, + { + "name": "roofceilingconstructionset_model", + "x-displayName": "RoofCeilingConstructionSet", + "description": "\n" + }, + { + "name": "roofceilingconstructionsetabridged_model", + "x-displayName": "RoofCeilingConstructionSetAbridged", + "description": "\n" + }, + { + "name": "roofceilingmodifierset_model", + "x-displayName": "RoofCeilingModifierSet", + "description": "\n" + }, + { + "name": "roofceilingmodifiersetabridged_model", + "x-displayName": "RoofCeilingModifierSetAbridged", + "description": "\n" + }, + { + "name": "room_model", + "x-displayName": "Room", + "description": "\n" + }, + { + "name": "roomenergypropertiesabridged_model", + "x-displayName": "RoomEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "roompropertiesabridged_model", + "x-displayName": "RoomPropertiesAbridged", + "description": "\n" + }, + { + "name": "roomradiancepropertiesabridged_model", + "x-displayName": "RoomRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "roughness_model", + "x-displayName": "Roughness", + "description": "\n" + }, + { + "name": "shwequipmenttype_model", + "x-displayName": "SHWEquipmentType", + "description": "\n" + }, + { + "name": "shwsystem_model", + "x-displayName": "SHWSystem", + "description": "\n" + }, + { + "name": "scheduleday_model", + "x-displayName": "ScheduleDay", + "description": "\n" + }, + { + "name": "schedulefixedinterval_model", + "x-displayName": "ScheduleFixedInterval", + "description": "\n" + }, + { + "name": "schedulefixedintervalabridged_model", + "x-displayName": "ScheduleFixedIntervalAbridged", + "description": "\n" + }, + { + "name": "schedulenumerictype_model", + "x-displayName": "ScheduleNumericType", + "description": "\n" + }, + { + "name": "scheduleruleabridged_model", + "x-displayName": "ScheduleRuleAbridged", + "description": "\n" + }, + { + "name": "scheduleruleset_model", + "x-displayName": "ScheduleRuleset", + "description": "\n" + }, + { + "name": "schedulerulesetabridged_model", + "x-displayName": "ScheduleRulesetAbridged", + "description": "\n" + }, + { + "name": "scheduletypelimit_model", + "x-displayName": "ScheduleTypeLimit", + "description": "\n" + }, + { + "name": "scheduleunittype_model", + "x-displayName": "ScheduleUnitType", + "description": "\n" + }, + { + "name": "sensor_model", + "x-displayName": "Sensor", + "description": "\n" + }, + { + "name": "sensorgrid_model", + "x-displayName": "SensorGrid", + "description": "\n" + }, + { + "name": "servicehotwater_model", + "x-displayName": "ServiceHotWater", + "description": "\n" + }, + { + "name": "servicehotwaterabridged_model", + "x-displayName": "ServiceHotWaterAbridged", + "description": "\n" + }, + { + "name": "setpoint_model", + "x-displayName": "Setpoint", + "description": "\n" + }, + { + "name": "setpointabridged_model", + "x-displayName": "SetpointAbridged", + "description": "\n" + }, + { + "name": "shade_model", + "x-displayName": "Shade", + "description": "\n" + }, + { + "name": "shadeconstruction_model", + "x-displayName": "ShadeConstruction", + "description": "\n" + }, + { + "name": "shadeenergypropertiesabridged_model", + "x-displayName": "ShadeEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "shadelocation_model", + "x-displayName": "ShadeLocation", + "description": "\n" + }, + { + "name": "shademesh_model", + "x-displayName": "ShadeMesh", + "description": "\n" + }, + { + "name": "shademeshenergypropertiesabridged_model", + "x-displayName": "ShadeMeshEnergyPropertiesAbridged", + "description": "\n" + }, + { + "name": "shademeshpropertiesabridged_model", + "x-displayName": "ShadeMeshPropertiesAbridged", + "description": "\n" + }, + { + "name": "shademeshradiancepropertiesabridged_model", + "x-displayName": "ShadeMeshRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "shademodifierset_model", + "x-displayName": "ShadeModifierSet", + "description": "\n" + }, + { + "name": "shademodifiersetabridged_model", + "x-displayName": "ShadeModifierSetAbridged", + "description": "\n" + }, + { + "name": "shadepropertiesabridged_model", + "x-displayName": "ShadePropertiesAbridged", + "description": "\n" + }, + { + "name": "shaderadiancepropertiesabridged_model", + "x-displayName": "ShadeRadiancePropertiesAbridged", + "description": "\n" + }, + { + "name": "slatorientation_model", + "x-displayName": "SlatOrientation", + "description": "\n" + }, + { + "name": "stategeometryabridged_model", + "x-displayName": "StateGeometryAbridged", + "description": "\n" + }, + { + "name": "surface_model", + "x-displayName": "Surface", + "description": "\n" + }, + { + "name": "trans_model", + "x-displayName": "Trans", + "description": "\n" + }, + { + "name": "units_model", + "x-displayName": "Units", + "description": "\n" + }, + { + "name": "vav_model", + "x-displayName": "VAV", + "description": "\n" + }, + { + "name": "vavequipmenttype_model", + "x-displayName": "VAVEquipmentType", + "description": "\n" + }, + { + "name": "vrf_model", + "x-displayName": "VRF", + "description": "\n" + }, + { + "name": "vrfequipmenttype_model", + "x-displayName": "VRFEquipmentType", + "description": "\n" + }, + { + "name": "vrfwithdoasabridged_model", + "x-displayName": "VRFwithDOASAbridged", + "description": "\n" + }, + { + "name": "vrfwithdoasequipmenttype_model", + "x-displayName": "VRFwithDOASEquipmentType", + "description": "\n" + }, + { + "name": "ventilation_model", + "x-displayName": "Ventilation", + "description": "\n" + }, + { + "name": "ventilationabridged_model", + "x-displayName": "VentilationAbridged", + "description": "\n" + }, + { + "name": "ventilationcontrolabridged_model", + "x-displayName": "VentilationControlAbridged", + "description": "\n" + }, + { + "name": "ventilationcontroltype_model", + "x-displayName": "VentilationControlType", + "description": "\n" + }, + { + "name": "ventilationfan_model", + "x-displayName": "VentilationFan", + "description": "\n" + }, + { + "name": "ventilationopening_model", + "x-displayName": "VentilationOpening", + "description": "\n" + }, + { + "name": "ventilationsimulationcontrol_model", + "x-displayName": "VentilationSimulationControl", + "description": "\n" + }, + { + "name": "ventilationtype_model", + "x-displayName": "VentilationType", + "description": "\n" + }, + { + "name": "view_model", + "x-displayName": "View", + "description": "\n" + }, + { + "name": "viewtype_model", + "x-displayName": "ViewType", + "description": "\n" + }, + { + "name": "vintages_model", + "x-displayName": "Vintages", + "description": "\n" + }, + { + "name": "void_model", + "x-displayName": "Void", + "description": "\n" + }, + { + "name": "wshp_model", + "x-displayName": "WSHP", + "description": "\n" + }, + { + "name": "wshpequipmenttype_model", + "x-displayName": "WSHPEquipmentType", + "description": "\n" + }, + { + "name": "wshpwithdoasabridged_model", + "x-displayName": "WSHPwithDOASAbridged", + "description": "\n" + }, + { + "name": "wshpwithdoasequipmenttype_model", + "x-displayName": "WSHPwithDOASEquipmentType", + "description": "\n" + }, + { + "name": "wallconstructionset_model", + "x-displayName": "WallConstructionSet", + "description": "\n" + }, + { + "name": "wallconstructionsetabridged_model", + "x-displayName": "WallConstructionSetAbridged", + "description": "\n" + }, + { + "name": "wallmodifierset_model", + "x-displayName": "WallModifierSet", + "description": "\n" + }, + { + "name": "wallmodifiersetabridged_model", + "x-displayName": "WallModifierSetAbridged", + "description": "\n" + }, + { + "name": "windowac_model", + "x-displayName": "WindowAC", + "description": "\n" + }, + { + "name": "windowacequipmenttype_model", + "x-displayName": "WindowACEquipmentType", + "description": "\n" + }, + { + "name": "windowconstruction_model", + "x-displayName": "WindowConstruction", + "description": "\n" + }, + { + "name": "windowconstructionabridged_model", + "x-displayName": "WindowConstructionAbridged", + "description": "\n" + }, + { + "name": "windowconstructiondynamic_model", + "x-displayName": "WindowConstructionDynamic", + "description": "\n" + }, + { + "name": "windowconstructiondynamicabridged_model", + "x-displayName": "WindowConstructionDynamicAbridged", + "description": "\n" + }, + { + "name": "windowconstructionshade_model", + "x-displayName": "WindowConstructionShade", + "description": "\n" + }, + { + "name": "windowconstructionshadeabridged_model", + "x-displayName": "WindowConstructionShadeAbridged", + "description": "\n" + }, + { + "name": "_allairbase_model", + "x-displayName": "_AllAirBase", + "description": "\n" + }, + { + "name": "_doasbase_model", + "x-displayName": "_DOASBase", + "description": "\n" + }, + { + "name": "_equipmentbase_model", + "x-displayName": "_EquipmentBase", + "description": "\n" + }, + { + "name": "_facesubset_model", + "x-displayName": "_FaceSubSet", + "description": "\n" + }, + { + "name": "_facesubsetabridged_model", + "x-displayName": "_FaceSubSetAbridged", + "description": "\n" + }, + { + "name": "_heatcoolbase_model", + "x-displayName": "_HeatCoolBase", + "description": "\n" + }, + { + "name": "_openapigenbasemodel_model", + "x-displayName": "_OpenAPIGenBaseModel", + "description": "\n" + }, + { + "name": "_propertiesbaseabridged_model", + "x-displayName": "_PropertiesBaseAbridged", + "description": "\n" + }, + { + "name": "_radianceasset_model", + "x-displayName": "_RadianceAsset", + "description": "\n" + }, + { + "name": "_templatesystem_model", + "x-displayName": "_TemplateSystem", + "description": "\n" + } + ], + "x-tagGroups": [ + { + "name": "Models", + "tags": [ + "_allairbase_model", + "_doasbase_model", + "_equipmentbase_model", + "_facesubset_model", + "_facesubsetabridged_model", + "_heatcoolbase_model", + "_openapigenbasemodel_model", + "_propertiesbaseabridged_model", + "_radianceasset_model", + "_templatesystem_model", + "adiabatic_model", + "afncrack_model", + "airboundaryconstruction_model", + "airboundaryconstructionabridged_model", + "allaireconomizertype_model", + "aperture_model", + "apertureconstructionset_model", + "apertureconstructionsetabridged_model", + "apertureenergypropertiesabridged_model", + "aperturemodifierset_model", + "aperturemodifiersetabridged_model", + "aperturepropertiesabridged_model", + "apertureradiancepropertiesabridged_model", + "autocalculate_model", + "autosize_model", + "baseboard_model", + "baseboardequipmenttype_model", + "basemodifierset_model", + "basemodifiersetabridged_model", + "bsdf_model", + "buildingtype_model", + "color_model", + "constructionset_model", + "constructionsetabridged_model", + "controltype_model", + "datedbasemodel_model", + "daylightingcontrol_model", + "detailedhvac_model", + "door_model", + "doorconstructionset_model", + "doorconstructionsetabridged_model", + "doorenergypropertiesabridged_model", + "doormodifierset_model", + "doormodifiersetabridged_model", + "doorpropertiesabridged_model", + "doorradiancepropertiesabridged_model", + "economizertype_model", + "electricequipment_model", + "electricequipmentabridged_model", + "electricloadcenter_model", + "energybasemodel_model", + "energymaterial_model", + "energymaterialnomass_model", + "energymaterialvegetation_model", + "energywindowframe_model", + "energywindowmaterialblind_model", + "energywindowmaterialgas_model", + "energywindowmaterialgascustom_model", + "energywindowmaterialgasmixture_model", + "energywindowmaterialglazing_model", + "energywindowmaterialshade_model", + "energywindowmaterialsimpleglazsys_model", + "evaporativecooler_model", + "evaporativecoolerequipmenttype_model", + "face3d_model", + "face_model", + "faceenergypropertiesabridged_model", + "facepropertiesabridged_model", + "faceradiancepropertiesabridged_model", + "facetype_model", + "fcu_model", + "fcuequipmenttype_model", + "fcuwithdoasabridged_model", + "fcuwithdoasequipmenttype_model", + "floorconstructionset_model", + "floorconstructionsetabridged_model", + "floormodifierset_model", + "floormodifiersetabridged_model", + "forcedairfurnace_model", + "fueltypes_model", + "furnaceequipmenttype_model", + "gasequipment_model", + "gasequipmentabridged_model", + "gastype_model", + "gasunitheater_model", + "gasunitheaterequipmenttype_model", + "glass_model", + "globalconstructionset_model", + "globalmodifierset_model", + "glow_model", + "ground_model", + "iddbasemodel_model", + "iddenergybasemodel_model", + "iddradiancebasemodel_model", + "idealairsystemabridged_model", + "infiltration_model", + "infiltrationabridged_model", + "internalmassabridged_model", + "light_model", + "lighting_model", + "lightingabridged_model", + "mesh3d_model", + "metal_model", + "mirror_model", + "model_model", + "modelenergyproperties_model", + "modelproperties_model", + "modelradianceproperties_model", + "modifierbase_model", + "modifierset_model", + "modifiersetabridged_model", + "moduletype_model", + "moisturediffusionmodel_model", + "mountingtype_model", + "nolimit_model", + "opaqueconstruction_model", + "opaqueconstructionabridged_model", + "othersidetemperature_model", + "outdoors_model", + "people_model", + "peopleabridged_model", + "plane_model", + "plastic_model", + "processabridged_model", + "programtype_model", + "programtypeabridged_model", + "psz_model", + "pszequipmenttype_model", + "ptac_model", + "ptacequipmenttype_model", + "pvav_model", + "pvavequipmenttype_model", + "pvproperties_model", + "radianceshadestateabridged_model", + "radiancesubfacestateabridged_model", + "radiant_model", + "radiantequipmenttype_model", + "radiantfacetypes_model", + "radiantwithdoasabridged_model", + "radiantwithdoasequipmenttype_model", + "residential_model", + "residentialequipmenttype_model", + "roofceilingconstructionset_model", + "roofceilingconstructionsetabridged_model", + "roofceilingmodifierset_model", + "roofceilingmodifiersetabridged_model", + "room_model", + "roomenergypropertiesabridged_model", + "roompropertiesabridged_model", + "roomradiancepropertiesabridged_model", + "roughness_model", + "scheduleday_model", + "schedulefixedinterval_model", + "schedulefixedintervalabridged_model", + "schedulenumerictype_model", + "scheduleruleabridged_model", + "scheduleruleset_model", + "schedulerulesetabridged_model", + "scheduletypelimit_model", + "scheduleunittype_model", + "sensor_model", + "sensorgrid_model", + "servicehotwater_model", + "servicehotwaterabridged_model", + "setpoint_model", + "setpointabridged_model", + "shade_model", + "shadeconstruction_model", + "shadeenergypropertiesabridged_model", + "shadelocation_model", + "shademesh_model", + "shademeshenergypropertiesabridged_model", + "shademeshpropertiesabridged_model", + "shademeshradiancepropertiesabridged_model", + "shademodifierset_model", + "shademodifiersetabridged_model", + "shadepropertiesabridged_model", + "shaderadiancepropertiesabridged_model", + "shwequipmenttype_model", + "shwsystem_model", + "slatorientation_model", + "stategeometryabridged_model", + "surface_model", + "trans_model", + "units_model", + "vav_model", + "vavequipmenttype_model", + "ventilation_model", + "ventilationabridged_model", + "ventilationcontrolabridged_model", + "ventilationcontroltype_model", + "ventilationfan_model", + "ventilationopening_model", + "ventilationsimulationcontrol_model", + "ventilationtype_model", + "view_model", + "viewtype_model", + "vintages_model", + "void_model", + "vrf_model", + "vrfequipmenttype_model", + "vrfwithdoasabridged_model", + "vrfwithdoasequipmenttype_model", + "wallconstructionset_model", + "wallconstructionsetabridged_model", + "wallmodifierset_model", + "wallmodifiersetabridged_model", + "windowac_model", + "windowacequipmenttype_model", + "windowconstruction_model", + "windowconstructionabridged_model", + "windowconstructiondynamic_model", + "windowconstructiondynamicabridged_model", + "windowconstructionshade_model", + "windowconstructionshadeabridged_model", + "wshp_model", + "wshpequipmenttype_model", + "wshpwithdoasabridged_model", + "wshpwithdoasequipmenttype_model" + ] + } + ], + "paths": {}, + "components": { + "schemas": { + "DaylightingControl": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "sensor_position": { + "title": "Sensor Position", + "description": "A point as 3 (x, y, z) values for the position of the daylight sensor within the parent Room. This point should lie within the Room volume in order for the results to be meaningful.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "DaylightingControl", + "pattern": "^DaylightingControl$", + "type": "string", + "readOnly": true + }, + "illuminance_setpoint": { + "title": "Illuminance Setpoint", + "description": "A number for the illuminance setpoint in lux beyond which electric lights are dimmed if there is sufficient daylight.", + "default": 300, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "control_fraction": { + "title": "Control Fraction", + "description": "A number between 0 and 1 that represents the fraction of the Room lights that are dimmed when the illuminance at the sensor position is at the specified illuminance. 1 indicates that all lights are dim-able while 0 indicates that no lights are dim-able. Deeper rooms should have lower control fractions to account for the face that the lights in the back of the space do not dim in response to suitable daylight at the front of the room.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "min_power_input": { + "title": "Min Power Input", + "description": "A number between 0 and 1 for the the lowest power the lighting system can dim down to, expressed as a fraction of maximum input power.", + "default": 0.3, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "min_light_output": { + "title": "Min Light Output", + "description": "A number between 0 and 1 the lowest lighting output the lighting system can dim down to, expressed as a fraction of maximum light output.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "off_at_minimum": { + "title": "Off At Minimum", + "description": "Boolean to note whether lights should switch off completely when they get to the minimum power input.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "sensor_position" + ], + "additionalProperties": false + } + ], + "title": "DaylightingControl", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "Vintages": { + "title": "Vintages", + "description": "An enumeration.", + "enum": [ + "ASHRAE_2019", + "ASHRAE_2016", + "ASHRAE_2013", + "ASHRAE_2010", + "ASHRAE_2007", + "ASHRAE_2004", + "DOE_Ref_1980_2004", + "DOE_Ref_Pre_1980" + ], + "type": "string" + }, + "VRFwithDOASEquipmentType": { + "title": "VRFwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_VRF" + ], + "type": "string" + }, + "VRFwithDOASAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "VRFwithDOASAbridged", + "pattern": "^VRFwithDOASAbridged$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VRFwithDOASEquipmentType enumeration.", + "default": "DOAS_VRF", + "allOf": [ + { + "$ref": "#/components/schemas/VRFwithDOASEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "VRFwithDOASAbridged", + "description": "Variable Refrigerant Flow (VRF) with DOAS HVAC system.\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a single speed direct expansion (DX) cooling coil along with a single-speed\ndirect expansion (DX) heat pump with a backup electrical resistance coil.\n\nEach room/zone also receives its own Variable Refrigerant Flow (VRF) terminal,\nwhich meets the heating and cooling loads of the space. All room/zone terminals\nare connected to the same outdoor unit, meaning that either all rooms must be\nin cooling or heating mode together." + }, + "ScheduleDay": { + "allOf": [ + { + "$ref": "#/components/schemas/EnergyBaseModel" + }, + { + "type": "object", + "required": [ + "values" + ], + "properties": { + "values": { + "title": "Values", + "description": "A list of floats or integers for the values of the schedule. The length of this list must match the length of the times list.", + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "ScheduleDay", + "pattern": "^ScheduleDay$", + "type": "string", + "readOnly": true + }, + "times": { + "title": "Times", + "description": "A list of lists with each sub-list possesing 2 values for [hour, minute]. The length of the master list must match the length of the values list. Each time in the master list represents the time of day that the corresponding value begins to take effect. For example [(0,0), (9,0), (17,0)] in combination with the values [0, 1, 0] denotes a schedule value of 0 from 0:00 to 9:00, a value of 1 from 9:00 to 17:00 and 0 from 17:00 to the end of the day. Note that this representation of times as the \"time of beginning\" is a different convention than EnergyPlus, which uses \"time until\".", + "default": [ + 0, + 0 + ], + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "minItems": 2, + "maxItems": 2 + } + }, + "interpolate": { + "title": "Interpolate", + "description": "Boolean to note whether values in between times should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleDay", + "description": "Used to describe the daily schedule for a single simulation day." + }, + "ScheduleRuleAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/DatedBaseModel" + }, + { + "type": "object", + "required": [ + "schedule_day" + ], + "properties": { + "schedule_day": { + "title": "Schedule Day", + "description": "The identifier of a ScheduleDay object associated with this rule.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "ScheduleRuleAbridged", + "pattern": "^ScheduleRuleAbridged$", + "type": "string", + "readOnly": true + }, + "apply_sunday": { + "title": "Apply Sunday", + "description": "Boolean noting whether to apply schedule_day on Sundays.", + "default": false, + "type": "boolean" + }, + "apply_monday": { + "title": "Apply Monday", + "description": "Boolean noting whether to apply schedule_day on Mondays.", + "default": false, + "type": "boolean" + }, + "apply_tuesday": { + "title": "Apply Tuesday", + "description": "Boolean noting whether to apply schedule_day on Tuesdays.", + "default": false, + "type": "boolean" + }, + "apply_wednesday": { + "title": "Apply Wednesday", + "description": "Boolean noting whether to apply schedule_day on Wednesdays.", + "default": false, + "type": "boolean" + }, + "apply_thursday": { + "title": "Apply Thursday", + "description": "Boolean noting whether to apply schedule_day on Thursdays.", + "default": false, + "type": "boolean" + }, + "apply_friday": { + "title": "Apply Friday", + "description": "Boolean noting whether to apply schedule_day on Fridays.", + "default": false, + "type": "boolean" + }, + "apply_saturday": { + "title": "Apply Saturday", + "description": "Boolean noting whether to apply schedule_day on Saturdays.", + "default": false, + "type": "boolean" + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the start date of the period over which the schedule_day will be applied.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "end_date": { + "title": "End Date", + "description": "A list of two integers for [month, day], representing the end date of the period over which the schedule_day will be applied.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 12, + 31 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleRuleAbridged", + "description": "Schedule rule including a ScheduleDay and when it should be applied.." + }, + "NoLimit": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "NoLimit", + "pattern": "^NoLimit$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "NoLimit", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "ScheduleNumericType": { + "title": "ScheduleNumericType", + "description": "Designates how the range values are validated.", + "enum": [ + "Continuous", + "Discrete" + ], + "type": "string" + }, + "ScheduleUnitType": { + "title": "ScheduleUnitType", + "description": "An enumeration.", + "enum": [ + "Dimensionless", + "Temperature", + "DeltaTemperature", + "PrecipitationRate", + "Angle", + "ConvectionCoefficient", + "ActivityLevel", + "Velocity", + "Capacity", + "Power", + "Availability", + "Percent", + "Control", + "Mode" + ], + "type": "string" + }, + "ScheduleTypeLimit": { + "allOf": [ + { + "$ref": "#/components/schemas/EnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ScheduleTypeLimit", + "pattern": "^ScheduleTypeLimit$", + "type": "string", + "readOnly": true + }, + "lower_limit": { + "title": "Lower Limit", + "description": "Lower limit for the schedule type or NoLimit.", + "default": { + "type": "NoLimit" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/NoLimit" + }, + { + "type": "number" + } + ] + }, + "upper_limit": { + "title": "Upper Limit", + "description": "Upper limit for the schedule type or NoLimit.", + "default": { + "type": "NoLimit" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/NoLimit" + }, + { + "type": "number" + } + ] + }, + "numeric_type": { + "default": "Continuous", + "allOf": [ + { + "$ref": "#/components/schemas/ScheduleNumericType" + } + ] + }, + "unit_type": { + "default": "Dimensionless", + "allOf": [ + { + "$ref": "#/components/schemas/ScheduleUnitType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleTypeLimit", + "description": "Specifies the data types and limits for values contained in schedules." + }, + "ScheduleRuleset": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "day_schedules", + "default_day_schedule" + ], + "properties": { + "day_schedules": { + "title": "Day Schedules", + "description": "A list of ScheduleDays that are referenced in the other keys of this ScheduleRulesetAbridged.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleDay" + } + }, + "default_day_schedule": { + "title": "Default Day Schedule", + "description": "An identifier for the ScheduleDay that will be used for all days when no ScheduleRule is applied. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "ScheduleRuleset", + "pattern": "^ScheduleRuleset$", + "type": "string", + "readOnly": true + }, + "schedule_rules": { + "title": "Schedule Rules", + "description": "A list of ScheduleRuleAbridged that note exceptions to the default_day_schedule. These rules should be ordered from highest to lowest priority.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleRuleAbridged" + } + }, + "holiday_schedule": { + "title": "Holiday Schedule", + "description": "An identifier for the ScheduleDay that will be used for holidays. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "summer_designday_schedule": { + "title": "Summer Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the summer design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "winter_designday_schedule": { + "title": "Winter Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the winter design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "ScheduleTypeLimit object that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "allOf": [ + { + "$ref": "#/components/schemas/ScheduleTypeLimit" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleRuleset", + "description": "Used to define a schedule for a default day, further described by ScheduleRule." + }, + "ScheduleFixedInterval": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "values" + ], + "properties": { + "values": { + "title": "Values", + "description": "A list of timeseries values occuring at each timestep over the course of the simulation.", + "minItems": 24, + "maxItems": 527040, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "ScheduleFixedInterval", + "pattern": "^ScheduleFixedInterval$", + "type": "string", + "readOnly": true + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "ScheduleTypeLimit object that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "allOf": [ + { + "$ref": "#/components/schemas/ScheduleTypeLimit" + } + ] + }, + "timestep": { + "title": "Timestep", + "description": "An integer for the number of steps per hour that the input values correspond to. For example, if each value represents 30 minutes, the timestep is 2. For 15 minutes, it is 4.", + "default": 1, + "type": "integer", + "format": "int32" + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the start date when the schedule values begin to take effect.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "placeholder_value": { + "title": "Placeholder Value", + "description": " A value that will be used for all times not covered by the input values. Typically, your simulation should not need to use this value if the input values completely cover the simulation period.", + "default": 0, + "type": "number", + "format": "double" + }, + "interpolate": { + "title": "Interpolate", + "description": "Boolean to note whether values in between intervals should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleFixedInterval", + "description": "Used to specify a start date and a list of values for a period of analysis." + }, + "Infiltration": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "flow_per_exterior_area", + "schedule" + ], + "properties": { + "flow_per_exterior_area": { + "title": "Flow Per Exterior Area", + "description": "Number for the infiltration per exterior surface area in m3/s-m2.", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the infiltration over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_exterior_area to yield a complete infiltration profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "type": { + "title": "Type", + "default": "Infiltration", + "pattern": "^Infiltration$", + "type": "string", + "readOnly": true + }, + "constant_coefficient": { + "title": "Constant Coefficient", + "default": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "temperature_coefficient": { + "title": "Temperature Coefficient", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "velocity_coefficient": { + "title": "Velocity Coefficient", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "Infiltration", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "Plane": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "n": { + "title": "N", + "description": "Plane normal as 3 (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "o": { + "title": "O", + "description": "Plane origin as 3 (x, y, z) values", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "Plane", + "pattern": "^Plane$", + "type": "string", + "readOnly": true + }, + "x": { + "title": "X", + "description": "Plane x-axis as 3 (x, y, z) values. If None, it is autocalculated.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + }, + "required": [ + "n", + "o" + ], + "additionalProperties": false + } + ], + "title": "Plane", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "Face3D": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "boundary": { + "title": "Boundary", + "description": "A list of points representing the outer boundary vertices of the face. The list should include at least 3 points and each point should be a list of 3 (x, y, z) values.", + "minItems": 3, + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "minItems": 3, + "maxItems": 3 + } + }, + "type": { + "title": "Type", + "default": "Face3D", + "pattern": "^Face3D$", + "type": "string", + "readOnly": true + }, + "holes": { + "title": "Holes", + "description": "Optional list of lists with one list for each hole in the face.Each hole should be a list of at least 3 points and each point a list of 3 (x, y, z) values. If None, it will be assumed that there are no holes in the face.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "minItems": 3, + "maxItems": 3 + }, + "minItems": 3 + } + }, + "plane": { + "title": "Plane", + "description": "Optional Plane indicating the plane in which the face exists.If None, the plane will usually be derived from the boundary points.", + "allOf": [ + { + "$ref": "#/components/schemas/Plane" + } + ] + } + }, + "required": [ + "boundary" + ], + "additionalProperties": false + } + ], + "title": "Face3D", + "description": "A single planar face in 3D space." + }, + "Autocalculate": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Autocalculate", + "pattern": "^Autocalculate$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Autocalculate", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "Outdoors": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Outdoors", + "pattern": "^Outdoors$", + "type": "string", + "readOnly": true + }, + "sun_exposure": { + "title": "Sun Exposure", + "description": "A boolean noting whether the boundary is exposed to sun.", + "default": true, + "type": "boolean" + }, + "wind_exposure": { + "title": "Wind Exposure", + "description": "A boolean noting whether the boundary is exposed to wind.", + "default": true, + "type": "boolean" + }, + "view_factor": { + "title": "View Factor", + "description": "A number for the view factor to the ground. This can also be an Autocalculate object to have the view factor automatically calculated.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "Outdoors", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "Surface": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "boundary_condition_objects": { + "title": "Boundary Condition Objects", + "description": "A list of up to 3 object identifiers that are adjacent to this one. The first object is always the one that is immediately adjacent and is of the same object type (Face, Aperture, Door). When this boundary condition is applied to a Face, the second object in the tuple will be the parent Room of the adjacent object. When the boundary condition is applied to a sub-face (Door or Aperture), the second object will be the parent Face of the adjacent sub-face and the third object will be the parent Room of the adjacent sub-face.", + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "title": "Type", + "default": "Surface", + "pattern": "^Surface$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "boundary_condition_objects" + ], + "additionalProperties": false + } + ], + "title": "Surface", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "ModuleType": { + "title": "ModuleType", + "description": "An enumeration.", + "enum": [ + "Standard", + "Premium", + "ThinFilm" + ], + "type": "string" + }, + "MountingType": { + "title": "MountingType", + "description": "An enumeration.", + "enum": [ + "FixedOpenRack", + "FixedRoofMounted", + "OneAxis", + "OneAxisBacktracking", + "TwoAxis" + ], + "type": "string" + }, + "PVProperties": { + "allOf": [ + { + "$ref": "#/components/schemas/EnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "PVProperties", + "pattern": "^PVProperties$", + "type": "string", + "readOnly": true + }, + "rated_efficiency": { + "title": "Rated Efficiency", + "description": "A number between 0 and 1 for the rated nameplate efficiency of the photovoltaic solar cells under standard test conditions (STC). Standard test conditions are 1,000 Watts per square meter solar irradiance, 25 degrees C cell temperature, and ASTM G173-03 standard spectrum. Nameplate efficiencies reported by manufacturers are typically under STC. Standard poly- or mono-crystalline silicon modules tend to have rated efficiencies in the range of 14-17%. Premium high efficiency mono-crystalline silicon modules with anti-reflective coatings can have efficiencies in the range of 18-20%. Thin film photovoltaic modules typically have efficiencies of 11% or less. (Default: 0.15 for standard silicon solar cells).", + "default": 0.15, + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number", + "format": "double" + }, + "active_area_fraction": { + "title": "Active Area Fraction", + "description": "The fraction of the parent Shade geometry that is covered in active solar cells. This fraction includes the difference between the PV panel (aka. PV module) area and the active cells within the panel as well as any losses for how the (typically rectangular) panels can be arranged on the Shade geometry. When the parent Shade geometry represents just the solar panels, this fraction is typically around 0.9 given that the framing elements of the panel reduce the overall active area. (Default: 0.9, assuming parent Shade geometry represents only the PV panel geometry).", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "module_type": { + "description": "Text to indicate the type of solar module. This is used to determine the temperature coefficients used in the simulation of the photovoltaic modules. When the rated_efficiency is between 12-18%, the Standard type is typically most appropriate. When the rated_efficiency is greater than 18%, the Premium type is likely more appropriate. When the rated_efficiency is less than 12%, this likely refers to a case where the ThinFilm module type is most appropriate.", + "default": "Standard", + "allOf": [ + { + "$ref": "#/components/schemas/ModuleType" + } + ] + }, + "mounting_type": { + "description": "Text to indicate the type of mounting and/or tracking used for the photovoltaic array. Note that the OneAxis options have an axis of rotation that is determined by the azimuth of the parent Shade geometry. Also note that, in the case of one or two axis tracking, shadows on the (static) parent Shade geometry still reduce the electrical output, enabling the simulation to account for large context geometry casting shadows on the array. However, the effects of smaller detailed shading may be improperly accounted for and self shading of the dynamic panel geometry is only accounted for via the tracking_ground_coverage_ratio property on this object. FixedOpenRack refers to ground or roof mounting where the air flows freely. FixedRoofMounted refers to mounting flush with the roof with limited air flow. OneAxis refers to a fixed tilt and azimuth, which define an axis of rotation. OneAxisBacktracking is the same as OneAxis but with controls to reduce self-shade at low sun angles. TwoAxis refers to a dynamic tilt and azimuth that track the sun.", + "default": "FixedOpenRack", + "allOf": [ + { + "$ref": "#/components/schemas/MountingType" + } + ] + }, + "system_loss_fraction": { + "title": "System Loss Fraction", + "description": "A number between 0 and 1 for the fraction of the electricity output lost due to factors other than EPW weather conditions, panel efficiency/type, active area, mounting, and inverter conversion from DC to AC. Factors that should be accounted for in this input include soiling, snow, wiring losses, electrical connection losses, manufacturer defects/tolerances/mismatch in cell characteristics, losses from power grid availability, and losses due to age or light-induced degradation. Losses from these factors tend to be between 10-20% but can vary widely depending on the installation, maintenance and the grid to which the panels are connected..", + "default": 0.14, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "PVProperties", + "description": "Base class for all objects requiring a valid EnergyPlus identifier." + }, + "ShadeEnergyPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeEnergyPropertiesAbridged", + "pattern": "^ShadeEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of a ShadeConstruction to set the reflectance and specularity of the Shade. If None, the construction is set by theparent Room construction_set, the Model global_construction_set or (in the case fo an orphaned shade) the EnergyPlus default of 0.2 diffuse reflectance.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "transmittance_schedule": { + "title": "Transmittance Schedule", + "description": "Identifier of a schedule to set the transmittance of the shade, which can vary throughout the simulation. If None, the shade will be completely opaque.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "pv_properties": { + "title": "Pv Properties", + "description": "An optional PVProperties object to specify photovoltaic behavior of the Shade. If None, the Shade will have no Photovoltaic properties. Note that the normal of the Shade is important in determining the performance of the shade as a PV geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/PVProperties" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ShadeEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "StateGeometryAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdRadianceBaseModel" + }, + { + "type": "object", + "required": [ + "geometry" + ], + "properties": { + "geometry": { + "title": "Geometry", + "description": "A ladybug_geometry Face3D.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "type": { + "title": "Type", + "default": "StateGeometryAbridged", + "pattern": "^StateGeometryAbridged$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier identifier (default: None).", + "type": "string" + }, + "modifier_direct": { + "title": "Modifier Direct", + "description": "A string for Honeybee Radiance Modifier identifiers to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "StateGeometryAbridged", + "description": "A single planar geometry that can be assigned to Radiance states." + }, + "RadianceShadeStateAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RadianceShadeStateAbridged", + "pattern": "^RadianceShadeStateAbridged$", + "type": "string", + "readOnly": true + }, + "modifier": { + "title": "Modifier", + "description": "A Radiance Modifier identifier (default: None).", + "type": "string" + }, + "modifier_direct": { + "title": "Modifier Direct", + "description": "A Radiance Modifier identifier (default: None).", + "type": "string" + }, + "shades": { + "title": "Shades", + "description": "A list of StateGeometryAbridged objects (default: None).", + "type": "array", + "items": { + "$ref": "#/components/schemas/StateGeometryAbridged" + } + } + }, + "additionalProperties": false + } + ], + "title": "RadianceShadeStateAbridged", + "description": "RadianceShadeStateAbridged represents a single state for a dynamic Shade." + }, + "ShadeRadiancePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_PropertiesBaseAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeRadiancePropertiesAbridged", + "pattern": "^ShadeRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "dynamic_group_identifier": { + "title": "Dynamic Group Identifier", + "description": "An optional string to note the dynamic group ' 'to which the Shade is a part of. Shades sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Shade is assumed to be static. (default: None).", + "type": "string" + }, + "states": { + "title": "States", + "description": "An optional list of abridged states (default: None).", + "type": "array", + "items": { + "$ref": "#/components/schemas/RadianceShadeStateAbridged" + } + } + }, + "additionalProperties": false + } + ], + "title": "ShadeRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Shade Abridged." + }, + "ShadePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadePropertiesAbridged", + "pattern": "^ShadePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/ShadeEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/ShadeRadiancePropertiesAbridged" + } + } + } + ], + "title": "ShadePropertiesAbridged" + }, + "Shade": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "geometry", + "properties" + ], + "properties": { + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/ShadePropertiesAbridged" + } + ] + }, + "type": { + "title": "Type", + "default": "Shade", + "pattern": "^Shade$", + "type": "string", + "readOnly": true + }, + "is_detached": { + "title": "Is Detached", + "description": "Boolean to note whether this shade is detached from any of the other geometry in the model. Cases where this should be True include shade representing surrounding buildings or context. Note that this should always be False for shades assigned to parent objects.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "Shade", + "description": "Base class for all objects requiring a identifiers acceptable for all engines." + }, + "VentilationOpening": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationOpening", + "pattern": "^VentilationOpening$", + "type": "string", + "readOnly": true + }, + "fraction_area_operable": { + "title": "Fraction Area Operable", + "description": "A number for the fraction of the window area that is operable.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "fraction_height_operable": { + "title": "Fraction Height Operable", + "description": "A number for the fraction of the distance from the bottom of the window to the top that is operable", + "default": 1.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "discharge_coefficient": { + "title": "Discharge Coefficient", + "description": "A number that will be multiplied by the area of the window in the stack (buoyancy-driven) part of the equation to account for additional friction from window geometry, insect screens, etc. Typical values include 0.45, for unobstructed windows WITH insect screens and 0.65 for unobstructed windows WITHOUT insect screens. This value should be lowered if windows are of an awning or casement type and are not allowed to fully open.", + "default": 0.45, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "wind_cross_vent": { + "title": "Wind Cross Vent", + "description": "Boolean to indicate if there is an opening of roughly equal area on the opposite side of the Room such that wind-driven cross ventilation will be induced. If False, the assumption is that the operable area is primarily on one side of the Room and there is no wind-driven ventilation.", + "default": false, + "type": "boolean" + }, + "flow_coefficient_closed": { + "title": "Flow Coefficient Closed", + "description": "An optional number in kg/s-m, at 1 Pa per meter of crack length, used to calculate the mass flow rate when the opening is closed; required to run an AirflowNetwork simulation. The DesignBuilder Cracks template defines the flow coefficient for a tight, low-leakage closed external window to be 0.00001, and the flow coefficient for a very poor, high-leakage closed external window to be 0.003.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_exponent_closed": { + "title": "Flow Exponent Closed", + "description": "An optional dimensionless number between 0.5 and 1 used to calculate the mass flow rate when the opening is closed; required to run an AirflowNetwork simulation. This value represents the leak geometry impact on airflow, with 0.5 generally corresponding to turbulent orifice flow and 1 generally corresponding to laminar flow. The default of 0.65 is representative of many cases of wall and window leakage, used when the exponent cannot be measured.", + "default": 0.65, + "minimum": 0.5, + "maximum": 1, + "type": "number", + "format": "double" + }, + "two_way_threshold": { + "title": "Two Way Threshold", + "description": "A number in kg/m3 indicating the minimum density difference above which two-way flow may occur due to stack effect, required to run an AirflowNetwork simulation. This value is required because the air density difference between two zones (which drives two-way air flow) will tend towards division by zero errors as the air density difference approaches zero. The default of 0.0001 is a typical default value used for AirflowNetwork openings.", + "default": 0.0001, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "VentilationOpening", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "DoorEnergyPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorEnergyPropertiesAbridged", + "pattern": "^DoorEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of an OpaqueConstruction or WindowConstruction for the door. Note that the host door must have the is_glass property set to True to assign a WindowConstruction. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "vent_opening": { + "title": "Vent Opening", + "description": "An optional VentilationOpening to specify the operable portion of the Door.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationOpening" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "DoorEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "RadianceSubFaceStateAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/RadianceShadeStateAbridged" + }, + { + "type": "object", + "properties": { + "vmtx_geometry": { + "title": "Vmtx Geometry", + "description": "A Face3D for the view matrix geometry (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "dmtx_geometry": { + "title": "Dmtx Geometry", + "description": "A Face3D for the daylight matrix geometry (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "type": { + "title": "Type", + "default": "RadianceSubFaceStateAbridged", + "pattern": "^RadianceSubFaceStateAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "RadianceSubFaceStateAbridged", + "description": "RadianceSubFaceStateAbridged is an abridged state for a dynamic Aperture or Door.\n " + }, + "DoorRadiancePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_PropertiesBaseAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorRadiancePropertiesAbridged", + "pattern": "^DoorRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "dynamic_group_identifier": { + "title": "Dynamic Group Identifier", + "description": "An optional string to note the dynamic group ' 'to which the Door is a part of. Doors sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Door is assumed to be static. (default: None).", + "type": "string" + }, + "states": { + "title": "States", + "description": "An optional list of abridged states (default: None).", + "type": "array", + "items": { + "$ref": "#/components/schemas/RadianceSubFaceStateAbridged" + } + } + }, + "additionalProperties": false + } + ], + "title": "DoorRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Door Abridged." + }, + "DoorPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorPropertiesAbridged", + "pattern": "^DoorPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/DoorEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/DoorRadiancePropertiesAbridged" + } + } + } + ], + "title": "DoorPropertiesAbridged" + }, + "Door": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "geometry", + "boundary_condition", + "properties" + ], + "properties": { + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "boundary_condition": { + "title": "Boundary Condition", + "anyOf": [ + { + "$ref": "#/components/schemas/Outdoors" + }, + { + "$ref": "#/components/schemas/Surface" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/DoorPropertiesAbridged" + } + ] + }, + "type": { + "title": "Type", + "default": "Door", + "pattern": "^Door$", + "type": "string", + "readOnly": true + }, + "is_glass": { + "title": "Is Glass", + "description": "Boolean to note whether this object is a glass door as opposed to an opaque door.", + "default": false, + "type": "boolean" + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. entryway awning).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + } + }, + "additionalProperties": false + } + ], + "title": "Door", + "description": "Base class for all objects requiring a identifiers acceptable for all engines." + }, + "RadiantwithDOASEquipmentType": { + "title": "RadiantwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_Radiant_Chiller_Boiler", + "DOAS_Radiant_Chiller_ASHP", + "DOAS_Radiant_Chiller_DHW", + "DOAS_Radiant_ACChiller_Boiler", + "DOAS_Radiant_ACChiller_ASHP", + "DOAS_Radiant_ACChiller_DHW", + "DOAS_Radiant_DCW_Boiler", + "DOAS_Radiant_DCW_ASHP", + "DOAS_Radiant_DCW_DHW" + ], + "type": "string" + }, + "RadiantFaceTypes": { + "title": "RadiantFaceTypes", + "description": "An enumeration.", + "enum": [ + "Floor", + "Ceiling", + "FloorWithCarpet", + "CeilingMetalPanel", + "FloorWithHardwood" + ], + "type": "string" + }, + "RadiantwithDOASAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "RadiantwithDOASAbridged", + "pattern": "^RadiantwithDOASAbridged$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the RadiantwithDOASEquipmentType enumeration.", + "default": "DOAS_Radiant_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/RadiantwithDOASEquipmentType" + } + ] + }, + "radiant_face_type": { + "description": "Text to indicate which faces are thermally active by default. Note that this property has no effect when the rooms to which the HVAC system is assigned have constructions with internal source materials. In this case, those constructions will dictate the thermally active surfaces.", + "default": "Floor", + "allOf": [ + { + "$ref": "#/components/schemas/RadiantFaceTypes" + } + ] + }, + "minimum_operation_time": { + "title": "Minimum Operation Time", + "description": "A number for the minimum number of hours of operation for the radiant system before it shuts off.", + "default": 1.0, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "switch_over_time": { + "title": "Switch Over Time", + "description": "A number for the minimum number of hours for when the system can switch between heating and cooling.", + "default": 24.0, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "RadiantwithDOASAbridged", + "description": "Low Temperature Radiant with DOAS HVAC system.\n\nThis HVAC template will change the floor and/or ceiling constructions\nof the Rooms that it is applied to, replacing them with a construction that\naligns with the radiant_type property (eg. CeilingMetalPanel).\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a two-speed direct expansion (DX) cooling coil and a single-speed DX\nheating coil with backup electrical resistance heat.\n\nThe heating and cooling needs of the space are met with the radiant constructions,\nwhich use chilled water at 12.8C (55F) and a hot water temperature somewhere\nbetween 32.2C (90F) and 49C (120F) (warmer temperatures are used in colder\nclimate zones).\n\nNote that radiant systems are particularly limited in cooling capacity and\nusing them may result in many unmet hours. To reduce unmet hours, one can\nremove carpets, reduce internal loads, reduce solar and envelope gains during\npeak times, add thermal mass, and use an expanded comfort range." + }, + "EnergyWindowMaterialSimpleGlazSys": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "u_factor", + "shgc" + ], + "properties": { + "u_factor": { + "title": "U Factor", + "description": "The overall heat transfer coefficient for window system in W/m2-K. Note that constructions with U-values above 5.8 should not be assigned to skylights as this implies the resistance of the window is negative when air films are subtracted.", + "exclusiveMinimum": 0, + "maximum": 12, + "type": "number", + "format": "double" + }, + "shgc": { + "title": "Shgc", + "description": "Unit-less quantity for the Solar Heat Gain Coefficient (solar transmittance + conduction) at normal incidence and vertical orientation.", + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialSimpleGlazSys", + "pattern": "^EnergyWindowMaterialSimpleGlazSys$", + "type": "string", + "readOnly": true + }, + "vt": { + "title": "Vt", + "description": "The fraction of visible light falling on the window that makes it through the glass at normal incidence.", + "default": 0.54, + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialSimpleGlazSys", + "description": "Describe an entire glazing system rather than individual layers.\n\nUsed when only very limited information is available on the glazing layers or when\nspecific performance levels are being targeted." + }, + "EnergyWindowMaterialGlazing": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGlazing", + "pattern": "^EnergyWindowMaterialGlazing$", + "type": "string", + "readOnly": true + }, + "thickness": { + "title": "Thickness", + "description": "The surface-to-surface thickness of the glass in meters. Default: 0.003.", + "default": 0.003, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "solar_transmittance": { + "title": "Solar Transmittance", + "description": "Transmittance of solar radiation through the glass at normal incidence. Default: 0.85 for clear glass.", + "default": 0.85, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "solar_reflectance": { + "title": "Solar Reflectance", + "description": "Reflectance of solar radiation off of the front side of the glass at normal incidence, averaged over the solar spectrum. Default: 0.075 for clear glass.", + "default": 0.075, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "solar_reflectance_back": { + "title": "Solar Reflectance Back", + "description": "Reflectance of solar radiation off of the back side of the glass at normal incidence, averaged over the solar spectrum.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + }, + "visible_transmittance": { + "title": "Visible Transmittance", + "description": "Transmittance of visible light through the glass at normal incidence. Default: 0.9 for clear glass.", + "default": 0.9, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_reflectance": { + "title": "Visible Reflectance", + "description": "Reflectance of visible light off of the front side of the glass at normal incidence. Default: 0.075 for clear glass.", + "default": 0.075, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_reflectance_back": { + "title": "Visible Reflectance Back", + "description": "Reflectance of visible light off of the back side of the glass at normal incidence averaged over the solar spectrum and weighted by the response of the human eye.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + }, + "infrared_transmittance": { + "title": "Infrared Transmittance", + "description": "Long-wave transmittance at normal incidence.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "emissivity": { + "title": "Emissivity", + "description": "Infrared hemispherical emissivity of the front (outward facing) side of the glass. Default: 0.84, which is typical for clear glass without a low-e coating.", + "default": 0.84, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "emissivity_back": { + "title": "Emissivity Back", + "description": "Infrared hemispherical emissivity of the back (inward facing) side of the glass. Default: 0.84, which is typical for clear glass without a low-e coating.", + "default": 0.84, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "conductivity": { + "title": "Conductivity", + "description": "Thermal conductivity of the glass in W/(m-K). Default: 0.9, which is typical for clear glass without a low-e coating.", + "default": 0.9, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "dirt_correction": { + "title": "Dirt Correction", + "description": "Factor that corrects for the presence of dirt on the glass. A default value of 1 indicates the glass is clean.", + "default": 1, + "type": "number", + "format": "double" + }, + "solar_diffusing": { + "title": "Solar Diffusing", + "description": "If False (default), the beam solar radiation incident on the glass is transmitted as beam radiation with no diffuse component.If True, the beam solar radiation incident on the glass is transmitted as hemispherical diffuse radiation with no beam component.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialGlazing", + "description": "Describe a single glass pane corresponding to a layer in a window construction." + }, + "GasType": { + "title": "GasType", + "description": "An enumeration.", + "enum": [ + "Air", + "Argon", + "Krypton", + "Xenon" + ], + "type": "string" + }, + "EnergyWindowMaterialGas": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGas", + "pattern": "^EnergyWindowMaterialGas$", + "type": "string", + "readOnly": true + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the gas layer in meters. Default: 0.0125.", + "default": 0.0125, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "gas_type": { + "default": "Air", + "allOf": [ + { + "$ref": "#/components/schemas/GasType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialGas", + "description": "Create single layer of gas in a window construction.\n\nCan be combined with EnergyWindowMaterialGlazing to make multi-pane windows." + }, + "EnergyWindowMaterialGasCustom": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "conductivity_coeff_a", + "viscosity_coeff_a", + "specific_heat_coeff_a", + "specific_heat_ratio", + "molecular_weight" + ], + "properties": { + "conductivity_coeff_a": { + "title": "Conductivity Coeff A", + "description": "The A coefficient for gas conductivity in W/(m-K).", + "type": "number", + "format": "double" + }, + "viscosity_coeff_a": { + "title": "Viscosity Coeff A", + "description": "The A coefficient for gas viscosity in kg/(m-s).", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "specific_heat_coeff_a": { + "title": "Specific Heat Coeff A", + "description": "The A coefficient for gas specific heat in J/(kg-K).", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "specific_heat_ratio": { + "title": "Specific Heat Ratio", + "description": "The specific heat ratio for gas.", + "exclusiveMinimum": 1, + "type": "number", + "format": "double" + }, + "molecular_weight": { + "title": "Molecular Weight", + "description": "The molecular weight for gas in g/mol.", + "minimum": 20, + "maximum": 200, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGasCustom", + "pattern": "^EnergyWindowMaterialGasCustom$", + "type": "string", + "readOnly": true + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the gas layer in meters. Default: 0.0125.", + "default": 0.0125, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "conductivity_coeff_b": { + "title": "Conductivity Coeff B", + "description": "The B coefficient for gas conductivity in W/(m-K2).", + "default": 0, + "type": "number", + "format": "double" + }, + "conductivity_coeff_c": { + "title": "Conductivity Coeff C", + "description": "The C coefficient for gas conductivity in W/(m-K3).", + "default": 0, + "type": "number", + "format": "double" + }, + "viscosity_coeff_b": { + "title": "Viscosity Coeff B", + "description": "The B coefficient for gas viscosity in kg/(m-s-K).", + "default": 0, + "type": "number", + "format": "double" + }, + "viscosity_coeff_c": { + "title": "Viscosity Coeff C", + "description": "The C coefficient for gas viscosity in kg/(m-s-K2).", + "default": 0, + "type": "number", + "format": "double" + }, + "specific_heat_coeff_b": { + "title": "Specific Heat Coeff B", + "description": "The B coefficient for gas specific heat in J/(kg-K2).", + "default": 0, + "type": "number", + "format": "double" + }, + "specific_heat_coeff_c": { + "title": "Specific Heat Coeff C", + "description": "The C coefficient for gas specific heat in J/(kg-K3).", + "default": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialGasCustom", + "description": "Create single layer of custom gas." + }, + "EnergyWindowMaterialGasMixture": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "gas_types", + "gas_fractions" + ], + "properties": { + "gas_types": { + "description": "List of gases in the gas mixture.", + "type": "array", + "items": { + "$ref": "#/components/schemas/GasType" + }, + "minItems": 2, + "maxItems": 4 + }, + "gas_fractions": { + "title": "Gas Fractions", + "description": "A list of fractional numbers describing the volumetric fractions of gas types in the mixture. This list must align with the gas_types list and must sum to 1.", + "minItems": 2, + "maxItems": 4, + "type": "array", + "items": { + "type": "number", + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "EnergyWindowMaterialGasMixture", + "pattern": "^EnergyWindowMaterialGasMixture$", + "type": "string", + "readOnly": true + }, + "thickness": { + "title": "Thickness", + "description": "The thickness of the gas mixture layer in meters.", + "default": 0.0125, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialGasMixture", + "description": "Create a mixture of two to four different gases to fill the panes of multiple\npane windows." + }, + "EnergyWindowFrame": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "width", + "conductance" + ], + "properties": { + "width": { + "title": "Width", + "description": "Number for the width of frame in plane of window [m]. The frame width is assumed to be the same on all sides of window..", + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "conductance": { + "title": "Conductance", + "description": "Number for the thermal conductance of the frame material measured from inside to outside of the frame surface (no air films) and taking 2D conduction effects into account [W/m2-K].", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "EnergyWindowFrame", + "pattern": "^EnergyWindowFrame$", + "type": "string", + "readOnly": true + }, + "edge_to_center_ratio": { + "title": "Edge To Center Ratio", + "description": "Number between 0 and 4 for the ratio of the glass conductance near the frame (excluding air films) divided by the glass conductance at the center of the glazing (excluding air films). This is used only for multi-pane glazing constructions. This ratio should usually be greater than 1.0 since the spacer material that separates the glass panes is usually more conductive than the gap between panes. A value of 1 effectively indicates no spacer. Values should usually be obtained from the LBNL WINDOW program so that the unique characteristics of the window construction can be accounted for.", + "default": 1, + "exclusiveMinimum": 0, + "maximum": 4, + "type": "number", + "format": "double" + }, + "outside_projection": { + "title": "Outside Projection", + "description": "Number for the distance that the frame projects outward from the outside face of the glazing [m]. This is used to calculate shadowing of frame onto glass, solar absorbed by the frame, IR emitted and absorbed by the frame, and convection from frame.", + "default": 0, + "minimum": 0, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "inside_projection": { + "title": "Inside Projection", + "description": "Number for the distance that the frame projects inward from the inside face of the glazing [m]. This is used to calculate solar absorbed by the frame, IR emitted and absorbed by the frame, and convection from frame.", + "default": 0, + "minimum": 0, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "thermal_absorptance": { + "title": "Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the frame material.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number", + "format": "double" + }, + "solar_absorptance": { + "title": "Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the frame material.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_absorptance": { + "title": "Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the frame material.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowFrame", + "description": "Opaque material representing a layer within an opaque construction." + }, + "WindowConstruction": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "materials" + ], + "properties": { + "materials": { + "title": "Materials", + "description": "List of glazing and gas material definitions. The order of the materials is from exterior to interior. If a SimpleGlazSys material is used, it must be the only material in the construction. For multi-layered constructions, adjacent glass layers must be separated by one and only one gas layer.", + "minItems": 1, + "maxItems": 8, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyWindowMaterialSimpleGlazSys" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGlazing" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGas" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGasCustom" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGasMixture" + } + ] + } + }, + "type": { + "title": "Type", + "default": "WindowConstruction", + "pattern": "^WindowConstruction$", + "type": "string", + "readOnly": true + }, + "frame": { + "title": "Frame", + "description": "An optional window frame material for the frame that surrounds the window construction.", + "allOf": [ + { + "$ref": "#/components/schemas/EnergyWindowFrame" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "WindowConstruction", + "description": "Construction for window objects (Aperture, Door)." + }, + "EnergyWindowMaterialShade": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "EnergyWindowMaterialShade", + "pattern": "^EnergyWindowMaterialShade$", + "type": "string", + "readOnly": true + }, + "solar_transmittance": { + "title": "Solar Transmittance", + "description": "The transmittance averaged over the solar spectrum. It is assumed independent of incidence angle. Default: 0.4.", + "default": 0.4, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "solar_reflectance": { + "title": "Solar Reflectance", + "description": "The reflectance averaged over the solar spectrum. It us assumed same on both sides of shade and independent of incidence angle. Default value is 0.5", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "visible_transmittance": { + "title": "Visible Transmittance", + "description": "The transmittance averaged over the solar spectrum and weighted by the response of the human eye. It is assumed independent of incidence angle. Default: 0.4.", + "default": 0.4, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "visible_reflectance": { + "title": "Visible Reflectance", + "description": "The transmittance averaged over the solar spectrum and weighted by the response of the human eye. It is assumed independent of incidence angle. Default: 0.4", + "default": 0.4, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "emissivity": { + "title": "Emissivity", + "description": "The effective long-wave infrared hemispherical emissivity. It is assumed same on both sides of shade. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "exclusiveMaximum": 1, + "type": "number", + "format": "double" + }, + "infrared_transmittance": { + "title": "Infrared Transmittance", + "description": "The effective long-wave transmittance. It is assumed independent of incidence angle. Default: 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "thickness": { + "title": "Thickness", + "description": "The thickness of the shade material in meters. Default: 0.005.", + "default": 0.005, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "conductivity": { + "title": "Conductivity", + "description": "The conductivity of the shade material in W/(m-K). Default value is 0.1.", + "default": 0.1, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "distance_to_glass": { + "title": "Distance To Glass", + "description": "The distance from shade to adjacent glass in meters. Default value is 0.05", + "default": 0.05, + "minimum": 0.001, + "maximum": 1, + "type": "number", + "format": "double" + }, + "top_opening_multiplier": { + "title": "Top Opening Multiplier", + "description": "The effective area for air flow at the top of the shade, divided by the horizontal area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "bottom_opening_multiplier": { + "title": "Bottom Opening Multiplier", + "description": "The effective area for air flow at the bottom of the shade, divided by the horizontal area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "left_opening_multiplier": { + "title": "Left Opening Multiplier", + "description": "The effective area for air flow at the left side of the shade, divided by the vertical area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "right_opening_multiplier": { + "title": "Right Opening Multiplier", + "description": "The effective area for air flow at the right side of the shade, divided by the vertical area between glass and shade. Default: 0.5.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "airflow_permeability": { + "title": "Airflow Permeability", + "description": "The fraction of the shade surface that is open to air flow. If air cannot pass through the shade material, airflow_permeability = 0. Default: 0.", + "default": 0, + "minimum": 0, + "maximum": 0.8, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialShade", + "description": "This object specifies the properties of window shade materials." + }, + "SlatOrientation": { + "title": "SlatOrientation", + "description": "An enumeration.", + "enum": [ + "Horizontal", + "Vertical" + ], + "type": "string" + }, + "EnergyWindowMaterialBlind": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "EnergyWindowMaterialBlind", + "pattern": "^EnergyWindowMaterialBlind$", + "type": "string", + "readOnly": true + }, + "slat_orientation": { + "default": "Horizontal", + "allOf": [ + { + "$ref": "#/components/schemas/SlatOrientation" + } + ] + }, + "slat_width": { + "title": "Slat Width", + "description": "The width of slat measured from edge to edge in meters.", + "default": 0.025, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "slat_separation": { + "title": "Slat Separation", + "description": "The distance between the front of a slat and the back of the adjacent slat in meters.", + "default": 0.01875, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "slat_thickness": { + "title": "Slat Thickness", + "description": "The distance between the faces of a slat in meters. The default value is 0.001.", + "default": 0.001, + "exclusiveMinimum": 0, + "maximum": 0.1, + "type": "number", + "format": "double" + }, + "slat_angle": { + "title": "Slat Angle", + "description": "The angle (degrees) between the glazing outward normal and the slat outward normal where the outward normal points away from the front face of the slat (degrees). The default value is 45.", + "default": 45, + "minimum": 0, + "maximum": 180, + "type": "number", + "format": "double" + }, + "slat_conductivity": { + "title": "Slat Conductivity", + "description": "The thermal conductivity of the slat in W/(m-K). Default: 221.", + "default": 221, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "beam_solar_transmittance": { + "title": "Beam Solar Transmittance", + "description": "The beam solar transmittance of the slat, assumed to be independent of angle of incidence on the slat. Any transmitted beam radiation is assumed to be 100% diffuse (i.e., slats are translucent). The default value is 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_solar_reflectance": { + "title": "Beam Solar Reflectance", + "description": "The beam solar reflectance of the front side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_solar_reflectance_back": { + "title": "Beam Solar Reflectance Back", + "description": "The beam solar reflectance of the back side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_solar_transmittance": { + "title": "Diffuse Solar Transmittance", + "description": "The slat transmittance for hemispherically diffuse solar radiation. Default: 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_solar_reflectance": { + "title": "Diffuse Solar Reflectance", + "description": "The front-side slat reflectance for hemispherically diffuse solar radiation. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_solar_reflectance_back": { + "title": "Diffuse Solar Reflectance Back", + "description": "The back-side slat reflectance for hemispherically diffuse solar radiation. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_visible_transmittance": { + "title": "Beam Visible Transmittance", + "description": "The beam visible transmittance of the slat, it is assumed to be independent of the angle of incidence. Default: 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_visible_reflectance": { + "title": "Beam Visible Reflectance", + "description": "The beam visible reflectance on the front side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "beam_visible_reflectance_back": { + "title": "Beam Visible Reflectance Back", + "description": "The beam visible reflectance on the back side of the slat, it is assumed to be independent of the angle of incidence. Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_visible_transmittance": { + "title": "Diffuse Visible Transmittance", + "description": "The slat transmittance for hemispherically diffuse visible radiation. This value should equal \u201cSlat Beam Visible Transmittance.\u201d", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_visible_reflectance": { + "title": "Diffuse Visible Reflectance", + "description": "The front-side slat reflectance for hemispherically diffuse visible radiation. This value should equal \u201cFront Side Slat Beam Visible Reflectance.\u201d Default: 0.5.", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "diffuse_visible_reflectance_back": { + "title": "Diffuse Visible Reflectance Back", + "description": "The back-side slat reflectance for hemispherically diffuse visible radiation. This value should equal \u201cBack Side Slat Beam Visible Reflectance. Default: 0.5.\u201d", + "default": 0.5, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "infrared_transmittance": { + "title": "Infrared Transmittance", + "description": "The slat infrared hemispherical transmittance. It is zero for solid metallic, wooden or glass slats, but may be non-zero in some cases such as for thin plastic slats. The default value is 0.", + "default": 0, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "emissivity": { + "title": "Emissivity", + "description": "Front side hemispherical emissivity of the slat. Default is 0.9 for most materials. The default value is 0.9.", + "default": 0.9, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "emissivity_back": { + "title": "Emissivity Back", + "description": "Back side hemispherical emissivity of the slat. Default is 0.9 for most materials. The default value is 0.9.", + "default": 0.9, + "exclusiveMaximum": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "distance_to_glass": { + "title": "Distance To Glass", + "description": "The distance from the mid-plane of the blind to the adjacent glass in meters. The default value is 0.05.", + "default": 0.05, + "minimum": 0.01, + "maximum": 1, + "type": "number", + "format": "double" + }, + "top_opening_multiplier": { + "title": "Top Opening Multiplier", + "description": "The effective area for air flow at the top of the shade, divided by the horizontal area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "bottom_opening_multiplier": { + "title": "Bottom Opening Multiplier", + "description": "The effective area for air flow at the bottom of the shade, divided by the horizontal area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "left_opening_multiplier": { + "title": "Left Opening Multiplier", + "description": "The effective area for air flow at the left side of the shade, divided by the vertical area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "right_opening_multiplier": { + "title": "Right Opening Multiplier", + "description": "The effective area for air flow at the right side of the shade, divided by the vertical area between glass and shade.", + "default": 0.5, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyWindowMaterialBlind", + "description": "Window blind material consisting of flat, equally-spaced slats." + }, + "ShadeLocation": { + "title": "ShadeLocation", + "description": "Choices for where a shade material is located in a window assembly.", + "enum": [ + "Interior", + "Between", + "Exterior" + ], + "type": "string" + }, + "ControlType": { + "title": "ControlType", + "description": "Choices for how the shading device is controlled.", + "enum": [ + "AlwaysOn", + "OnIfHighSolarOnWindow", + "OnIfHighHorizontalSolar", + "OnIfHighOutdoorAirTemperature", + "OnIfHighZoneAirTemperature", + "OnIfHighZoneCooling", + "OnNightIfLowOutdoorTempAndOffDay", + "OnNightIfLowInsideTempAndOffDay", + "OnNightIfHeatingAndOffDay" + ], + "type": "string" + }, + "WindowConstructionShade": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "window_construction", + "shade_material" + ], + "properties": { + "window_construction": { + "title": "Window Construction", + "description": "A WindowConstruction object that serves as the \"switched off\" version of the construction (aka. the \"bare construction\"). The shade_material and shade_location will be used to modify this starting construction.", + "allOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + } + ] + }, + "shade_material": { + "title": "Shade Material", + "description": "Identifier of a An EnergyWindowMaterialShade or an EnergyWindowMaterialBlind that serves as the shading layer for this construction. This can also be an EnergyWindowMaterialGlazing, which will indicate that the WindowConstruction has a dynamically-controlled glass pane like an electrochromic window assembly.", + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyWindowMaterialShade" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialBlind" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGlazing" + } + ] + }, + "type": { + "title": "Type", + "default": "WindowConstructionShade", + "pattern": "^WindowConstructionShade$", + "type": "string", + "readOnly": true + }, + "shade_location": { + "description": "Text to indicate where in the window assembly the shade_material is located. Note that the WindowConstruction must have at least one gas gap to use the \"Between\" option. Also note that, for a WindowConstruction with more than one gas gap, the \"Between\" option defaults to using the inner gap as this is the only option that EnergyPlus supports.", + "default": "Interior", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeLocation" + } + ] + }, + "control_type": { + "description": "Text to indicate how the shading device is controlled, which determines when the shading is \u201con\u201d or \u201coff.\u201d", + "default": "AlwaysOn", + "allOf": [ + { + "$ref": "#/components/schemas/ControlType" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "A number that corresponds to the specified control_type. This can be a value in (W/m2), (C) or (W) depending upon the control type.Note that this value cannot be None for any control type except \"AlwaysOn.\"", + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "An optional ScheduleRuleset or ScheduleFixedInterval to be applied on top of the control_type. If None, the control_type will govern all behavior of the construction.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "WindowConstructionShade", + "description": "Construction for window objects (Aperture, Door)." + }, + "Roughness": { + "title": "Roughness", + "description": "Relative roughness of a particular material layer.", + "enum": [ + "VeryRough", + "Rough", + "MediumRough", + "MediumSmooth", + "Smooth", + "VerySmooth" + ], + "type": "string" + }, + "EnergyMaterial": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "thickness", + "conductivity", + "density", + "specific_heat" + ], + "properties": { + "thickness": { + "title": "Thickness", + "description": "Thickness of the material layer in meters.", + "exclusiveMinimum": 0, + "maximum": 3, + "type": "number", + "format": "double" + }, + "conductivity": { + "title": "Conductivity", + "description": "Thermal conductivity of the material layer in W/m-K.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "density": { + "title": "Density", + "description": "Density of the material layer in kg/m3.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "specific_heat": { + "title": "Specific Heat", + "description": "Specific heat of the material layer in J/kg-K.", + "minimum": 100, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "EnergyMaterial", + "pattern": "^EnergyMaterial$", + "type": "string", + "readOnly": true + }, + "roughness": { + "default": "MediumRough", + "allOf": [ + { + "$ref": "#/components/schemas/Roughness" + } + ] + }, + "thermal_absorptance": { + "title": "Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the material. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number", + "format": "double" + }, + "solar_absorptance": { + "title": "Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_absorptance": { + "title": "Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyMaterial", + "description": "Opaque material representing a layer within an opaque construction." + }, + "EnergyMaterialNoMass": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "r_value" + ], + "properties": { + "r_value": { + "title": "R Value", + "description": "The thermal resistance (R-value) of the material layer [m2-K/W].", + "minimum": 0.001, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "EnergyMaterialNoMass", + "pattern": "^EnergyMaterialNoMass$", + "type": "string", + "readOnly": true + }, + "roughness": { + "default": "MediumRough", + "allOf": [ + { + "$ref": "#/components/schemas/Roughness" + } + ] + }, + "thermal_absorptance": { + "title": "Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the material. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number", + "format": "double" + }, + "solar_absorptance": { + "title": "Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_absorptance": { + "title": "Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "EnergyMaterialNoMass", + "description": "No mass opaque material representing a layer within an opaque construction.\n\nUsed when only the thermal resistance (R value) of the material is known." + }, + "MoistureDiffusionModel": { + "title": "MoistureDiffusionModel", + "description": "Acceptable values for the moisture diffusion model for vegetation.", + "enum": [ + "Simple", + "Advanced" + ], + "type": "string" + }, + "EnergyMaterialVegetation": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "EnergyMaterialVegetation", + "pattern": "^EnergyMaterialVegetation$", + "type": "string", + "readOnly": true + }, + "roughness": { + "default": "MediumRough", + "allOf": [ + { + "$ref": "#/components/schemas/Roughness" + } + ] + }, + "thickness": { + "title": "Thickness", + "description": "Thickness of the soil layer in meters.", + "default": 0.1, + "exclusiveMinimum": 0, + "maximum": 3, + "type": "number", + "format": "double" + }, + "conductivity": { + "title": "Conductivity", + "description": "Thermal conductivity of the dry soil in W/m-K.", + "default": 0.35, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "density": { + "title": "Density", + "description": "Density of the dry soil in kg/m3.", + "default": 1100, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "specific_heat": { + "title": "Specific Heat", + "description": "Specific heat of the dry soil in J/kg-K.", + "default": 1200, + "minimum": 100, + "type": "number", + "format": "double" + }, + "soil_thermal_absorptance": { + "title": "Soil Thermal Absorptance", + "description": "Fraction of incident long wavelength radiation that is absorbed by the soil. Default: 0.9.", + "default": 0.9, + "exclusiveMinimum": 0, + "maximum": 0.99999, + "type": "number", + "format": "double" + }, + "soil_solar_absorptance": { + "title": "Soil Solar Absorptance", + "description": "Fraction of incident solar radiation absorbed by the soil. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "soil_visible_absorptance": { + "title": "Soil Visible Absorptance", + "description": "Fraction of incident visible wavelength radiation absorbed by the material. Default: 0.7.", + "default": 0.7, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "plant_height": { + "title": "Plant Height", + "description": "The height of plants in the vegetation in meters.", + "default": 0.2, + "minimum": 0.005, + "maximum": 1.0, + "type": "number", + "format": "double" + }, + "leaf_area_index": { + "title": "Leaf Area Index", + "description": "The projected leaf area per unit area of soil surface (aka. Leaf Area Index or LAI). Note that the fraction of vegetation cover is calculated directly from LAI using an empirical relation.", + "default": 1.0, + "minimum": 0.001, + "maximum": 5.0, + "type": "number", + "format": "double" + }, + "leaf_reflectivity": { + "title": "Leaf Reflectivity", + "description": "The fraction of incident solar radiation that is reflected by the leaf surfaces. Solar radiation includes the visible spectrum as well as infrared and ultraviolet wavelengths. Typical values are 0.18 to 0.25.", + "default": 0.22, + "minimum": 0.005, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "leaf_emissivity": { + "title": "Leaf Emissivity", + "description": "The ratio of thermal radiation emitted from leaf surfaces to that emitted by an ideal black body at the same temperature.", + "default": 0.95, + "minimum": 0.8, + "maximum": 1.0, + "type": "number", + "format": "double" + }, + "min_stomatal_resist": { + "title": "Min Stomatal Resist", + "description": "The resistance of the plants to moisture transport [s/m]. Plants with low values of stomatal resistance will result in higher evapotranspiration rates than plants with high resistance.", + "default": 180, + "minimum": 50, + "maximum": 300, + "type": "number", + "format": "double" + }, + "sat_vol_moist_cont": { + "title": "Sat Vol Moist Cont", + "description": "The saturation moisture content of the soil by volume.", + "default": 0.3, + "minimum": 0.1, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "residual_vol_moist_cont": { + "title": "Residual Vol Moist Cont", + "description": "The residual moisture content of the soil by volume.", + "default": 0.01, + "minimum": 0.01, + "maximum": 0.1, + "type": "number", + "format": "double" + }, + "init_vol_moist_cont": { + "title": "Init Vol Moist Cont", + "description": "The initial moisture content of the soil by volume.", + "default": 0.01, + "minimum": 0.05, + "maximum": 0.5, + "type": "number", + "format": "double" + }, + "moist_diff_model": { + "default": "Simple", + "allOf": [ + { + "$ref": "#/components/schemas/MoistureDiffusionModel" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "EnergyMaterialVegetation", + "description": "Material representing vegetation on the exterior of an opaque construction." + }, + "OpaqueConstruction": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "materials" + ], + "properties": { + "materials": { + "title": "Materials", + "description": "List of opaque material definitions. The order of the materials is from exterior to interior.", + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyMaterial" + }, + { + "$ref": "#/components/schemas/EnergyMaterialNoMass" + }, + { + "$ref": "#/components/schemas/EnergyMaterialVegetation" + } + ] + } + }, + "type": { + "title": "Type", + "default": "OpaqueConstruction", + "pattern": "^OpaqueConstruction$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "OpaqueConstruction", + "description": "Construction for opaque objects (Face, Shade, Door)." + }, + "WallConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "WallConstructionSet", + "pattern": "^WallConstructionSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "WallConstructionSet", + "description": "A set of constructions for wall assemblies." + }, + "FloorConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "FloorConstructionSet", + "pattern": "^FloorConstructionSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "FloorConstructionSet", + "description": "A set of constructions for floor assemblies." + }, + "RoofCeilingConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "RoofCeilingConstructionSet", + "pattern": "^RoofCeilingConstructionSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "RoofCeilingConstructionSet", + "description": "A set of constructions for roof and ceiling assemblies." + }, + "WindowConstructionDynamic": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "constructions", + "schedule" + ], + "properties": { + "constructions": { + "title": "Constructions", + "description": "A list of WindowConstruction objects that define the various states that the dynamic window can assume.", + "type": "array", + "items": { + "$ref": "#/components/schemas/WindowConstruction" + } + }, + "schedule": { + "title": "Schedule", + "description": "A control schedule that dictates which constructions are active at given times throughout the simulation. The values of the schedule should be integers and range from 0 to one less then the number of constructions. Zero indicates that the first construction is active, one indicates that the second on is active, etc. The schedule type limits of this schedule should be \"Control Level.\" If building custom schedule type limits that describe a particular range of states, the type limits should be \"Discrete\" and the unit type should be \"Mode,\" \"Control,\" or some other fractional unit.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "type": { + "title": "Type", + "default": "WindowConstructionDynamic", + "pattern": "^WindowConstructionDynamic$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "WindowConstructionDynamic", + "description": "Construction for window objects with an included shade layer." + }, + "ApertureConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureConstructionSet", + "pattern": "^ApertureConstructionSet$", + "type": "string", + "readOnly": true + }, + "interior_construction": { + "title": "Interior Construction", + "description": "A WindowConstruction for all apertures with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + }, + "window_construction": { + "title": "Window Construction", + "description": "A WindowConstruction for apertures with an Outdoors boundary condition, False is_operable property, and a Wall face type for their parent face.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + }, + "skylight_construction": { + "title": "Skylight Construction", + "description": "A WindowConstruction for apertures with a Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + }, + "operable_construction": { + "title": "Operable Construction", + "description": "A WindowConstruction for all apertures with an Outdoors boundary condition and True is_operable property.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ApertureConstructionSet", + "description": "A set of constructions for aperture assemblies." + }, + "DoorConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorConstructionSet", + "pattern": "^DoorConstructionSet$", + "type": "string", + "readOnly": true + }, + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for all opaque doors with a Surface boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for opaque doors with an Outdoors boundary condition and a Wall face type for their parent face.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "overhead_construction": { + "title": "Overhead Construction", + "description": "An OpaqueConstruction for opaque doors with an Outdoors boundary condition and a RoofCeiling or Floor type for their parent face.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_glass_construction": { + "title": "Exterior Glass Construction", + "description": "A WindowConstruction for all glass doors with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + }, + "interior_glass_construction": { + "title": "Interior Glass Construction", + "description": "A WindowConstruction for all glass doors with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "DoorConstructionSet", + "description": "A set of constructions for door assemblies." + }, + "ShadeConstruction": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeConstruction", + "pattern": "^ShadeConstruction$", + "type": "string", + "readOnly": true + }, + "solar_reflectance": { + "title": "Solar Reflectance", + "description": "A number for the solar reflectance of the construction.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "visible_reflectance": { + "title": "Visible Reflectance", + "description": "A number for the visible reflectance of the construction.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "is_specular": { + "title": "Is Specular", + "description": "Boolean to note whether the reflection off the shade is diffuse (False) or specular (True). Set to True if the construction is representing a glass facade or a mirror material.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "ShadeConstruction", + "description": "Construction for Shade objects." + }, + "AirBoundaryConstruction": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "AirBoundaryConstruction", + "pattern": "^AirBoundaryConstruction$", + "type": "string", + "readOnly": true + }, + "air_mixing_per_area": { + "title": "Air Mixing Per Area", + "description": "A positive number for the amount of air mixing between Rooms across the air boundary surface [m3/s-m2]. Default: 0.1 corresponds to average indoor air speeds of 0.1 m/s (roughly 20 fpm), which is typical of what would be induced by a HVAC system.", + "default": 0.1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "air_mixing_schedule": { + "title": "Air Mixing Schedule", + "description": "A fractional schedule as a ScheduleRuleset or ScheduleFixedInterval for the air mixing schedule across the construction. If unspecified, an Always On schedule will be assumed.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "AirBoundaryConstruction", + "description": "Construction for Air Boundary objects." + }, + "ConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ConstructionSet", + "pattern": "^ConstructionSet$", + "type": "string", + "readOnly": true + }, + "wall_set": { + "title": "Wall Set", + "description": "A WallConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/WallConstructionSet" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "A FloorConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/FloorConstructionSet" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "A RoofCeilingConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingConstructionSet" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "A ApertureConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/ApertureConstructionSet" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "A DoorConstructionSet object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/DoorConstructionSet" + } + ] + }, + "shade_construction": { + "title": "Shade Construction", + "description": "A ShadeConstruction to set the reflectance properties of all outdoor shades of all objects to which this ConstructionSet is assigned.", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeConstruction" + } + ] + }, + "air_boundary_construction": { + "title": "Air Boundary Construction", + "description": "An AirBoundaryConstruction or OpaqueConstruction to set the properties of Faces with an AirBoundary type.", + "anyOf": [ + { + "$ref": "#/components/schemas/AirBoundaryConstruction" + }, + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ConstructionSet", + "description": "A set of constructions for different surface types and boundary conditions." + }, + "FCUwithDOASEquipmentType": { + "title": "FCUwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_FCU_Chiller_Boiler", + "DOAS_FCU_Chiller_ASHP", + "DOAS_FCU_Chiller_DHW", + "DOAS_FCU_Chiller_ElectricBaseboard", + "DOAS_FCU_Chiller_GasHeaters", + "DOAS_FCU_Chiller", + "DOAS_FCU_ACChiller_Boiler", + "DOAS_FCU_ACChiller_ASHP", + "DOAS_FCU_ACChiller_DHW", + "DOAS_FCU_ACChiller_ElectricBaseboard", + "DOAS_FCU_ACChiller_GasHeaters", + "DOAS_FCU_ACChiller", + "DOAS_FCU_DCW_Boiler", + "DOAS_FCU_DCW_ASHP", + "DOAS_FCU_DCW_DHW", + "DOAS_FCU_DCW_ElectricBaseboard", + "DOAS_FCU_DCW_GasHeaters", + "DOAS_FCU_DCW" + ], + "type": "string" + }, + "FCUwithDOASAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "FCUwithDOASAbridged", + "pattern": "^FCUwithDOASAbridged$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the FCUwithDOASEquipmentType enumeration.", + "default": "DOAS_FCU_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/FCUwithDOASEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "FCUwithDOASAbridged", + "description": "Fan Coil Unit (FCU) with DOAS HVAC system.\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a chilled water cooling coil and a heating coil. The heating coil is a hot\nwater coil except when electric baseboards or gas heaters are specified, in\nwhich case the heating coil is a single-speed direct expansion (DX) heat pump\nwith a backup electrical resistance coil.\n\nEach room/zone also receives its own Fan Coil Unit (FCU), which meets the heating\nand cooling loads of the space. The cooling coil in the FCU is always chilled\nwater cooling coil, which is connected to a chilled water loop operating\nat 6.7C (44F). The heating coil is a hot water coil except when when electric\nbaseboards or gas heaters are specified. Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.\n\nThe FCU with DOAS template is relatively close in performance to active chilled\nbeams (ACBs). When using this template to represent ACBs, care must be taken\nto ensure that the DOAS ventilation air requirement is sufficient to extract\nthe heating cooling from the ACB. If so, then this FCUwithDOAS template can be\nused but with the energy use of the FCU fans ignored." + }, + "ApertureEnergyPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureEnergyPropertiesAbridged", + "pattern": "^ApertureEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of a WindowConstruction for the aperture. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "vent_opening": { + "title": "Vent Opening", + "description": "An optional VentilationOpening to specify the operable portion of the Aperture.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationOpening" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ApertureEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "ApertureRadiancePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_PropertiesBaseAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureRadiancePropertiesAbridged", + "pattern": "^ApertureRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "dynamic_group_identifier": { + "title": "Dynamic Group Identifier", + "description": "An optional string to note the dynamic group ' 'to which the Aperture is a part of. Apertures sharing the same ' 'dynamic_group_identifier will have their states change in unison. ' 'If None, the Aperture is assumed to be static. (default: None).", + "type": "string" + }, + "states": { + "title": "States", + "description": "An optional list of abridged states (default: None).", + "type": "array", + "items": { + "$ref": "#/components/schemas/RadianceSubFaceStateAbridged" + } + } + }, + "additionalProperties": false + } + ], + "title": "ApertureRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Aperture Abridged." + }, + "AperturePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "AperturePropertiesAbridged", + "pattern": "^AperturePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/ApertureEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/ApertureRadiancePropertiesAbridged" + } + } + } + ], + "title": "AperturePropertiesAbridged" + }, + "Aperture": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "geometry", + "boundary_condition", + "properties" + ], + "properties": { + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "boundary_condition": { + "title": "Boundary Condition", + "anyOf": [ + { + "$ref": "#/components/schemas/Outdoors" + }, + { + "$ref": "#/components/schemas/Surface" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/AperturePropertiesAbridged" + } + ] + }, + "type": { + "title": "Type", + "default": "Aperture", + "pattern": "^Aperture$", + "type": "string", + "readOnly": true + }, + "is_operable": { + "title": "Is Operable", + "description": "Boolean to note whether the Aperture can be opened for ventilation.", + "default": false, + "type": "boolean" + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object (eg. window sill, light shelf).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. mullions, louvers).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + } + }, + "additionalProperties": false + } + ], + "title": "Aperture", + "description": "Base class for all objects requiring a identifiers acceptable for all engines." + }, + "EconomizerType": { + "title": "EconomizerType", + "description": "An enumeration.", + "enum": [ + "NoEconomizer", + "DifferentialDryBulb", + "DifferentialEnthalpy" + ], + "type": "string" + }, + "Autosize": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Autosize", + "pattern": "^Autosize$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Autosize", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "IdealAirSystemAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "IdealAirSystemAbridged", + "pattern": "^IdealAirSystemAbridged$", + "type": "string", + "readOnly": true + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the ideal air system. Economizers will mix in a greater amount of outdoor air to cool the zone (rather than running the cooling system) when the zone needs cooling and the outdoor air is cooler than the zone.", + "default": "DifferentialDryBulb", + "allOf": [ + { + "$ref": "#/components/schemas/EconomizerType" + } + ] + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the zone.", + "default": false, + "type": "boolean" + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "heating_air_temperature": { + "title": "Heating Air Temperature", + "description": "A number for the maximum heating supply air temperature [C].", + "default": 50, + "exclusiveMinimum": 0, + "exclusiveMaximum": 100, + "type": "number", + "format": "double" + }, + "cooling_air_temperature": { + "title": "Cooling Air Temperature", + "description": "A number for the minimum cooling supply air temperature [C].", + "default": 13, + "exclusiveMinimum": -100, + "exclusiveMaximum": 50, + "type": "number", + "format": "double" + }, + "heating_limit": { + "title": "Heating Limit", + "description": "A number for the maximum heating capacity in Watts. This can also be an Autosize object to indicate that the capacity should be determined during the EnergyPlus sizing calculation. This can also be a NoLimit object to indicate no upper limit to the heating capacity.", + "default": { + "type": "Autosize" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autosize" + }, + { + "$ref": "#/components/schemas/NoLimit" + }, + { + "type": "number", + "minimum": 0 + } + ] + }, + "cooling_limit": { + "title": "Cooling Limit", + "description": "A number for the maximum cooling capacity in Watts. This can also be an Autosize object to indicate that the capacity should be determined during the EnergyPlus sizing calculation. This can also be a NoLimit object to indicate no upper limit to the cooling capacity.", + "default": { + "type": "Autosize" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autosize" + }, + { + "$ref": "#/components/schemas/NoLimit" + }, + { + "type": "number", + "minimum": 0 + } + ] + }, + "heating_availability": { + "title": "Heating Availability", + "description": "An optional identifier of a schedule to set the availability of heating over the course of the simulation.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "cooling_availability": { + "title": "Cooling Availability", + "description": "An optional identifier of a schedule to set the availability of cooling over the course of the simulation.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "IdealAirSystemAbridged", + "description": "Provides a model for an ideal HVAC system." + }, + "ShadeMeshEnergyPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeMeshEnergyPropertiesAbridged", + "pattern": "^ShadeMeshEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of a ShadeConstruction to set the reflectance and specularity of the Shade. If None, it will be a generic context construction that is completely diffuse with 0.2 visible and solar reflectance. Unless it is building attached, in which case it will be set by the default generic ConstructionSet.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "transmittance_schedule": { + "title": "Transmittance Schedule", + "description": "Identifier of a schedule to set the transmittance of the shade, which can vary throughout the simulation. If None, the shade will be completely opaque.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "ShadeMeshEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "Void": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Void", + "pattern": "^Void$", + "type": "string", + "readOnly": true + } + } + } + ], + "title": "Void", + "description": "Void modifier" + }, + "Mirror": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 1, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "alternate_material": { + "title": "Alternate Material", + "description": "An optional material (like the illum type) that may be used to specify a different material to be used for shading non-source rays. If None, this will keep the alternat_material as mirror. If this alternate material is given as Void, then the mirror surface will be invisible. Using Void is only appropriate if the surface hides other (more detailed) geometry with the same overall reflectance.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "Mirror", + "pattern": "^Mirror$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Mirror", + "description": "Radiance mirror material." + }, + "Metal": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "specularity": { + "title": "Specularity", + "description": "A value between 0 and 1 for the fraction of specularity. Specularity fractions lower than 0.9 are not realistic for metallic materials.", + "default": 0.9, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "roughness": { + "title": "Roughness", + "description": "A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Metal", + "pattern": "^Metal$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Metal", + "description": "Radiance metal material." + }, + "Trans": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "specularity": { + "title": "Specularity", + "description": "A value between 0 and 1 for the fraction of specularity. Specularity fractions greater than 0.1 are not realistic for non-metallic materials.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "roughness": { + "title": "Roughness", + "description": "A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "transmitted_diff": { + "title": "Transmitted Diff", + "description": "The fraction of transmitted light that is transmitted diffusely in a scattering fashion.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "transmitted_spec": { + "title": "Transmitted Spec", + "description": "The fraction of transmitted light that is not diffusely scattered.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Trans", + "pattern": "^Trans$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Trans", + "description": "Radiance Translucent material." + }, + "Light": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_emittance": { + "title": "R Emittance", + "description": "A value between 0 and 1 for the red channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_emittance": { + "title": "G Emittance", + "description": "A value between 0 and 1 for the green channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_emittance": { + "title": "B Emittance", + "description": "A value between 0 and 1 for the blue channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Light", + "pattern": "^Light$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Light", + "description": "Radiance Light material." + }, + "Glow": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_emittance": { + "title": "R Emittance", + "description": "A value between 0 and 1 for the red channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_emittance": { + "title": "G Emittance", + "description": "A value between 0 and 1 for the green channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_emittance": { + "title": "B Emittance", + "description": "A value between 0 and 1 for the blue channel of the modifier.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "max_radius": { + "title": "Max Radius", + "description": "Maximum radius for shadow testing. Objects with zero radius are permissable and may participate in interreflection calculation (though they are not representative of real light sources). Negative values will never contribute to scene illumination.", + "default": 0, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Glow", + "pattern": "^Glow$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Glow", + "description": "Radiance Glow material." + }, + "BSDF": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "required": [ + "bsdf_data" + ], + "properties": { + "bsdf_data": { + "title": "Bsdf Data", + "description": "A string with the contents of the BSDF XML file.", + "type": "string" + }, + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "up_orientation": { + "title": "Up Orientation", + "description": "Vector as sequence that sets the hemisphere that the BSDF material faces.", + "default": [ + 0.01, + 0.01, + 1.0 + ], + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "thickness": { + "title": "Thickness", + "description": "Optional number to set the thickness of the BSDF material Sign of thickness indicates whether proxied geometry is behind the BSDF surface (when thickness is positive) or in front (when thickness is negative).", + "default": 0, + "type": "number", + "format": "double" + }, + "function_file": { + "title": "Function File", + "description": "Optional input for function file. Using \".\" will ensure that BSDF data is written to the root of wherever a given study is run.", + "default": ".", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "transform": { + "title": "Transform", + "description": "Optional transform input to scale the thickness and reorient the up vector.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "front_diffuse_reflectance": { + "title": "Front Diffuse Reflectance", + "description": "Optional additional front diffuse reflectance as sequence of three RGB numbers.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "back_diffuse_reflectance": { + "title": "Back Diffuse Reflectance", + "description": "Optional additional back diffuse reflectance as sequence of three RGB numbers.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "diffuse_transmittance": { + "title": "Diffuse Transmittance", + "description": "Optional additional diffuse transmittance as sequence of three RGB numbers.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "BSDF", + "pattern": "^BSDF$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "BSDF", + "description": "Radiance BSDF (Bidirectional Scattering Distribution Function) material." + }, + "Glass": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_transmissivity": { + "title": "R Transmissivity", + "description": "A value between 0 and 1 for the red channel transmissivity.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_transmissivity": { + "title": "G Transmissivity", + "description": "A value between 0 and 1 for the green channel transmissivity.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_transmissivity": { + "title": "B Transmissivity", + "description": "A value between 0 and 1 for the blue channel transmissivity.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "refraction_index": { + "title": "Refraction Index", + "description": "A value greater than 1 for the index of refraction. Typical values are 1.52 for float glass and 1.4 for ETFE.", + "default": 1.52, + "exclusiveMinimum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Glass", + "pattern": "^Glass$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Glass", + "description": "Radiance glass material." + }, + "Plastic": { + "allOf": [ + { + "$ref": "#/components/schemas/ModifierBase" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "Material modifier.", + "default": { + "type": "Void" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "dependencies": { + "title": "Dependencies", + "description": "List of modifiers that this modifier depends on. This argument is only useful for defining advanced modifiers where the modifier is defined based on other modifiers.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "r_reflectance": { + "title": "R Reflectance", + "description": "A value between 0 and 1 for the red channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "g_reflectance": { + "title": "G Reflectance", + "description": "A value between 0 and 1 for the green channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "b_reflectance": { + "title": "B Reflectance", + "description": "A value between 0 and 1 for the blue channel reflectance.", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "specularity": { + "title": "Specularity", + "description": "A value between 0 and 1 for the fraction of specularity. Specularity fractions greater than 0.1 are not realistic for non-metallic materials.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "roughness": { + "title": "Roughness", + "description": "A value between 0 and 1 for the roughness, specified as the RMS slope of surface facets. Roughness greater than 0.2 are not realistic.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Plastic", + "pattern": "^Plastic$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Plastic", + "description": "Radiance plastic material." + }, + "ShadeModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "ShadeModifierSet", + "pattern": "^ShadeModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ShadeModifierSet", + "description": "Set containing radiance modifiers needed for a model's Shade." + }, + "ApertureModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureModifierSet", + "pattern": "^ApertureModifierSet$", + "type": "string", + "readOnly": true + }, + "window_modifier": { + "title": "Window Modifier", + "description": "A modifier object for apertures with an Outdoors boundary condition, False is_operable property, and Wall parent Face.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A modifier object for apertures with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "skylight_modifier": { + "title": "Skylight Modifier", + "description": "A modifier object for apertures with an Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "operable_modifier": { + "title": "Operable Modifier", + "description": "A modifier object for apertures with an Outdoors boundary condition and a True is_operable property.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ApertureModifierSet", + "description": "Set containing radiance modifiers needed for a model's Apertures." + }, + "DetailedHVAC": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "specification" + ], + "properties": { + "specification": { + "title": "Specification", + "description": "A JSON-serializable dictionary representing the full specification of the detailed system. This can be obtained by calling the ToJson() method on any IronBug HVAC system and then serializing the resulting JSON string into a Python dictionary using the native Python json package. Note that the Rooms that the HVAC is assigned to must be specified as ThermalZones under this specification in order for the resulting Model this HVAC is a part of to be valid.", + "type": "object" + }, + "type": { + "title": "Type", + "default": "DetailedHVAC", + "pattern": "^DetailedHVAC$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "DetailedHVAC", + "description": "Detailed HVAC system object defined using IronBug or OpenStudio .NET bindings." + }, + "AFNCrack": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "flow_coefficient": { + "title": "Flow Coefficient", + "description": "A number in kg/s-m at 1 Pa per meter of crack length at the conditions defined in the ReferenceCrack condition; required to run an AirflowNetwork simulation. The DesignBuilder Cracks template defines the flow coefficient for a tight, low-leakage wall to be 0.00001 and 0.001 for external and internal constructions, respectively. Flow coefficients for a very poor, high-leakage wall are defined to be 0.0004 and 0.019 for external and internal constructions, respectively.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "AFNCrack", + "pattern": "^AFNCrack$", + "type": "string", + "readOnly": true + }, + "flow_exponent": { + "title": "Flow Exponent", + "description": "An optional dimensionless number between 0.5 and 1 used to calculate the crack mass flow rate; required to run an AirflowNetwork simulation. This value represents the leak geometry impact on airflow, with 0.5 generally corresponding to turbulent orifice flow and 1 generally corresponding to laminar flow. The default of 0.65 is representative of many cases of wall and window leakage, used when the exponent cannot be measured.", + "default": 0.65, + "minimum": 0.5, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "required": [ + "flow_coefficient" + ], + "additionalProperties": false + } + ], + "title": "AFNCrack", + "description": "Properties for airflow through a crack." + }, + "PeopleAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "people_per_area", + "occupancy_schedule" + ], + "properties": { + "people_per_area": { + "title": "People Per Area", + "description": "People per floor area expressed as [people/m2]", + "minimum": 0, + "type": "number", + "format": "double" + }, + "occupancy_schedule": { + "title": "Occupancy Schedule", + "description": "Identifier of a schedule for the occupancy over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the people_per_area to yield a complete occupancy profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "PeopleAbridged", + "pattern": "^PeopleAbridged$", + "type": "string", + "readOnly": true + }, + "activity_schedule": { + "title": "Activity Schedule", + "description": "Identifier of a schedule for the activity of the occupants over the course of the year. The type of this schedule should be ActivityLevel and the values of the schedule equal to the number of Watts given off by an individual person in the room. If None, a default constant schedule with 120 Watts per person will be used, which is typical of awake, adult humans who are seated.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The radiant fraction of sensible heat released by people. (Default: 0.3).", + "default": 0.3, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the latent fraction of heat gain due to people or an Autocalculate object.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "PeopleAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "LightingAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "watts_per_area", + "schedule" + ], + "properties": { + "watts_per_area": { + "title": "Watts Per Area", + "description": "Lighting per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of lights over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete lighting profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "LightingAbridged", + "pattern": "^LightingAbridged$", + "type": "string", + "readOnly": true + }, + "visible_fraction": { + "title": "Visible Fraction", + "description": "The fraction of heat from lights that goes into the zone as visible (short-wave) radiation. (Default: 0.25).", + "default": 0.25, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The fraction of heat from lights that is long-wave radiation. (Default: 0.32).", + "default": 0.32, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "return_air_fraction": { + "title": "Return Air Fraction", + "description": "The fraction of the heat from lights that goes into the zone return air. (Default: 0).", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "baseline_watts_per_area": { + "title": "Baseline Watts Per Area", + "description": "The baseline lighting power density in [W/m2] of floor area. This baseline is useful to track how much better the installed lights are in comparison to a standard like ASHRAE 90.1. If set to None, it will default to 11.84029 W/m2, which is that ASHRAE 90.1-2004 baseline for an office.", + "default": 11.84029, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "LightingAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "ElectricEquipmentAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_EquipmentBase" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ElectricEquipmentAbridged", + "pattern": "^ElectricEquipmentAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ElectricEquipmentAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "GasEquipmentAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_EquipmentBase" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "GasEquipmentAbridged", + "pattern": "^GasEquipmentAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "GasEquipmentAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "ServiceHotWaterAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "flow_per_area", + "schedule" + ], + "properties": { + "flow_per_area": { + "title": "Flow Per Area", + "description": "Number for the total volume flow rate of water per unit area of floor [L/h-m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the hot water use over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_area to yield a complete water usage profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "ServiceHotWaterAbridged", + "pattern": "^ServiceHotWaterAbridged$", + "type": "string", + "readOnly": true + }, + "target_temperature": { + "title": "Target Temperature", + "description": "Number for the target temperature of water out of the tap (C). This the temperature after hot water has been mixed with cold water from the water mains. The default is 60C, which essentially assumes that the flow_per_area on this object is only for water straight out of the water heater.", + "default": 60, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "sensible_fraction": { + "title": "Sensible Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load given off as sensible heat in the zone.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load that is latent.", + "default": 0.05, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "ServiceHotWaterAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "InfiltrationAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "flow_per_exterior_area", + "schedule" + ], + "properties": { + "flow_per_exterior_area": { + "title": "Flow Per Exterior Area", + "description": "Number for the infiltration per exterior surface area in m3/s-m2.", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the infiltration over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_exterior_area to yield a complete infiltration profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "InfiltrationAbridged", + "pattern": "^InfiltrationAbridged$", + "type": "string", + "readOnly": true + }, + "constant_coefficient": { + "title": "Constant Coefficient", + "default": 1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "temperature_coefficient": { + "title": "Temperature Coefficient", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "velocity_coefficient": { + "title": "Velocity Coefficient", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "InfiltrationAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "VentilationAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationAbridged", + "pattern": "^VentilationAbridged$", + "type": "string", + "readOnly": true + }, + "flow_per_person": { + "title": "Flow Per Person", + "description": "Intensity of ventilation in[] m3/s per person]. Note that setting this value does not mean that ventilation is varied based on real-time occupancy but rather that the design level of ventilation is determined using this value and the People object of the Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_per_area": { + "title": "Flow Per Area", + "description": "Intensity of ventilation in [m3/s per m2 of floor area].", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "air_changes_per_hour": { + "title": "Air Changes Per Hour", + "description": "Intensity of ventilation in air changes per hour (ACH) for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_per_zone": { + "title": "Flow Per Zone", + "description": "Intensity of ventilation in m3/s for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the ventilation over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the total design flow rate (determined from the sum of the other 4 fields) to yield a complete ventilation profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "VentilationAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "SetpointAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "cooling_schedule", + "heating_schedule" + ], + "properties": { + "cooling_schedule": { + "title": "Cooling Schedule", + "description": "Identifier of the schedule for the cooling setpoint. The values in this schedule should be temperature in [C].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "heating_schedule": { + "title": "Heating Schedule", + "description": "Identifier of the schedule for the heating setpoint. The values in this schedule should be temperature in [C].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "SetpointAbridged", + "pattern": "^SetpointAbridged$", + "type": "string", + "readOnly": true + }, + "humidifying_schedule": { + "title": "Humidifying Schedule", + "description": "Identifier of the schedule for the humidification setpoint. The values in this schedule should be in [%].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "dehumidifying_schedule": { + "title": "Dehumidifying Schedule", + "description": "Identifier of the schedule for the dehumidification setpoint. The values in this schedule should be in [%].", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "setpoint_cutout_difference": { + "title": "Setpoint Cutout Difference", + "description": "An optional positive number for the temperature difference between the cutout temperature and the setpoint temperature. Specifying a non-zero number here is useful for modeling the throttling range associated with a given setup of setpoint controls and HVAC equipment. Throttling ranges describe the range where a zone is slightly over-cooled or over-heated beyond the thermostat setpoint. They are used to avoid situations where HVAC systems turn on only to turn off a few minutes later, thereby wearing out the parts of mechanical systems faster. They can have a minor impact on energy consumption and can often have significant impacts on occupant thermal comfort, though using the default value of zero will often yield results that are close enough when trying to estimate the annual heating/cooling energy use. Specifying a value of zero effectively assumes that the system will turn on whenever conditions are outside the setpoint range and will cut out as soon as the setpoint is reached.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "SetpointAbridged", + "description": "Used to specify information about the setpoint schedule." + }, + "ProgramTypeAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ProgramTypeAbridged", + "pattern": "^ProgramTypeAbridged$", + "type": "string", + "readOnly": true + }, + "people": { + "title": "People", + "description": "People to describe the occupancy of the program. If None, no occupancy will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/PeopleAbridged" + } + ] + }, + "lighting": { + "title": "Lighting", + "description": "Lighting to describe the lighting usage of the program. If None, no lighting will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/LightingAbridged" + } + ] + }, + "electric_equipment": { + "title": "Electric Equipment", + "description": "ElectricEquipment to describe the usage of electric equipment within the program. If None, no electric equipment will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/ElectricEquipmentAbridged" + } + ] + }, + "gas_equipment": { + "title": "Gas Equipment", + "description": "GasEquipment to describe the usage of gas equipment within the program. If None, no gas equipment will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/GasEquipmentAbridged" + } + ] + }, + "service_hot_water": { + "title": "Service Hot Water", + "description": "ServiceHotWater object to describe the usage of hot water within the program. If None, no hot water will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/ServiceHotWaterAbridged" + } + ] + }, + "infiltration": { + "title": "Infiltration", + "description": "Infiltration to describe the outdoor air leakage of the program. If None, no infiltration will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/InfiltrationAbridged" + } + ] + }, + "ventilation": { + "title": "Ventilation", + "description": "Ventilation to describe the minimum outdoor air requirement of the program. If None, no ventilation requirement will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationAbridged" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "Setpoint object to describe the temperature and humidity setpoints of the program. If None, the ProgramType cannot be assigned to a Room that is conditioned.", + "allOf": [ + { + "$ref": "#/components/schemas/SetpointAbridged" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ProgramTypeAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "WindowACEquipmentType": { + "title": "WindowACEquipmentType", + "description": "An enumeration.", + "enum": [ + "WindowAC_ElectricBaseboard", + "WindowAC_BoilerBaseboard", + "WindowAC_ASHPBaseboard", + "WindowAC_DHWBaseboard", + "WindowAC_Furnace", + "WindowAC_GasHeaters", + "WindowAC" + ], + "type": "string" + }, + "WindowAC": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "WindowAC", + "pattern": "^WindowAC$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the WindowACEquipmentType enumeration.", + "default": "WindowAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/WindowACEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "WindowAC", + "description": "Window Air Conditioning cooling system (with optional heating).\n\nEach room/zone will receive its own Packaged Terminal Air Conditioner (PTAC)\nwith properties set to reflect a typical window air conditioning (AC) unit.\nNo ventilation air is supplied by the unit and the cooling coil within the\nunit is a single-speed direct expansion (DX) cooling coil. Heating loads\ncan be met with various options, including several types of baseboards,\na furnace, or gas unit heaters." + }, + "Color": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "r": { + "title": "R", + "description": "Value for red channel.", + "minimum": 0, + "maximum": 255, + "type": "integer", + "format": "int32" + }, + "g": { + "title": "G", + "description": "Value for green channel.", + "minimum": 0, + "maximum": 255, + "type": "integer", + "format": "int32" + }, + "b": { + "title": "B", + "description": "Value for blue channel.", + "minimum": 0, + "maximum": 255, + "type": "integer", + "format": "int32" + }, + "type": { + "title": "Type", + "default": "Color", + "pattern": "^Color$", + "type": "string", + "readOnly": true + }, + "a": { + "title": "A", + "description": "Value for the alpha channel, which defines the opacity as a number between 0 (fully transparent) and 255 (fully opaque).", + "default": 255, + "minimum": 0, + "maximum": 255, + "type": "integer", + "format": "int32" + } + }, + "required": [ + "r", + "g", + "b" + ], + "additionalProperties": false + } + ], + "title": "Color", + "description": "A RGB color." + }, + "Mesh3D": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "vertices": { + "title": "Vertices", + "description": "A list of points representing the vertices of the mesh. The list should include at least 3 points and each point should be a list of 3 (x, y, z) values.", + "minItems": 3, + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "minItems": 3, + "maxItems": 3 + } + }, + "faces": { + "title": "Faces", + "description": "A list of lists with each sub-list having either 3 or 4 integers. These integers correspond to indices within the list of vertices.", + "minItems": 1, + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "format": "int32" + }, + "minItems": 3, + "maxItems": 4 + } + }, + "type": { + "title": "Type", + "default": "Mesh3D", + "pattern": "^Mesh3D$", + "type": "string", + "readOnly": true + }, + "colors": { + "title": "Colors", + "description": "An optional list of colors that correspond to either the faces of the mesh or the vertices of the mesh.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Color" + } + } + }, + "required": [ + "vertices", + "faces" + ], + "additionalProperties": false + } + ], + "title": "Mesh3D", + "description": "A mesh in 3D space." + }, + "ShadeMeshRadiancePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_PropertiesBaseAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeMeshRadiancePropertiesAbridged", + "pattern": "^ShadeMeshRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ShadeMeshRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee ShadeMesh Abridged." + }, + "ShadeMeshPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeMeshPropertiesAbridged", + "pattern": "^ShadeMeshPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/ShadeMeshEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/ShadeMeshRadiancePropertiesAbridged" + } + } + } + ], + "title": "ShadeMeshPropertiesAbridged" + }, + "ShadeMesh": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "geometry", + "properties" + ], + "properties": { + "geometry": { + "title": "Geometry", + "description": "A Mesh3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Mesh3D" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeMeshPropertiesAbridged" + } + ] + }, + "type": { + "title": "Type", + "default": "ShadeMesh", + "pattern": "^ShadeMesh$", + "type": "string", + "readOnly": true + }, + "is_detached": { + "title": "Is Detached", + "description": "Boolean to note whether this shade is detached from any of the other geometry in the model. Cases where this should be True include shade representing surrounding buildings or context.", + "default": true, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "ShadeMesh", + "description": "Base class for all objects requiring a identifiers acceptable for all engines." + }, + "OpaqueConstructionAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "materials" + ], + "properties": { + "materials": { + "title": "Materials", + "description": "List of strings for opaque material identifiers. The order of the materials is from exterior to interior.", + "minItems": 1, + "maxItems": 10, + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 100 + } + }, + "type": { + "title": "Type", + "default": "OpaqueConstructionAbridged", + "pattern": "^OpaqueConstructionAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "OpaqueConstructionAbridged", + "description": "Construction for opaque objects (Face, Shade, Door)." + }, + "WindowConstructionAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "materials" + ], + "properties": { + "materials": { + "title": "Materials", + "description": "List of strings for glazing or gas material identifiers. The order of the materials is from exterior to interior. If a SimpleGlazSys material is used, it must be the only material in the construction. For multi-layered constructions, adjacent glass layers must be separated by one and only one gas layer.", + "minItems": 1, + "maxItems": 8, + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 100 + } + }, + "type": { + "title": "Type", + "default": "WindowConstructionAbridged", + "pattern": "^WindowConstructionAbridged$", + "type": "string", + "readOnly": true + }, + "frame": { + "title": "Frame", + "description": "An optional identifier for a frame material that surrounds the window construction.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "WindowConstructionAbridged", + "description": "Construction for window objects (Aperture, Door)." + }, + "AirBoundaryConstructionAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "AirBoundaryConstructionAbridged", + "pattern": "^AirBoundaryConstructionAbridged$", + "type": "string", + "readOnly": true + }, + "air_mixing_per_area": { + "title": "Air Mixing Per Area", + "description": "A positive number for the amount of air mixing between Rooms across the air boundary surface [m3/s-m2]. Default: 0.1 corresponds to average indoor air speeds of 0.1 m/s (roughly 20 fpm), which is typical of what would be induced by a HVAC system.", + "default": 0.1, + "minimum": 0, + "type": "number", + "format": "double" + }, + "air_mixing_schedule": { + "title": "Air Mixing Schedule", + "description": "Identifier of a fractional schedule for the air mixing schedule across the construction. If unspecified, an Always On schedule will be assumed.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "AirBoundaryConstructionAbridged", + "description": "Construction for Air Boundary objects." + }, + "WallConstructionSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_FaceSubSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "WallConstructionSetAbridged", + "pattern": "^WallConstructionSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "WallConstructionSetAbridged", + "description": "A set of constructions for wall assemblies." + }, + "FloorConstructionSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_FaceSubSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FloorConstructionSetAbridged", + "pattern": "^FloorConstructionSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "FloorConstructionSetAbridged", + "description": "A set of constructions for floor assemblies." + }, + "RoofCeilingConstructionSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_FaceSubSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoofCeilingConstructionSetAbridged", + "pattern": "^RoofCeilingConstructionSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "RoofCeilingConstructionSetAbridged", + "description": "A set of constructions for roof and ceiling assemblies." + }, + "ApertureConstructionSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureConstructionSetAbridged", + "pattern": "^ApertureConstructionSetAbridged$", + "type": "string", + "readOnly": true + }, + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for a WindowConstruction for all apertures with a Surface boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "window_construction": { + "title": "Window Construction", + "description": "Identifier for a WindowConstruction for apertures with an Outdoors boundary condition, False is_operable property, and a Wall face type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "skylight_construction": { + "title": "Skylight Construction", + "description": "Identifier for a WindowConstruction for apertures with a Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "operable_construction": { + "title": "Operable Construction", + "description": "Identifier for a WindowConstruction for all apertures with an Outdoors boundary condition and True is_operable property.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "ApertureConstructionSetAbridged", + "description": "A set of constructions for aperture assemblies." + }, + "DoorConstructionSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorConstructionSetAbridged", + "pattern": "^DoorConstructionSetAbridged$", + "type": "string", + "readOnly": true + }, + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for an OpaqueConstruction for all opaque doors with a Surface boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "Identifier for an OpaqueConstruction for opaque doors with an Outdoors boundary condition and a Wall face type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "overhead_construction": { + "title": "Overhead Construction", + "description": "Identifier for an OpaqueConstruction for opaque doors with an Outdoors boundary condition and a RoofCeiling or Floor type for their parent face.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_glass_construction": { + "title": "Exterior Glass Construction", + "description": "Identifier for a WindowConstruction for all glass doors with an Outdoors boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "interior_glass_construction": { + "title": "Interior Glass Construction", + "description": "Identifier for a WindowConstruction for all glass doors with a Surface boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "DoorConstructionSetAbridged", + "description": "A set of constructions for door assemblies." + }, + "GlobalConstructionSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "GlobalConstructionSet", + "pattern": "^GlobalConstructionSet$", + "type": "string", + "readOnly": true + }, + "materials": { + "title": "Materials", + "description": "Global Honeybee Energy materials.", + "default": [ + { + "identifier": "Generic Roof Membrane", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.01, + "conductivity": 0.16, + "density": 1120.0, + "specific_heat": 1460.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic Acoustic Tile", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.02, + "conductivity": 0.06, + "density": 368.0, + "specific_heat": 590.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.2, + "visible_absorptance": 0.2 + }, + { + "identifier": "Generic 25mm Wood", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0254, + "conductivity": 0.15, + "density": 608.0, + "specific_heat": 1630.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic HW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.2, + "conductivity": 1.95, + "density": 2240.0, + "specific_heat": 900.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic Window Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGas", + "thickness": 0.0127, + "gas_type": "Air" + }, + { + "identifier": "Generic Gypsum Board", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0127, + "conductivity": 0.16, + "density": 800.0, + "specific_heat": 1090.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic Wall Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.667, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Ceiling Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.556, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Brick", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.9, + "density": 1920.0, + "specific_heat": 790.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic 50mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.05, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Low-e Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.45, + "solar_reflectance": 0.36, + "solar_reflectance_back": 0.36, + "visible_transmittance": 0.71, + "visible_reflectance": 0.21, + "visible_reflectance_back": 0.21, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.047, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + }, + { + "identifier": "Generic Painted Metal", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.0015, + "conductivity": 45.0, + "density": 7690.0, + "specific_heat": 410.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic LW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.53, + "density": 1280.0, + "specific_heat": 840.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic 25mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.025, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Clear Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.77, + "solar_reflectance": 0.07, + "solar_reflectance_back": 0.07, + "visible_transmittance": 0.88, + "visible_reflectance": 0.08, + "visible_reflectance_back": 0.08, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.84, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + } + ], + "readOnly": true, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyMaterial" + }, + { + "$ref": "#/components/schemas/EnergyMaterialNoMass" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGlazing" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGas" + } + ] + } + }, + "constructions": { + "title": "Constructions", + "description": "Global Honeybee Energy constructions.", + "default": [ + { + "identifier": "Generic Interior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 25mm Wood" + ] + }, + { + "identifier": "Generic Single Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Shade", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.35, + "visible_reflectance": 0.35, + "is_specular": false + }, + { + "identifier": "Generic Context", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.2, + "visible_reflectance": 0.2, + "is_specular": false + }, + { + "identifier": "Generic Interior Ceiling", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Interior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Gypsum Board", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Exposed Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic Ceiling Air Gap", + "Generic 50mm Insulation", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Interior Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Acoustic Tile", + "Generic Ceiling Air Gap", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Ground Slab", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete" + ] + }, + { + "identifier": "Generic Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Roof Membrane", + "Generic 50mm Insulation", + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Exterior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Brick", + "Generic LW Concrete", + "Generic 50mm Insulation", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Underground Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Air Boundary", + "display_name": null, + "user_data": null, + "type": "AirBoundaryConstructionAbridged", + "air_mixing_per_area": 0.1, + "air_mixing_schedule": "Always On" + }, + { + "identifier": "Generic Underground Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Double Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Low-e Glass", + "Generic Window Air Gap", + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Exterior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic 25mm Insulation", + "Generic Painted Metal" + ] + } + ], + "readOnly": true, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/OpaqueConstructionAbridged" + }, + { + "$ref": "#/components/schemas/WindowConstructionAbridged" + }, + { + "$ref": "#/components/schemas/ShadeConstruction" + }, + { + "$ref": "#/components/schemas/AirBoundaryConstructionAbridged" + } + ] + } + }, + "wall_set": { + "title": "Wall Set", + "description": "Global Honeybee WallConstructionSet.", + "default": { + "interior_construction": "Generic Interior Wall", + "exterior_construction": "Generic Exterior Wall", + "ground_construction": "Generic Underground Wall", + "type": "WallConstructionSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/WallConstructionSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "Global Honeybee FloorConstructionSet.", + "default": { + "interior_construction": "Generic Interior Floor", + "exterior_construction": "Generic Exposed Floor", + "ground_construction": "Generic Ground Slab", + "type": "FloorConstructionSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/FloorConstructionSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "Global Honeybee RoofCeilingConstructionSet.", + "default": { + "interior_construction": "Generic Interior Ceiling", + "exterior_construction": "Generic Roof", + "ground_construction": "Generic Underground Roof", + "type": "RoofCeilingConstructionSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingConstructionSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "Global Honeybee ApertureConstructionSet.", + "default": { + "type": "ApertureConstructionSetAbridged", + "interior_construction": "Generic Single Pane", + "window_construction": "Generic Double Pane", + "skylight_construction": "Generic Double Pane", + "operable_construction": "Generic Double Pane" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/ApertureConstructionSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "Global Honeybee DoorConstructionSet.", + "default": { + "type": "DoorConstructionSetAbridged", + "interior_construction": "Generic Interior Door", + "exterior_construction": "Generic Exterior Door", + "overhead_construction": "Generic Exterior Door", + "exterior_glass_construction": "Generic Double Pane", + "interior_glass_construction": "Generic Single Pane" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/DoorConstructionSetAbridged" + } + ] + }, + "shade_construction": { + "title": "Shade Construction", + "description": "Global Honeybee Construction for building-attached Shades.", + "default": "Generic Shade", + "readOnly": true, + "type": "string" + }, + "context_construction": { + "title": "Context Construction", + "description": "Global Honeybee Construction for context Shades.", + "default": "Generic Context", + "readOnly": true, + "type": "string" + }, + "air_boundary_construction": { + "title": "Air Boundary Construction", + "description": "Global Honeybee Construction for AirBoundary Faces.", + "default": "Generic Air Boundary", + "readOnly": true, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "GlobalConstructionSet", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "ConstructionSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ConstructionSetAbridged", + "pattern": "^ConstructionSetAbridged$", + "type": "string", + "readOnly": true + }, + "wall_set": { + "title": "Wall Set", + "description": "A WallConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/WallConstructionSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "A FloorConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/FloorConstructionSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "A RoofCeilingConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingConstructionSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "A ApertureConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/ApertureConstructionSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "A DoorConstructionSetAbridged object for this ConstructionSet.", + "allOf": [ + { + "$ref": "#/components/schemas/DoorConstructionSetAbridged" + } + ] + }, + "shade_construction": { + "title": "Shade Construction", + "description": "The identifier of a ShadeConstruction to set the reflectance properties of all outdoor shades of all objects to which this ConstructionSet is assigned.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "air_boundary_construction": { + "title": "Air Boundary Construction", + "description": "The identifier of an AirBoundaryConstruction or OpaqueConstruction to set the properties of Faces with an AirBoundary type.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "ConstructionSetAbridged", + "description": "A set of constructions for different surface types and boundary conditions." + }, + "WindowConstructionShadeAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "window_construction", + "shade_material" + ], + "properties": { + "window_construction": { + "title": "Window Construction", + "description": "A WindowConstructionAbridged object that serves as the \"switched off\" version of the construction (aka. the \"bare construction\"). The shade_material and shade_location will be used to modify this starting construction.", + "allOf": [ + { + "$ref": "#/components/schemas/WindowConstructionAbridged" + } + ] + }, + "shade_material": { + "title": "Shade Material", + "description": "Identifier of a An EnergyWindowMaterialShade or an EnergyWindowMaterialBlind that serves as the shading layer for this construction. This can also be an EnergyWindowMaterialGlazing, which will indicate that the WindowConstruction has a dynamically-controlled glass pane like an electrochromic window assembly.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "WindowConstructionShadeAbridged", + "pattern": "^WindowConstructionShadeAbridged$", + "type": "string", + "readOnly": true + }, + "shade_location": { + "description": "Text to indicate where in the window assembly the shade_material is located. Note that the WindowConstruction must have at least one gas gap to use the \"Between\" option. Also note that, for a WindowConstruction with more than one gas gap, the \"Between\" option defaults to using the inner gap as this is the only option that EnergyPlus supports.", + "default": "Interior", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeLocation" + } + ] + }, + "control_type": { + "description": "Text to indicate how the shading device is controlled, which determines when the shading is \u201con\u201d or \u201coff.\u201d", + "default": "AlwaysOn", + "allOf": [ + { + "$ref": "#/components/schemas/ControlType" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "A number that corresponds to the specified control_type. This can be a value in (W/m2), (C) or (W) depending upon the control type.Note that this value cannot be None for any control type except \"AlwaysOn.\"", + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "An optional schedule identifier to be applied on top of the control_type. If None, the control_type will govern all behavior of the construction.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "WindowConstructionShadeAbridged", + "description": "Construction for window objects with an included shade layer." + }, + "WindowConstructionDynamicAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "constructions", + "schedule" + ], + "properties": { + "constructions": { + "title": "Constructions", + "description": "A list of WindowConstructionAbridged objects that define the various states that the dynamic window can assume.", + "type": "array", + "items": { + "$ref": "#/components/schemas/WindowConstructionAbridged" + } + }, + "schedule": { + "title": "Schedule", + "description": "An identifier for a control schedule that dictates which constructions are active at given times throughout the simulation. The values of the schedule should be integers and range from 0 to one less then the number of constructions. Zero indicates that the first construction is active, one indicates that the second on is active, etc. The schedule type limits of this schedule should be \"Control Level.\" If building custom schedule type limits that describe a particular range of states, the type limits should be \"Discrete\" and the unit type should be \"Mode,\" \"Control,\" or some other fractional unit.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "WindowConstructionDynamicAbridged", + "pattern": "^WindowConstructionDynamicAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "WindowConstructionDynamicAbridged", + "description": "Construction for window objects with an included shade layer." + }, + "AllAirEconomizerType": { + "title": "AllAirEconomizerType", + "description": "An enumeration.", + "enum": [ + "NoEconomizer", + "DifferentialDryBulb", + "DifferentialEnthalpy", + "DifferentialDryBulbAndEnthalpy", + "FixedDryBulb", + "FixedEnthalpy", + "ElectronicEnthalpy" + ], + "type": "string" + }, + "VAVEquipmentType": { + "title": "VAVEquipmentType", + "description": "An enumeration.", + "enum": [ + "VAV_Chiller_Boiler", + "VAV_Chiller_ASHP", + "VAV_Chiller_DHW", + "VAV_Chiller_PFP", + "VAV_Chiller_GasCoil", + "VAV_ACChiller_Boiler", + "VAV_ACChiller_ASHP", + "VAV_ACChiller_DHW", + "VAV_ACChiller_PFP", + "VAV_ACChiller_GasCoil", + "VAV_DCW_Boiler", + "VAV_DCW_ASHP", + "VAV_DCW_DHW", + "VAV_DCW_PFP", + "VAV_DCW_GasCoil" + ], + "type": "string" + }, + "VAV": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/components/schemas/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "VAV", + "pattern": "^VAV$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VAVEquipmentType enumeration.", + "default": "VAV_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/VAVEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "VAV", + "description": "Variable Air Volume (VAV) HVAC system (aka. System 7 or 8).\n\nAll rooms/zones are connected to a central air loop that is kept at a constant\ncentral temperature of 12.8C (55F). The central temperature is maintained by a\ncooling coil, which runs whenever the combination of return air and fresh outdoor\nair is greater than 12.8C, as well as a heating coil, which runs whenever\nthe combination of return air and fresh outdoor air is less than 12.8C.\n\nEach air terminal for the connected rooms/zones contains its own reheat coil,\nwhich runs whenever the room is not in need of the cooling supplied by the 12.8C\ncentral air.\n\nThe central cooling coil is always a chilled water coil, which is connected to a\nchilled water loop operating at 6.7C (44F). All heating coils are hot water coils\nexcept when Gas Coil equipment_type is used (in which case coils are gas)\nor when Parallel Fan-Powered (PFP) boxes equipment_type is used (in which case\ncoils are electric resistance). Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.\n\nVAV systems are the traditional baseline system for commercial buildings\ntaller than 5 stories or larger than 14,000 m2 (150,000 ft2) of floor area." + }, + "PVAVEquipmentType": { + "title": "PVAVEquipmentType", + "description": "An enumeration.", + "enum": [ + "PVAV_Boiler", + "PVAV_ASHP", + "PVAV_DHW", + "PVAV_PFP", + "PVAV_BoilerElectricReheat" + ], + "type": "string" + }, + "PVAV": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/components/schemas/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "PVAV", + "pattern": "^PVAV$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VAVEquipmentType enumeration.", + "default": "PVAV_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/PVAVEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "PVAV", + "description": "Packaged Variable Air Volume (PVAV) HVAC system (aka. System 5 or 6).\n\nAll rooms/zones are connected to a central air loop that is kept at a constant\ncentral temperature of 12.8C (55F). The central temperature is maintained by a\ncooling coil, which runs whenever the combination of return air and fresh outdoor\nair is greater than 12.8C, as well as a heating coil, which runs whenever\nthe combination of return air and fresh outdoor air is less than 12.8C.\n\nEach air terminal for the connected rooms/zones contains its own reheat coil,\nwhich runs whenever the room is not in need of the cooling supplied by the 12.8C\ncentral air.\n\nThe central cooling coil is always a two-speed direct expansion (DX) coil.\nAll heating coils are hot water coils except when Gas Coil equipment_type is\nused (in which case the central coil is gas and all reheat is electric)\nor when Parallel Fan-Powered (PFP) boxes equipment_type is used (in which case\ncoils are electric resistance). Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used.\n\nPVAV systems are the traditional baseline system for commercial buildings\nwith than 4-5 stories or between 2,300 m2 and 14,000 m2 (25,000 ft2 and\n150,000 ft2) of floor area." + }, + "PSZEquipmentType": { + "title": "PSZEquipmentType", + "description": "An enumeration.", + "enum": [ + "PSZAC_ElectricBaseboard", + "PSZAC_BoilerBaseboard", + "PSZAC_DHWBaseboard", + "PSZAC_GasHeaters", + "PSZAC_ElectricCoil", + "PSZAC_GasCoil", + "PSZAC_Boiler", + "PSZAC_ASHP", + "PSZAC_DHW", + "PSZAC", + "PSZAC_DCW_ElectricBaseboard", + "PSZAC_DCW_BoilerBaseboard", + "PSZAC_DCW_GasHeaters", + "PSZAC_DCW_ElectricCoil", + "PSZAC_DCW_GasCoil", + "PSZAC_DCW_Boiler", + "PSZAC_DCW_ASHP", + "PSZAC_DCW_DHW", + "PSZAC_DCW", + "PSZHP" + ], + "type": "string" + }, + "PSZ": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/components/schemas/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "PSZ", + "pattern": "^PSZ$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the PVAVEquipmentType enumeration.", + "default": "PSZAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/PSZEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "PSZ", + "description": "Packaged Single-Zone (PSZ) HVAC system (aka. System 3 or 4).\n\nEach room/zone receives its own air loop with its own single-speed direct expansion\n(DX) cooling coil, which will condition the supply air to a value in between\n12.8C (55F) and 50C (122F) depending on the heating/cooling needs of the room/zone.\nAs long as a Baseboard equipment_type is NOT selected, heating will be supplied\nby a heating coil in the air loop. Otherwise, heating is accomplished with\nbaseboards and the air loop only supplies cooling and ventilation air.\nFans are constant volume.\n\nPSZ systems are the traditional baseline system for commercial buildings\nwith less than 4 stories or less than 2,300 m2 (25,000 ft2) of floor area.\nThey are also the default for all retail with less than 3 stories and all public\nassembly spaces." + }, + "PTACEquipmentType": { + "title": "PTACEquipmentType", + "description": "An enumeration.", + "enum": [ + "PTAC_ElectricBaseboard", + "PTAC_BoilerBaseboard", + "PTAC_DHWBaseboard", + "PTAC_GasHeaters", + "PTAC_ElectricCoil", + "PTAC_GasCoil", + "PTAC_Boiler", + "PTAC_ASHP", + "PTAC_DHW", + "PTAC", + "PTHP" + ], + "type": "string" + }, + "PTAC": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "PTAC", + "pattern": "^PTAC$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the PTACEquipmentType enumeration.", + "default": "PTAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/PTACEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "PTAC", + "description": "Packaged Terminal Air Conditioning (PTAC/HP) HVAC system. (aka. System 1 or 2).\n\nEach room/zone receives its own packaged unit that supplies heating, cooling\nand ventilation. Cooling is always done via a single-speed direct expansion (DX)\ncooling coil. Heating can be done via a heating coil in the unit or via an\nexternal baseboard. Fans are constant volume.\n\nPTAC/HP systems are the traditional baseline system for residential buildings." + }, + "FurnaceEquipmentType": { + "title": "FurnaceEquipmentType", + "description": "An enumeration.", + "enum": [ + "Furnace", + "Furnace_Electric" + ], + "type": "string" + }, + "ForcedAirFurnace": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "ForcedAirFurnace", + "pattern": "^ForcedAirFurnace$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the FurnaceEquipmentType enumeration.", + "default": "Furnace", + "allOf": [ + { + "$ref": "#/components/schemas/FurnaceEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ForcedAirFurnace", + "description": "Forced Air Furnace HVAC system (aka. System 9 or 10).\n\nForced air furnaces are intended only for spaces only requiring heating and\nventilation. Each room/zone receives its own air loop with its own gas heating\ncoil, which will supply air at a temperature up to 50C (122F) to meet the\nheating needs of the room/zone. Fans are constant volume.\n\nForcedAirFurnace systems are the traditional baseline system for storage\nspaces that only require heating." + }, + "WSHPwithDOASEquipmentType": { + "title": "WSHPwithDOASEquipmentType", + "description": "An enumeration.", + "enum": [ + "DOAS_WSHP_FluidCooler_Boiler", + "DOAS_WSHP_CoolingTower_Boiler", + "DOAS_WSHP_GSHP", + "DOAS_WSHP_DCW_DHW" + ], + "type": "string" + }, + "WSHPwithDOASAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "WSHPwithDOASAbridged", + "pattern": "^WSHPwithDOASAbridged$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the WSHPwithDOASEquipmentType enumeration.", + "default": "DOAS_WSHP_FluidCooler_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/WSHPwithDOASEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "WSHPwithDOASAbridged", + "description": "Water Source Heat Pump (WSHP) with DOAS HVAC system.\n\nAll rooms/zones in the system are connected to a Dedicated Outdoor Air System\n(DOAS) that supplies a constant volume of ventilation air at the same temperature\nto all rooms/zones. The ventilation air temperature will vary from 21.1C (70F)\nto 15.5C (60F) depending on the outdoor air temperature (the DOAS supplies cooler air\nwhen outdoor conditions are warmer). The ventilation air temperature is maintained\nby a chilled water cooling coil and a hot water heating coil except when the\nground source heat pump (GSHP) option is selected. In this case, the ventilation\nair temperature is maintained by a two-speed direct expansion (DX) cooling coil\nand a single-speed DX heating coil with backup electrical resistance heat.\n\nEach room/zone also receives its own Water Source Heat Pump (WSHP), which meets\nthe heating and cooling loads of the space. All WSHPs are connected to the\nsame water condenser loop, which has its temperature maintained by the\nequipment_type (eg. Boiler with Cooling Tower)." + }, + "FCUEquipmentType": { + "title": "FCUEquipmentType", + "description": "An enumeration.", + "enum": [ + "FCU_Chiller_Boiler", + "FCU_Chiller_ASHP", + "FCU_Chiller_DHW", + "FCU_Chiller_ElectricBaseboard", + "FCU_Chiller_GasHeaters", + "FCU_Chiller", + "FCU_ACChiller_Boiler", + "FCU_ACChiller_ASHP", + "FCU_ACChiller_DHW", + "FCU_ACChiller_ElectricBaseboard", + "FCU_ACChiller_GasHeaters", + "FCU_ACChiller", + "FCU_DCW_Boiler", + "FCU_DCW_ASHP", + "FCU_DCW_DHW", + "FCU_DCW_ElectricBaseboard", + "FCU_DCW_GasHeaters", + "FCU_DCW" + ], + "type": "string" + }, + "FCU": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "FCU", + "pattern": "^FCU$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the FCUEquipmentType enumeration.", + "default": "FCU_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/FCUEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "FCU", + "description": "Fan Coil Unit (FCU) heating/cooling system (with no ventilation).\n\nEach room/zone receives its own Fan Coil Unit (FCU), which meets the heating\nand cooling loads of the space. The cooling coil in the FCU is always chilled\nwater cooling coil, which is connected to a chilled water loop operating\nat 6.7C (44F). The heating coil is a hot water coil except when when electric\nbaseboards or gas heaters are specified. Hot water temperature is 82C (180F) for\nboiler/district heating and 49C (120F) when ASHP is used." + }, + "WSHPEquipmentType": { + "title": "WSHPEquipmentType", + "description": "An enumeration.", + "enum": [ + "WSHP_FluidCooler_Boiler", + "WSHP_CoolingTower_Boiler", + "WSHP_GSHP", + "WSHP_DCW_DHW" + ], + "type": "string" + }, + "WSHP": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "WSHP", + "pattern": "^WSHP$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the WSHPEquipmentType enumeration.", + "default": "WSHP_FluidCooler_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/WSHPEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "WSHP", + "description": "Water Source Heat Pump (WSHP) heating/cooling system (with no ventilation).\n\nEach room/zone receives its own Water Source Heat Pump (WSHP), which meets\nthe heating and cooling loads of the space. All WSHPs are connected to the\nsame water condenser loop, which has its temperature maintained by the\nequipment_type (eg. Boiler with Cooling Tower)." + }, + "VRFEquipmentType": { + "title": "VRFEquipmentType", + "description": "An enumeration.", + "enum": [ + "VRF" + ], + "type": "string" + }, + "VRF": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "VRF", + "pattern": "^VRF$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the VRFEquipmentType enumeration.", + "default": "VRF", + "allOf": [ + { + "$ref": "#/components/schemas/VRFEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "VRF", + "description": "Variable Refrigerant Flow (VRF) heating/cooling system (with no ventilation).\n\nEach room/zone receives its own Variable Refrigerant Flow (VRF) terminal,\nwhich meets the heating and cooling loads of the space. All room/zone terminals\nare connected to the same outdoor unit, meaning that either all rooms must be\nin cooling or heating mode together." + }, + "BaseboardEquipmentType": { + "title": "BaseboardEquipmentType", + "description": "An enumeration.", + "enum": [ + "ElectricBaseboard", + "BoilerBaseboard", + "ASHPBaseboard", + "DHWBaseboard" + ], + "type": "string" + }, + "Baseboard": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "Baseboard", + "pattern": "^Baseboard$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the BaseboardEquipmentType enumeration.", + "default": "ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/BaseboardEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "Baseboard", + "description": "Baseboard heating system.\n\nBaseboard systems are intended for spaces only requiring heating and\nno ventilation or cooling. Each room/zone will get its own baseboard\nheating unit that satisfies the heating load." + }, + "EvaporativeCoolerEquipmentType": { + "title": "EvaporativeCoolerEquipmentType", + "description": "An enumeration.", + "enum": [ + "EvapCoolers_ElectricBaseboard", + "EvapCoolers_BoilerBaseboard", + "EvapCoolers_ASHPBaseboard", + "EvapCoolers_DHWBaseboard", + "EvapCoolers_Furnace", + "EvapCoolers_UnitHeaters", + "EvapCoolers" + ], + "type": "string" + }, + "EvaporativeCooler": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "EvaporativeCooler", + "pattern": "^EvaporativeCooler$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the EvaporativeCoolerEquipmentType enumeration.", + "default": "EvapCoolers_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/EvaporativeCoolerEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "EvaporativeCooler", + "description": "Direct evaporative cooling systems (with optional heating).\n\nEach room/zone will receive its own air loop sized to meet the sensible load,\nwhich contains an evaporative cooler that directly adds humidity to the room\nair to cool it. The loop contains an outdoor air mixer, which is used whenever\nthe outdoor air has a lower wet bulb temperature than the return air from\nthe room. In the event that the combination of outdoor and room return air\nair is too humid, a backup single-speed direct expansion (DX) cooling coil\nwill be used. Heating loads can be met with various options, including\nseveral types of baseboards, a furnace, or gas unit heaters." + }, + "ResidentialEquipmentType": { + "title": "ResidentialEquipmentType", + "description": "An enumeration.", + "enum": [ + "ResidentialAC_ElectricBaseboard", + "ResidentialAC_BoilerBaseboard", + "ResidentialAC_ASHPBaseboard", + "ResidentialAC_DHWBaseboard", + "ResidentialAC_ResidentialFurnace", + "ResidentialAC", + "ResidentialHP", + "ResidentialHPNoCool", + "ResidentialFurnace" + ], + "type": "string" + }, + "Residential": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "Residential", + "pattern": "^Residential$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the ResidentialEquipmentType enumeration.", + "default": "ResidentialAC_ElectricBaseboard", + "allOf": [ + { + "$ref": "#/components/schemas/ResidentialEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "Residential", + "description": "Residential Air Conditioning, Heat Pump or Furnace system.\n\nResidential HVAC systems are intended primarily for single-family homes and\ninclude a wide variety of options. In all cases, each room/zone will receive\nits own air loop WITHOUT an outdoor air inlet (air is simply being recirculated\nthrough the loop). Residential air conditioning (AC) systems are modeled\nusing a unitary system with a single-speed direct expansion (DX) cooling\ncoil in the loop. Residential heat pump (HP) systems use a single-speed DX\nheating coil in the unitary system and the residential furnace option uses\na gas coil in the unitary system. In all cases, the properties of these coils\nare set to reflect a typical residential system." + }, + "GasUnitHeaterEquipmentType": { + "title": "GasUnitHeaterEquipmentType", + "description": "An enumeration.", + "enum": [ + "GasHeaters" + ], + "type": "string" + }, + "GasUnitHeater": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "GasUnitHeater", + "pattern": "^GasUnitHeater$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the GasUnitHeaterEquipmentType enumeration.", + "default": "GasHeaters", + "allOf": [ + { + "$ref": "#/components/schemas/GasUnitHeaterEquipmentType" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "GasUnitHeater", + "description": "Gas unit heating system.\n\nGas unit systems are intended for spaces only requiring heating and no\nventilation or cooling. Each room/zone will get its own gaa heating unit\nthat satisfies the heating load." + }, + "RadiantEquipmentType": { + "title": "RadiantEquipmentType", + "description": "An enumeration.", + "enum": [ + "Radiant_Chiller_Boiler", + "Radiant_Chiller_ASHP", + "Radiant_Chiller_DHW", + "Radiant_ACChiller_Boiler", + "Radiant_ACChiller_ASHP", + "Radiant_ACChiller_DHW", + "Radiant_DCW_Boiler", + "Radiant_DCW_ASHP", + "Radiant_DCW_DHW" + ], + "type": "string" + }, + "Radiant": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "Radiant", + "pattern": "^Radiant$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text for the specific type of system equipment from the RadiantEquipmentType enumeration.", + "default": "Radiant_Chiller_Boiler", + "allOf": [ + { + "$ref": "#/components/schemas/RadiantEquipmentType" + } + ] + }, + "radiant_face_type": { + "description": "Text to indicate which faces are thermally active by default. Note that this property has no effect when the rooms to which the HVAC system is assigned have constructions with internal source materials. In this case, those constructions will dictate the thermally active surfaces.", + "default": "Floor", + "allOf": [ + { + "$ref": "#/components/schemas/RadiantFaceTypes" + } + ] + }, + "minimum_operation_time": { + "title": "Minimum Operation Time", + "description": "A number for the minimum number of hours of operation for the radiant system before it shuts off.", + "default": 1.0, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "switch_over_time": { + "title": "Switch Over Time", + "description": "A number for the minimum number of hours for when the system can switch between heating and cooling.", + "default": 24.0, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "Radiant", + "description": "Low temperature radiant HVAC system.\n\nThis HVAC template will change the floor and/or ceiling constructions\nof the Rooms that it is applied to, replacing them with a construction that\naligns with the radiant_type property (eg. CeilingMetalPanel).\n\nThe heating and cooling needs of the space are met with the radiant constructions,\nwhich use chilled water at 12.8C (55F) and a hot water temperature somewhere\nbetween 32.2C (90F) and 49C (120F) (warmer temperatures are used in colder\nclimate zones).\n\nNote that radiant systems are particularly limited in cooling capacity and\nusing them may result in many unmet hours. To reduce unmet hours, one can\nremove carpets, reduce internal loads, reduce solar and envelope gains during\npeak times, add thermal mass, and use an expanded comfort range." + }, + "SHWEquipmentType": { + "title": "SHWEquipmentType", + "description": "An enumeration.", + "enum": [ + "Gas_WaterHeater", + "Electric_WaterHeater", + "HeatPump_WaterHeater", + "Gas_TanklessHeater", + "Electric_TanklessHeater" + ], + "type": "string" + }, + "SHWSystem": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "SHWSystem", + "pattern": "^SHWSystem$", + "type": "string", + "readOnly": true + }, + "equipment_type": { + "description": "Text to indicate the type of air-side economizer used on the ideal air system. Economizers will mix in a greater amount of outdoor air to cool the zone (rather than running the cooling system) when the zone needs cooling and the outdoor air is cooler than the zone.", + "default": "Gas_WaterHeater", + "allOf": [ + { + "$ref": "#/components/schemas/SHWEquipmentType" + } + ] + }, + "heater_efficiency": { + "title": "Heater Efficiency", + "description": "A number for the efficiency of the heater within the system. For Gas systems, this is the efficiency of the burner. For HeatPump systems, this is the rated COP of the system. For electric systems, this should usually be set to 1. If set to Autocalculate, this value will automatically be set based on the equipment_type. Gas_WaterHeater - 0.8, Electric_WaterHeater - 1.0, HeatPump_WaterHeater - 3.5, Gas_TanklessHeater - 0.8, Electric_TanklessHeater - 1.0.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "type": "number", + "exclusiveMinimum": 0 + }, + { + "$ref": "#/components/schemas/Autocalculate" + } + ] + }, + "ambient_condition": { + "title": "Ambient Condition", + "description": "A number for the ambient temperature in which the hot water tank is located [C]. This can also be the identifier of a Room in which the tank is located.", + "default": 22, + "anyOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "ambient_loss_coefficient": { + "title": "Ambient Loss Coefficient", + "description": "A number for the loss of heat from the water heater tank to the surrounding ambient conditions [W/K].", + "default": 6, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "SHWSystem", + "description": "Provides a model for a Service Hot Water system." + }, + "People": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "people_per_area", + "occupancy_schedule" + ], + "properties": { + "people_per_area": { + "title": "People Per Area", + "description": "People per floor area expressed as [people/m2]", + "minimum": 0, + "type": "number", + "format": "double" + }, + "occupancy_schedule": { + "title": "Occupancy Schedule", + "description": "A schedule for the occupancy over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the people_per_area to yield a complete occupancy profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "type": { + "title": "Type", + "default": "People", + "pattern": "^People$", + "type": "string", + "readOnly": true + }, + "activity_schedule": { + "title": "Activity Schedule", + "description": "A schedule for the activity of the occupants over the course of the year. The type of this schedule should be ActivityLevel and the values of the schedule equal to the number of Watts given off by an individual person in the room. If None, a default constant schedule with 120 Watts per person will be used, which is typical of awake, adult humans who are seated.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The radiant fraction of sensible heat released by people. (Default: 0.3).", + "default": 0.3, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the latent fraction of heat gain due to people or an Autocalculate object.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number", + "minimum": 0, + "maximum": 1 + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "People", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "Lighting": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "watts_per_area", + "schedule" + ], + "properties": { + "watts_per_area": { + "title": "Watts Per Area", + "description": "Lighting per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of lights over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete lighting profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "type": { + "title": "Type", + "default": "Lighting", + "pattern": "^Lighting$", + "type": "string", + "readOnly": true + }, + "visible_fraction": { + "title": "Visible Fraction", + "description": "The fraction of heat from lights that goes into the zone as visible (short-wave) radiation. (Default: 0.25).", + "default": 0.25, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "The fraction of heat from lights that is long-wave radiation. (Default: 0.32).", + "default": 0.32, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "return_air_fraction": { + "title": "Return Air Fraction", + "description": "The fraction of the heat from lights that goes into the zone return air. (Default: 0).", + "default": 0.0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "baseline_watts_per_area": { + "title": "Baseline Watts Per Area", + "description": "The baseline lighting power density in [W/m2] of floor area. This baseline is useful to track how much better the installed lights are in comparison to a standard like ASHRAE 90.1. If set to None, it will default to 11.84029 W/m2, which is that ASHRAE 90.1-2004 baseline for an office.", + "default": 11.84029, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "Lighting", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "ElectricEquipment": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "watts_per_area", + "schedule" + ], + "properties": { + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "ElectricEquipment", + "pattern": "^ElectricEquipment$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ElectricEquipment", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "GasEquipment": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "watts_per_area", + "schedule" + ], + "properties": { + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "GasEquipment", + "pattern": "^GasEquipment$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "GasEquipment", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "ServiceHotWater": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "flow_per_area", + "schedule" + ], + "properties": { + "flow_per_area": { + "title": "Flow Per Area", + "description": "Number for the total volume flow rate of water per unit area of floor [L/h-m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "The schedule for the use of hot water over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the flow_per_area to yield a complete water usage profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "type": { + "title": "Type", + "default": "ServiceHotWater", + "pattern": "^ServiceHotWater$", + "type": "string", + "readOnly": true + }, + "target_temperature": { + "title": "Target Temperature", + "description": "Number for the target temperature of water out of the tap (C). This the temperature after hot water has been mixed with cold water from the water mains. The default is 60C, which essentially assumes that the flow_per_area on this object is only for water straight out of the water heater.", + "default": 60, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "sensible_fraction": { + "title": "Sensible Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load given off as sensible heat in the zone.", + "default": 0.2, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "A number between 0 and 1 for the fraction of the total hot water load that is latent.", + "default": 0.05, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "ServiceHotWater", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "Ventilation": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Ventilation", + "pattern": "^Ventilation$", + "type": "string", + "readOnly": true + }, + "flow_per_person": { + "title": "Flow Per Person", + "description": "Intensity of ventilation in[] m3/s per person]. Note that setting this value does not mean that ventilation is varied based on real-time occupancy but rather that the design level of ventilation is determined using this value and the People object of the Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_per_area": { + "title": "Flow Per Area", + "description": "Intensity of ventilation in [m3/s per m2 of floor area].", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "air_changes_per_hour": { + "title": "Air Changes Per Hour", + "description": "Intensity of ventilation in air changes per hour (ACH) for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "flow_per_zone": { + "title": "Flow Per Zone", + "description": "Intensity of ventilation in m3/s for the entire Room.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Schedule for the ventilation over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the total design flow rate (determined from the sum of the other 4 fields) to yield a complete ventilation profile.", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "Ventilation", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "Setpoint": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "cooling_schedule", + "heating_schedule" + ], + "properties": { + "cooling_schedule": { + "title": "Cooling Schedule", + "description": "Schedule for the cooling setpoint. The values in this schedule should be temperature in [C].", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "heating_schedule": { + "title": "Heating Schedule", + "description": "Schedule for the heating setpoint. The values in this schedule should be temperature in [C].", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "type": { + "title": "Type", + "default": "Setpoint", + "pattern": "^Setpoint$", + "type": "string", + "readOnly": true + }, + "humidifying_schedule": { + "title": "Humidifying Schedule", + "description": "Schedule for the humidification setpoint. The values in this schedule should be in [%].", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "dehumidifying_schedule": { + "title": "Dehumidifying Schedule", + "description": "Schedule for the dehumidification setpoint. The values in this schedule should be in [%].", + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + }, + "setpoint_cutout_difference": { + "title": "Setpoint Cutout Difference", + "description": "An optional positive number for the temperature difference between the cutout temperature and the setpoint temperature. Specifying a non-zero number here is useful for modeling the throttling range associated with a given setup of setpoint controls and HVAC equipment. Throttling ranges describe the range where a zone is slightly over-cooled or over-heated beyond the thermostat setpoint. They are used to avoid situations where HVAC systems turn on only to turn off a few minutes later, thereby wearing out the parts of mechanical systems faster. They can have a minor impact on energy consumption and can often have significant impacts on occupant thermal comfort, though using the default value of zero will often yield results that are close enough when trying to estimate the annual heating/cooling energy use. Specifying a value of zero effectively assumes that the system will turn on whenever conditions are outside the setpoint range and will cut out as soon as the setpoint is reached.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "Setpoint", + "description": "Used to specify information about the setpoint schedule." + }, + "ProgramType": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ProgramType", + "pattern": "^ProgramType$", + "type": "string", + "readOnly": true + }, + "people": { + "title": "People", + "description": "People to describe the occupancy of the program. If None, no occupancy will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/People" + } + ] + }, + "lighting": { + "title": "Lighting", + "description": "Lighting to describe the lighting usage of the program. If None, no lighting will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/Lighting" + } + ] + }, + "electric_equipment": { + "title": "Electric Equipment", + "description": "ElectricEquipment to describe the usage of electric equipment within the program. If None, no electric equipment will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/ElectricEquipment" + } + ] + }, + "gas_equipment": { + "title": "Gas Equipment", + "description": "GasEquipment to describe the usage of gas equipment within the program. If None, no gas equipment will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/GasEquipment" + } + ] + }, + "service_hot_water": { + "title": "Service Hot Water", + "description": "ServiceHotWater object to describe the usage of hot water within the program. If None, no hot water will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/ServiceHotWater" + } + ] + }, + "infiltration": { + "title": "Infiltration", + "description": "Infiltration to describe the outdoor air leakage of the program. If None, no infiltration will be assumed for the program.", + "allOf": [ + { + "$ref": "#/components/schemas/Infiltration" + } + ] + }, + "ventilation": { + "title": "Ventilation", + "description": "Ventilation to describe the minimum outdoor air requirement of the program. If None, no ventilation requirement will be assumed.", + "allOf": [ + { + "$ref": "#/components/schemas/Ventilation" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "Setpoint object to describe the temperature and humidity setpoints of the program. If None, the ProgramType cannot be assigned to a Room that is conditioned.", + "allOf": [ + { + "$ref": "#/components/schemas/Setpoint" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ProgramType", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "ScheduleRulesetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "day_schedules", + "default_day_schedule" + ], + "properties": { + "day_schedules": { + "title": "Day Schedules", + "description": "A list of ScheduleDays that are referenced in the other keys of this ScheduleRulesetAbridged.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleDay" + } + }, + "default_day_schedule": { + "title": "Default Day Schedule", + "description": "An identifier for the ScheduleDay that will be used for all days when no ScheduleRule is applied. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "ScheduleRulesetAbridged", + "pattern": "^ScheduleRulesetAbridged$", + "type": "string", + "readOnly": true + }, + "schedule_rules": { + "title": "Schedule Rules", + "description": "A list of ScheduleRuleAbridged that note exceptions to the default_day_schedule. These rules should be ordered from highest to lowest priority.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleRuleAbridged" + } + }, + "holiday_schedule": { + "title": "Holiday Schedule", + "description": "An identifier for the ScheduleDay that will be used for holidays. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "summer_designday_schedule": { + "title": "Summer Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the summer design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "winter_designday_schedule": { + "title": "Winter Designday Schedule", + "description": "An identifier for the ScheduleDay that will be used for the winter design day. This ScheduleDay must be in the day_schedules.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "Identifier of a ScheduleTypeLimit that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleRulesetAbridged", + "description": "Used to define a schedule for a default day, further described by ScheduleRule." + }, + "ScheduleFixedIntervalAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "values" + ], + "properties": { + "values": { + "title": "Values", + "description": "A list of timeseries values occuring at each timestep over the course of the simulation.", + "minItems": 24, + "maxItems": 527040, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "ScheduleFixedIntervalAbridged", + "pattern": "^ScheduleFixedIntervalAbridged$", + "type": "string", + "readOnly": true + }, + "schedule_type_limit": { + "title": "Schedule Type Limit", + "description": "Identifier of a ScheduleTypeLimit that will be used to validate schedule values against upper/lower limits and assign units to the schedule values. If None, no validation will occur.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "timestep": { + "title": "Timestep", + "description": "An integer for the number of steps per hour that the input values correspond to. For example, if each value represents 30 minutes, the timestep is 2. For 15 minutes, it is 4.", + "default": 1, + "type": "integer", + "format": "int32" + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the start date when the schedule values begin to take effect.A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "placeholder_value": { + "title": "Placeholder Value", + "description": " A value that will be used for all times not covered by the input values. Typically, your simulation should not need to use this value if the input values completely cover the simulation period.", + "default": 0, + "type": "number", + "format": "double" + }, + "interpolate": { + "title": "Interpolate", + "description": "Boolean to note whether values in between intervals should be linearly interpolated or whether successive values should take effect immediately upon the beginning time corresponding to them.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "ScheduleFixedIntervalAbridged", + "description": "Used to specify a start date and a list of values for a period of analysis." + }, + "VentilationControlType": { + "title": "VentilationControlType", + "description": "An enumeration.", + "enum": [ + "SingleZone", + "MultiZoneWithDistribution", + "MultiZoneWithoutDistribution" + ], + "type": "string" + }, + "BuildingType": { + "title": "BuildingType", + "description": "An enumeration.", + "enum": [ + "LowRise", + "HighRise" + ], + "type": "string" + }, + "VentilationSimulationControl": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationSimulationControl", + "pattern": "^VentilationSimulationControl$", + "type": "string", + "readOnly": true + }, + "vent_control_type": { + "description": "Text indicating type of ventilation control. Choices are: SingleZone, MultiZoneWithDistribution, MultiZoneWithoutDistribution. The MultiZone options will model air flow with the AirflowNetwork model, which is generally more accurate then the SingleZone option, but will take considerably longer to simulate, and requires defining more ventilation parameters to explicitly account for weather and building-induced pressure differences, and the leakage geometry corresponding to specific windows, doors, and surface cracks.", + "default": "SingleZone", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationControlType" + } + ] + }, + "reference_temperature": { + "title": "Reference Temperature", + "description": "Reference temperature measurement in Celsius under which the surface crack data were obtained.", + "default": 20, + "minimum": -273.15, + "type": "number", + "format": "double" + }, + "reference_pressure": { + "title": "Reference Pressure", + "description": "Reference barometric pressure measurement in Pascals under which the surface crack data were obtained.", + "default": 101325, + "minimum": 31000, + "maximum": 120000, + "type": "number", + "format": "double" + }, + "reference_humidity_ratio": { + "title": "Reference Humidity Ratio", + "description": "Reference humidity ratio measurement in kgWater/kgDryAir under which the surface crack data were obtained.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "building_type": { + "description": "Text indicating relationship between building footprint and height used to calculate the wind pressure coefficients for exterior surfaces.Choices are: LowRise and HighRise. LowRise corresponds to rectangular building whose height is less then three times the width and length of the footprint. HighRise corresponds to a rectangular building whose height is more than three times the width and length of the footprint. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.", + "default": "LowRise", + "allOf": [ + { + "$ref": "#/components/schemas/BuildingType" + } + ] + }, + "long_axis_angle": { + "title": "Long Axis Angle", + "description": "The clockwise rotation in degrees from true North of the long axis of the building. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.", + "default": 0, + "minimum": 0, + "maximum": 180, + "type": "number", + "format": "double" + }, + "aspect_ratio": { + "title": "Aspect Ratio", + "description": "Aspect ratio of a rectangular footprint, defined as the ratio of length of the short axis divided by the length of the long axis. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate.", + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "VentilationSimulationControl", + "description": "The global parameters used in the ventilation simulation." + }, + "ElectricLoadCenter": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ElectricLoadCenter", + "pattern": "^ElectricLoadCenter$", + "type": "string", + "readOnly": true + }, + "inverter_efficiency": { + "title": "Inverter Efficiency", + "description": "A number between 0 and 1 for the load center inverter nominal rated DC-to-AC conversion efficiency. An inverter converts DC power, such as that output by photovoltaic panels, to AC power, such as that distributed by the electrical grid and is available from standard electrical outlets. Inverter efficiency is defined as the inverter rated AC power output divided by its rated DC power output.", + "default": 0.96, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "inverter_dc_to_ac_size_ratio": { + "title": "Inverter Dc To Ac Size Ratio", + "description": "A positive number (typically greater than 1) for the ratio of the inverter DC rated size to its AC rated size. Typically, inverters are not sized to convert the full DC output under standard test conditions (STC) as such conditions rarely occur in reality and therefore unnecessarily add to the size/cost of the inverter. For a system with a high DC to AC size ratio, during times when the DC power output exceeds the inverter rated DC input size, the inverter limits the power output by increasing the DC operating voltage, which moves the arrays operating point down its current-voltage (I-V) curve. In EnergyPlus, this is accomplished by simply limiting the system output to the AC size as dictated by the ratio. The default value of 1.1 is reasonable for most systems. A typical range is 1.1 to 1.25, although some large-scale systems have ratios of as high as 1.5. The optimal value depends on the system location, array orientation, and module cost.", + "default": 1.1, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "ElectricLoadCenter", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "ModelEnergyProperties": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModelEnergyProperties", + "pattern": "^ModelEnergyProperties$", + "type": "string", + "readOnly": true + }, + "global_construction_set": { + "title": "Global Construction Set", + "description": "Global Energy construction set.", + "default": { + "type": "GlobalConstructionSet", + "materials": [ + { + "identifier": "Generic Roof Membrane", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.01, + "conductivity": 0.16, + "density": 1120.0, + "specific_heat": 1460.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic Acoustic Tile", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.02, + "conductivity": 0.06, + "density": 368.0, + "specific_heat": 590.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.2, + "visible_absorptance": 0.2 + }, + { + "identifier": "Generic 25mm Wood", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0254, + "conductivity": 0.15, + "density": 608.0, + "specific_heat": 1630.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic HW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.2, + "conductivity": 1.95, + "density": 2240.0, + "specific_heat": 900.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic Window Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGas", + "thickness": 0.0127, + "gas_type": "Air" + }, + { + "identifier": "Generic Gypsum Board", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumSmooth", + "thickness": 0.0127, + "conductivity": 0.16, + "density": 800.0, + "specific_heat": 1090.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic Wall Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.667, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Ceiling Air Gap", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.1, + "conductivity": 0.556, + "density": 1.28, + "specific_heat": 1000.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Brick", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.9, + "density": 1920.0, + "specific_heat": 790.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.65, + "visible_absorptance": 0.65 + }, + { + "identifier": "Generic 50mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.05, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Low-e Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.45, + "solar_reflectance": 0.36, + "solar_reflectance_back": 0.36, + "visible_transmittance": 0.71, + "visible_reflectance": 0.21, + "visible_reflectance_back": 0.21, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.047, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + }, + { + "identifier": "Generic Painted Metal", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "Smooth", + "thickness": 0.0015, + "conductivity": 45.0, + "density": 7690.0, + "specific_heat": 410.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.5, + "visible_absorptance": 0.5 + }, + { + "identifier": "Generic LW Concrete", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.1, + "conductivity": 0.53, + "density": 1280.0, + "specific_heat": 840.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.8, + "visible_absorptance": 0.8 + }, + { + "identifier": "Generic 25mm Insulation", + "display_name": null, + "user_data": null, + "type": "EnergyMaterial", + "roughness": "MediumRough", + "thickness": 0.025, + "conductivity": 0.03, + "density": 43.0, + "specific_heat": 1210.0, + "thermal_absorptance": 0.9, + "solar_absorptance": 0.7, + "visible_absorptance": 0.7 + }, + { + "identifier": "Generic Clear Glass", + "display_name": null, + "user_data": null, + "type": "EnergyWindowMaterialGlazing", + "thickness": 0.006, + "solar_transmittance": 0.77, + "solar_reflectance": 0.07, + "solar_reflectance_back": 0.07, + "visible_transmittance": 0.88, + "visible_reflectance": 0.08, + "visible_reflectance_back": 0.08, + "infrared_transmittance": 0.0, + "emissivity": 0.84, + "emissivity_back": 0.84, + "conductivity": 1.0, + "dirt_correction": 1.0, + "solar_diffusing": false + } + ], + "constructions": [ + { + "identifier": "Generic Interior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 25mm Wood" + ] + }, + { + "identifier": "Generic Single Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Shade", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.35, + "visible_reflectance": 0.35, + "is_specular": false + }, + { + "identifier": "Generic Context", + "display_name": null, + "user_data": null, + "type": "ShadeConstruction", + "solar_reflectance": 0.2, + "visible_reflectance": 0.2, + "is_specular": false + }, + { + "identifier": "Generic Interior Ceiling", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Interior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Gypsum Board", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Exposed Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic Ceiling Air Gap", + "Generic 50mm Insulation", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Interior Floor", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Acoustic Tile", + "Generic Ceiling Air Gap", + "Generic LW Concrete" + ] + }, + { + "identifier": "Generic Ground Slab", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete" + ] + }, + { + "identifier": "Generic Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Roof Membrane", + "Generic 50mm Insulation", + "Generic LW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Exterior Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Brick", + "Generic LW Concrete", + "Generic 50mm Insulation", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Underground Wall", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Wall Air Gap", + "Generic Gypsum Board" + ] + }, + { + "identifier": "Generic Air Boundary", + "display_name": null, + "user_data": null, + "type": "AirBoundaryConstructionAbridged", + "air_mixing_per_area": 0.1, + "air_mixing_schedule": "Always On" + }, + { + "identifier": "Generic Underground Roof", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic 50mm Insulation", + "Generic HW Concrete", + "Generic Ceiling Air Gap", + "Generic Acoustic Tile" + ] + }, + { + "identifier": "Generic Double Pane", + "display_name": null, + "user_data": null, + "type": "WindowConstructionAbridged", + "materials": [ + "Generic Low-e Glass", + "Generic Window Air Gap", + "Generic Clear Glass" + ], + "frame": null + }, + { + "identifier": "Generic Exterior Door", + "display_name": null, + "user_data": null, + "type": "OpaqueConstructionAbridged", + "materials": [ + "Generic Painted Metal", + "Generic 25mm Insulation", + "Generic Painted Metal" + ] + } + ], + "wall_set": { + "interior_construction": "Generic Interior Wall", + "exterior_construction": "Generic Exterior Wall", + "ground_construction": "Generic Underground Wall", + "type": "WallConstructionSetAbridged" + }, + "floor_set": { + "interior_construction": "Generic Interior Floor", + "exterior_construction": "Generic Exposed Floor", + "ground_construction": "Generic Ground Slab", + "type": "FloorConstructionSetAbridged" + }, + "roof_ceiling_set": { + "interior_construction": "Generic Interior Ceiling", + "exterior_construction": "Generic Roof", + "ground_construction": "Generic Underground Roof", + "type": "RoofCeilingConstructionSetAbridged" + }, + "aperture_set": { + "type": "ApertureConstructionSetAbridged", + "interior_construction": "Generic Single Pane", + "window_construction": "Generic Double Pane", + "skylight_construction": "Generic Double Pane", + "operable_construction": "Generic Double Pane" + }, + "door_set": { + "type": "DoorConstructionSetAbridged", + "interior_construction": "Generic Interior Door", + "exterior_construction": "Generic Exterior Door", + "overhead_construction": "Generic Exterior Door", + "exterior_glass_construction": "Generic Double Pane", + "interior_glass_construction": "Generic Single Pane" + }, + "shade_construction": "Generic Shade", + "context_construction": "Generic Context", + "air_boundary_construction": "Generic Air Boundary" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/GlobalConstructionSet" + } + ] + }, + "construction_sets": { + "title": "Construction Sets", + "description": "List of all unique ConstructionSets in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ConstructionSetAbridged" + }, + { + "$ref": "#/components/schemas/ConstructionSet" + } + ] + } + }, + "constructions": { + "title": "Constructions", + "description": "A list of all unique constructions in the model. This includes constructions across all Faces, Apertures, Doors, Shades, Room ConstructionSets, and the global_construction_set.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/OpaqueConstructionAbridged" + }, + { + "$ref": "#/components/schemas/WindowConstructionAbridged" + }, + { + "$ref": "#/components/schemas/WindowConstructionShadeAbridged" + }, + { + "$ref": "#/components/schemas/AirBoundaryConstructionAbridged" + }, + { + "$ref": "#/components/schemas/OpaqueConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstruction" + }, + { + "$ref": "#/components/schemas/WindowConstructionShade" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamicAbridged" + }, + { + "$ref": "#/components/schemas/WindowConstructionDynamic" + }, + { + "$ref": "#/components/schemas/AirBoundaryConstruction" + }, + { + "$ref": "#/components/schemas/ShadeConstruction" + } + ] + } + }, + "materials": { + "title": "Materials", + "description": "A list of all unique materials in the model. This includes materials needed to make the Model constructions.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/EnergyMaterial" + }, + { + "$ref": "#/components/schemas/EnergyMaterialNoMass" + }, + { + "$ref": "#/components/schemas/EnergyMaterialVegetation" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGlazing" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialSimpleGlazSys" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGas" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGasMixture" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialGasCustom" + }, + { + "$ref": "#/components/schemas/EnergyWindowFrame" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialBlind" + }, + { + "$ref": "#/components/schemas/EnergyWindowMaterialShade" + } + ] + } + }, + "hvacs": { + "title": "Hvacs", + "description": "List of all unique HVAC systems in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/IdealAirSystemAbridged" + }, + { + "$ref": "#/components/schemas/VAV" + }, + { + "$ref": "#/components/schemas/PVAV" + }, + { + "$ref": "#/components/schemas/PSZ" + }, + { + "$ref": "#/components/schemas/PTAC" + }, + { + "$ref": "#/components/schemas/ForcedAirFurnace" + }, + { + "$ref": "#/components/schemas/FCUwithDOASAbridged" + }, + { + "$ref": "#/components/schemas/WSHPwithDOASAbridged" + }, + { + "$ref": "#/components/schemas/VRFwithDOASAbridged" + }, + { + "$ref": "#/components/schemas/RadiantwithDOASAbridged" + }, + { + "$ref": "#/components/schemas/FCU" + }, + { + "$ref": "#/components/schemas/WSHP" + }, + { + "$ref": "#/components/schemas/VRF" + }, + { + "$ref": "#/components/schemas/Baseboard" + }, + { + "$ref": "#/components/schemas/EvaporativeCooler" + }, + { + "$ref": "#/components/schemas/Residential" + }, + { + "$ref": "#/components/schemas/WindowAC" + }, + { + "$ref": "#/components/schemas/GasUnitHeater" + }, + { + "$ref": "#/components/schemas/Radiant" + }, + { + "$ref": "#/components/schemas/DetailedHVAC" + } + ] + } + }, + "shws": { + "title": "Shws", + "description": "List of all unique Service Hot Water (SHW) systems in the Model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SHWSystem" + } + }, + "program_types": { + "title": "Program Types", + "description": "List of all unique ProgramTypes in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProgramTypeAbridged" + }, + { + "$ref": "#/components/schemas/ProgramType" + } + ] + } + }, + "schedules": { + "title": "Schedules", + "description": "A list of all unique schedules in the model. This includes schedules across all HVAC systems, ProgramTypes, Rooms, and Shades.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ScheduleRulesetAbridged" + }, + { + "$ref": "#/components/schemas/ScheduleFixedIntervalAbridged" + }, + { + "$ref": "#/components/schemas/ScheduleRuleset" + }, + { + "$ref": "#/components/schemas/ScheduleFixedInterval" + } + ] + } + }, + "schedule_type_limits": { + "title": "Schedule Type Limits", + "description": "A list of all unique ScheduleTypeLimits in the model. This all ScheduleTypeLimits needed to make the Model schedules.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ScheduleTypeLimit" + } + }, + "ventilation_simulation_control": { + "title": "Ventilation Simulation Control", + "description": "An optional parameter to define the global parameters for a ventilation cooling.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationSimulationControl" + } + ] + }, + "electric_load_center": { + "title": "Electric Load Center", + "description": "An optional parameter object that defines the properties of the model electric loads center that manages on site electricity generation and conversion.", + "allOf": [ + { + "$ref": "#/components/schemas/ElectricLoadCenter" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ModelEnergyProperties", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "WallModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseModifierSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "WallModifierSetAbridged", + "pattern": "^WallModifierSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "WallModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Walls." + }, + "FloorModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseModifierSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FloorModifierSetAbridged", + "pattern": "^FloorModifierSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "FloorModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Floors." + }, + "RoofCeilingModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseModifierSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoofCeilingModifierSetAbridged", + "pattern": "^RoofCeilingModifierSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "RoofCeilingModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Roofs." + }, + "ApertureModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ApertureModifierSetAbridged", + "pattern": "^ApertureModifierSetAbridged$", + "type": "string", + "readOnly": true + }, + "window_modifier": { + "title": "Window Modifier", + "description": "Identifier of modifier object for apertures with an Outdoors boundary condition, False is_operable property, and Wall parent Face.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier of modifier object for apertures with a Surface boundary condition.", + "type": "string" + }, + "skylight_modifier": { + "title": "Skylight Modifier", + "description": "Identifier of modifier object for apertures with an Outdoors boundary condition, False is_operable property, and a RoofCeiling or Floor face type for their parent face.", + "type": "string" + }, + "operable_modifier": { + "title": "Operable Modifier", + "description": "Identifier of modifier object for apertures with an Outdoors boundary condition and a True is_operable property.", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "ApertureModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Apertures." + }, + "DoorModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseModifierSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DoorModifierSetAbridged", + "pattern": "^DoorModifierSetAbridged$", + "type": "string", + "readOnly": true + }, + "interior_glass_modifier": { + "title": "Interior Glass Modifier", + "description": "Identifier of modifier object for glass with a Surface boundary condition.", + "type": "string" + }, + "exterior_glass_modifier": { + "title": "Exterior Glass Modifier", + "description": "Identifier of modifier object for glass with an Outdoors boundary condition.", + "type": "string" + }, + "overhead_modifier": { + "title": "Overhead Modifier", + "description": "Identifier of a modifier object for doors with an Outdoors boundary condition and a RoofCeiling or Floor face type for their parent face.", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "DoorModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Doors." + }, + "ShadeModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseModifierSetAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadeModifierSetAbridged", + "pattern": "^ShadeModifierSetAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ShadeModifierSetAbridged", + "description": "Abridged set containing radiance modifiers needed for a model's Shade." + }, + "GlobalModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "GlobalModifierSet", + "pattern": "^GlobalModifierSet$", + "type": "string", + "readOnly": true + }, + "modifiers": { + "title": "Modifiers", + "description": "Global Honeybee Radiance modifiers.", + "default": [ + { + "identifier": "generic_floor_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_wall_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_ceiling_0.80", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.8, + "g_reflectance": 0.8, + "b_reflectance": 0.8, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_opaque_door_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_shade_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_exterior_shade_0.35", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.35, + "g_reflectance": 0.35, + "b_reflectance": 0.35, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_context_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_window_vis_0.88", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.9584154328610596, + "g_transmissivity": 0.9584154328610596, + "b_transmissivity": 0.9584154328610596, + "refraction_index": null + }, + { + "identifier": "generic_exterior_window_vis_0.64", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.6975761815384331, + "g_transmissivity": 0.6975761815384331, + "b_transmissivity": 0.6975761815384331, + "refraction_index": null + }, + { + "identifier": "air_boundary", + "display_name": null, + "type": "Trans", + "modifier": null, + "dependencies": [], + "r_reflectance": 1.0, + "g_reflectance": 1.0, + "b_reflectance": 1.0, + "specularity": 0.0, + "roughness": 0.0, + "transmitted_diff": 1.0, + "transmitted_spec": 1.0 + } + ], + "readOnly": true, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/Trans" + } + ] + } + }, + "wall_set": { + "title": "Wall Set", + "description": "Global Honeybee WallModifierSet.", + "default": { + "exterior_modifier": "generic_wall_0.50", + "interior_modifier": "generic_wall_0.50", + "type": "WallModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/WallModifierSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "Global Honeybee FloorModifierSet.", + "default": { + "exterior_modifier": "generic_floor_0.20", + "interior_modifier": "generic_floor_0.20", + "type": "FloorModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/FloorModifierSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "Global Honeybee RoofCeilingModifierSet.", + "default": { + "exterior_modifier": "generic_ceiling_0.80", + "interior_modifier": "generic_ceiling_0.80", + "type": "RoofCeilingModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingModifierSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "Global Honeybee ApertureModifierSet.", + "default": { + "type": "ApertureModifierSetAbridged", + "window_modifier": "generic_exterior_window_vis_0.64", + "interior_modifier": "generic_interior_window_vis_0.88", + "skylight_modifier": "generic_exterior_window_vis_0.64", + "operable_modifier": "generic_exterior_window_vis_0.64" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/ApertureModifierSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "Global Honeybee DoorModifierSet.", + "default": { + "exterior_modifier": "generic_opaque_door_0.50", + "interior_modifier": "generic_opaque_door_0.50", + "type": "DoorModifierSetAbridged", + "interior_glass_modifier": "generic_interior_window_vis_0.88", + "exterior_glass_modifier": "generic_exterior_window_vis_0.64", + "overhead_modifier": "generic_opaque_door_0.50" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/DoorModifierSetAbridged" + } + ] + }, + "shade_set": { + "title": "Shade Set", + "description": "Global Honeybee ShadeModifierSet.", + "default": { + "exterior_modifier": "generic_exterior_shade_0.35", + "interior_modifier": "generic_interior_shade_0.50", + "type": "ShadeModifierSetAbridged" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/ShadeModifierSetAbridged" + } + ] + }, + "air_boundary_modifier": { + "title": "Air Boundary Modifier", + "description": "Global Honeybee Modifier for AirBoundary Faces.", + "default": "air_boundary", + "readOnly": true, + "type": "string" + }, + "context_modifier": { + "title": "Context Modifier", + "description": "Global Honeybee Modifier for context Shades.", + "default": "generic_context_0.20", + "readOnly": true, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "GlobalModifierSet", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "WallModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "WallModifierSet", + "pattern": "^WallModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "WallModifierSet", + "description": "Set containing radiance modifiers needed for a model's Walls." + }, + "FloorModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "FloorModifierSet", + "pattern": "^FloorModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "FloorModifierSet", + "description": "Set containing radiance modifiers needed for a model's Floors." + }, + "RoofCeilingModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "RoofCeilingModifierSet", + "pattern": "^RoofCeilingModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "RoofCeilingModifierSet", + "description": "Set containing radiance modifiers needed for a model's roofs." + }, + "DoorModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_glass_modifier": { + "title": "Interior Glass Modifier", + "description": "A modifier object for glass with a Surface boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "exterior_glass_modifier": { + "title": "Exterior Glass Modifier", + "description": "A modifier object for glass with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "overhead_modifier": { + "title": "Overhead Modifier", + "description": "A window modifier object for doors with an Outdoors boundary condition and a RoofCeiling or Floor face type for their parent face.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "DoorModifierSet", + "pattern": "^DoorModifierSet$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "DoorModifierSet", + "description": "Set containing radiance modifiers needed for a model's Doors." + }, + "ModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdRadianceBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModifierSet", + "pattern": "^ModifierSet$", + "type": "string", + "readOnly": true + }, + "wall_set": { + "title": "Wall Set", + "description": "An optional WallModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/WallModifierSet" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "An optional FloorModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/FloorModifierSet" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "An optional RoofCeilingModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingModifierSet" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "An optional ApertureModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/ApertureModifierSet" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "An optional DoorModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/DoorModifierSet" + } + ] + }, + "shade_set": { + "title": "Shade Set", + "description": "An optional ShadeModifierSet object for this ModifierSet. (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeModifierSet" + } + ] + }, + "air_boundary_modifier": { + "title": "Air Boundary Modifier", + "description": "An optional Modifier to be used for all Faces with an AirBoundary face type. If None, it will be the honeybee generic air wall modifier.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "ModifierSet", + "description": "Set containing all radiance modifiers needed to create a radiance model." + }, + "ModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdRadianceBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModifierSetAbridged", + "pattern": "^ModifierSetAbridged$", + "type": "string", + "readOnly": true + }, + "wall_set": { + "title": "Wall Set", + "description": "Optional WallModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/WallModifierSetAbridged" + } + ] + }, + "floor_set": { + "title": "Floor Set", + "description": "Optional FloorModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/FloorModifierSetAbridged" + } + ] + }, + "roof_ceiling_set": { + "title": "Roof Ceiling Set", + "description": "Optional RoofCeilingModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/RoofCeilingModifierSetAbridged" + } + ] + }, + "aperture_set": { + "title": "Aperture Set", + "description": "Optional ApertureModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/ApertureModifierSetAbridged" + } + ] + }, + "door_set": { + "title": "Door Set", + "description": "Optional DoorModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/DoorModifierSetAbridged" + } + ] + }, + "shade_set": { + "title": "Shade Set", + "description": "Optional ShadeModifierSet object for this ModifierSet (default: None).", + "allOf": [ + { + "$ref": "#/components/schemas/ShadeModifierSetAbridged" + } + ] + }, + "air_boundary_modifier": { + "title": "Air Boundary Modifier", + "description": "Optional Modifier to be used for all Faces with an AirBoundary face type. If None, it will be the honeybee generic air wall modifier.", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "ModifierSetAbridged", + "description": "Abridged set containing all modifiers needed to create a radiance model." + }, + "Sensor": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "pos": { + "title": "Pos", + "description": "Position of sensor in space as an array of (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "dir": { + "title": "Dir", + "description": "Direction of sensor as an array of (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "Sensor", + "pattern": "^Sensor$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "pos", + "dir" + ], + "additionalProperties": false + } + ], + "title": "Sensor", + "description": "A single Radiance of sensors." + }, + "SensorGrid": { + "allOf": [ + { + "$ref": "#/components/schemas/_RadianceAsset" + }, + { + "type": "object", + "required": [ + "sensors" + ], + "properties": { + "sensors": { + "title": "Sensors", + "description": "A list of sensors that belong to the grid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Sensor" + } + }, + "type": { + "title": "Type", + "default": "SensorGrid", + "pattern": "^SensorGrid$", + "type": "string", + "readOnly": true + }, + "mesh": { + "title": "Mesh", + "description": "An optional Mesh3D that aligns with the sensors and can be used for visualization of the grid. Note that the number of sensors in the grid must match the number of faces or the number vertices within the Mesh3D.", + "allOf": [ + { + "$ref": "#/components/schemas/Mesh3D" + } + ] + }, + "base_geometry": { + "title": "Base Geometry", + "description": "An optional array of Face3D used to represent the grid. There are no restrictions on how this property relates to the sensors and it is provided only to assist with the display of the grid when the number of sensors or the mesh is too large to be practically visualized.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Face3D" + } + }, + "group_identifier": { + "title": "Group Identifier", + "description": "An optional string to note the sensor grid group ' 'to which the sensor is a part of. Grids sharing the same ' 'group_identifier will be written to the same subfolder in Radiance ' 'folder (default: None).", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "SensorGrid", + "description": "A grid of sensors." + }, + "ViewType": { + "title": "ViewType", + "description": "A single character for the view type (-vt).", + "enum": [ + "v", + "h", + "l", + "c", + "a", + "s" + ], + "type": "string" + }, + "View": { + "allOf": [ + { + "$ref": "#/components/schemas/_RadianceAsset" + }, + { + "type": "object", + "required": [ + "position", + "direction", + "up_vector" + ], + "properties": { + "position": { + "title": "Position", + "description": "The view position (-vp) as an array of (x, y, z) values.This is the focal point of a perspective view or the center of a parallel projection.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "direction": { + "title": "Direction", + "description": "The view direction (-vd) as an array of (x, y, z) values.The length of this vector indicates the focal distance as needed by the pixel depth of field (-pd) in rpict.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "up_vector": { + "title": "Up Vector", + "description": "The view up (-vu) vector as an array of (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "View", + "pattern": "^View$", + "type": "string", + "readOnly": true + }, + "view_type": { + "default": "v", + "allOf": [ + { + "$ref": "#/components/schemas/ViewType" + } + ] + }, + "h_size": { + "title": "H Size", + "description": "A number for the horizontal field of view in degrees (for all perspective projections including fisheye). For a parallel projection, this is the view width in world coordinates.", + "default": 60, + "type": "number", + "format": "double" + }, + "v_size": { + "title": "V Size", + "description": "A number for the vertical field of view in degrees (for all perspective projections including fisheye). For a parallel projection, this is the view width in world coordinates.", + "default": 60, + "type": "number", + "format": "double" + }, + "shift": { + "title": "Shift", + "description": "The view shift (-vs). This is the amount the actual image will be shifted to the right of the specified view. This option is useful for generating skewed perspectives or rendering an image a piece at a time. A value of 1 means that the rendered image starts just to the right of the normal view. A value of -1 would be to the left. Larger or fractional values are permitted as well.", + "type": "number", + "format": "double" + }, + "lift": { + "title": "Lift", + "description": "The view lift (-vl). This is the amount the actual image will be lifted up from the specified view. This option is useful for generating skewed perspectives or rendering an image a piece at a time. A value of 1 means that the rendered image starts just to the right of the normal view. A value of -1 would be to the left. Larger or fractional values are permitted as well.", + "type": "number", + "format": "double" + }, + "fore_clip": { + "title": "Fore Clip", + "description": "View fore clip (-vo) at a distance from the view point.The plane will be perpendicular to the view direction for perspective and parallel view types. For fisheye view types, the clipping plane is actually a clipping sphere, centered on the view point with fore_clip radius. Objects in front of this imaginary surface will not be visible.", + "type": "number", + "format": "double" + }, + "aft_clip": { + "title": "Aft Clip", + "description": "View aft clip (-va) at a distance from the view point.Like the view fore plane, it will be perpendicular to the view direction for perspective and parallel view types. For fisheye view types, the clipping plane is actually a clipping sphere, centered on the view point with radius val.", + "type": "number", + "format": "double" + }, + "group_identifier": { + "title": "Group Identifier", + "description": "An optional string to note the view group ' 'to which the sensor is a part of. Views sharing the same ' 'group_identifier will be written to the same subfolder in Radiance ' 'folder (default: None).", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "View", + "description": "A single Radiance of sensors." + }, + "ModelRadianceProperties": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModelRadianceProperties", + "pattern": "^ModelRadianceProperties$", + "type": "string", + "readOnly": true + }, + "global_modifier_set": { + "title": "Global Modifier Set", + "description": "Global Radiance modifier set.", + "default": { + "type": "GlobalModifierSet", + "modifiers": [ + { + "identifier": "generic_floor_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_wall_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_ceiling_0.80", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.8, + "g_reflectance": 0.8, + "b_reflectance": 0.8, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_opaque_door_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_shade_0.50", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.5, + "g_reflectance": 0.5, + "b_reflectance": 0.5, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_exterior_shade_0.35", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.35, + "g_reflectance": 0.35, + "b_reflectance": 0.35, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_context_0.20", + "display_name": null, + "type": "Plastic", + "modifier": null, + "dependencies": [], + "r_reflectance": 0.2, + "g_reflectance": 0.2, + "b_reflectance": 0.2, + "specularity": 0.0, + "roughness": 0.0 + }, + { + "identifier": "generic_interior_window_vis_0.88", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.9584154328610596, + "g_transmissivity": 0.9584154328610596, + "b_transmissivity": 0.9584154328610596, + "refraction_index": null + }, + { + "identifier": "generic_exterior_window_vis_0.64", + "display_name": null, + "type": "Glass", + "modifier": null, + "dependencies": [], + "r_transmissivity": 0.6975761815384331, + "g_transmissivity": 0.6975761815384331, + "b_transmissivity": 0.6975761815384331, + "refraction_index": null + }, + { + "identifier": "air_boundary", + "display_name": null, + "type": "Trans", + "modifier": null, + "dependencies": [], + "r_reflectance": 1.0, + "g_reflectance": 1.0, + "b_reflectance": 1.0, + "specularity": 0.0, + "roughness": 0.0, + "transmitted_diff": 1.0, + "transmitted_spec": 1.0 + } + ], + "wall_set": { + "exterior_modifier": "generic_wall_0.50", + "interior_modifier": "generic_wall_0.50", + "type": "WallModifierSetAbridged" + }, + "floor_set": { + "exterior_modifier": "generic_floor_0.20", + "interior_modifier": "generic_floor_0.20", + "type": "FloorModifierSetAbridged" + }, + "roof_ceiling_set": { + "exterior_modifier": "generic_ceiling_0.80", + "interior_modifier": "generic_ceiling_0.80", + "type": "RoofCeilingModifierSetAbridged" + }, + "aperture_set": { + "type": "ApertureModifierSetAbridged", + "window_modifier": "generic_exterior_window_vis_0.64", + "interior_modifier": "generic_interior_window_vis_0.88", + "skylight_modifier": "generic_exterior_window_vis_0.64", + "operable_modifier": "generic_exterior_window_vis_0.64" + }, + "door_set": { + "exterior_modifier": "generic_opaque_door_0.50", + "interior_modifier": "generic_opaque_door_0.50", + "type": "DoorModifierSetAbridged", + "interior_glass_modifier": "generic_interior_window_vis_0.88", + "exterior_glass_modifier": "generic_exterior_window_vis_0.64", + "overhead_modifier": "generic_opaque_door_0.50" + }, + "shade_set": { + "exterior_modifier": "generic_exterior_shade_0.35", + "interior_modifier": "generic_interior_shade_0.50", + "type": "ShadeModifierSetAbridged" + }, + "air_boundary_modifier": "air_boundary", + "context_modifier": "generic_context_0.20" + }, + "readOnly": true, + "allOf": [ + { + "$ref": "#/components/schemas/GlobalModifierSet" + } + ] + }, + "modifiers": { + "title": "Modifiers", + "description": "A list of all unique modifiers in the model. This includes modifiers across all Faces, Apertures, Doors, Shades, Room ModifierSets, and the global_modifier_set.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + } + }, + "modifier_sets": { + "title": "Modifier Sets", + "description": "A list of all unique Room-Assigned ModifierSets in the Model.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ModifierSet" + }, + { + "$ref": "#/components/schemas/ModifierSetAbridged" + } + ] + } + }, + "sensor_grids": { + "title": "Sensor Grids", + "description": "An array of SensorGrids that are associated with the model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/SensorGrid" + } + }, + "views": { + "title": "Views", + "description": "An array of Views that are associated with the model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/View" + } + } + }, + "additionalProperties": false + } + ], + "title": "ModelRadianceProperties", + "description": "Radiance Properties for Honeybee Model." + }, + "ModelProperties": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModelProperties", + "pattern": "^ModelProperties$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/ModelEnergyProperties" + }, + "radiance": { + "$ref": "#/components/schemas/ModelRadianceProperties" + } + } + } + ], + "title": "ModelProperties" + }, + "FaceType": { + "title": "FaceType", + "description": "An enumeration.", + "enum": [ + "Wall", + "Floor", + "RoofCeiling", + "AirBoundary" + ], + "type": "string" + }, + "Ground": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Ground", + "pattern": "^Ground$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Ground", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "Adiabatic": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Adiabatic", + "pattern": "^Adiabatic$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Adiabatic", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "OtherSideTemperature": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "OtherSideTemperature", + "pattern": "^OtherSideTemperature$", + "type": "string", + "readOnly": true + }, + "heat_transfer_coefficient": { + "title": "Heat Transfer Coefficient", + "description": "A value in W/m2-K to indicate the combined convective/radiative film coefficient. If equal to 0, then the specified temperature above is equal to the exterior surface temperature. Otherwise, the temperature above is considered the outside air temperature and this coefficient is used to determine the difference between this outside air temperature and the exterior surface temperature.", + "default": 0, + "minimum": 0, + "type": "number", + "format": "double" + }, + "temperature": { + "title": "Temperature", + "description": "A temperature value in Celsius to note the temperature on the other side of the object. This input can also be an Autocalculate object to signify that the temperature is equal to the outdoor air temperature.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "number" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "OtherSideTemperature", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "FaceEnergyPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FaceEnergyPropertiesAbridged", + "pattern": "^FaceEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction": { + "title": "Construction", + "description": "Identifier of an OpaqueConstruction for the Face. If None, the construction is set by the parent Room construction_set or the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "vent_crack": { + "title": "Vent Crack", + "description": "An optional AFNCrack to specify airflow through a surface crack used by the AirflowNetwork.", + "allOf": [ + { + "$ref": "#/components/schemas/AFNCrack" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "FaceEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "FaceRadiancePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_PropertiesBaseAbridged" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FaceRadiancePropertiesAbridged", + "pattern": "^FaceRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "FaceRadiancePropertiesAbridged", + "description": "Radiance Properties for Honeybee Face Abridged." + }, + "FacePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "FacePropertiesAbridged", + "pattern": "^FacePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/FaceEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/FaceRadiancePropertiesAbridged" + } + } + } + ], + "title": "FacePropertiesAbridged" + }, + "Face": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "geometry", + "face_type", + "boundary_condition", + "properties" + ], + "properties": { + "geometry": { + "title": "Geometry", + "description": "Planar Face3D for the geometry.", + "allOf": [ + { + "$ref": "#/components/schemas/Face3D" + } + ] + }, + "face_type": { + "$ref": "#/components/schemas/FaceType" + }, + "boundary_condition": { + "title": "Boundary Condition", + "anyOf": [ + { + "$ref": "#/components/schemas/Ground" + }, + { + "$ref": "#/components/schemas/Outdoors" + }, + { + "$ref": "#/components/schemas/Adiabatic" + }, + { + "$ref": "#/components/schemas/Surface" + }, + { + "$ref": "#/components/schemas/OtherSideTemperature" + } + ] + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/FacePropertiesAbridged" + } + ] + }, + "type": { + "title": "Type", + "default": "Face", + "pattern": "^Face$", + "type": "string", + "readOnly": true + }, + "apertures": { + "title": "Apertures", + "description": "Apertures assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Aperture" + } + }, + "doors": { + "title": "Doors", + "description": "Doors assigned to this Face. Should be coplanar with this Face and completely within the boundary of the Face to be valid.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Door" + } + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. balcony, overhang).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + } + }, + "additionalProperties": false + } + ], + "title": "Face", + "description": "Base class for all objects requiring a identifiers acceptable for all engines." + }, + "VentilationControlAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "VentilationControlAbridged", + "pattern": "^VentilationControlAbridged$", + "type": "string", + "readOnly": true + }, + "min_indoor_temperature": { + "title": "Min Indoor Temperature", + "description": "A number for the minimum indoor temperature at which to ventilate in Celsius. Typically, this variable is used to initiate ventilation.", + "default": -100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "max_indoor_temperature": { + "title": "Max Indoor Temperature", + "description": "A number for the maximum indoor temperature at which to ventilate in Celsius. This can be used to set a maximum temperature at which point ventilation is stopped and a cooling system is turned on.", + "default": 100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "min_outdoor_temperature": { + "title": "Min Outdoor Temperature", + "description": "A number for the minimum outdoor temperature at which to ventilate in Celsius. This can be used to ensure ventilative cooling does not happen during the winter even if the Room is above the min_indoor_temperature.", + "default": -100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "max_outdoor_temperature": { + "title": "Max Outdoor Temperature", + "description": "A number for the maximum indoor temperature at which to ventilate in Celsius. This can be used to set a limit for when it is considered too hot outside for ventilative cooling.", + "default": 100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "delta_temperature": { + "title": "Delta Temperature", + "description": "A number for the temperature differential in Celsius between indoor and outdoor below which ventilation is shut off. This should usually be a positive number so that ventilation only occurs when the outdoors is cooler than the indoors. Negative numbers indicate how much hotter the outdoors can be than the indoors before ventilation is stopped.", + "default": -100, + "minimum": -100, + "maximum": 100, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the ventilation over the course of the year. Note that this is applied on top of any setpoints. The type of this schedule should be On/Off and values should be either 0 (no possibility of ventilation) or 1 (ventilation possible).", + "maxLength": 100, + "minLength": 1, + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "VentilationControlAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "VentilationType": { + "title": "VentilationType", + "description": "An enumeration.", + "enum": [ + "Exhaust", + "Intake", + "Balanced" + ], + "type": "string" + }, + "VentilationFan": { + "allOf": [ + { + "$ref": "#/components/schemas/EnergyBaseModel" + }, + { + "type": "object", + "required": [ + "flow_rate", + "pressure_rise", + "efficiency" + ], + "properties": { + "flow_rate": { + "title": "Flow Rate", + "description": "A number for the flow rate of the fan in m3/s.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "pressure_rise": { + "title": "Pressure Rise", + "description": "A number for the the pressure rise across the fan in Pascals (N/m2). This is often a function of the fan speed and the conditions in which the fan is operating since having the fan blow air through filters or narrow ducts will increase the pressure rise that is needed to deliver the input flow rate. The pressure rise plays an important role in determining the amount of energy consumed by the fan. Smaller fans like a 0.05 m3/s desk fan tend to have lower pressure rises around 60 Pa. Larger fans, such as a 6 m3/s fan used for ventilating a large room tend to have higher pressure rises around 400 Pa. The highest pressure rises are typically for large fans blowing air through ducts and filters, which can have pressure rises as high as 1000 Pa.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "efficiency": { + "title": "Efficiency", + "description": "A number between 0 and 1 for the overall efficiency of the fan. Specifically, this is the ratio of the power delivered to the fluid to the electrical input power. It is the product of the fan motor efficiency and the fan impeller efficiency. Fans that have a higher blade diameter and operate at lower speeds with smaller pressure rises for their size tend to have higher efficiencies. Because motor efficiencies are typically between 0.8 and 0.9, the best overall fan efficiencies tend to be around 0.7 with most typical fan efficiencies between 0.5 and 0.7. The lowest efficiencies often happen for small fans in situations with high pressure rises for their size, which can result in efficiencies as low as 0.15.", + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "VentilationFan", + "pattern": "^VentilationFan$", + "type": "string", + "readOnly": true + }, + "ventilation_type": { + "description": "Text to indicate the type of type of ventilation. Choose from the options below. For either Exhaust or Intake, values for fan pressure and efficiency define the fan electric consumption. For Exhaust ventilation, the conditions of the air entering the space are assumed to be equivalent to outside air conditions. For Intake and Balanced ventilation, an appropriate amount of fan heat is added to the entering air stream. For Balanced ventilation, both an intake fan and an exhaust fan are assumed to co-exist, both having the same flow rate and power consumption (using the entered values for fan pressure rise and fan total efficiency). Thus, the fan electric consumption for Balanced ventilation is twice that for the Exhaust or Intake ventilation types which employ only a single fan.", + "default": "Balanced", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationType" + } + ] + }, + "control": { + "title": "Control", + "description": "A VentilationControl object that dictates the conditions under which the fan is turned on. If None, a default VentilationControl will be generated, which will keep the fan on all of the time.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationControlAbridged" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "VentilationFan", + "description": "Base class for all objects requiring a valid EnergyPlus identifier." + }, + "InternalMassAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "construction", + "area" + ], + "properties": { + "construction": { + "title": "Construction", + "description": "Identifier for an OpaqueConstruction that represents the material that the internal thermal mass is composed of.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "area": { + "title": "Area", + "description": "A number representing the surface area of the internal mass that is exposed to the Room air. This value should always be in square meters regardless of what units system the parent model is a part of.", + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "InternalMassAbridged", + "pattern": "^InternalMassAbridged$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "InternalMassAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "FuelTypes": { + "title": "FuelTypes", + "description": "Designates the acceptable fuel types for process loads.", + "enum": [ + "Electricity", + "NaturalGas", + "Propane", + "FuelOilNo1", + "FuelOilNo2", + "Diesel", + "Gasoline", + "Coal", + "Steam", + "DistrictHeating", + "DistrictCooling", + "OtherFuel1", + "OtherFuel2", + "None" + ], + "type": "string" + }, + "ProcessAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "watts", + "schedule", + "fuel_type" + ], + "properties": { + "watts": { + "title": "Watts", + "description": "A number for the process load power in Watts.", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of the process over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts to yield a complete equipment profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "fuel_type": { + "description": "Text to denote the type of fuel consumed by the process. Using the \"None\" type indicates that no end uses will be associated with the process, only the zone gains.", + "allOf": [ + { + "$ref": "#/components/schemas/FuelTypes" + } + ] + }, + "type": { + "title": "Type", + "default": "ProcessAbridged", + "pattern": "^ProcessAbridged$", + "type": "string", + "readOnly": true + }, + "end_use_category": { + "title": "End Use Category", + "description": "Text to indicate the end-use subcategory, which will identify the process load in the end use output. For example, \u201cCooking\u201d, \u201cClothes Drying\u201d, etc. A new meter for reporting is created for each unique subcategory.", + "default": "Process", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by the process load. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by the process load. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by the process load. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "ProcessAbridged", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "RoomEnergyPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoomEnergyPropertiesAbridged", + "pattern": "^RoomEnergyPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "construction_set": { + "title": "Construction Set", + "description": "Identifier of a ConstructionSet to specify all default constructions for the Faces, Apertures, and Doors of the Room. If None, the Room will use the Model global_construction_set.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "program_type": { + "title": "Program Type", + "description": "Identifier of a ProgramType to specify all default schedules and loads for the Room. If None, the Room will have no loads or setpoints.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "hvac": { + "title": "Hvac", + "description": "An optional identifier of a HVAC system (such as an IdealAirSystem) that specifies how the Room is conditioned. If None, it will be assumed that the Room is not conditioned.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "shw": { + "title": "Shw", + "description": "An optional identifier of a Service Hot Water (SHW) system that specifies how the hot water load of the Room is met. If None, the hot water load will be met with a generic system that only measures thermal loadand does not account for system efficiencies.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "people": { + "title": "People", + "description": "People object to describe the occupancy of the Room.", + "allOf": [ + { + "$ref": "#/components/schemas/PeopleAbridged" + } + ] + }, + "lighting": { + "title": "Lighting", + "description": "Lighting object to describe the lighting usage of the Room.", + "allOf": [ + { + "$ref": "#/components/schemas/LightingAbridged" + } + ] + }, + "electric_equipment": { + "title": "Electric Equipment", + "description": "ElectricEquipment object to describe the electric equipment usage.", + "allOf": [ + { + "$ref": "#/components/schemas/ElectricEquipmentAbridged" + } + ] + }, + "gas_equipment": { + "title": "Gas Equipment", + "description": "GasEquipment object to describe the gas equipment usage.", + "allOf": [ + { + "$ref": "#/components/schemas/GasEquipmentAbridged" + } + ] + }, + "service_hot_water": { + "title": "Service Hot Water", + "description": "ServiceHotWater object to describe the hot water usage.", + "allOf": [ + { + "$ref": "#/components/schemas/ServiceHotWaterAbridged" + } + ] + }, + "infiltration": { + "title": "Infiltration", + "description": "Infiltration object to to describe the outdoor air leakage.", + "allOf": [ + { + "$ref": "#/components/schemas/InfiltrationAbridged" + } + ] + }, + "ventilation": { + "title": "Ventilation", + "description": "Ventilation object for the minimum outdoor air requirement.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationAbridged" + } + ] + }, + "setpoint": { + "title": "Setpoint", + "description": "Setpoint object for the temperature setpoints of the Room.", + "allOf": [ + { + "$ref": "#/components/schemas/SetpointAbridged" + } + ] + }, + "daylighting_control": { + "title": "Daylighting Control", + "description": "An optional DaylightingControl object to dictate the dimming of lights. If None, the lighting will respond only to the schedule and not the daylight conditions within the room.", + "allOf": [ + { + "$ref": "#/components/schemas/DaylightingControl" + } + ] + }, + "window_vent_control": { + "title": "Window Vent Control", + "description": "An optional VentilationControl object to dictate the opening of windows. If None, the windows will never open.", + "allOf": [ + { + "$ref": "#/components/schemas/VentilationControlAbridged" + } + ] + }, + "fans": { + "title": "Fans", + "description": "An optional list of VentilationFan objects for fans within the room. Note that these fans are not connected to the heating or cooling system and are meant to represent the intentional circulation of unconditioned outdoor air for the purposes of keeping a space cooler, drier or free of indoor pollutants (as in the case of kitchen or bathroom exhaust fans). For the specification of mechanical ventilation of conditioned outdoor air, the Room.ventilation property should be used and the Room should be given a HVAC that can meet this specification.", + "type": "array", + "items": { + "$ref": "#/components/schemas/VentilationFan" + } + }, + "internal_masses": { + "title": "Internal Masses", + "description": "An optional list of of InternalMass objects for thermal mass exposed to Room air. Note that internal masses assigned this way cannot \"see\" solar radiation that may potentially hit them and, as such, caution should be taken when using this component with internal mass objects that are not always in shade. Masses are factored into the the thermal calculations of the Room by undergoing heat transfer with the indoor air.", + "type": "array", + "items": { + "$ref": "#/components/schemas/InternalMassAbridged" + } + }, + "process_loads": { + "title": "Process Loads", + "description": "An optional list of of Process objects for process loads within the room. These can represent kilns, manufacturing equipment, and various industrial processes. They can also be used to represent wood burning fireplaces or certain pieces of equipment to be separated from the other end uses.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ProcessAbridged" + } + } + }, + "additionalProperties": false + } + ], + "title": "RoomEnergyPropertiesAbridged", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects." + }, + "RoomRadiancePropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoomRadiancePropertiesAbridged", + "pattern": "^RoomRadiancePropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "modifier_set": { + "title": "Modifier Set", + "description": "An identifier for a unique Room-Assigned ModifierSet (default: None).", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "RoomRadiancePropertiesAbridged", + "description": "Abridged Radiance Properties for Honeybee Room." + }, + "RoomPropertiesAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RoomPropertiesAbridged", + "pattern": "^RoomPropertiesAbridged$", + "type": "string", + "readOnly": true + }, + "energy": { + "$ref": "#/components/schemas/RoomEnergyPropertiesAbridged" + }, + "radiance": { + "$ref": "#/components/schemas/RoomRadiancePropertiesAbridged" + } + } + } + ], + "title": "RoomPropertiesAbridged" + }, + "Room": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "faces", + "properties" + ], + "properties": { + "faces": { + "title": "Faces", + "description": "Faces that together form the closed volume of a room.", + "minItems": 4, + "type": "array", + "items": { + "$ref": "#/components/schemas/Face" + } + }, + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/RoomPropertiesAbridged" + } + ] + }, + "type": { + "title": "Type", + "default": "Room", + "pattern": "^Room$", + "type": "string", + "readOnly": true + }, + "indoor_shades": { + "title": "Indoor Shades", + "description": "Shades assigned to the interior side of this object (eg. partitions, tables).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "outdoor_shades": { + "title": "Outdoor Shades", + "description": "Shades assigned to the exterior side of this object (eg. trees, landscaping).", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "multiplier": { + "title": "Multiplier", + "description": "An integer noting how many times this Room is repeated. Multipliers are used to speed up the calculation when similar Rooms are repeated more than once. Essentially, a given simulation with the Room is run once and then the result is multiplied by the multiplier.", + "default": 1, + "minimum": 1, + "type": "integer", + "format": "int32" + }, + "exclude_floor_area": { + "title": "Exclude Floor Area", + "description": "A boolean for whether the Room floor area contributes to Models it is a part of. Note that this will not affect the floor_area property of this Room itself but it will ensure the Room floor area is excluded from any calculations when the Room is part of a Model, including EUI calculations.", + "default": false, + "type": "boolean" + }, + "story": { + "title": "Story", + "description": "Text string for the story identifier to which this Room belongs. Rooms sharing the same story identifier are considered part of the same story in a Model. Note that this property has no character restrictions.", + "type": "string" + } + }, + "additionalProperties": false + } + ], + "title": "Room", + "description": "Base class for all objects requiring a identifiers acceptable for all engines." + }, + "Units": { + "title": "Units", + "description": "An enumeration.", + "enum": [ + "Meters", + "Millimeters", + "Feet", + "Inches", + "Centimeters" + ], + "type": "string" + }, + "Model": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdBaseModel" + }, + { + "type": "object", + "required": [ + "properties" + ], + "properties": { + "properties": { + "title": "Properties", + "description": "Extension properties for particular simulation engines (Radiance, EnergyPlus).", + "allOf": [ + { + "$ref": "#/components/schemas/ModelProperties" + } + ] + }, + "type": { + "title": "Type", + "default": "Model", + "pattern": "^Model$", + "type": "string", + "readOnly": true + }, + "version": { + "title": "Version", + "description": "Text string for the current version of the schema.", + "default": "0.0.0", + "pattern": "([0-9]+)\\.([0-9]+)\\.([0-9]+)", + "type": "string" + }, + "rooms": { + "title": "Rooms", + "description": "A list of Rooms in the model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Room" + } + }, + "orphaned_faces": { + "title": "Orphaned Faces", + "description": "A list of Faces in the model that lack a parent Room. Note that orphaned Faces are not acceptable for Models that are to be exported for energy simulation.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Face" + } + }, + "orphaned_shades": { + "title": "Orphaned Shades", + "description": "A list of Shades in the model that lack a parent.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Shade" + } + }, + "orphaned_apertures": { + "title": "Orphaned Apertures", + "description": "A list of Apertures in the model that lack a parent Face. Note that orphaned Apertures are not acceptable for Models that are to be exported for energy simulation.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Aperture" + } + }, + "orphaned_doors": { + "title": "Orphaned Doors", + "description": "A list of Doors in the model that lack a parent Face. Note that orphaned Doors are not acceptable for Models that are to be exported for energy simulation.", + "type": "array", + "items": { + "$ref": "#/components/schemas/Door" + } + }, + "shade_meshes": { + "title": "Shade Meshes", + "description": "A list of ShadeMesh in the model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ShadeMesh" + } + }, + "units": { + "description": "Text indicating the units in which the model geometry exists. This is used to scale the geometry to the correct units for simulation engines like EnergyPlus, which requires all geometry be in meters.", + "default": "Meters", + "allOf": [ + { + "$ref": "#/components/schemas/Units" + } + ] + }, + "tolerance": { + "title": "Tolerance", + "description": "The maximum difference between x, y, and z values at which vertices are considered equivalent. This value should be in the Model units and it is used in a variety of checks, including checks for whether Room faces form a closed volume and subsequently correcting all face normals point outward from the Room. A value of 0 will result in bypassing all checks so it is recommended that this always be a positive number when such checks have not already been performed on a Model. The default of 0.01 is suitable for models in meters.", + "default": 0.01, + "minimum": 0, + "type": "number", + "format": "double" + }, + "angle_tolerance": { + "title": "Angle Tolerance", + "description": "The max angle difference in degrees that vertices are allowed to differ from one another in order to consider them colinear. This value is used in a variety of checks, including checks for whether Room faces form a closed volume and subsequently correcting all face normals point outward from the Room. A value of 0 will result in bypassing all checks so it is recommended that this always be a positive number when such checks have not already been performed on a given Model.", + "default": 1.0, + "minimum": 0, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "Model", + "description": "Base class for all objects requiring a identifiers acceptable for all engines." + }, + "_DOASBase": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "doas_availability_schedule": { + "title": "Doas Availability Schedule", + "description": "An optional On/Off discrete schedule to set when the dedicated outdoor air system (DOAS) shuts off. This will not only prevent any outdoor air from flowing thorough the system but will also shut off the fans, which can result in more energy savings when spaces served by the DOAS are completely unoccupied. If None, the DOAS will be always on.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "_DOASBase", + "type": "string", + "pattern": "^_DOASBase$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_DOASBase", + "description": "Base class for Dedicated Outdoor Air System (DOAS) HVACs.\n\nDOAS systems separate minimum ventilation supply from the satisfaction of heating\n+ cooling demand. Ventilation air tends to be supplied at neutral temperatures\n(close to room air temperature) and heating / cooling loads are met with additional\npieces of zone equipment (eg. Fan Coil Units (FCUs)).\n\nBecause DOAS systems only have to cool down and re-heat the minimum ventilation air,\nthey tend to use less energy than all-air systems. They also tend to use less energy\nto distribute heating + cooling by pumping around hot/cold water or refrigerant\ninstead of blowing hot/cold air. However, they do not provide as good of control\nover humidity and so they may not be appropriate for rooms with high latent loads\nlike auditoriums, kitchens, laundromats, etc." + }, + "_TemplateSystem": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "_TemplateSystem", + "type": "string", + "pattern": "^_TemplateSystem$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_TemplateSystem", + "description": "Base class for HVAC systems following a standards template." + }, + "IDdEnergyBaseModel": { + "allOf": [ + { + "$ref": "#/components/schemas/EnergyBaseModel" + }, + { + "type": "object", + "properties": { + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "IDdEnergyBaseModel", + "type": "string", + "pattern": "^IDdEnergyBaseModel$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "IDdEnergyBaseModel", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "EnergyBaseModel": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). This identifier is also used to reference the object across a Model. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "EnergyBaseModel", + "type": "string", + "pattern": "^EnergyBaseModel$", + "readOnly": true + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + } + ], + "title": "EnergyBaseModel", + "description": "Base class for all objects requiring a valid EnergyPlus identifier." + }, + "IDdBaseModel": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique object ID. This identifier remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, rad). This identifier is also used to reference the object across a Model. It must be < 100 characters and not contain any spaces or special characters.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "user_data": { + "title": "User Data", + "description": "Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list).", + "type": "object" + }, + "type": { + "title": "Type", + "default": "IDdBaseModel", + "type": "string", + "pattern": "^IDdBaseModel$", + "readOnly": true + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + } + ], + "title": "IDdBaseModel", + "description": "Base class for all objects requiring a identifiers acceptable for all engines." + }, + "BaseModifierSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "A radiance modifier object for faces with an Outdoors boundary condition.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "A radiance modifier object for faces with a boundary condition other than Outdoors.", + "anyOf": [ + { + "$ref": "#/components/schemas/Plastic" + }, + { + "$ref": "#/components/schemas/Glass" + }, + { + "$ref": "#/components/schemas/BSDF" + }, + { + "$ref": "#/components/schemas/Glow" + }, + { + "$ref": "#/components/schemas/Light" + }, + { + "$ref": "#/components/schemas/Trans" + }, + { + "$ref": "#/components/schemas/Metal" + }, + { + "$ref": "#/components/schemas/Void" + }, + { + "$ref": "#/components/schemas/Mirror" + } + ] + }, + "type": { + "title": "Type", + "default": "BaseModifierSet", + "type": "string", + "pattern": "^BaseModifierSet$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "BaseModifierSet", + "description": "Base class for the modifier sets assigned to Faces." + }, + "_HeatCoolBase": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "type": { + "title": "Type", + "default": "_HeatCoolBase", + "type": "string", + "pattern": "^_HeatCoolBase$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_HeatCoolBase", + "description": "Base class for all heating/cooling systems without any ventilation.\n\nThese systems are only designed to satisfy heating + cooling demand and they\ncannot meet any minimum ventilation requirements.\n\nAs such, these systems tend to be used in residential or storage settings where\nmeeting minimum ventilation requirements may not be required or the density\nof occupancy is so low that infiltration is enough to meet fresh air demand." + }, + "_FaceSubSet": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "An OpaqueConstruction for walls with a Surface or Adiabatic boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "An OpaqueConstruction for walls with an Outdoors boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "ground_construction": { + "title": "Ground Construction", + "description": "An OpaqueConstruction for walls with a Ground boundary condition.", + "allOf": [ + { + "$ref": "#/components/schemas/OpaqueConstruction" + } + ] + }, + "type": { + "title": "Type", + "default": "_FaceSubSet", + "type": "string", + "pattern": "^_FaceSubSet$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_FaceSubSet", + "description": "A set of constructions for wall, floor, or roof assemblies." + }, + "_PropertiesBaseAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "modifier": { + "title": "Modifier", + "description": "A string for a Honeybee Radiance Modifier (default: None).", + "type": "string" + }, + "modifier_blk": { + "title": "Modifier Blk", + "description": "A string for a Honeybee Radiance Modifier to be used in direct solar simulations and in isolation studies (assessingthe contribution of individual objects) (default: None).", + "type": "string" + }, + "type": { + "title": "Type", + "default": "_PropertiesBaseAbridged", + "type": "string", + "pattern": "^_PropertiesBaseAbridged$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_PropertiesBaseAbridged", + "description": "Base class of Abridged Radiance Properties." + }, + "_EquipmentBase": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "required": [ + "watts_per_area", + "schedule" + ], + "properties": { + "watts_per_area": { + "title": "Watts Per Area", + "description": "Equipment level per floor area as [W/m2].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "schedule": { + "title": "Schedule", + "description": "Identifier of the schedule for the use of equipment over the course of the year. The type of this schedule should be Fractional and the fractional values will get multiplied by the watts_per_area to yield a complete equipment profile.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "radiant_fraction": { + "title": "Radiant Fraction", + "description": "Number for the amount of long-wave radiation heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_fraction": { + "title": "Latent Fraction", + "description": "Number for the amount of latent heat given off by equipment. Default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "lost_fraction": { + "title": "Lost Fraction", + "description": "Number for the amount of \u201clost\u201d heat being given off by equipment. The default value is 0.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "_EquipmentBase", + "type": "string", + "pattern": "^_EquipmentBase$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_EquipmentBase", + "description": "Base class for all objects requiring an EnergyPlus identifier and user_data." + }, + "ModifierBase": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdRadianceBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ModifierBase", + "pattern": "^ModifierBase$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ModifierBase", + "description": "Base class for Radiance Modifiers" + }, + "IDdRadianceBaseModel": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Text string for a unique Radiance object. Must not contain spaces or special characters. This will be used to identify the object across a model and in the exported Radiance files.", + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "display_name": { + "title": "Display Name", + "description": "Display name of the object with no character restrictions.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "IDdRadianceBaseModel", + "type": "string", + "pattern": "^IDdRadianceBaseModel$", + "readOnly": true + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + } + ], + "title": "IDdRadianceBaseModel", + "description": "Base class for all objects requiring a valid Radiance identifier." + }, + "BaseModifierSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "exterior_modifier": { + "title": "Exterior Modifier", + "description": "Identifier for a radiance modifier object for faces with an Outdoors boundary condition.", + "type": "string" + }, + "interior_modifier": { + "title": "Interior Modifier", + "description": "Identifier for a radiance modifier object for faces with a boundary condition other than Outdoors.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "BaseModifierSetAbridged", + "type": "string", + "pattern": "^BaseModifierSetAbridged$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "BaseModifierSetAbridged", + "description": "Base class for the abridged modifier sets assigned to Faces." + }, + "_AllAirBase": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdEnergyBaseModel" + }, + { + "type": "object", + "properties": { + "vintage": { + "description": "Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Further information about these defaults can be found in the version of ASHRAE 90.1 corresponding to the selected vintage. Read-only versions of the standard can be found at: https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards", + "default": "ASHRAE_2019", + "allOf": [ + { + "$ref": "#/components/schemas/Vintages" + } + ] + }, + "economizer_type": { + "description": "Text to indicate the type of air-side economizer used on the system (from the AllAirEconomizerType enumeration).", + "default": "NoEconomizer", + "allOf": [ + { + "$ref": "#/components/schemas/AllAirEconomizerType" + } + ] + }, + "sensible_heat_recovery": { + "title": "Sensible Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of sensible heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "latent_heat_recovery": { + "title": "Latent Heat Recovery", + "description": "A number between 0 and 1 for the effectiveness of latent heat recovery within the system.", + "default": 0, + "minimum": 0, + "maximum": 1, + "type": "number", + "format": "double" + }, + "demand_controlled_ventilation": { + "title": "Demand Controlled Ventilation", + "description": "Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Rooms.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "_AllAirBase", + "type": "string", + "pattern": "^_AllAirBase$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_AllAirBase", + "description": "Base class for all-air systems.\n\nAll-air systems provide both ventilation and heating + cooling demand with\nthe same stream of warm/cool air. As such, they often grant tight control\nover zone humidity. However, because such systems often involve the\ncooling of air only to reheat it again, they are often more energy intensive\nthan systems that separate ventilation from the meeting of thermal loads." + }, + "_FaceSubSetAbridged": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "interior_construction": { + "title": "Interior Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Surface or Adiabatic boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "exterior_construction": { + "title": "Exterior Construction", + "description": "Identifier for an OpaqueConstruction for faces with an Outdoors boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "ground_construction": { + "title": "Ground Construction", + "description": "Identifier for an OpaqueConstruction for faces with a Ground boundary condition.", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "type": { + "title": "Type", + "default": "_FaceSubSetAbridged", + "type": "string", + "pattern": "^_FaceSubSetAbridged$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_FaceSubSetAbridged", + "description": "A set of constructions for wall, floor, or roof assemblies." + }, + "_RadianceAsset": { + "allOf": [ + { + "$ref": "#/components/schemas/IDdRadianceBaseModel" + }, + { + "type": "object", + "properties": { + "room_identifier": { + "title": "Room Identifier", + "description": "Optional text string for the Room identifier to which this object belongs. This will be used to narrow down the number of aperture groups that have to be run with this sensor grid. If None, the grid will be run with all aperture groups in the model.", + "maxLength": 100, + "minLength": 1, + "pattern": "[.A-Za-z0-9_-]", + "type": "string" + }, + "light_path": { + "title": "Light Path", + "description": "Get or set a list of lists for the light path from the object to the sky. Each sub-list contains identifiers of aperture groups through which light passes. (eg. [[\"SouthWindow1\"], [\"static_apertures\", \"NorthWindow2\"]]).Setting this property will override any auto-calculation of the light path from the model and room_identifier upon export to the simulation.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": { + "title": "Type", + "default": "_RadianceAsset", + "type": "string", + "pattern": "^_RadianceAsset$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "_RadianceAsset", + "description": "Hidden base class for all Radiance Assets." + }, + "DatedBaseModel": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DatedBaseModel", + "type": "string", + "pattern": "^DatedBaseModel$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "DatedBaseModel", + "description": "Base class for all objects needing to check for a valid Date." + }, + "_OpenAPIGenBaseModel": { + "title": "_OpenAPIGenBaseModel", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "A base class to use when there is no baseclass available to fall on.", + "default": "InvalidType", + "type": "string", + "readOnly": true + } + } + } + } + } +} \ No newline at end of file diff --git a/project-info.html b/project-info.html new file mode 100644 index 0000000..14d4e4c --- /dev/null +++ b/project-info.html @@ -0,0 +1,23 @@ + + + +Honeybee Project Info Schema + + + + + + + + + + + + + + diff --git a/project-information.json b/project-information.json new file mode 100644 index 0000000..7812f87 --- /dev/null +++ b/project-information.json @@ -0,0 +1,293 @@ +{ + "openapi": "3.0.2", + "servers": [], + "info": { + "description": "Honeybee project-information schema.", + "version": "1.57.3", + "title": "Honeybee Project Information Schema", + "contact": { + "name": "Ladybug Tools", + "email": "info@ladybug.tools", + "url": "https://github.com/ladybug-tools/honeybee-schema" + }, + "x-logo": { + "url": "https://www.ladybug.tools/assets/img/honeybee-large.png", + "altText": "Honeybee logo" + }, + "license": { + "name": "BSD", + "url": "https://github.com/ladybug-tools-in2/honeybee-schema/blob/master/LICENSE" + } + }, + "externalDocs": { + "description": "OpenAPI Specification with Inheritance", + "url": "./project-information_inheritance.json" + }, + "tags": [ + { + "name": "autocalculate_model", + "x-displayName": "Autocalculate", + "description": "\n" + }, + { + "name": "buildingtypes_model", + "x-displayName": "BuildingTypes", + "description": "\n" + }, + { + "name": "climatezones_model", + "x-displayName": "ClimateZones", + "description": "\n" + }, + { + "name": "efficiencystandards_model", + "x-displayName": "EfficiencyStandards", + "description": "\n" + }, + { + "name": "location_model", + "x-displayName": "Location", + "description": "\n" + }, + { + "name": "projectinfo_model", + "x-displayName": "ProjectInfo", + "description": "\n" + } + ], + "x-tagGroups": [ + { + "name": "Models", + "tags": [ + "autocalculate_model", + "buildingtypes_model", + "climatezones_model", + "efficiencystandards_model", + "location_model", + "projectinfo_model" + ] + } + ], + "paths": {}, + "components": { + "schemas": { + "Autocalculate": { + "title": "Autocalculate", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Autocalculate", + "pattern": "^Autocalculate$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + }, + "Location": { + "title": "Location", + "description": "A Ladybug Location.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Location", + "pattern": "^Location$", + "type": "string", + "readOnly": true + }, + "city": { + "title": "City", + "description": "Name of the city as a string.", + "default": "-", + "type": "string" + }, + "latitude": { + "title": "Latitude", + "description": "Location latitude between -90 and 90 (Default: 0).", + "default": 0, + "type": "number", + "format": "double" + }, + "longitude": { + "title": "Longitude", + "description": "Location longitude between -180 (west) and 180 (east) (Default: 0).", + "default": 0, + "type": "number", + "format": "double" + }, + "time_zone": { + "title": "Time Zone", + "description": "Time zone between -12 hours (west) and +14 hours (east). If None, the time zone will be an estimated integer value derived from the longitude in accordance with solar time.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "integer", + "minimum": -12, + "maximum": 14 + } + ] + }, + "elevation": { + "title": "Elevation", + "description": "A number for elevation of the location in meters. (Default: 0).", + "default": 0, + "type": "number", + "format": "double" + }, + "station_id": { + "title": "Station Id", + "description": "ID of the location if the location is representing a weather station.", + "type": "string" + }, + "source": { + "title": "Source", + "description": "Source of data (e.g. TMY, TMY3).", + "type": "string" + } + } + }, + "ClimateZones": { + "title": "ClimateZones", + "description": "An enumeration.", + "enum": [ + "0A", + "1A", + "2A", + "3A", + "4A", + "5A", + "6A", + "0B", + "1B", + "2B", + "3B", + "4B", + "5B", + "6B", + "3C", + "4C", + "5C", + "7", + "8" + ], + "type": "string" + }, + "BuildingTypes": { + "title": "BuildingTypes", + "description": "An enumeration.", + "enum": [ + "Residential", + "NonResidential", + "MidriseApartment", + "HighriseApartment", + "LargeOffice", + "MediumOffice", + "SmallOffice", + "Retail", + "StripMall", + "PrimarySchool", + "SecondarySchool", + "SmallHotel", + "LargeHotel", + "Hospital", + "Outpatient", + "Warehouse", + "SuperMarket", + "FullServiceRestaurant", + "QuickServiceRestaurant", + "Laboratory", + "Courthouse" + ], + "type": "string" + }, + "EfficiencyStandards": { + "title": "EfficiencyStandards", + "description": "An enumeration.", + "enum": [ + "ASHRAE_2019", + "ASHRAE_2016", + "ASHRAE_2013", + "ASHRAE_2010", + "ASHRAE_2007", + "ASHRAE_2004", + "DOE_Ref_1980_2004", + "DOE_Ref_Pre_1980" + ], + "type": "string" + }, + "ProjectInfo": { + "title": "ProjectInfo", + "description": "Project information.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ProjectInfo", + "pattern": "^ProjectInfo$", + "type": "string", + "readOnly": true + }, + "north": { + "title": "North", + "description": "A number between -360 to 360 where positive values rotate the compass counterclockwise (towards the West) and negative values rotate the compass clockwise (towards the East).", + "default": 0, + "minimum": -360, + "maximum": 360, + "type": "number", + "format": "double" + }, + "weather_urls": { + "title": "Weather Urls", + "description": "A list of URLs to zip files that includes EPW, DDY and STAT files. You can find these URLs from the EPWMAP. The first URL will be used as the primary weather file.", + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 65536, + "format": "uri" + } + }, + "location": { + "title": "Location", + "description": "Project location. This value is usually generated from the information in the weather files.", + "allOf": [ + { + "$ref": "#/components/schemas/Location" + } + ] + }, + "ashrae_climate_zone": { + "description": "Project location climate zone.", + "allOf": [ + { + "$ref": "#/components/schemas/ClimateZones" + } + ] + }, + "building_type": { + "description": "A list of building types for the project. The first building type is considered the primary type for the project.", + "type": "array", + "items": { + "$ref": "#/components/schemas/BuildingTypes" + } + }, + "vintage": { + "description": "A list of building vintages (e.g. ASHRAE_2019, ASHRAE_2016).", + "type": "array", + "items": { + "$ref": "#/components/schemas/EfficiencyStandards" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/project-information_inheritance.json b/project-information_inheritance.json new file mode 100644 index 0000000..8711306 --- /dev/null +++ b/project-information_inheritance.json @@ -0,0 +1,345 @@ +{ + "openapi": "3.0.2", + "servers": [], + "info": { + "description": "Documentation for Honeybee project-information schema", + "version": "1.57.3", + "title": "Honeybee Project Information Schema", + "contact": { + "name": "Ladybug Tools", + "email": "info@ladybug.tools", + "url": "https://github.com/ladybug-tools/honeybee-schema" + }, + "x-logo": { + "url": "https://www.ladybug.tools/assets/img/honeybee-large.png", + "altText": "Honeybee logo" + }, + "license": { + "name": "BSD", + "url": "https://github.com/ladybug-tools-in2/honeybee-schema/blob/master/LICENSE" + } + }, + "externalDocs": { + "description": "OpenAPI Specification with Inheritance", + "url": "./project-information_inheritance.json" + }, + "tags": [ + { + "name": "autocalculate_model", + "x-displayName": "Autocalculate", + "description": "\n" + }, + { + "name": "buildingtypes_model", + "x-displayName": "BuildingTypes", + "description": "\n" + }, + { + "name": "climatezones_model", + "x-displayName": "ClimateZones", + "description": "\n" + }, + { + "name": "efficiencystandards_model", + "x-displayName": "EfficiencyStandards", + "description": "\n" + }, + { + "name": "location_model", + "x-displayName": "Location", + "description": "\n" + }, + { + "name": "projectinfo_model", + "x-displayName": "ProjectInfo", + "description": "\n" + }, + { + "name": "_openapigenbasemodel_model", + "x-displayName": "_OpenAPIGenBaseModel", + "description": "\n" + } + ], + "x-tagGroups": [ + { + "name": "Models", + "tags": [ + "_openapigenbasemodel_model", + "autocalculate_model", + "buildingtypes_model", + "climatezones_model", + "efficiencystandards_model", + "location_model", + "projectinfo_model" + ] + } + ], + "paths": {}, + "components": { + "schemas": { + "Autocalculate": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Autocalculate", + "pattern": "^Autocalculate$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "Autocalculate", + "description": "Base class for all objects that are not extensible with additional keys.\n\nThis effectively includes all objects except for the Properties classes\nthat are assigned to geometry objects.", + "discriminator": { + "propertyName": "type" + } + }, + "Location": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "Location", + "pattern": "^Location$", + "type": "string", + "readOnly": true + }, + "city": { + "title": "City", + "description": "Name of the city as a string.", + "default": "-", + "type": "string" + }, + "latitude": { + "title": "Latitude", + "description": "Location latitude between -90 and 90 (Default: 0).", + "default": 0, + "type": "number", + "format": "double" + }, + "longitude": { + "title": "Longitude", + "description": "Location longitude between -180 (west) and 180 (east) (Default: 0).", + "default": 0, + "type": "number", + "format": "double" + }, + "time_zone": { + "title": "Time Zone", + "description": "Time zone between -12 hours (west) and +14 hours (east). If None, the time zone will be an estimated integer value derived from the longitude in accordance with solar time.", + "default": { + "type": "Autocalculate" + }, + "anyOf": [ + { + "$ref": "#/components/schemas/Autocalculate" + }, + { + "type": "integer", + "minimum": -12, + "maximum": 14 + } + ] + }, + "elevation": { + "title": "Elevation", + "description": "A number for elevation of the location in meters. (Default: 0).", + "default": 0, + "type": "number", + "format": "double" + }, + "station_id": { + "title": "Station Id", + "description": "ID of the location if the location is representing a weather station.", + "type": "string" + }, + "source": { + "title": "Source", + "description": "Source of data (e.g. TMY, TMY3).", + "type": "string" + } + } + } + ], + "title": "Location", + "description": "A Ladybug Location.", + "discriminator": { + "propertyName": "type" + } + }, + "ClimateZones": { + "title": "ClimateZones", + "description": "An enumeration.", + "enum": [ + "0A", + "1A", + "2A", + "3A", + "4A", + "5A", + "6A", + "0B", + "1B", + "2B", + "3B", + "4B", + "5B", + "6B", + "3C", + "4C", + "5C", + "7", + "8" + ], + "type": "string" + }, + "BuildingTypes": { + "title": "BuildingTypes", + "description": "An enumeration.", + "enum": [ + "Residential", + "NonResidential", + "MidriseApartment", + "HighriseApartment", + "LargeOffice", + "MediumOffice", + "SmallOffice", + "Retail", + "StripMall", + "PrimarySchool", + "SecondarySchool", + "SmallHotel", + "LargeHotel", + "Hospital", + "Outpatient", + "Warehouse", + "SuperMarket", + "FullServiceRestaurant", + "QuickServiceRestaurant", + "Laboratory", + "Courthouse" + ], + "type": "string" + }, + "EfficiencyStandards": { + "title": "EfficiencyStandards", + "description": "An enumeration.", + "enum": [ + "ASHRAE_2019", + "ASHRAE_2016", + "ASHRAE_2013", + "ASHRAE_2010", + "ASHRAE_2007", + "ASHRAE_2004", + "DOE_Ref_1980_2004", + "DOE_Ref_Pre_1980" + ], + "type": "string" + }, + "ProjectInfo": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ProjectInfo", + "pattern": "^ProjectInfo$", + "type": "string", + "readOnly": true + }, + "north": { + "title": "North", + "description": "A number between -360 to 360 where positive values rotate the compass counterclockwise (towards the West) and negative values rotate the compass clockwise (towards the East).", + "default": 0, + "minimum": -360, + "maximum": 360, + "type": "number", + "format": "double" + }, + "weather_urls": { + "title": "Weather Urls", + "description": "A list of URLs to zip files that includes EPW, DDY and STAT files. You can find these URLs from the EPWMAP. The first URL will be used as the primary weather file.", + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 65536, + "format": "uri" + } + }, + "location": { + "title": "Location", + "description": "Project location. This value is usually generated from the information in the weather files.", + "allOf": [ + { + "$ref": "#/components/schemas/Location" + } + ] + }, + "ashrae_climate_zone": { + "description": "Project location climate zone.", + "allOf": [ + { + "$ref": "#/components/schemas/ClimateZones" + } + ] + }, + "building_type": { + "description": "A list of building types for the project. The first building type is considered the primary type for the project.", + "type": "array", + "items": { + "$ref": "#/components/schemas/BuildingTypes" + } + }, + "vintage": { + "description": "A list of building vintages (e.g. ASHRAE_2019, ASHRAE_2016).", + "type": "array", + "items": { + "$ref": "#/components/schemas/EfficiencyStandards" + } + } + } + } + ], + "title": "ProjectInfo", + "description": "Project information.", + "discriminator": { + "propertyName": "type" + } + }, + "_OpenAPIGenBaseModel": { + "title": "_OpenAPIGenBaseModel", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "A base class to use when there is no baseclass available to fall on.", + "default": "InvalidType", + "type": "string", + "readOnly": true + } + }, + "discriminator": { + "propertyName": "type" + } + } + } + } +} \ No newline at end of file diff --git a/project-information_mapper.json b/project-information_mapper.json new file mode 100644 index 0000000..90b16e7 --- /dev/null +++ b/project-information_mapper.json @@ -0,0 +1,12 @@ +{ + "classes": { + "Autocalculate": "honeybee_schema.altnumber", + "Location": "honeybee_schema.projectinfo", + "ProjectInfo": "honeybee_schema.projectinfo" + }, + "enums": { + "BuildingTypes": "honeybee_schema.energy.simulation", + "ClimateZones": "honeybee_schema.energy.simulation", + "EfficiencyStandards": "honeybee_schema.energy.simulation" + } +} \ No newline at end of file diff --git a/simulation-parameter.html b/simulation-parameter.html new file mode 100644 index 0000000..574fe1d --- /dev/null +++ b/simulation-parameter.html @@ -0,0 +1,23 @@ + + + +Honeybee Energy Simulation Parameter Schema + + + + + + + + + + + + + + diff --git a/simulation-parameter.json b/simulation-parameter.json new file mode 100644 index 0000000..10a8587 --- /dev/null +++ b/simulation-parameter.json @@ -0,0 +1,1033 @@ +{ + "openapi": "3.0.2", + "servers": [], + "info": { + "description": "Honeybee simulation-parameter schema.", + "version": "1.57.3", + "title": "Honeybee Simulation Parameter Schema", + "contact": { + "name": "Ladybug Tools", + "email": "info@ladybug.tools", + "url": "https://github.com/ladybug-tools/honeybee-schema" + }, + "x-logo": { + "url": "https://www.ladybug.tools/assets/img/honeybee-large.png", + "altText": "Honeybee logo" + }, + "license": { + "name": "BSD", + "url": "https://github.com/ladybug-tools-in2/honeybee-schema/blob/master/LICENSE" + } + }, + "externalDocs": { + "description": "OpenAPI Specification with Inheritance", + "url": "./simulation-parameter_inheritance.json" + }, + "tags": [ + { + "name": "ashraeclearsky_model", + "x-displayName": "ASHRAEClearSky", + "description": "\n" + }, + { + "name": "ashraetau_model", + "x-displayName": "ASHRAETau", + "description": "\n" + }, + { + "name": "calculationmethod_model", + "x-displayName": "CalculationMethod", + "description": "\n" + }, + { + "name": "calculationupdatemethod_model", + "x-displayName": "CalculationUpdateMethod", + "description": "\n" + }, + { + "name": "climatezones_model", + "x-displayName": "ClimateZones", + "description": "\n" + }, + { + "name": "daylightsavingtime_model", + "x-displayName": "DaylightSavingTime", + "description": "\n" + }, + { + "name": "daysofweek_model", + "x-displayName": "DaysOfWeek", + "description": "\n" + }, + { + "name": "designday_model", + "x-displayName": "DesignDay", + "description": "\n" + }, + { + "name": "designdaytypes_model", + "x-displayName": "DesignDayTypes", + "description": "\n" + }, + { + "name": "drybulbcondition_model", + "x-displayName": "DryBulbCondition", + "description": "\n" + }, + { + "name": "efficiencystandards_model", + "x-displayName": "EfficiencyStandards", + "description": "\n" + }, + { + "name": "humiditycondition_model", + "x-displayName": "HumidityCondition", + "description": "\n" + }, + { + "name": "humiditytypes_model", + "x-displayName": "HumidityTypes", + "description": "\n" + }, + { + "name": "reportingfrequency_model", + "x-displayName": "ReportingFrequency", + "description": "\n" + }, + { + "name": "runperiod_model", + "x-displayName": "RunPeriod", + "description": "\n" + }, + { + "name": "shadowcalculation_model", + "x-displayName": "ShadowCalculation", + "description": "\n" + }, + { + "name": "simulationcontrol_model", + "x-displayName": "SimulationControl", + "description": "\n" + }, + { + "name": "simulationoutput_model", + "x-displayName": "SimulationOutput", + "description": "\n" + }, + { + "name": "simulationparameter_model", + "x-displayName": "SimulationParameter", + "description": "\n" + }, + { + "name": "sizingparameter_model", + "x-displayName": "SizingParameter", + "description": "\n" + }, + { + "name": "solardistribution_model", + "x-displayName": "SolarDistribution", + "description": "\n" + }, + { + "name": "terriantypes_model", + "x-displayName": "TerrianTypes", + "description": "\n" + }, + { + "name": "windcondition_model", + "x-displayName": "WindCondition", + "description": "\n" + } + ], + "x-tagGroups": [ + { + "name": "Models", + "tags": [ + "ashraeclearsky_model", + "ashraetau_model", + "calculationmethod_model", + "calculationupdatemethod_model", + "climatezones_model", + "daylightsavingtime_model", + "daysofweek_model", + "designday_model", + "designdaytypes_model", + "drybulbcondition_model", + "efficiencystandards_model", + "humiditycondition_model", + "humiditytypes_model", + "reportingfrequency_model", + "runperiod_model", + "shadowcalculation_model", + "simulationcontrol_model", + "simulationoutput_model", + "simulationparameter_model", + "sizingparameter_model", + "solardistribution_model", + "terriantypes_model", + "windcondition_model" + ] + } + ], + "paths": {}, + "components": { + "schemas": { + "ReportingFrequency": { + "title": "ReportingFrequency", + "description": "An enumeration.", + "enum": [ + "Timestep", + "Hourly", + "Daily", + "Monthly", + "Annual" + ], + "type": "string" + }, + "SimulationOutput": { + "title": "SimulationOutput", + "description": "Lists the outputs to report from the simulation and their format.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "SimulationOutput", + "pattern": "^SimulationOutput$", + "type": "string", + "readOnly": true + }, + "reporting_frequency": { + "default": "Hourly", + "allOf": [ + { + "$ref": "#/components/schemas/ReportingFrequency" + } + ] + }, + "outputs": { + "title": "Outputs", + "description": "A list of EnergyPlus output names as strings, which are requested from the simulation.", + "type": "array", + "items": { + "type": "string" + } + }, + "summary_reports": { + "title": "Summary Reports", + "description": "A list of EnergyPlus summary report names as strings.", + "type": "array", + "items": { + "type": "string" + } + }, + "unmet_setpoint_tolerance": { + "title": "Unmet Setpoint Tolerance", + "description": "A number in degrees Celsius for the difference that the zone conditions must be from the thermostat setpoint in order for the setpoint to be considered unmet. This will affect how unmet hours are reported in the output. ASHRAE 90.1 uses a tolerance of 1.11C, which is equivalent to 1.8F.", + "default": 1.11, + "minimum": 0, + "maximum": 10, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + }, + "DaysOfWeek": { + "title": "DaysOfWeek", + "description": "An enumeration.", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string" + }, + "DaylightSavingTime": { + "title": "DaylightSavingTime", + "description": "Used to describe the daylight savings time for the simulation.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DaylightSavingTime", + "pattern": "^DaylightSavingTime$", + "type": "string", + "readOnly": true + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the date for the start of daylight savings time. Default: 12 Mar (daylight savings in the US in 2017).", + "default": [ + 3, + 12 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "end_date": { + "title": "End Date", + "description": "A list of two integers for [month, day], representing the date for the end of daylight savings time. Default: 5 Nov (daylight savings in the US in 2017).", + "default": [ + 11, + 5 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + "additionalProperties": false + }, + "RunPeriod": { + "title": "RunPeriod", + "description": "Used to describe the time period over which to run the simulation.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RunPeriod", + "pattern": "^RunPeriod$", + "type": "string", + "readOnly": true + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the date for the start of the run period. Must be before the end date.", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 2, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "end_date": { + "title": "End Date", + "description": "A list of two integers for [month, day], representing the date for the end of the run period. Must be after the start date.", + "default": [ + 12, + 31 + ], + "minItems": 2, + "maxItems": 2, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "start_day_of_week": { + "description": "Text for the day of the week on which the simulation starts.", + "default": "Sunday", + "allOf": [ + { + "$ref": "#/components/schemas/DaysOfWeek" + } + ] + }, + "holidays": { + "title": "Holidays", + "description": "A list of lists where each sub-list consists of two integers for [month, day], representing a date which is a holiday within the simulation. If None, no holidays are applied.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "minItems": 2, + "maxItems": 2 + } + }, + "daylight_saving_time": { + "title": "Daylight Saving Time", + "description": "A DaylightSavingTime to dictate the start and end dates of daylight saving time. If None, no daylight saving time is applied to the simulation.", + "allOf": [ + { + "$ref": "#/components/schemas/DaylightSavingTime" + } + ] + }, + "leap_year": { + "title": "Leap Year", + "description": "Boolean noting whether the simulation will be run for a leap year.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + }, + "SimulationControl": { + "title": "SimulationControl", + "description": "Used to specify which types of calculations to run.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "SimulationControl", + "pattern": "^SimulationControl$", + "type": "string", + "readOnly": true + }, + "do_zone_sizing": { + "title": "Do Zone Sizing", + "description": "Boolean for whether the zone sizing calculation should be run.", + "default": true, + "type": "boolean" + }, + "do_system_sizing": { + "title": "Do System Sizing", + "description": "Boolean for whether the system sizing calculation should be run.", + "default": true, + "type": "boolean" + }, + "do_plant_sizing": { + "title": "Do Plant Sizing", + "description": "Boolean for whether the plant sizing calculation should be run.", + "default": true, + "type": "boolean" + }, + "run_for_run_periods": { + "title": "Run For Run Periods", + "description": "Boolean for whether the simulation should be run for the sizing periods.", + "default": true, + "type": "boolean" + }, + "run_for_sizing_periods": { + "title": "Run For Sizing Periods", + "description": "Boolean for whether the simulation should be run for the run periods.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + }, + "SolarDistribution": { + "title": "SolarDistribution", + "description": "An enumeration.", + "enum": [ + "MinimalShadowing", + "FullExterior", + "FullInteriorAndExterior", + "FullExteriorWithReflections", + "FullInteriorAndExteriorWithReflections" + ], + "type": "string" + }, + "CalculationMethod": { + "title": "CalculationMethod", + "description": "An enumeration.", + "enum": [ + "PolygonClipping", + "PixelCounting" + ], + "type": "string" + }, + "CalculationUpdateMethod": { + "title": "CalculationUpdateMethod", + "description": "An enumeration.", + "enum": [ + "Periodic", + "Timestep" + ], + "type": "string" + }, + "ShadowCalculation": { + "title": "ShadowCalculation", + "description": "Used to describe settings for EnergyPlus shadow calculation.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadowCalculation", + "pattern": "^ShadowCalculation$", + "type": "string", + "readOnly": true + }, + "solar_distribution": { + "default": "FullExteriorWithReflections", + "allOf": [ + { + "$ref": "#/components/schemas/SolarDistribution" + } + ] + }, + "calculation_method": { + "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.", + "default": "PolygonClipping", + "allOf": [ + { + "$ref": "#/components/schemas/CalculationMethod" + } + ] + }, + "calculation_update_method": { + "description": "Text describing how often the solar and shading calculations are updated with respect to the flow of time in the simulation.", + "default": "Periodic", + "allOf": [ + { + "$ref": "#/components/schemas/CalculationUpdateMethod" + } + ] + }, + "calculation_frequency": { + "title": "Calculation Frequency", + "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.", + "default": 30, + "minimum": 1, + "type": "integer", + "format": "int32" + }, + "maximum_figures": { + "title": "Maximum Figures", + "description": "Number of allowable figures in shadow overlap calculations.", + "default": 15000, + "minimum": 200, + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "DesignDayTypes": { + "title": "DesignDayTypes", + "description": "An enumeration.", + "enum": [ + "SummerDesignDay", + "WinterDesignDay", + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Holiday", + "CustomDay1", + "CustomDay2" + ], + "type": "string" + }, + "DryBulbCondition": { + "title": "DryBulbCondition", + "description": "Used to specify dry bulb conditions on a design day.", + "type": "object", + "properties": { + "dry_bulb_max": { + "title": "Dry Bulb Max", + "description": "The maximum dry bulb temperature on the design day [C].", + "minimum": -90, + "maximum": 70, + "type": "number", + "format": "double" + }, + "dry_bulb_range": { + "title": "Dry Bulb Range", + "description": "The difference between min and max temperatures on the design day [C].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "DryBulbCondition", + "pattern": "^DryBulbCondition$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "dry_bulb_max", + "dry_bulb_range" + ], + "additionalProperties": false + }, + "HumidityTypes": { + "title": "HumidityTypes", + "description": "An enumeration.", + "enum": [ + "Wetbulb", + "Dewpoint", + "HumidityRatio", + "Enthalpy" + ], + "type": "string" + }, + "HumidityCondition": { + "title": "HumidityCondition", + "description": "Used to specify humidity conditions on a design day.", + "type": "object", + "properties": { + "humidity_type": { + "$ref": "#/components/schemas/HumidityTypes" + }, + "humidity_value": { + "title": "Humidity Value", + "description": "The value correcponding to the humidity_type.", + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "HumidityCondition", + "pattern": "^HumidityCondition$", + "type": "string", + "readOnly": true + }, + "barometric_pressure": { + "title": "Barometric Pressure", + "description": "Barometric air pressure on the design day [Pa].", + "default": 101325, + "minimum": 31000, + "maximum": 120000, + "type": "number", + "format": "double" + }, + "rain": { + "title": "Rain", + "description": "Boolean to indicate rain on the design day.", + "default": false, + "type": "boolean" + }, + "snow_on_ground": { + "title": "Snow On Ground", + "description": "Boolean to indicate snow on the ground during the design day.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "humidity_type", + "humidity_value" + ], + "additionalProperties": false + }, + "WindCondition": { + "title": "WindCondition", + "description": "Used to specify wind conditions on a design day.", + "type": "object", + "properties": { + "wind_speed": { + "title": "Wind Speed", + "description": "Wind speed on the design day [m/s].", + "minimum": 0, + "maximum": 40, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "WindCondition", + "pattern": "^WindCondition$", + "type": "string", + "readOnly": true + }, + "wind_direction": { + "title": "Wind Direction", + "description": "Wind direction on the design day [degrees].", + "default": 0, + "minimum": 0, + "maximum": 360, + "type": "number", + "format": "double" + } + }, + "required": [ + "wind_speed" + ], + "additionalProperties": false + }, + "ASHRAEClearSky": { + "title": "ASHRAEClearSky", + "description": "Used to specify sky conditions on a design day.", + "type": "object", + "properties": { + "date": { + "title": "Date", + "description": "A list of two integers for [month, day], representing the date for the day of the year on which the design day occurs. A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "clearness": { + "title": "Clearness", + "description": "Value between 0 and 1.2 that will get multiplied by the irradiance to correct for factors like elevation above sea level.", + "minimum": 0, + "maximum": 1.2, + "type": "number", + "format": "double" + }, + "daylight_savings": { + "title": "Daylight Savings", + "description": "Boolean to indicate whether daylight savings time is active on the design day.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "ASHRAEClearSky", + "pattern": "^ASHRAEClearSky$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "date", + "clearness" + ], + "additionalProperties": false + }, + "ASHRAETau": { + "title": "ASHRAETau", + "description": "Used to specify sky conditions on a design day.", + "type": "object", + "properties": { + "date": { + "title": "Date", + "description": "A list of two integers for [month, day], representing the date for the day of the year on which the design day occurs. A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "tau_b": { + "title": "Tau B", + "description": "Value for the beam optical depth. Typically found in .stat files.", + "minimum": 0, + "maximum": 1.2, + "type": "number", + "format": "double" + }, + "tau_d": { + "title": "Tau D", + "description": "Value for the diffuse optical depth. Typically found in .stat files.", + "minimum": 0, + "maximum": 3, + "type": "number", + "format": "double" + }, + "daylight_savings": { + "title": "Daylight Savings", + "description": "Boolean to indicate whether daylight savings time is active on the design day.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "ASHRAETau", + "pattern": "^ASHRAETau$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "date", + "tau_b", + "tau_d" + ], + "additionalProperties": false + }, + "DesignDay": { + "title": "DesignDay", + "description": "An object representing design day conditions.", + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Text string for a unique design day name. This name remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). It is also used to reference the object within SimulationParameters. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "day_type": { + "$ref": "#/components/schemas/DesignDayTypes" + }, + "dry_bulb_condition": { + "title": "Dry Bulb Condition", + "description": "A DryBulbCondition describing temperature conditions on the design day.", + "allOf": [ + { + "$ref": "#/components/schemas/DryBulbCondition" + } + ] + }, + "humidity_condition": { + "title": "Humidity Condition", + "description": "A HumidityCondition describing humidity and precipitation conditions on the design day.", + "allOf": [ + { + "$ref": "#/components/schemas/HumidityCondition" + } + ] + }, + "wind_condition": { + "title": "Wind Condition", + "description": "A WindCondition describing wind conditions on the design day.", + "allOf": [ + { + "$ref": "#/components/schemas/WindCondition" + } + ] + }, + "sky_condition": { + "title": "Sky Condition", + "anyOf": [ + { + "$ref": "#/components/schemas/ASHRAEClearSky" + }, + { + "$ref": "#/components/schemas/ASHRAETau" + } + ] + }, + "type": { + "title": "Type", + "default": "DesignDay", + "pattern": "^DesignDay$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "name", + "day_type", + "dry_bulb_condition", + "humidity_condition", + "wind_condition", + "sky_condition" + ], + "additionalProperties": false + }, + "EfficiencyStandards": { + "title": "EfficiencyStandards", + "description": "An enumeration.", + "enum": [ + "ASHRAE_2019", + "ASHRAE_2016", + "ASHRAE_2013", + "ASHRAE_2010", + "ASHRAE_2007", + "ASHRAE_2004", + "DOE_Ref_1980_2004", + "DOE_Ref_Pre_1980" + ], + "type": "string" + }, + "ClimateZones": { + "title": "ClimateZones", + "description": "An enumeration.", + "enum": [ + "0A", + "1A", + "2A", + "3A", + "4A", + "5A", + "6A", + "0B", + "1B", + "2B", + "3B", + "4B", + "5B", + "6B", + "3C", + "4C", + "5C", + "7", + "8" + ], + "type": "string" + }, + "SizingParameter": { + "title": "SizingParameter", + "description": "Used to specify heating and cooling sizing criteria and safety factors.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "SizingParameter", + "pattern": "^SizingParameter$", + "type": "string", + "readOnly": true + }, + "design_days": { + "title": "Design Days", + "description": "A list of DesignDays that represent the criteria for which the HVAC systems will be sized.", + "type": "array", + "items": { + "$ref": "#/components/schemas/DesignDay" + } + }, + "heating_factor": { + "title": "Heating Factor", + "description": "A number that will be multiplied by the peak heating load for each zone in order to size the heating system.", + "default": 1.25, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "cooling_factor": { + "title": "Cooling Factor", + "description": "A number that will be multiplied by the peak cooling load for each zone in order to size the heating system.", + "default": 1.15, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "efficiency_standard": { + "description": "Text to specify the efficiency standard, which will automatically set the efficiencies of all HVAC equipment when provided. Note that providing a standard here will cause the OpenStudio translation process to perform an additional sizing calculation with EnergyPlus, which is needed since the default efficiencies of equipment vary depending on their size. THIS WILL SIGNIFICANTLY INCREASE TRANSLATION TIME TO OPENSTUDIO. However, it is often worthwhile when the goal is to match the HVAC specification with a particular standard.", + "allOf": [ + { + "$ref": "#/components/schemas/EfficiencyStandards" + } + ] + }, + "climate_zone": { + "description": "Text indicating the ASHRAE climate zone to be used with the efficiency_standard. When unspecified, the climate zone will be inferred from the design days on this sizing parameter object.", + "allOf": [ + { + "$ref": "#/components/schemas/ClimateZones" + } + ] + }, + "building_type": { + "title": "Building Type", + "description": "Text for the building type to be used in the efficiency_standard. If the type is not recognized or is None, it will be assumed that the building is a generic NonResidential. The following have specified systems per the standard: Residential, NonResidential, MidriseApartment, HighriseApartment, LargeOffice, MediumOffice, SmallOffice, Retail, StripMall, PrimarySchool, SecondarySchool, SmallHotel, LargeHotel, Hospital, Outpatient, Warehouse, SuperMarket, FullServiceRestaurant, QuickServiceRestaurant, Laboratory, Courthouse.", + "type": "string" + }, + "bypass_efficiency_sizing": { + "title": "Bypass Efficiency Sizing", + "description": "A boolean to indicate whether the efficiency standard should trigger an sizing run that sets the efficiencies of all HVAC equipment in the Model (False) or the standard should only be written into the OSM and the sizing run should be bypassed (True). Bypassing the sizing run is useful when you only want to check that the overall HVAC system architecture is correct and you do not want to wait the extra time that it takes to run the sizing calculation.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + }, + "TerrianTypes": { + "title": "TerrianTypes", + "description": "An enumeration.", + "enum": [ + "Ocean", + "Country", + "Suburbs", + "Urban", + "City" + ], + "type": "string" + }, + "SimulationParameter": { + "title": "SimulationParameter", + "description": "The complete set of EnergyPlus Simulation Settings.", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "SimulationParameter", + "pattern": "^SimulationParameter$", + "type": "string", + "readOnly": true + }, + "output": { + "title": "Output", + "description": "A SimulationOutput that lists the desired outputs from the simulation and the format in which to report them.", + "allOf": [ + { + "$ref": "#/components/schemas/SimulationOutput" + } + ] + }, + "run_period": { + "title": "Run Period", + "description": "A RunPeriod to describe the time period over which to run the simulation.", + "allOf": [ + { + "$ref": "#/components/schemas/RunPeriod" + } + ] + }, + "timestep": { + "title": "Timestep", + "description": "An integer for the number of timesteps per hour at which the energy calculation will be run.", + "default": 6, + "minimum": 1, + "maximum": 60, + "type": "integer", + "format": "int32" + }, + "simulation_control": { + "title": "Simulation Control", + "description": "A SimulationControl object that describes which types of calculations to run.", + "allOf": [ + { + "$ref": "#/components/schemas/SimulationControl" + } + ] + }, + "shadow_calculation": { + "title": "Shadow Calculation", + "description": "A ShadowCalculation object describing settings for the EnergyPlus Shadow Calculation.", + "allOf": [ + { + "$ref": "#/components/schemas/ShadowCalculation" + } + ] + }, + "sizing_parameter": { + "title": "Sizing Parameter", + "description": "A SizingParameter object with criteria for sizing the heating and cooling system.", + "allOf": [ + { + "$ref": "#/components/schemas/SizingParameter" + } + ] + }, + "north_angle": { + "title": "North Angle", + "description": "A number between -360 and 360 for the north direction in degrees.This is the counterclockwise difference between the North and the positive Y-axis. 90 is West and 270 is East. Note that this is different than the convention used in EnergyPlus, which uses clockwise difference instead of counterclockwise difference.", + "default": 0, + "exclusiveMaximum": 360, + "minimum": -360, + "type": "number", + "format": "double" + }, + "terrain_type": { + "description": "Text for the terrain in which the model sits. This is used to determine the wind profile over the height of the rooms.", + "default": "City", + "allOf": [ + { + "$ref": "#/components/schemas/TerrianTypes" + } + ] + } + }, + "additionalProperties": false + } + } + } +} \ No newline at end of file diff --git a/simulation-parameter_inheritance.json b/simulation-parameter_inheritance.json new file mode 100644 index 0000000..90cc9d0 --- /dev/null +++ b/simulation-parameter_inheritance.json @@ -0,0 +1,1231 @@ +{ + "openapi": "3.0.2", + "servers": [], + "info": { + "description": "Documentation for Honeybee simulation-parameter schema", + "version": "1.57.3", + "title": "Honeybee Simulation Parameter Schema", + "contact": { + "name": "Ladybug Tools", + "email": "info@ladybug.tools", + "url": "https://github.com/ladybug-tools/honeybee-schema" + }, + "x-logo": { + "url": "https://www.ladybug.tools/assets/img/honeybee-large.png", + "altText": "Honeybee logo" + }, + "license": { + "name": "BSD", + "url": "https://github.com/ladybug-tools-in2/honeybee-schema/blob/master/LICENSE" + } + }, + "externalDocs": { + "description": "OpenAPI Specification with Inheritance", + "url": "./simulation-parameter_inheritance.json" + }, + "tags": [ + { + "name": "ashraeclearsky_model", + "x-displayName": "ASHRAEClearSky", + "description": "\n" + }, + { + "name": "ashraetau_model", + "x-displayName": "ASHRAETau", + "description": "\n" + }, + { + "name": "calculationmethod_model", + "x-displayName": "CalculationMethod", + "description": "\n" + }, + { + "name": "calculationupdatemethod_model", + "x-displayName": "CalculationUpdateMethod", + "description": "\n" + }, + { + "name": "climatezones_model", + "x-displayName": "ClimateZones", + "description": "\n" + }, + { + "name": "datedbasemodel_model", + "x-displayName": "DatedBaseModel", + "description": "\n" + }, + { + "name": "daylightsavingtime_model", + "x-displayName": "DaylightSavingTime", + "description": "\n" + }, + { + "name": "daysofweek_model", + "x-displayName": "DaysOfWeek", + "description": "\n" + }, + { + "name": "designday_model", + "x-displayName": "DesignDay", + "description": "\n" + }, + { + "name": "designdaytypes_model", + "x-displayName": "DesignDayTypes", + "description": "\n" + }, + { + "name": "drybulbcondition_model", + "x-displayName": "DryBulbCondition", + "description": "\n" + }, + { + "name": "efficiencystandards_model", + "x-displayName": "EfficiencyStandards", + "description": "\n" + }, + { + "name": "humiditycondition_model", + "x-displayName": "HumidityCondition", + "description": "\n" + }, + { + "name": "humiditytypes_model", + "x-displayName": "HumidityTypes", + "description": "\n" + }, + { + "name": "reportingfrequency_model", + "x-displayName": "ReportingFrequency", + "description": "\n" + }, + { + "name": "runperiod_model", + "x-displayName": "RunPeriod", + "description": "\n" + }, + { + "name": "shadowcalculation_model", + "x-displayName": "ShadowCalculation", + "description": "\n" + }, + { + "name": "simulationcontrol_model", + "x-displayName": "SimulationControl", + "description": "\n" + }, + { + "name": "simulationoutput_model", + "x-displayName": "SimulationOutput", + "description": "\n" + }, + { + "name": "simulationparameter_model", + "x-displayName": "SimulationParameter", + "description": "\n" + }, + { + "name": "sizingparameter_model", + "x-displayName": "SizingParameter", + "description": "\n" + }, + { + "name": "solardistribution_model", + "x-displayName": "SolarDistribution", + "description": "\n" + }, + { + "name": "terriantypes_model", + "x-displayName": "TerrianTypes", + "description": "\n" + }, + { + "name": "windcondition_model", + "x-displayName": "WindCondition", + "description": "\n" + }, + { + "name": "_openapigenbasemodel_model", + "x-displayName": "_OpenAPIGenBaseModel", + "description": "\n" + }, + { + "name": "_skycondition_model", + "x-displayName": "_SkyCondition", + "description": "\n" + } + ], + "x-tagGroups": [ + { + "name": "Models", + "tags": [ + "_openapigenbasemodel_model", + "_skycondition_model", + "ashraeclearsky_model", + "ashraetau_model", + "calculationmethod_model", + "calculationupdatemethod_model", + "climatezones_model", + "datedbasemodel_model", + "daylightsavingtime_model", + "daysofweek_model", + "designday_model", + "designdaytypes_model", + "drybulbcondition_model", + "efficiencystandards_model", + "humiditycondition_model", + "humiditytypes_model", + "reportingfrequency_model", + "runperiod_model", + "shadowcalculation_model", + "simulationcontrol_model", + "simulationoutput_model", + "simulationparameter_model", + "sizingparameter_model", + "solardistribution_model", + "terriantypes_model", + "windcondition_model" + ] + } + ], + "paths": {}, + "components": { + "schemas": { + "ASHRAETau": { + "allOf": [ + { + "$ref": "#/components/schemas/_SkyCondition" + }, + { + "type": "object", + "required": [ + "tau_b", + "tau_d" + ], + "properties": { + "tau_b": { + "title": "Tau B", + "description": "Value for the beam optical depth. Typically found in .stat files.", + "minimum": 0, + "maximum": 1.2, + "type": "number", + "format": "double" + }, + "tau_d": { + "title": "Tau D", + "description": "Value for the diffuse optical depth. Typically found in .stat files.", + "minimum": 0, + "maximum": 3, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "ASHRAETau", + "pattern": "^ASHRAETau$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ASHRAETau", + "description": "Used to specify sky conditions on a design day.", + "discriminator": { + "propertyName": "type" + } + }, + "DaysOfWeek": { + "title": "DaysOfWeek", + "description": "An enumeration.", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string" + }, + "DaylightSavingTime": { + "allOf": [ + { + "$ref": "#/components/schemas/DatedBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DaylightSavingTime", + "pattern": "^DaylightSavingTime$", + "type": "string", + "readOnly": true + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the date for the start of daylight savings time. Default: 12 Mar (daylight savings in the US in 2017).", + "default": [ + 3, + 12 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "end_date": { + "title": "End Date", + "description": "A list of two integers for [month, day], representing the date for the end of daylight savings time. Default: 5 Nov (daylight savings in the US in 2017).", + "default": [ + 11, + 5 + ], + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + }, + "additionalProperties": false + } + ], + "title": "DaylightSavingTime", + "description": "Used to describe the daylight savings time for the simulation.", + "discriminator": { + "propertyName": "type" + } + }, + "RunPeriod": { + "allOf": [ + { + "$ref": "#/components/schemas/DatedBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "RunPeriod", + "pattern": "^RunPeriod$", + "type": "string", + "readOnly": true + }, + "start_date": { + "title": "Start Date", + "description": "A list of two integers for [month, day], representing the date for the start of the run period. Must be before the end date.", + "default": [ + 1, + 1 + ], + "minItems": 2, + "maxItems": 2, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "end_date": { + "title": "End Date", + "description": "A list of two integers for [month, day], representing the date for the end of the run period. Must be after the start date.", + "default": [ + 12, + 31 + ], + "minItems": 2, + "maxItems": 2, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "start_day_of_week": { + "description": "Text for the day of the week on which the simulation starts.", + "default": "Sunday", + "allOf": [ + { + "$ref": "#/components/schemas/DaysOfWeek" + } + ] + }, + "holidays": { + "title": "Holidays", + "description": "A list of lists where each sub-list consists of two integers for [month, day], representing a date which is a holiday within the simulation. If None, no holidays are applied.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "minItems": 2, + "maxItems": 2 + } + }, + "daylight_saving_time": { + "title": "Daylight Saving Time", + "description": "A DaylightSavingTime to dictate the start and end dates of daylight saving time. If None, no daylight saving time is applied to the simulation.", + "allOf": [ + { + "$ref": "#/components/schemas/DaylightSavingTime" + } + ] + }, + "leap_year": { + "title": "Leap Year", + "description": "Boolean noting whether the simulation will be run for a leap year.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "RunPeriod", + "description": "Used to describe the time period over which to run the simulation.", + "discriminator": { + "propertyName": "type" + } + }, + "DesignDayTypes": { + "title": "DesignDayTypes", + "description": "An enumeration.", + "enum": [ + "SummerDesignDay", + "WinterDesignDay", + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Holiday", + "CustomDay1", + "CustomDay2" + ], + "type": "string" + }, + "DryBulbCondition": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "dry_bulb_max": { + "title": "Dry Bulb Max", + "description": "The maximum dry bulb temperature on the design day [C].", + "minimum": -90, + "maximum": 70, + "type": "number", + "format": "double" + }, + "dry_bulb_range": { + "title": "Dry Bulb Range", + "description": "The difference between min and max temperatures on the design day [C].", + "minimum": 0, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "DryBulbCondition", + "pattern": "^DryBulbCondition$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "dry_bulb_max", + "dry_bulb_range" + ], + "additionalProperties": false + } + ], + "title": "DryBulbCondition", + "description": "Used to specify dry bulb conditions on a design day.", + "discriminator": { + "propertyName": "type" + } + }, + "HumidityTypes": { + "title": "HumidityTypes", + "description": "An enumeration.", + "enum": [ + "Wetbulb", + "Dewpoint", + "HumidityRatio", + "Enthalpy" + ], + "type": "string" + }, + "HumidityCondition": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "humidity_type": { + "$ref": "#/components/schemas/HumidityTypes" + }, + "humidity_value": { + "title": "Humidity Value", + "description": "The value correcponding to the humidity_type.", + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "HumidityCondition", + "pattern": "^HumidityCondition$", + "type": "string", + "readOnly": true + }, + "barometric_pressure": { + "title": "Barometric Pressure", + "description": "Barometric air pressure on the design day [Pa].", + "default": 101325, + "minimum": 31000, + "maximum": 120000, + "type": "number", + "format": "double" + }, + "rain": { + "title": "Rain", + "description": "Boolean to indicate rain on the design day.", + "default": false, + "type": "boolean" + }, + "snow_on_ground": { + "title": "Snow On Ground", + "description": "Boolean to indicate snow on the ground during the design day.", + "default": false, + "type": "boolean" + } + }, + "required": [ + "humidity_type", + "humidity_value" + ], + "additionalProperties": false + } + ], + "title": "HumidityCondition", + "description": "Used to specify humidity conditions on a design day.", + "discriminator": { + "propertyName": "type" + } + }, + "WindCondition": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "wind_speed": { + "title": "Wind Speed", + "description": "Wind speed on the design day [m/s].", + "minimum": 0, + "maximum": 40, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "WindCondition", + "pattern": "^WindCondition$", + "type": "string", + "readOnly": true + }, + "wind_direction": { + "title": "Wind Direction", + "description": "Wind direction on the design day [degrees].", + "default": 0, + "minimum": 0, + "maximum": 360, + "type": "number", + "format": "double" + } + }, + "required": [ + "wind_speed" + ], + "additionalProperties": false + } + ], + "title": "WindCondition", + "description": "Used to specify wind conditions on a design day.", + "discriminator": { + "propertyName": "type" + } + }, + "ASHRAEClearSky": { + "allOf": [ + { + "$ref": "#/components/schemas/_SkyCondition" + }, + { + "type": "object", + "required": [ + "clearness" + ], + "properties": { + "clearness": { + "title": "Clearness", + "description": "Value between 0 and 1.2 that will get multiplied by the irradiance to correct for factors like elevation above sea level.", + "minimum": 0, + "maximum": 1.2, + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "ASHRAEClearSky", + "pattern": "^ASHRAEClearSky$", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "ASHRAEClearSky", + "description": "Used to specify sky conditions on a design day.", + "discriminator": { + "propertyName": "type" + } + }, + "DesignDay": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Text string for a unique design day name. This name remains constant as the object is mutated, copied, and serialized to different formats (eg. dict, idf, osm). It is also used to reference the object within SimulationParameters. It must be < 100 characters, use only ASCII characters and exclude (, ; ! \\n \\t).", + "maxLength": 100, + "minLength": 1, + "type": "string" + }, + "day_type": { + "$ref": "#/components/schemas/DesignDayTypes" + }, + "dry_bulb_condition": { + "title": "Dry Bulb Condition", + "description": "A DryBulbCondition describing temperature conditions on the design day.", + "allOf": [ + { + "$ref": "#/components/schemas/DryBulbCondition" + } + ] + }, + "humidity_condition": { + "title": "Humidity Condition", + "description": "A HumidityCondition describing humidity and precipitation conditions on the design day.", + "allOf": [ + { + "$ref": "#/components/schemas/HumidityCondition" + } + ] + }, + "wind_condition": { + "title": "Wind Condition", + "description": "A WindCondition describing wind conditions on the design day.", + "allOf": [ + { + "$ref": "#/components/schemas/WindCondition" + } + ] + }, + "sky_condition": { + "title": "Sky Condition", + "anyOf": [ + { + "$ref": "#/components/schemas/ASHRAEClearSky" + }, + { + "$ref": "#/components/schemas/ASHRAETau" + } + ] + }, + "type": { + "title": "Type", + "default": "DesignDay", + "pattern": "^DesignDay$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "name", + "day_type", + "dry_bulb_condition", + "humidity_condition", + "wind_condition", + "sky_condition" + ], + "additionalProperties": false + } + ], + "title": "DesignDay", + "description": "An object representing design day conditions.", + "discriminator": { + "propertyName": "type" + } + }, + "SolarDistribution": { + "title": "SolarDistribution", + "description": "An enumeration.", + "enum": [ + "MinimalShadowing", + "FullExterior", + "FullInteriorAndExterior", + "FullExteriorWithReflections", + "FullInteriorAndExteriorWithReflections" + ], + "type": "string" + }, + "CalculationMethod": { + "title": "CalculationMethod", + "description": "An enumeration.", + "enum": [ + "PolygonClipping", + "PixelCounting" + ], + "type": "string" + }, + "CalculationUpdateMethod": { + "title": "CalculationUpdateMethod", + "description": "An enumeration.", + "enum": [ + "Periodic", + "Timestep" + ], + "type": "string" + }, + "ShadowCalculation": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "ShadowCalculation", + "pattern": "^ShadowCalculation$", + "type": "string", + "readOnly": true + }, + "solar_distribution": { + "default": "FullExteriorWithReflections", + "allOf": [ + { + "$ref": "#/components/schemas/SolarDistribution" + } + ] + }, + "calculation_method": { + "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.", + "default": "PolygonClipping", + "allOf": [ + { + "$ref": "#/components/schemas/CalculationMethod" + } + ] + }, + "calculation_update_method": { + "description": "Text describing how often the solar and shading calculations are updated with respect to the flow of time in the simulation.", + "default": "Periodic", + "allOf": [ + { + "$ref": "#/components/schemas/CalculationUpdateMethod" + } + ] + }, + "calculation_frequency": { + "title": "Calculation Frequency", + "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.", + "default": 30, + "minimum": 1, + "type": "integer", + "format": "int32" + }, + "maximum_figures": { + "title": "Maximum Figures", + "description": "Number of allowable figures in shadow overlap calculations.", + "default": 15000, + "minimum": 200, + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + } + ], + "title": "ShadowCalculation", + "description": "Used to describe settings for EnergyPlus shadow calculation.", + "discriminator": { + "propertyName": "type" + } + }, + "EfficiencyStandards": { + "title": "EfficiencyStandards", + "description": "An enumeration.", + "enum": [ + "ASHRAE_2019", + "ASHRAE_2016", + "ASHRAE_2013", + "ASHRAE_2010", + "ASHRAE_2007", + "ASHRAE_2004", + "DOE_Ref_1980_2004", + "DOE_Ref_Pre_1980" + ], + "type": "string" + }, + "ClimateZones": { + "title": "ClimateZones", + "description": "An enumeration.", + "enum": [ + "0A", + "1A", + "2A", + "3A", + "4A", + "5A", + "6A", + "0B", + "1B", + "2B", + "3B", + "4B", + "5B", + "6B", + "3C", + "4C", + "5C", + "7", + "8" + ], + "type": "string" + }, + "SizingParameter": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "SizingParameter", + "pattern": "^SizingParameter$", + "type": "string", + "readOnly": true + }, + "design_days": { + "title": "Design Days", + "description": "A list of DesignDays that represent the criteria for which the HVAC systems will be sized.", + "type": "array", + "items": { + "$ref": "#/components/schemas/DesignDay" + } + }, + "heating_factor": { + "title": "Heating Factor", + "description": "A number that will be multiplied by the peak heating load for each zone in order to size the heating system.", + "default": 1.25, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "cooling_factor": { + "title": "Cooling Factor", + "description": "A number that will be multiplied by the peak cooling load for each zone in order to size the heating system.", + "default": 1.15, + "exclusiveMinimum": 0, + "type": "number", + "format": "double" + }, + "efficiency_standard": { + "description": "Text to specify the efficiency standard, which will automatically set the efficiencies of all HVAC equipment when provided. Note that providing a standard here will cause the OpenStudio translation process to perform an additional sizing calculation with EnergyPlus, which is needed since the default efficiencies of equipment vary depending on their size. THIS WILL SIGNIFICANTLY INCREASE TRANSLATION TIME TO OPENSTUDIO. However, it is often worthwhile when the goal is to match the HVAC specification with a particular standard.", + "allOf": [ + { + "$ref": "#/components/schemas/EfficiencyStandards" + } + ] + }, + "climate_zone": { + "description": "Text indicating the ASHRAE climate zone to be used with the efficiency_standard. When unspecified, the climate zone will be inferred from the design days on this sizing parameter object.", + "allOf": [ + { + "$ref": "#/components/schemas/ClimateZones" + } + ] + }, + "building_type": { + "title": "Building Type", + "description": "Text for the building type to be used in the efficiency_standard. If the type is not recognized or is None, it will be assumed that the building is a generic NonResidential. The following have specified systems per the standard: Residential, NonResidential, MidriseApartment, HighriseApartment, LargeOffice, MediumOffice, SmallOffice, Retail, StripMall, PrimarySchool, SecondarySchool, SmallHotel, LargeHotel, Hospital, Outpatient, Warehouse, SuperMarket, FullServiceRestaurant, QuickServiceRestaurant, Laboratory, Courthouse.", + "type": "string" + }, + "bypass_efficiency_sizing": { + "title": "Bypass Efficiency Sizing", + "description": "A boolean to indicate whether the efficiency standard should trigger an sizing run that sets the efficiencies of all HVAC equipment in the Model (False) or the standard should only be written into the OSM and the sizing run should be bypassed (True). Bypassing the sizing run is useful when you only want to check that the overall HVAC system architecture is correct and you do not want to wait the extra time that it takes to run the sizing calculation.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "SizingParameter", + "description": "Used to specify heating and cooling sizing criteria and safety factors.", + "discriminator": { + "propertyName": "type" + } + }, + "SimulationControl": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "SimulationControl", + "pattern": "^SimulationControl$", + "type": "string", + "readOnly": true + }, + "do_zone_sizing": { + "title": "Do Zone Sizing", + "description": "Boolean for whether the zone sizing calculation should be run.", + "default": true, + "type": "boolean" + }, + "do_system_sizing": { + "title": "Do System Sizing", + "description": "Boolean for whether the system sizing calculation should be run.", + "default": true, + "type": "boolean" + }, + "do_plant_sizing": { + "title": "Do Plant Sizing", + "description": "Boolean for whether the plant sizing calculation should be run.", + "default": true, + "type": "boolean" + }, + "run_for_run_periods": { + "title": "Run For Run Periods", + "description": "Boolean for whether the simulation should be run for the sizing periods.", + "default": true, + "type": "boolean" + }, + "run_for_sizing_periods": { + "title": "Run For Sizing Periods", + "description": "Boolean for whether the simulation should be run for the run periods.", + "default": false, + "type": "boolean" + } + }, + "additionalProperties": false + } + ], + "title": "SimulationControl", + "description": "Used to specify which types of calculations to run.", + "discriminator": { + "propertyName": "type" + } + }, + "ReportingFrequency": { + "title": "ReportingFrequency", + "description": "An enumeration.", + "enum": [ + "Timestep", + "Hourly", + "Daily", + "Monthly", + "Annual" + ], + "type": "string" + }, + "SimulationOutput": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "SimulationOutput", + "pattern": "^SimulationOutput$", + "type": "string", + "readOnly": true + }, + "reporting_frequency": { + "default": "Hourly", + "allOf": [ + { + "$ref": "#/components/schemas/ReportingFrequency" + } + ] + }, + "outputs": { + "title": "Outputs", + "description": "A list of EnergyPlus output names as strings, which are requested from the simulation.", + "type": "array", + "items": { + "type": "string" + } + }, + "summary_reports": { + "title": "Summary Reports", + "description": "A list of EnergyPlus summary report names as strings.", + "type": "array", + "items": { + "type": "string" + } + }, + "unmet_setpoint_tolerance": { + "title": "Unmet Setpoint Tolerance", + "description": "A number in degrees Celsius for the difference that the zone conditions must be from the thermostat setpoint in order for the setpoint to be considered unmet. This will affect how unmet hours are reported in the output. ASHRAE 90.1 uses a tolerance of 1.11C, which is equivalent to 1.8F.", + "default": 1.11, + "minimum": 0, + "maximum": 10, + "type": "number", + "format": "double" + } + }, + "additionalProperties": false + } + ], + "title": "SimulationOutput", + "description": "Lists the outputs to report from the simulation and their format.", + "discriminator": { + "propertyName": "type" + } + }, + "TerrianTypes": { + "title": "TerrianTypes", + "description": "An enumeration.", + "enum": [ + "Ocean", + "Country", + "Suburbs", + "Urban", + "City" + ], + "type": "string" + }, + "SimulationParameter": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "SimulationParameter", + "pattern": "^SimulationParameter$", + "type": "string", + "readOnly": true + }, + "output": { + "title": "Output", + "description": "A SimulationOutput that lists the desired outputs from the simulation and the format in which to report them.", + "allOf": [ + { + "$ref": "#/components/schemas/SimulationOutput" + } + ] + }, + "run_period": { + "title": "Run Period", + "description": "A RunPeriod to describe the time period over which to run the simulation.", + "allOf": [ + { + "$ref": "#/components/schemas/RunPeriod" + } + ] + }, + "timestep": { + "title": "Timestep", + "description": "An integer for the number of timesteps per hour at which the energy calculation will be run.", + "default": 6, + "minimum": 1, + "maximum": 60, + "type": "integer", + "format": "int32" + }, + "simulation_control": { + "title": "Simulation Control", + "description": "A SimulationControl object that describes which types of calculations to run.", + "allOf": [ + { + "$ref": "#/components/schemas/SimulationControl" + } + ] + }, + "shadow_calculation": { + "title": "Shadow Calculation", + "description": "A ShadowCalculation object describing settings for the EnergyPlus Shadow Calculation.", + "allOf": [ + { + "$ref": "#/components/schemas/ShadowCalculation" + } + ] + }, + "sizing_parameter": { + "title": "Sizing Parameter", + "description": "A SizingParameter object with criteria for sizing the heating and cooling system.", + "allOf": [ + { + "$ref": "#/components/schemas/SizingParameter" + } + ] + }, + "north_angle": { + "title": "North Angle", + "description": "A number between -360 and 360 for the north direction in degrees.This is the counterclockwise difference between the North and the positive Y-axis. 90 is West and 270 is East. Note that this is different than the convention used in EnergyPlus, which uses clockwise difference instead of counterclockwise difference.", + "default": 0, + "exclusiveMaximum": 360, + "minimum": -360, + "type": "number", + "format": "double" + }, + "terrain_type": { + "description": "Text for the terrain in which the model sits. This is used to determine the wind profile over the height of the rooms.", + "default": "City", + "allOf": [ + { + "$ref": "#/components/schemas/TerrianTypes" + } + ] + } + }, + "additionalProperties": false + } + ], + "title": "SimulationParameter", + "description": "The complete set of EnergyPlus Simulation Settings.", + "discriminator": { + "propertyName": "type" + } + }, + "_SkyCondition": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "date": { + "title": "Date", + "description": "A list of two integers for [month, day], representing the date for the day of the year on which the design day occurs. A third integer may be added to denote whether the date should be re-serialized for a leap year (it should be a 1 in this case).", + "minItems": 2, + "maxItems": 3, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "daylight_savings": { + "title": "Daylight Savings", + "description": "Boolean to indicate whether daylight savings time is active on the design day.", + "default": false, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "_SkyCondition", + "type": "string", + "pattern": "^_SkyCondition$", + "readOnly": true + } + }, + "required": [ + "date" + ], + "additionalProperties": false + } + ], + "title": "_SkyCondition", + "description": "Used to specify sky conditions on a design day.", + "discriminator": { + "propertyName": "type" + } + }, + "DatedBaseModel": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "DatedBaseModel", + "type": "string", + "pattern": "^DatedBaseModel$", + "readOnly": true + } + }, + "additionalProperties": false + } + ], + "title": "DatedBaseModel", + "description": "Base class for all objects needing to check for a valid Date.", + "discriminator": { + "propertyName": "type" + } + }, + "_OpenAPIGenBaseModel": { + "title": "_OpenAPIGenBaseModel", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "A base class to use when there is no baseclass available to fall on.", + "default": "InvalidType", + "type": "string", + "readOnly": true + } + }, + "discriminator": { + "propertyName": "type" + } + } + } + } +} \ No newline at end of file diff --git a/simulation-parameter_mapper.json b/simulation-parameter_mapper.json new file mode 100644 index 0000000..fb5dfde --- /dev/null +++ b/simulation-parameter_mapper.json @@ -0,0 +1,31 @@ +{ + "classes": { + "ASHRAEClearSky": "honeybee_schema.energy.designday", + "ASHRAETau": "honeybee_schema.energy.designday", + "DatedBaseModel": "honeybee_schema.energy._base", + "DaylightSavingTime": "honeybee_schema.energy.simulation", + "DesignDay": "honeybee_schema.energy.designday", + "DryBulbCondition": "honeybee_schema.energy.designday", + "HumidityCondition": "honeybee_schema.energy.designday", + "RunPeriod": "honeybee_schema.energy.simulation", + "ShadowCalculation": "honeybee_schema.energy.simulation", + "SimulationControl": "honeybee_schema.energy.simulation", + "SimulationOutput": "honeybee_schema.energy.simulation", + "SimulationParameter": "honeybee_schema.energy.simulation", + "SizingParameter": "honeybee_schema.energy.simulation", + "WindCondition": "honeybee_schema.energy.designday", + "_SkyCondition": "honeybee_schema.energy.designday" + }, + "enums": { + "CalculationMethod": "honeybee_schema.energy.simulation", + "CalculationUpdateMethod": "honeybee_schema.energy.simulation", + "ClimateZones": "honeybee_schema.energy.simulation", + "DaysOfWeek": "honeybee_schema.energy.simulation", + "DesignDayTypes": "honeybee_schema.energy.designday", + "EfficiencyStandards": "honeybee_schema.energy.simulation", + "HumidityTypes": "honeybee_schema.energy.designday", + "ReportingFrequency": "honeybee_schema.energy.simulation", + "SolarDistribution": "honeybee_schema.energy.simulation", + "TerrianTypes": "honeybee_schema.energy.simulation" + } +} \ No newline at end of file diff --git a/sync-instructions.html b/sync-instructions.html new file mode 100644 index 0000000..7706e0f --- /dev/null +++ b/sync-instructions.html @@ -0,0 +1,23 @@ + + + +Honeybee Energy Simulation Parameter Schema + + + + + + + + + + + + + + diff --git a/sync-instructions.json b/sync-instructions.json new file mode 100644 index 0000000..125acef --- /dev/null +++ b/sync-instructions.json @@ -0,0 +1,251 @@ +{ + "openapi": "3.0.2", + "servers": [], + "info": { + "description": "Honeybee sync-instructions schema.", + "version": "1.57.3", + "title": "Honeybee Sync Instructions Schema", + "contact": { + "name": "Ladybug Tools", + "email": "info@ladybug.tools", + "url": "https://github.com/ladybug-tools/honeybee-schema" + }, + "x-logo": { + "url": "https://www.ladybug.tools/assets/img/honeybee-large.png", + "altText": "Honeybee logo" + }, + "license": { + "name": "BSD", + "url": "https://github.com/ladybug-tools-in2/honeybee-schema/blob/master/LICENSE" + } + }, + "externalDocs": { + "description": "OpenAPI Specification with Inheritance", + "url": "./sync-instructions_inheritance.json" + }, + "tags": [ + { + "name": "addedinstruction_model", + "x-displayName": "AddedInstruction", + "description": "\n" + }, + { + "name": "changedinstruction_model", + "x-displayName": "ChangedInstruction", + "description": "\n" + }, + { + "name": "deletedinstruction_model", + "x-displayName": "DeletedInstruction", + "description": "\n" + }, + { + "name": "geometryobjecttypes_model", + "x-displayName": "GeometryObjectTypes", + "description": "\n" + }, + { + "name": "syncinstructions_model", + "x-displayName": "SyncInstructions", + "description": "\n" + } + ], + "x-tagGroups": [ + { + "name": "Models", + "tags": [ + "addedinstruction_model", + "changedinstruction_model", + "deletedinstruction_model", + "geometryobjecttypes_model", + "syncinstructions_model" + ] + } + ], + "paths": {}, + "components": { + "schemas": { + "GeometryObjectTypes": { + "title": "GeometryObjectTypes", + "description": "Types of Honeybee geometry objects.", + "enum": [ + "Shade", + "Aperture", + "Door", + "Face", + "Room" + ], + "type": "string" + }, + "ChangedInstruction": { + "title": "ChangedInstruction", + "type": "object", + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ChangedInstruction", + "pattern": "^ChangedInstruction$", + "type": "string", + "readOnly": true + }, + "update_geometry": { + "title": "Update Geometry", + "description": "A boolean to note whether the geometry of the object in the new/updated model should replace the base/existing geometry (True) or the existing geometry should be kept (False).", + "default": true, + "type": "boolean" + }, + "update_energy": { + "title": "Update Energy", + "description": "A boolean to note whether the energy properties of the object in the new/updated model should replace the base/existing energy properties (True) or the base/existing energy properties should be kept (False).", + "default": true, + "type": "boolean" + }, + "update_radiance": { + "title": "Update Radiance", + "description": "A boolean to note whether the radiance properties of the object in the new/updated model should replace the base/existing radiance properties (True) or the base/existing radiance properties should be kept (False).", + "default": true, + "type": "boolean" + } + }, + "required": [ + "element_type", + "element_id" + ] + }, + "DeletedInstruction": { + "title": "DeletedInstruction", + "type": "object", + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "DeletedInstruction", + "pattern": "^DeletedInstruction$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "element_type", + "element_id" + ] + }, + "AddedInstruction": { + "title": "AddedInstruction", + "type": "object", + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "AddedInstruction", + "pattern": "^AddedInstruction$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "element_type", + "element_id" + ] + }, + "SyncInstructions": { + "title": "SyncInstructions", + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "SyncInstructions", + "pattern": "^SyncInstructions$", + "type": "string", + "readOnly": true + }, + "changed_objects": { + "title": "Changed Objects", + "description": "A list of ChangedInstruction definitions for each top-level object with properties to transfer from the new/updated model to the base/existing model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ChangedInstruction" + } + }, + "deleted_objects": { + "title": "Deleted Objects", + "description": "A list of DeletedInstruction definitions for each top-level object to be deleted from the base/existing model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/DeletedInstruction" + } + }, + "added_objects": { + "title": "Added Objects", + "description": "A list of AddedInstruction definitions for each top-level object to be added to the base/existing model from the new/updated model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/AddedInstruction" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/sync-instructions_inheritance.json b/sync-instructions_inheritance.json new file mode 100644 index 0000000..84d07a2 --- /dev/null +++ b/sync-instructions_inheritance.json @@ -0,0 +1,367 @@ +{ + "openapi": "3.0.2", + "servers": [], + "info": { + "description": "Documentation for Honeybee sync-instructions schema", + "version": "1.57.3", + "title": "Honeybee Sync Instructions Schema", + "contact": { + "name": "Ladybug Tools", + "email": "info@ladybug.tools", + "url": "https://github.com/ladybug-tools/honeybee-schema" + }, + "x-logo": { + "url": "https://www.ladybug.tools/assets/img/honeybee-large.png", + "altText": "Honeybee logo" + }, + "license": { + "name": "BSD", + "url": "https://github.com/ladybug-tools-in2/honeybee-schema/blob/master/LICENSE" + } + }, + "externalDocs": { + "description": "OpenAPI Specification with Inheritance", + "url": "./sync-instructions_inheritance.json" + }, + "tags": [ + { + "name": "addedinstruction_model", + "x-displayName": "AddedInstruction", + "description": "\n" + }, + { + "name": "changedinstruction_model", + "x-displayName": "ChangedInstruction", + "description": "\n" + }, + { + "name": "deletedinstruction_model", + "x-displayName": "DeletedInstruction", + "description": "\n" + }, + { + "name": "geometryobjecttypes_model", + "x-displayName": "GeometryObjectTypes", + "description": "\n" + }, + { + "name": "syncinstructions_model", + "x-displayName": "SyncInstructions", + "description": "\n" + }, + { + "name": "_diffobjectbase_model", + "x-displayName": "_DiffObjectBase", + "description": "\n" + }, + { + "name": "_openapigenbasemodel_model", + "x-displayName": "_OpenAPIGenBaseModel", + "description": "\n" + } + ], + "x-tagGroups": [ + { + "name": "Models", + "tags": [ + "_diffobjectbase_model", + "_openapigenbasemodel_model", + "addedinstruction_model", + "changedinstruction_model", + "deletedinstruction_model", + "geometryobjecttypes_model", + "syncinstructions_model" + ] + } + ], + "paths": {}, + "components": { + "schemas": { + "GeometryObjectTypes": { + "title": "GeometryObjectTypes", + "description": "Types of Honeybee geometry objects.", + "enum": [ + "Shade", + "Aperture", + "Door", + "Face", + "Room" + ], + "type": "string" + }, + "ChangedInstruction": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "required": [ + "element_type", + "element_id" + ], + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "update_geometry": { + "title": "Update Geometry", + "description": "A boolean to note whether the geometry of the object in the new/updated model should replace the base/existing geometry (True) or the existing geometry should be kept (False).", + "default": true, + "type": "boolean" + }, + "update_energy": { + "title": "Update Energy", + "description": "A boolean to note whether the energy properties of the object in the new/updated model should replace the base/existing energy properties (True) or the base/existing energy properties should be kept (False).", + "default": true, + "type": "boolean" + }, + "update_radiance": { + "title": "Update Radiance", + "description": "A boolean to note whether the radiance properties of the object in the new/updated model should replace the base/existing radiance properties (True) or the base/existing radiance properties should be kept (False).", + "default": true, + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "ChangedInstruction", + "pattern": "^ChangedInstruction$", + "type": "string", + "readOnly": true + } + } + } + ], + "title": "ChangedInstruction", + "discriminator": { + "propertyName": "type" + } + }, + "DeletedInstruction": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "required": [ + "element_type", + "element_id" + ], + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "DeletedInstruction", + "pattern": "^DeletedInstruction$", + "type": "string", + "readOnly": true + } + } + } + ], + "title": "DeletedInstruction", + "discriminator": { + "propertyName": "type" + } + }, + "AddedInstruction": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "required": [ + "element_type", + "element_id" + ], + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "AddedInstruction", + "pattern": "^AddedInstruction$", + "type": "string", + "readOnly": true + } + } + } + ], + "title": "AddedInstruction", + "discriminator": { + "propertyName": "type" + } + }, + "SyncInstructions": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "type": { + "title": "Type", + "default": "SyncInstructions", + "pattern": "^SyncInstructions$", + "type": "string", + "readOnly": true + }, + "changed_objects": { + "title": "Changed Objects", + "description": "A list of ChangedInstruction definitions for each top-level object with properties to transfer from the new/updated model to the base/existing model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ChangedInstruction" + } + }, + "deleted_objects": { + "title": "Deleted Objects", + "description": "A list of DeletedInstruction definitions for each top-level object to be deleted from the base/existing model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/DeletedInstruction" + } + }, + "added_objects": { + "title": "Added Objects", + "description": "A list of AddedInstruction definitions for each top-level object to be added to the base/existing model from the new/updated model.", + "type": "array", + "items": { + "$ref": "#/components/schemas/AddedInstruction" + } + } + } + } + ], + "title": "SyncInstructions", + "discriminator": { + "propertyName": "type" + } + }, + "_DiffObjectBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "element_type": { + "description": "Text for the type of object that has been changed.", + "allOf": [ + { + "$ref": "#/components/schemas/GeometryObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "Text string for the unique object ID that has changed.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[^,;!\\n\\t]+$", + "type": "string" + }, + "element_name": { + "title": "Element Name", + "description": "Text string for the display name of the object that has changed.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "_DiffObjectBase", + "type": "string", + "pattern": "^_DiffObjectBase$", + "readOnly": true + } + }, + "required": [ + "element_type", + "element_id" + ] + } + ], + "title": "_DiffObjectBase", + "discriminator": { + "propertyName": "type" + } + }, + "_OpenAPIGenBaseModel": { + "title": "_OpenAPIGenBaseModel", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "A base class to use when there is no baseclass available to fall on.", + "default": "InvalidType", + "type": "string", + "readOnly": true + } + }, + "discriminator": { + "propertyName": "type" + } + } + } + } +} \ No newline at end of file diff --git a/sync-instructions_mapper.json b/sync-instructions_mapper.json new file mode 100644 index 0000000..f2ccaf4 --- /dev/null +++ b/sync-instructions_mapper.json @@ -0,0 +1,12 @@ +{ + "classes": { + "AddedInstruction": "honeybee_schema.comparison", + "ChangedInstruction": "honeybee_schema.comparison", + "DeletedInstruction": "honeybee_schema.comparison", + "SyncInstructions": "honeybee_schema.comparison", + "_DiffObjectBase": "honeybee_schema.comparison" + }, + "enums": { + "GeometryObjectTypes": "honeybee_schema.comparison" + } +} \ No newline at end of file diff --git a/validation-report.html b/validation-report.html new file mode 100644 index 0000000..6e33ad6 --- /dev/null +++ b/validation-report.html @@ -0,0 +1,23 @@ + + + +Honeybee Energy Simulation Parameter Schema + + + + + + + + + + + + + + diff --git a/validation-report.json b/validation-report.json new file mode 100644 index 0000000..f191f82 --- /dev/null +++ b/validation-report.json @@ -0,0 +1,420 @@ +{ + "openapi": "3.0.2", + "servers": [], + "info": { + "description": "Honeybee validation-report schema.", + "version": "1.57.3", + "title": "Honeybee Validation Report Schema", + "contact": { + "name": "Ladybug Tools", + "email": "info@ladybug.tools", + "url": "https://github.com/ladybug-tools/honeybee-schema" + }, + "x-logo": { + "url": "https://www.ladybug.tools/assets/img/honeybee-large.png", + "altText": "Honeybee logo" + }, + "license": { + "name": "BSD", + "url": "https://github.com/ladybug-tools-in2/honeybee-schema/blob/master/LICENSE" + } + }, + "externalDocs": { + "description": "OpenAPI Specification with Inheritance", + "url": "./validation-report_inheritance.json" + }, + "tags": [ + { + "name": "extensiontypes_model", + "x-displayName": "ExtensionTypes", + "description": "\n" + }, + { + "name": "linesegment3d_model", + "x-displayName": "LineSegment3D", + "description": "\n" + }, + { + "name": "objecttypes_model", + "x-displayName": "ObjectTypes", + "description": "\n" + }, + { + "name": "parenttypes_model", + "x-displayName": "ParentTypes", + "description": "\n" + }, + { + "name": "point3d_model", + "x-displayName": "Point3D", + "description": "\n" + }, + { + "name": "validationerror_model", + "x-displayName": "ValidationError", + "description": "\n" + }, + { + "name": "validationparent_model", + "x-displayName": "ValidationParent", + "description": "\n" + }, + { + "name": "validationreport_model", + "x-displayName": "ValidationReport", + "description": "\n" + } + ], + "x-tagGroups": [ + { + "name": "Models", + "tags": [ + "extensiontypes_model", + "linesegment3d_model", + "objecttypes_model", + "parenttypes_model", + "point3d_model", + "validationerror_model", + "validationparent_model", + "validationreport_model" + ] + } + ], + "paths": {}, + "components": { + "schemas": { + "ExtensionTypes": { + "title": "ExtensionTypes", + "description": "Types of Honeybee/Dragonfly extensions.", + "enum": [ + "Core", + "Radiance", + "Energy" + ], + "type": "string" + }, + "ObjectTypes": { + "title": "ObjectTypes", + "description": "Types of Honeybee objects.", + "enum": [ + "Shade", + "Aperture", + "Door", + "SubFace", + "Face", + "Room", + "SensorGrid", + "View", + "Modifier", + "ModifierSet", + "Material", + "Construction", + "ConstructionSet", + "ScheduleTypeLimit", + "Schedule", + "ProgramType", + "HVAC", + "SHW", + "RoofSpecification", + "Room2D", + "Story", + "Building" + ], + "type": "string" + }, + "ParentTypes": { + "title": "ParentTypes", + "description": "Types of Honeybee objects that can be parents.", + "enum": [ + "Aperture", + "Door", + "Face", + "Room", + "Story", + "Building" + ], + "type": "string" + }, + "ValidationParent": { + "title": "ValidationParent", + "type": "object", + "properties": { + "parent_type": { + "description": "Text for the type of object that the parent is.", + "allOf": [ + { + "$ref": "#/components/schemas/ParentTypes" + } + ] + }, + "id": { + "title": "Id", + "description": "Text string for the unique ID of the parent object.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ValidationParent", + "pattern": "^ValidationParent$", + "type": "string", + "readOnly": true + }, + "name": { + "title": "Name", + "description": "Display name of the parent object.", + "type": "string" + } + }, + "required": [ + "parent_type", + "id" + ] + }, + "Point3D": { + "title": "Point3D", + "description": "A point object in 3D space.", + "type": "object", + "properties": { + "x": { + "title": "X", + "description": "Number for X coordinate.", + "type": "number", + "format": "double" + }, + "y": { + "title": "Y", + "description": "Number for Y coordinate.", + "type": "number", + "format": "double" + }, + "z": { + "title": "Z", + "description": "Number for Z coordinate.", + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Point3D", + "pattern": "^Point3D$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + }, + "LineSegment3D": { + "title": "LineSegment3D", + "description": "A single line segment face in 3D space.", + "type": "object", + "properties": { + "p": { + "title": "P", + "description": "Line segment base point as 3 (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "v": { + "title": "V", + "description": "Line segment direction vector as 3 (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "LineSegment3D", + "pattern": "^LineSegment3D$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "p", + "v" + ], + "additionalProperties": false + }, + "ValidationError": { + "title": "ValidationError", + "type": "object", + "properties": { + "code": { + "title": "Code", + "description": "Text with 6 digits for the error code. The first two digits indicate whether the error is a core honeybee error (00) vs. an extension error (any non-zero number). The second two digits indicate the nature of the error (00 is an identifier error, 01 is a geometry error, 02 is an adjacency error). The third two digits are used to give a unique ID to each condition moving upwards from more specific/detailed objects/errors to coarser/more abstract objects/errors. A full list of error codes can be found here: https://docs.pollination.cloud/user-manual/get-started/troubleshooting/help-with-modeling-error-codes", + "maxLength": 6, + "minLength": 6, + "pattern": "([0-9]+)", + "type": "string" + }, + "error_type": { + "title": "Error Type", + "description": "A human-readable version of the error code, typically not more than five words long.", + "type": "string" + }, + "extension_type": { + "description": "Text for the Honeybee extension from which the error originated (from the ExtensionTypes enumeration).", + "allOf": [ + { + "$ref": "#/components/schemas/ExtensionTypes" + } + ] + }, + "element_type": { + "description": "Text for the type of object that caused the error.", + "allOf": [ + { + "$ref": "#/components/schemas/ObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "A list of text strings for the unique object IDs that caused the error. The list typically contains a single item but there are some types errors that stem from multiple objects like mis-matched area adjacencies or overlapping Room geometries. Note that the IDs in this list can be the identifier of a core object like a Room or a Face or it can be for an extension object like a SensorGrid or a Construction.", + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "pattern": "^[^,;!\\n\\t]+$" + } + }, + "message": { + "title": "Message", + "description": "Text for the error message with a detailed description of what exactly is invalid about the element.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ValidationError", + "pattern": "^ValidationError$", + "type": "string", + "readOnly": true + }, + "element_name": { + "title": "Element Name", + "description": "A list of text strings for the display names of the objects that caused the error.", + "type": "array", + "items": { + "type": "string" + } + }, + "parents": { + "title": "Parents", + "description": "A list lists where each sub-list corresponds to one of the objects in the element_id property. Each sub-list contains information for the parent objects of the object that caused the error. This can be useful for locating the problematic object in the model. This will contain 1 item for a Face with a parent Room. It will contain 2 for an Aperture that has a parent Face with a parent Room.", + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ValidationParent" + } + } + }, + "top_parents": { + "title": "Top Parents", + "description": "A list of top-level parent objects for the specific case of duplicate child-object identifiers, where several top-level parents are involved.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ValidationParent" + } + }, + "helper_geometry": { + "title": "Helper Geometry", + "description": "An optional list of geometry objects that helps illustrate where exactly issues with invalid geometry exist within the Honeybee object. Examples include the naked and non-manifold line segments for non-solid Room geometries, the points of self-intersection for cases of self-intersecting geometry and out-of-plane vertices for non-planar objects. Oftentimes, zooming directly to these helper geometries will help end users understand invalid situations in their model faster than simple zooming to the invalid Honeybee object in its totality.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Point3D" + }, + { + "$ref": "#/components/schemas/LineSegment3D" + } + ] + } + } + }, + "required": [ + "code", + "error_type", + "extension_type", + "element_type", + "element_id", + "message" + ] + }, + "ValidationReport": { + "title": "ValidationReport", + "type": "object", + "properties": { + "app_version": { + "title": "App Version", + "description": "Text string for the version of honeybee-core or dragonfly-core that performed the validation.", + "pattern": "([0-9]+)\\.([0-9]+)\\.([0-9]+)", + "type": "string" + }, + "schema_version": { + "title": "Schema Version", + "description": "Text string for the version of honeybee-schema or dragonfly-schema that performed the validation.", + "pattern": "([0-9]+)\\.([0-9]+)\\.([0-9]+)", + "type": "string" + }, + "valid": { + "title": "Valid", + "description": "Boolean to note whether the Model is valid or not.", + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "ValidationReport", + "pattern": "^ValidationReport$", + "type": "string", + "readOnly": true + }, + "app_name": { + "title": "App Name", + "description": "Text string for the name of the application that performed the validation. This is typically either Honeybee or Dragonfly.", + "default": "Honeybee", + "type": "string" + }, + "fatal_error": { + "title": "Fatal Error", + "description": "A text string containing an exception if the Model failed to serialize. It will be an empty string if serialization was successful.", + "default": "", + "type": "string" + }, + "errors": { + "title": "Errors", + "description": "A list of objects for each error that was discovered in the model. This will be an empty list or None if no errors were found.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ValidationError" + } + } + }, + "required": [ + "app_version", + "schema_version", + "valid" + ] + } + } + } +} \ No newline at end of file diff --git a/validation-report_inheritance.json b/validation-report_inheritance.json new file mode 100644 index 0000000..a6d39e6 --- /dev/null +++ b/validation-report_inheritance.json @@ -0,0 +1,492 @@ +{ + "openapi": "3.0.2", + "servers": [], + "info": { + "description": "Documentation for Honeybee validation-report schema", + "version": "1.57.3", + "title": "Honeybee Validation Report Schema", + "contact": { + "name": "Ladybug Tools", + "email": "info@ladybug.tools", + "url": "https://github.com/ladybug-tools/honeybee-schema" + }, + "x-logo": { + "url": "https://www.ladybug.tools/assets/img/honeybee-large.png", + "altText": "Honeybee logo" + }, + "license": { + "name": "BSD", + "url": "https://github.com/ladybug-tools-in2/honeybee-schema/blob/master/LICENSE" + } + }, + "externalDocs": { + "description": "OpenAPI Specification with Inheritance", + "url": "./validation-report_inheritance.json" + }, + "tags": [ + { + "name": "extensiontypes_model", + "x-displayName": "ExtensionTypes", + "description": "\n" + }, + { + "name": "linesegment3d_model", + "x-displayName": "LineSegment3D", + "description": "\n" + }, + { + "name": "objecttypes_model", + "x-displayName": "ObjectTypes", + "description": "\n" + }, + { + "name": "parenttypes_model", + "x-displayName": "ParentTypes", + "description": "\n" + }, + { + "name": "point3d_model", + "x-displayName": "Point3D", + "description": "\n" + }, + { + "name": "validationerror_model", + "x-displayName": "ValidationError", + "description": "\n" + }, + { + "name": "validationparent_model", + "x-displayName": "ValidationParent", + "description": "\n" + }, + { + "name": "validationreport_model", + "x-displayName": "ValidationReport", + "description": "\n" + }, + { + "name": "_openapigenbasemodel_model", + "x-displayName": "_OpenAPIGenBaseModel", + "description": "\n" + } + ], + "x-tagGroups": [ + { + "name": "Models", + "tags": [ + "_openapigenbasemodel_model", + "extensiontypes_model", + "linesegment3d_model", + "objecttypes_model", + "parenttypes_model", + "point3d_model", + "validationerror_model", + "validationparent_model", + "validationreport_model" + ] + } + ], + "paths": {}, + "components": { + "schemas": { + "LineSegment3D": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "p": { + "title": "P", + "description": "Line segment base point as 3 (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "v": { + "title": "V", + "description": "Line segment direction vector as 3 (x, y, z) values.", + "minItems": 3, + "maxItems": 3, + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "type": { + "title": "Type", + "default": "LineSegment3D", + "pattern": "^LineSegment3D$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "p", + "v" + ], + "additionalProperties": false + } + ], + "title": "LineSegment3D", + "description": "A single line segment face in 3D space.", + "discriminator": { + "propertyName": "type" + } + }, + "ParentTypes": { + "title": "ParentTypes", + "description": "Types of Honeybee objects that can be parents.", + "enum": [ + "Aperture", + "Door", + "Face", + "Room", + "Story", + "Building" + ], + "type": "string" + }, + "ValidationParent": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "parent_type": { + "description": "Text for the type of object that the parent is.", + "allOf": [ + { + "$ref": "#/components/schemas/ParentTypes" + } + ] + }, + "id": { + "title": "Id", + "description": "Text string for the unique ID of the parent object.", + "maxLength": 100, + "minLength": 1, + "pattern": "^[.A-Za-z0-9_-]+$", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ValidationParent", + "pattern": "^ValidationParent$", + "type": "string", + "readOnly": true + }, + "name": { + "title": "Name", + "description": "Display name of the parent object.", + "type": "string" + } + }, + "required": [ + "parent_type", + "id" + ] + } + ], + "title": "ValidationParent", + "discriminator": { + "propertyName": "type" + } + }, + "Point3D": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "x": { + "title": "X", + "description": "Number for X coordinate.", + "type": "number", + "format": "double" + }, + "y": { + "title": "Y", + "description": "Number for Y coordinate.", + "type": "number", + "format": "double" + }, + "z": { + "title": "Z", + "description": "Number for Z coordinate.", + "type": "number", + "format": "double" + }, + "type": { + "title": "Type", + "default": "Point3D", + "pattern": "^Point3D$", + "type": "string", + "readOnly": true + } + }, + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false + } + ], + "title": "Point3D", + "description": "A point object in 3D space.", + "discriminator": { + "propertyName": "type" + } + }, + "ExtensionTypes": { + "title": "ExtensionTypes", + "description": "Types of Honeybee/Dragonfly extensions.", + "enum": [ + "Core", + "Radiance", + "Energy" + ], + "type": "string" + }, + "ObjectTypes": { + "title": "ObjectTypes", + "description": "Types of Honeybee objects.", + "enum": [ + "Shade", + "Aperture", + "Door", + "SubFace", + "Face", + "Room", + "SensorGrid", + "View", + "Modifier", + "ModifierSet", + "Material", + "Construction", + "ConstructionSet", + "ScheduleTypeLimit", + "Schedule", + "ProgramType", + "HVAC", + "SHW", + "RoofSpecification", + "Room2D", + "Story", + "Building" + ], + "type": "string" + }, + "ValidationError": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "code": { + "title": "Code", + "description": "Text with 6 digits for the error code. The first two digits indicate whether the error is a core honeybee error (00) vs. an extension error (any non-zero number). The second two digits indicate the nature of the error (00 is an identifier error, 01 is a geometry error, 02 is an adjacency error). The third two digits are used to give a unique ID to each condition moving upwards from more specific/detailed objects/errors to coarser/more abstract objects/errors. A full list of error codes can be found here: https://docs.pollination.cloud/user-manual/get-started/troubleshooting/help-with-modeling-error-codes", + "maxLength": 6, + "minLength": 6, + "pattern": "([0-9]+)", + "type": "string" + }, + "error_type": { + "title": "Error Type", + "description": "A human-readable version of the error code, typically not more than five words long.", + "type": "string" + }, + "extension_type": { + "description": "Text for the Honeybee extension from which the error originated (from the ExtensionTypes enumeration).", + "allOf": [ + { + "$ref": "#/components/schemas/ExtensionTypes" + } + ] + }, + "element_type": { + "description": "Text for the type of object that caused the error.", + "allOf": [ + { + "$ref": "#/components/schemas/ObjectTypes" + } + ] + }, + "element_id": { + "title": "Element Id", + "description": "A list of text strings for the unique object IDs that caused the error. The list typically contains a single item but there are some types errors that stem from multiple objects like mis-matched area adjacencies or overlapping Room geometries. Note that the IDs in this list can be the identifier of a core object like a Room or a Face or it can be for an extension object like a SensorGrid or a Construction.", + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "pattern": "^[^,;!\\n\\t]+$" + } + }, + "message": { + "title": "Message", + "description": "Text for the error message with a detailed description of what exactly is invalid about the element.", + "type": "string" + }, + "type": { + "title": "Type", + "default": "ValidationError", + "pattern": "^ValidationError$", + "type": "string", + "readOnly": true + }, + "element_name": { + "title": "Element Name", + "description": "A list of text strings for the display names of the objects that caused the error.", + "type": "array", + "items": { + "type": "string" + } + }, + "parents": { + "title": "Parents", + "description": "A list lists where each sub-list corresponds to one of the objects in the element_id property. Each sub-list contains information for the parent objects of the object that caused the error. This can be useful for locating the problematic object in the model. This will contain 1 item for a Face with a parent Room. It will contain 2 for an Aperture that has a parent Face with a parent Room.", + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ValidationParent" + } + } + }, + "top_parents": { + "title": "Top Parents", + "description": "A list of top-level parent objects for the specific case of duplicate child-object identifiers, where several top-level parents are involved.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ValidationParent" + } + }, + "helper_geometry": { + "title": "Helper Geometry", + "description": "An optional list of geometry objects that helps illustrate where exactly issues with invalid geometry exist within the Honeybee object. Examples include the naked and non-manifold line segments for non-solid Room geometries, the points of self-intersection for cases of self-intersecting geometry and out-of-plane vertices for non-planar objects. Oftentimes, zooming directly to these helper geometries will help end users understand invalid situations in their model faster than simple zooming to the invalid Honeybee object in its totality.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Point3D" + }, + { + "$ref": "#/components/schemas/LineSegment3D" + } + ] + } + } + }, + "required": [ + "code", + "error_type", + "extension_type", + "element_type", + "element_id", + "message" + ] + } + ], + "title": "ValidationError", + "discriminator": { + "propertyName": "type" + } + }, + "ValidationReport": { + "allOf": [ + { + "$ref": "#/components/schemas/_OpenAPIGenBaseModel" + }, + { + "type": "object", + "properties": { + "app_version": { + "title": "App Version", + "description": "Text string for the version of honeybee-core or dragonfly-core that performed the validation.", + "pattern": "([0-9]+)\\.([0-9]+)\\.([0-9]+)", + "type": "string" + }, + "schema_version": { + "title": "Schema Version", + "description": "Text string for the version of honeybee-schema or dragonfly-schema that performed the validation.", + "pattern": "([0-9]+)\\.([0-9]+)\\.([0-9]+)", + "type": "string" + }, + "valid": { + "title": "Valid", + "description": "Boolean to note whether the Model is valid or not.", + "type": "boolean" + }, + "type": { + "title": "Type", + "default": "ValidationReport", + "pattern": "^ValidationReport$", + "type": "string", + "readOnly": true + }, + "app_name": { + "title": "App Name", + "description": "Text string for the name of the application that performed the validation. This is typically either Honeybee or Dragonfly.", + "default": "Honeybee", + "type": "string" + }, + "fatal_error": { + "title": "Fatal Error", + "description": "A text string containing an exception if the Model failed to serialize. It will be an empty string if serialization was successful.", + "default": "", + "type": "string" + }, + "errors": { + "title": "Errors", + "description": "A list of objects for each error that was discovered in the model. This will be an empty list or None if no errors were found.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ValidationError" + } + } + }, + "required": [ + "app_version", + "schema_version", + "valid" + ] + } + ], + "title": "ValidationReport", + "discriminator": { + "propertyName": "type" + } + }, + "_OpenAPIGenBaseModel": { + "title": "_OpenAPIGenBaseModel", + "type": "object", + "properties": { + "type": { + "title": "Type", + "description": "A base class to use when there is no baseclass available to fall on.", + "default": "InvalidType", + "type": "string", + "readOnly": true + } + }, + "discriminator": { + "propertyName": "type" + } + } + } + } +} \ No newline at end of file diff --git a/validation-report_mapper.json b/validation-report_mapper.json new file mode 100644 index 0000000..c9c4bc8 --- /dev/null +++ b/validation-report_mapper.json @@ -0,0 +1,14 @@ +{ + "classes": { + "LineSegment3D": "honeybee_schema.geometry", + "Point3D": "honeybee_schema.geometry", + "ValidationError": "honeybee_schema.validation", + "ValidationParent": "honeybee_schema.validation", + "ValidationReport": "honeybee_schema.validation" + }, + "enums": { + "ExtensionTypes": "honeybee_schema.validation", + "ObjectTypes": "honeybee_schema.validation", + "ParentTypes": "honeybee_schema.validation" + } +} \ No newline at end of file