{ "openapi": "3.0.2", "servers": [], "info": { "description": "Honeybee simulation-parameter schema.", "version": "1.57.1", "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 } } } }