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'
[docs]
class NeutralTemperature(Temperature):
_abbreviation = 'Tn'