Source code for honeybee_energy.units

"""Utility functions for converting energy attributes to common units."""
from __future__ import division
import os
import json

units_path = os.path.join(os.path.dirname(__file__), 'units.json')
with open(units_path, 'r') as uf:
    UNITS = json.load(uf)
SAFE = {'__builtins__': {}}


[docs] def convert_people_per_area(value, units='si'): group, atr = 'people', 'people_per_area' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)
[docs] def convert_people_activity_max_sensible(value, units='si'): group, atr = 'people', 'activity_max_sensible' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)
[docs] def convert_people_activity_max_latent(value, units='si'): group, atr = 'people', 'activity_max_latent' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)
[docs] def convert_lighting_watts_per_area(value, units='si'): group, atr = 'lighting', 'watts_per_area' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)
[docs] def convert_electric_equipment_watts_per_area(value, units='si'): group, atr = 'electric_equipment', 'watts_per_area' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)
[docs] def convert_gas_equipment_watts_per_area(value, units='si'): group, atr = 'gas_equipment', 'watts_per_area' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)
[docs] def convert_service_hot_water_flow_per_area(value, units='si'): group, atr = 'service_hot_water', 'flow_per_area' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)
[docs] def convert_service_hot_water_target_temperature(value, units='si'): group, atr = 'service_hot_water', 'target_temperature' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)
[docs] def convert_infiltration_flow_per_exterior_area(value, units='si'): group, atr = 'infiltration', 'flow_per_exterior_area' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)
[docs] def convert_ventilation_flow_per_person(value, units='si'): group, atr = 'ventilation', 'flow_per_person' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)
[docs] def convert_ventilation_flow_per_area(value, units='si'): group, atr = 'ventilation', 'flow_per_area' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)
[docs] def convert_ventilation_flow_per_zone(value, units='si'): group, atr = 'ventilation', 'flow_per_zone' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)
[docs] def convert_ventilation_air_changes_per_hour(value, units='si'): group, atr = 'ventilation', 'air_changes_per_hour' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)
[docs] def convert_setpoint(value, units='si'): group, atr = 'setpoint', 'heating_setpoint' return eval(UNITS[group][atr]['convert_to_{}'.format(units)].format(x=value), SAFE)