Source code for ladybug.datatype.temperature

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

from .base import DataTypeBase


[docs]class Temperature(DataTypeBase): """Temperature """ _units = ('C', 'F', 'K') _si_units = ('C', 'K') _ip_units = ('F') _min = -273.15 _abbreviation = 'T' def _C_to_F(self, value): return value * 9. / 5. + 32. def _C_to_K(self, value): return value + 273.15 def _F_to_C(self, value): return (value - 32.) * 5. / 9. def _K_to_C(self, value): return value - 273.15
[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('C', 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.""" if from_unit == 'F': return values, from_unit else: return self.to_unit(values, 'F', from_unit), 'F'
[docs] def to_si(self, values, from_unit): """Return values in SI and the units to which the values have been converted.""" if from_unit == 'C' or from_unit == 'K': return values, from_unit else: return self.to_unit(values, 'C', from_unit), 'C'
[docs]class DryBulbTemperature(Temperature): _abbreviation = 'DBT'
[docs]class DewPointTemperature(Temperature): _abbreviation = 'DPT'
[docs]class WetBulbTemperature(Temperature): _abbreviation = 'WBT'
[docs]class SkyTemperature(Temperature): _abbreviation = 'Tsky'
[docs]class GroundTemperature(Temperature): _abbreviation = 'Tground'
[docs]class AirTemperature(Temperature): _abbreviation = 'Tair'
[docs]class RadiantTemperature(Temperature): _abbreviation = 'Trad'
[docs]class OperativeTemperature(Temperature): _abbreviation = 'To'
[docs]class MeanRadiantTemperature(Temperature): _abbreviation = 'MRT'
[docs]class WetBulbGlobeTemperature(Temperature): _abbreviation = 'WBGT'
[docs]class WindChillTemperature(Temperature): _abbreviation = 'WCT'
[docs]class HeatIndexTemperature(Temperature): _abbreviation = 'HIT'
[docs]class StandardEffectiveTemperature(Temperature): _abbreviation = 'SET'
[docs]class UniversalThermalClimateIndex(Temperature): _abbreviation = 'UTCI'
[docs]class PhysiologicalEquivalentTemperature(Temperature): _abbreviation = 'PET'
[docs]class CoreBodyTemperature(Temperature): _abbreviation = 'Tcore'
[docs]class SkinTemperature(Temperature): _abbreviation = 'Tskin'
[docs]class ClothingTemperature(Temperature): _abbreviation = 'Tclo'
[docs]class PrevailingOutdoorTemperature(Temperature): _abbreviation = 'Tprevail'