Source code for ladybug.datatype.thermalcondition

# coding=utf-8
"""Thermal condition data type."""
from __future__ import division

from .base import DataTypeBase


[docs]class ThermalCondition(DataTypeBase): """Thermal Condition """ _units = ('condition', 'PMV') _si_units = ('condition', 'PMV') _ip_units = ('condition', 'PMV') _min = -1 _max = 1 _abbreviation = 'Tcond' _unit_descr = {-1: 'Cold', 0: 'Neutral', 1: 'Hot'} def _condition_to_PMV(self, value): return value def _PMV_to_condition(self, value): return value
[docs] def to_unit(self, values, unit, from_unit): """Return values converted to the unit given the input from_unit.""" return self._to_unit_base('condition', values, unit, from_unit)
[docs] def to_ip(self, values, from_unit): """Return values in IP and the units to which the values have been converted.""" return values, from_unit
[docs] def to_si(self, values, from_unit): """Return values in SI and the units to which the values have been converted.""" return values, from_unit
[docs]class PredictedMeanVote(ThermalCondition): _min = float('-inf') _max = float('+inf') _abbreviation = 'PMV' _unit_descr = {-3: 'Cold', -2: 'Cool', -1: 'Slightly Cool', 0: 'Neutral', 1: 'Slightly Warm', 2: 'Warm', 3: 'Hot'}
[docs]class ThermalComfort(ThermalCondition): _min = 0 _max = 1 _abbreviation = 'TC' _unit_descr = {1: 'Comfortable', 0: 'Uncomfortable'}
[docs]class DiscomfortReason(ThermalCondition): _min = -2 _max = 2 _abbreviation = 'RDiscomf' _unit_descr = {-2: 'Too Dry', -1: 'Too Cold', 0: 'Comfortable', 1: 'Too Hot', 2: 'Too Humid'}
[docs]class ThermalConditionFivePoint(ThermalCondition): _min = -2 _max = 2 _abbreviation = 'Tcond-5' _unit_descr = {-2: 'Strong Cold', -1: 'Moderate Cold', 0: 'No Thermal Stress', 1: 'Moderate Heat', 2: 'Strong Heat'}
[docs]class ThermalConditionSevenPoint(ThermalCondition): _min = -3 _max = 3 _abbreviation = 'Tcond-7' _unit_descr = {-3: 'Extreme Cold', -2: 'Strong Cold', -1: 'Moderate Cold', 0: 'No Thermal Stress', 1: 'Moderate Heat', 2: 'Strong Heat', 3: 'Extreme Heat'}
[docs]class ThermalConditionNinePoint(ThermalCondition): _min = -4 _max = 4 _abbreviation = 'Tcond-9' _unit_descr = {-4: 'Extreme Cold', -3: 'Strong Cold', -2: 'Moderate Cold', -1: 'Slight Cold', 0: 'No Thermal Stress', 1: 'Slight Heat', 2: 'Moderate Heat', 3: 'Strong Heat', 4: 'Extreme Heat'}
[docs]class ThermalConditionElevenPoint(ThermalCondition): _min = -5 _max = 5 _abbreviation = 'Tcond-11' _unit_descr = {-5: 'Extreme Cold', -4: 'Very Strong Cold', -3: 'Strong Cold', -2: 'Moderate Cold', -1: 'Slight Cold', 0: 'No Thermal Stress', 1: 'Slight Heat', 2: 'Moderate Heat', 3: 'Strong Heat', 4: 'Very Strong Heat', 5: 'Extreme Heat'}
[docs]class UTCICategory(ThermalCondition): _min = 0 _max = 9 _abbreviation = 'UTCIcond' _unit_descr = {0: 'Extreme Cold Stress', 1: 'Very Strong Cold Stress', 2: 'Strong Cold Stress', 3: 'Moderate Cold Stress', 4: 'Slight Cold Stress', 5: 'No Thermal Stress', 6: 'Moderate Heat Stress', 7: 'Strong Heat Stress', 8: 'Strong Heat Stress', 9: 'Extreme Heat Stress'}
[docs]class CoreTemperatureCategory(ThermalCondition): _min = -2 _max = 2 _abbreviation = 'TCcond' _unit_descr = {-2: 'Hypothermia', -1: 'Cold', 0: 'Normal', 1: 'Hot', 2: 'Hyperthermia'}