- 积分
- 2007
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2016-4-7
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
问题:整层水汽通量的大致范围应该是200-400,水汽通量散度大概在-2-2为什么算出来的水汽通量最大值是1514,水汽通量散度是-0.5-0.5问题到底出在哪里呀
# 读取数据
ds = xr.open_dataset('G:/LPT/postvar202007051200100.nc')
# 读取1000-300hPa风场和比湿
q = ds['SPFH_P0_L100_GLL0'].sel(lv_ISBL0=slice(30000,100000))#单位:kg/kg
q = q[::-1,::-1, :]# 确保气压是递减的(从地面到高空),纬度为从南到北
u = ds['UGRD_P0_L100_GLL0'].sel(lv_ISBL0=slice(30000,100000))#单位:m/s
u = u[::-1,::-1, :]
v = ds['VGRD_P0_L100_GLL0'].sel(lv_ISBL0=slice(30000,100000))
v = v[::-1,::-1, :]
# 计算水汽通量
g = 9.81# 重力加速度
qx = q * u / g # 东西向水汽通量
qy = q * v / g # 南北向水汽通量
# 计算整层水汽通量
qu_total = np.trapz(qx, q.lv_ISBL0, axis=0) # 东西向整层水汽通量 (kg/(m·s))
qv_total = np.trapz(qy, q.lv_ISBL0, axis=0) # 南北向整层水汽通量 (kg/(m·s))
print(qu_total.max(),qv_total.max())
# 计算水汽通量的大小
water_vapor_flux = np.sqrt(qu_total ** 2 + qv_total ** 2)
print(water_vapor_flux.max())#1514.4551# 读取经度和纬度变量
lons = q.lon_0
lats = q.lat_0
# 计算网格间距
dx, dy = mpcalc.lat_lon_grid_deltas(lons, lats)
# 计算整层水汽通量散度
div_total = mpcalc.divergence(qu_total, qv_total, dx=dx, dy=dy)
print(div_total.max(), div_total.min())#0.4894305675005015 -0.5806067644805083
|
|