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'