honeybee-energy-standards
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:
Installation
pip install honeybee-energy-standards
QuickStart
import honeybee_energy_standards
Local Development
- 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()
ashrae_standards = 'C:/Users/chris/Documents/GitHub/nrel/openstudio-standards/lib/' \
'openstudio-standards/standards/ashrae_90_1/'
clean_all(ashrae_standards)
import standards_update._change_to_standards_data
convert_to_hb_json()
remove_all()
The 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 example
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 a schedule.json
file. - The
constructionsets
and programtypes
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 the
constructions
sub-folder.