{
"openapi": "3.0.2",
"servers": [],
"info": {
"description": "This is the documentation for Honeybee energy simulation parameter schema.",
"version": "0.0.1",
"title": "Honeybee Energy 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": "daylightsavingtime_model",
"x-displayName": "DaylightSavingTime",
"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": "humiditycondition_model",
"x-displayName": "HumidityCondition",
"description": "\n"
},
{
"name": "humiditytypes_model",
"x-displayName": "HumidityTypes",
"description": "\n"
},
{
"name": "runperiod_model",
"x-displayName": "RunPeriod",
"description": "\n"
},
{
"name": "daysofweek_model",
"x-displayName": "DaysOfWeek",
"description": "\n"
},
{
"name": "shadowcalculation_model",
"x-displayName": "ShadowCalculation",
"description": "\n"
},
{
"name": "solardistribution_model",
"x-displayName": "SolarDistribution",
"description": "\n"
},
{
"name": "calculationmethod_model",
"x-displayName": "CalculationMethod",
"description": "\n"
},
{
"name": "calculationupdatemethod_model",
"x-displayName": "CalculationUpdateMethod",
"description": "\n"
},
{
"name": "simulationcontrol_model",
"x-displayName": "SimulationControl",
"description": "\n"
},
{
"name": "simulationoutput_model",
"x-displayName": "SimulationOutput",
"description": "\n"
},
{
"name": "reportingfrequency_model",
"x-displayName": "ReportingFrequency",
"description": "\n"
},
{
"name": "simulationparameter_model",
"x-displayName": "SimulationParameter",
"description": "\n"
},
{
"name": "terriantypes_model",
"x-displayName": "TerrianTypes",
"description": "\n"
},
{
"name": "sizingparameter_model",
"x-displayName": "SizingParameter",
"description": "\n"
},
{
"name": "windcondition_model",
"x-displayName": "WindCondition",
"description": "\n"
}
],
"x-tagGroups": [
{
"name": "Models",
"tags": [
"ashraeclearsky_model",
"ashraetau_model",
"calculationmethod_model",
"calculationupdatemethod_model",
"daylightsavingtime_model",
"daysofweek_model",
"designday_model",
"designdaytypes_model",
"drybulbcondition_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": {
"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": {
"allOf": [
{
"$ref": "#/components/schemas/ReportingFrequency"
}
],
"title": "Reporting Frequency",
"default": "Hourly",
"type": "string"
},
"include_sqlite": {
"title": "Include Sqlite",
"description": "Boolean to note whether a SQLite report should be requested from the simulation.",
"default": true,
"type": "boolean"
},
"include_html": {
"title": "Include Html",
"description": "Boolean to note whether an HTML report should be requested from the simulation.",
"default": true,
"type": "boolean"
},
"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"
}
}
},
"additionalProperties": false
},
"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
],
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"minItems": 2,
"maxItems": 3
},
"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
],
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"minItems": 2,
"maxItems": 3
}
},
"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
],
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"minItems": 2,
"maxItems": 2
},
"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
],
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"minItems": 2,
"maxItems": 2
},
"start_day_of_week": {
"allOf": [
{
"$ref": "#/components/schemas/DaysOfWeek"
}
],
"title": "Start Day Of Week",
"description": "Text for the day of the week on which the simulation starts.",
"default": "Sunday",
"type": "string"
},
"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.",
"minItems": 2,
"maxItems": 2,
"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
},
"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": {
"allOf": [
{
"$ref": "#/components/schemas/SolarDistribution"
}
],
"title": "Solar Distribution",
"default": "FullExteriorWithReflections",
"type": "string"
},
"calculation_method": {
"allOf": [
{
"$ref": "#/components/schemas/CalculationMethod"
}
],
"title": "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",
"type": "string"
},
"calculation_update_method": {
"allOf": [
{
"$ref": "#/components/schemas/CalculationUpdateMethod"
}
],
"title": "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",
"type": "string"
},
"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
},
"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 thedesign 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
},
"HumidityCondition": {
"title": "HumidityCondition",
"description": "Used to specify humidity conditions on a design day.",
"type": "object",
"properties": {
"humidity_type": {
"allOf": [
{
"$ref": "#/components/schemas/HumidityTypes"
}
],
"title": "Humidity Type",
"type": "string"
},
"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).",
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"minItems": 2,
"maxItems": 3
},
"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).",
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"minItems": 2,
"maxItems": 3
},
"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": {
"allOf": [
{
"$ref": "#/components/schemas/DesignDayTypes"
}
],
"title": "Day Type",
"type": "string"
},
"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
},
"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"
}
},
"additionalProperties": false
},
"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": {
"allOf": [
{
"$ref": "#/components/schemas/TerrianTypes"
}
],
"title": "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",
"type": "string"
}
},
"additionalProperties": false
},
"DesignDayTypes": {
"title": "Day Type",
"enum": [
"SummerDesignDay",
"WinterDesignDay",
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Holiday",
"CustomDay1",
"CustomDay2"
],
"type": "string"
},
"HumidityTypes": {
"title": "Humidity Type",
"enum": [
"Wetbulb",
"Dewpoint",
"HumidityRatio",
"Enthalpy"
],
"type": "string"
},
"DaysOfWeek": {
"title": "Start Day Of Week",
"description": "Text for the day of the week on which the simulation starts.",
"default": "Sunday",
"enum": [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"type": "string"
},
"SolarDistribution": {
"title": "Solar Distribution",
"default": "FullExteriorWithReflections",
"enum": [
"MinimalShadowing",
"FullExterior",
"FullInteriorAndExterior",
"FullExteriorWithReflections",
"FullInteriorAndExteriorWithReflections"
],
"type": "string"
},
"CalculationMethod": {
"title": "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",
"enum": [
"PolygonClipping",
"PixelCounting"
],
"type": "string"
},
"CalculationUpdateMethod": {
"title": "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",
"enum": [
"Periodic",
"Timestep"
],
"type": "string"
},
"ReportingFrequency": {
"title": "Reporting Frequency",
"default": "Hourly",
"enum": [
"Timestep",
"Hourly",
"Daily",
"Monthly",
"Annual"
],
"type": "string"
},
"TerrianTypes": {
"title": "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",
"enum": [
"Ocean",
"Country",
"Suburbs",
"Urban",
"City"
],
"type": "string"
}
}
}
}