Beispiel #1
0
def humidexC(t_C, rh):
    """Calculate the humidex
    Reference (look under heading "Humidex"):
    http://climate.weather.gc.ca/climate_normals/normals_documentation_e.html?docID=1981

    t_C - temperature in degree Celsius

    rh - relative humidity [0-100]

    Examples:
    >>> print "%.2f" % humidexC(30.0, 80.0)
    43.64
    >>> print "%.2f" % humidexC(30.0, 20.0)
    30.00
    >>> print "%.2f" % humidexC(0, 80.0)
    0.00
    >>> print humidexC(30.0, None)
    None
    """
    try:
        dp_C = dewpointC(t_C, rh)
        dp_K = CtoK(dp_C)
        e = 6.11 * math.exp(5417.7530 * (1 / 273.16 - 1 / dp_K))
        h = 0.5555 * (e - 10.0)
    except (ValueError, OverflowError, TypeError):
        return None

    return t_C + h if h > 0 else t_C
Beispiel #2
0
def _etterm(elev_meter, t_C):
    """Calculate elevation/temperature term for sea level calculation."""
    t_K = CtoK(t_C)
    return math.exp(-elev_meter / (t_K * 29.263))