1

Metpy 提供了一个函数来计算基于表面的 CAPE (metpy.calc.surface_based_cape_cin) 或基于起始压力的 CAPE (metpy.calc.cape_cin)。见:https ://unidata.github.io/MetPy/latest/api/generated/metpy.calc.html#module-metpy.calc

但是是否有一种简单的方法或已经存在的特定模块来计算混合层 CAPE(CAPE 是由上升的空气包裹产生的,其起始属性 - 压力,温度,露点温度 - 是表面上方 100 hPa 厚度的混合层的那些)?

在此先感谢您的帮助。

4

2 回答 2

0

MetPy 的cape_cin函数采用任意地块剖面,表示空气地块在大气中上升时的温度。为了获得代表在一定深度上混合的地块的剖面,MetPy 还具有mixed_parcel“确定空气地块的特性,该特性是给定大气层完全混合的结果”。然后可以将此混合包裹传递给 MetPy 的parcel_profile函数,以计算任意包裹上升时的温度:

import mepty.calc as mpcalc

_, t_parcel, td_parcel = mpcalc.mixed_parcel(p, T, Td, depth=100 * units.hPa)
profile = mpcalc.parcel_profile(p, t_parcel, td_parcel)
mpcalc.cape_cin(p, T, Td, profile)

默认情况下mixed_parcel,将混合包裹并将其返回到 中的第一个(假定的表面/起始)压力值p

MetPy 最终应该能够更容易地开箱即用地完成这项工作,但今天仍然有效。

于 2018-10-12T22:22:18.497 回答
0

同时,我确实通过将混合层 mpcalc.mixed_pa​​rcel 模块的输出传递给 mpcalc.surface_based_cape_cin 计算了混合包裹 CAPE/CIN(分别用 mpcalc 返回的 T_mixed_pa​​rcel 和 Td_mixed_pa​​rcel 替换原始探测剖面的表面 T 和 Td。混合包裹)。所以这与@DopplerShift 建议的方式非常相似(唯一的细微差别是我不使用 mpcalc.parcel_profile 步骤,因为 mpcalc.surface_based_cape_cin 自己计算它:参见https://unidata.github.io/MetPy/最新/_modules/metpy/calc/thermo.html#surface_based_cape_cin)。所以:问题解决了(等待 MetPy 最终以更直接的方式实现特定模块的未来实现)。

于 2018-10-19T13:15:50.117 回答