Honeybee-energy extension for standards, codes, and templates.
All of the data that this module adds to the honeybee-energy.lib comes from the OpenStudio Standards Gem and the master Google Sheets files that possess all of the most recent data. The original sources of this data include the following:
- The US Department of Energy Commercial Reference Buildings.
- The ASHRAE Standard 90.1 including all versions from 2004 to the present.
- The Commercial Buildings Energy Consumption Survey (CBECS), specifically for any templates before ASHRAE Standard 90.1 2004.
pip install honeybee-energy-standards
import honeybee_energy_standards
- Clone this repo locally
git clone git@github.com:ladybug-tools/honeybee-energy-standards
# or
git clone https://github.com/ladybug-tools/honeybee-energy-standards
- Install dependencies:
cd honeybee-energy-standards
pip install -r dev-requirements.txt
- Run Tests:
python -m pytest tests/
- Re-generate the Data from the OpenStudio Standards Gem (or to update the JSONs based on changes to the honeybee schema)
from standards_update._util._all import clean_all, remove_all
from standards_update._util._to_honeybee import convert_to_hb_json, remove_hb_jsons
remove_hb_jsons() # remove all of the honeybee JSON data that currently exists
# generate clean OpenStudio Standards Data JSONs from the gem
ashrae_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 JSONs
import standards_update._change_to_standards_data
convert_to_hb_json() # generate Honeybee JSONs from the clean Standards Gem JSONs
remove_all() # remove all of the clean Standards Gem JSONs now that they're converted
The resulting JSON data will be output to the data folder such that it can be checked before copying it into honeybee_energy_standards.
Developers 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 with honeybee_energy
and ends
with standards
(all words in between are up to the user, barring spaces and
special characters).
Second, the following folders MUST be included in any honeybee energy standards extension:
constructions
constructionsets
schedules
programtypes
The following rules must be followed:
- All JSONs must use the Honeybee Model Schema representation of objects and must be formatted with the name of the object as keys and the schema definition of the object as values.
- The
constructions
sub-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. - The
schedules
sub-folder should have all schedules in aschedule.json
file. - The
constructionsets
andprogramtypes
folder 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 in
constructionsets
must be found in theconstructions
sub-folder.