Package: honeybee-energy-standards
honeybee-energy-standardsHoneybee-energy extension for standards, codes, and templates.All of the data that this module adds to thehoneybee-energy.lib comes from theOpenStudio Standards Gemand the masterGoogle Sheets filesthat possess all of the most recent data. The original sources of this data include the following:The US Department of EnergyCommercial Reference Buildings.TheASHRAE Standard 90.1including all versions from 2004 to the present.TheCommercial Buildings Energy Consumption Survey (CBECS), specifically for any templates before ASHRAE Standard 90.1 2004.Installationpip install honeybee-energy-standardsQuickStartimporthoneybee_energy_standardsAPI DocumentationLocal DevelopmentClone this repo locallygit clone git@github.com:ladybug-tools/honeybee-energy-standards#orgit clone https://github.com/ladybug-tools/honeybee-energy-standardsInstall dependencies:cd honeybee-energy-standardspip install -r dev-requirements.txtRun Tests:python -m pytest tests/Re-generate the Data from theOpenStudio Standards Gem(or to update the JSONs based on changes to the honeybee schema)fromstandards_update._util._allimportclean_all,remove_allfromstandards_update._util._to_honeybeeimportconvert_to_hb_json,remove_hb_jsonsremove_hb_jsons()# remove all of the honeybee JSON data that currently exists# generate clean OpenStudio Standards Data JSONs from the gemashrae_standards='C:/Users/chris/Documents/GitHub/nrel/openstudio-standards/lib/'\'openstudio-standards/standards/ashrae_90_1/'clean_all(ashrae_standards)# change the package to load all data from the clean Standards Gem JSONsimportstandards_update._change_to_standards_dataconvert_to_hb_json()# generate Honeybee JSONs from the clean Standards Gem JSONsremove_all()# remove all of the clean Standards Gem JSONs now that they're convertedThe resulting JSON data will be output to the data folder such that it can be
checked before copying it into honeybee_energy_standards.Note to developers using this repo as an exampleDevelopers may use this repository and Python package as a template to create their
own extensions for the library of standards accessible to honeybee_energy. For such
developers, it is important to know the rules that must be followed to have a
successful honeybee energy standards extension. First, any honeybee energy standards
extension must have a package name the starts withhoneybee_energyand ends
withstandards(all words in between are up to the user, barring spaces and
special characters).Second, the following foldersMUSTbe included in any honeybee energy standards
extension:constructionsconstructionsetsschedulesprogramtypesThe following rules must be followed:All JSONs must use theHoneybee Model Schemarepresentation of objects and must be formatted with the name of the object as keys
and the schema definition of the object as values.Theconstructionssub-folder should contain the following files:opaque_material.json,opaque_construction.json,window_material.json,window_constructions.json.
These files should possess objects that match their names.Theschedulessub-folder should have all schedules in aschedule.jsonfile.Theconstructionsetsandprogramtypesfolder can possess any number of JSON
files with their respective objects.Any objects that make up larger objects must be present. For example, all of the
constructions that make up the objects inconstructionsetsmust be found in theconstructionssub-folder.