Weather

来自Jack's Lab
(版本间的差异)
跳转到: 导航, 搜索
(Heat Index)
 
(未显示1个用户的12个中间版本)
第6行: 第6行:
  
 
* https://himawari8.nict.go.jp/
 
* https://himawari8.nict.go.jp/
 +
 +
 +
<br><br>
 +
 +
== Heat Index ==
 +
 +
体感温度 (Felt Air Temperature),是指人体感受空气的温度。
 +
 +
这是因为其他与气候相关的状况,使空气和人体之间的热对流受到影响,从而使人感觉的度与实际有分别,因此又称表观气温(Apparent Air Temperature)。
 +
 +
空气对热的吸收会受到相对湿度及其密度影响;而风速会影响到与人体表面可以接触到的空气的分量,当风速增加时,与人体所接触的空气会增加,所以其所带走或带来的热量亦相应地增加,这现象便是“风寒指数”
 +
 +
 +
* NOAA 计算器: https://www.wpc.ncep.noaa.gov/html/heatindex.shtml 或者:https://www.weather.gov/epz/wxcalc_heatindex
 +
 +
* 原理:https://www.weather.gov/ama/heatindex
 +
 +
 +
[[文件:Heat-index-equation.png]]
 +
 +
 +
其中,T 为气温,℃、e 为水汽压,hPa、V 为风速,m/sec、RH 为相对湿度 %
 +
 +
<source lang=python>
 +
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))
 +
</source>
 +
 +
<source lang=bash>
 +
7.58
 +
9.41
 +
8.49
 +
10.21
 +
</source>
 +
 +
<br><br>
 +
 +
== 风力及风寒效应 ==
 +
 +
风力表 (表中速度单位为节,即海里每小时,1节=1.852公里每小时):
 +
 +
[[文件:风寒系数01.png]]
 +
 +
[[文件:风寒系数02.jpg]]
 +
 +
[[文件:风寒系数03.png]]
  
  

2020年11月4日 (三) 15:09的最后版本

目录

[编辑] 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









个人工具
名字空间

变换
操作
导航
工具箱