Weather

来自Jack's Lab
跳转到: 导航, 搜索

目录

1 Overview




2 Heat Index

体感温度 (Felt Air Temperature),是指人体感受空气的温度。

这是因为其他与气候相关的状况,使空气和人体之间的热对流受到影响,从而使人感觉的度与实际有分别,因此又称表观气温(Apparent Air Temperature)。

空气对热的吸收会受到相对湿度及其密度影响;而风速会影响到与人体表面可以接触到的空气的分量,当风速增加时,与人体所接触的空气会增加,所以其所带走或带来的热量亦相应地增加,这现象便是“风寒指数”



Heat-index-equation.png


其中,T 为气温,℃、e 为水汽压,hPa、V 为风速,m/sec、RH 为相对湿度 %

import math

'''NOAA计算体感温度 参数为气温(摄氏度)和相对湿度(0~100或者0~1)'''

def heat_index(T, RH):
    if RH < 1:
        RH *= 100
    T = 1.8 * T + 32
    HI = 0.5 * (T + 61 + (T - 68) * 1.2 + RH * 0.094)
    if HI >= 80:  # 如果不小于 80华氏度 则用完整公式重新计算
        HI = -42.379 + 2.04901523 * T + 10.14333127 * RH - .22475541 * T * RH \
             - .00683783 * T * T - .05481717 * RH * RH + .00122874 * T * T * RH \
             + .00085282 * T * RH * RH - .00000199 * T * T * RH * RH
        if RH < 13 and 80 < T < 112:
            ADJ = (13 - RH) / 4 * math.sqrt((17 - abs(T - 95)) / 17)
            HI -= ADJ
        elif RH > 85 and 80 < T < 87:
            ADJ = (RH - 85) * (87 - T) / 50
            HI += ADJ
    return round((HI - 32) / 1.8, 2)

def heat_idx(T, RH, V):
    e = RH / 100.0 * 6.105 * math.exp((17.27 * T)/(237.27 + T))
    hi = 1.07 * T + 0.2 * e - 0.065 * V - 2.7
    return round(hi, 2)

print (heat_index(10, 20))
print (heat_index(10, 90))
print (heat_idx(10, 20, 0))
print (heat_idx(10, 90, 0))
7.58
9.41
8.49
10.21



3 风力及风寒效应

风力表 (表中速度单位为节,即海里每小时,1节=1.852公里每小时):

风寒系数01.png

风寒系数02.jpg

风寒系数03.png




4 Reference

化学分子式生成: https://avogadr.io









个人工具
名字空间

变换
操作
导航
工具箱