- 积分
- 19070
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-4-23
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2025-3-17 17:17:40
|
显示全部楼层
python用np.trapz和NCL用vibeta积分原理上结果都一样,但是要注意3点:
1、一律都不要化作dp,而是直接用气压层p去计算!!
对你没有看错,什么NCL的dp = dpres_plevel_Wrap(p, pbot, ptop, 0)
或者python仿照这个函数做的
def dpres_plevel(p_hpa):
dp = (p_hpa[:-1] - p_hpa[1:]) * 100
return dp
p_sorted = np.array([1000, 925, 850, 700, 600, 500, 400, 300, 250, 200, 150, 125, 100])
dp = dpres_plevel(p_sorted)
print(dp)
都不要!!一律都直接用气压层直接计算!
2、建议都直接用hPa计算,方便直观,不用乘以100!pattern也不会错!!
3、python直接计算即可,无所谓气压层的方向(1000-125或125-1000hPa),而NCL的vibeta中需要的变量必须都是从地面到高空!!这里NCEP的数据无所谓,ERA5的数据是从125-1000hPa的,必须转置方向,否则就是错的!
注意这里python如果数据本身是125-1000hPa,那p和数据都不用专门转置方向,直接用即可,要是专门转置算出来也是错的! |
|