- 积分
- 34
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2022-7-31
- 最后登录
- 1970-1-1
|
10金钱
已经有了海平面气压、气温和相对湿度数据,请问应该怎样计算湿球温度呢
之前那用这个公式计算,感觉结果不对。
path1 = r'E:\TC_projection\ERA5_hourly\mslp\TC_late_pre\on_land_date+20_mslp.nc'
pre = xr.open_dataset(path1)
pressure = (np.nanmean(pre['msl'][:,:82,141:222],axis=0))/100
df=pre['msl'][:,:82,141:222]
path2 = r'E:\TC_projection\CN05.1_Tmax\on_land_date+20_tmax.nc'
tmax = xr.open_dataset(path2)
Tmax = np.nanmean(tmax['tmax'][:,:82,141:222],axis=0)
path3 = r'E:\TC_projection\CN05.1\rh\on_land_date+20_rh.nc'
rhu = xr.open_dataset(path3)
RH = np.nanmean(rhu['rhu'][:,:82,141:222],axis=0)
def dew_point_temp(T, RH):
A = 17.27
B = 237.7
alpha = ((A * T) / (B + T)) + np.log(RH / 100.0)
return (B * alpha) / (A - alpha)
def wet_bulb_temp(T, RH, pressure):
T_dew = dew_point_temp(T, RH)
alpha = ((17.27 * T) / (237.7 + T)) + np.log(RH / 100.0)
numerator = T * np.arctan(0.151977 * np.sqrt(RH + 8.313659)) + np.arctan((T + alpha) /
(1 + 0.00391838 * alpha)) - np.arctan(alpha * (RH - 1.676331)) +
(0.00391838 * (RH ** 1.5) / (1 + 0.023101 * RH)) * np.arctan(0.023101 * RH) - 4.686035
denominator = 1 + 0.00391838 * alpha
Tw = numerator / denominator
return Tw
|
|