前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用WRFOUT绘制最大对流有效位能与最大对流抑制能量

如何使用WRFOUT绘制最大对流有效位能与最大对流抑制能量

作者头像
用户11172986
发布2024-06-20 19:27:21
750
发布2024-06-20 19:27:21
举报
文章被收录于专栏:气python风雨气python风雨

前言

对流有效位能(Convective Available Potential Energy,简称CAPE)是气象学中的一个重要概念,特别是在研究大气不稳定性和对流天气(如雷暴、龙卷风等)的形成机制时。CAPE 描述了在给定的大气状态下,如果空气团能够自由上升并通过绝热过程膨胀冷却,它所具有的潜在能量。这种能量可以被看作是由于温度层结不稳定性而储存于大气中,当条件允许时,可以转换为动能,驱动强烈的对流活动。

CAPE 的计算通常基于环境大气的温度和湿度廓线。具体来说,它是通过比较一个假想的干绝热 parcel(即假设其上升过程中不与周围环境交换热量和水汽的理想化空气包)从其起始位置上升到平衡高度(这个高度上parcel的温度等于环境大气的温度,即 parcel不再具有浮力)时所释放的位能,与该parcel实际包含的位能(考虑湿绝热过程,因为实际空气中含有水汽,水汽凝结释放潜热会进一步增加其上升能力)之间的差值来确定的。

高CAPE值表明大气具有很强的不稳定能量,意味着如果有一个触发机制(如地形抬升、锋面、局地加热等)促使空气开始上升,就可能发展成强烈的对流风暴。反之,低CAPE值对应较为稳定的大气状况,对流活动较弱或不易发生。因此,CAPE是天气预报中评估对流风暴潜在强度和组织性的一个关键参数。

CAPE可以用单位质量的上升气块在重力和浮力的合力作用下所做的功来度量,公式如下

对流有效位能正是一个同时包含低层 、高层空气特性 的参数 ,被认为 能较真实地描述探空资料所代 的大气不稳定度

本文旨在为初学者解惑,详细介绍如何从WRF模拟结果中提取最大cape,并利用Python等现代科学计算工具将其可视化。:

tips:

  1. 理解WRF输出文件结构:首先,简要解析WRFOUT文件的内容与格式, ,我们要结合wrfpython和netcdf读取它
  2. 雷达反射率的提取:基于wrfpython的getvar直接获取最大对流有效位能
  3. 可视化实现:利用matplotlib将计算出的雷达反射率数据转化为填色图
  4. 实战演练与优化:通过一个完整的示例代码,使得读者能够简单获得较好的学习体验

温馨提示

由于可视化代码过长隐藏,

可点击如何使用WRFOUT绘制最大对流有效位能与最大对流抑制能量

运行Fork查看 🔜🔜若没有成功加载可视化图,点击运行可以查看 ps:隐藏代码在【代码已被隐藏】所在行,点击所在行,可以看到该行的最右角,会出现个三角形,点击查看即可

导入与读取

In [3]:

代码语言:javascript
复制
代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
import cartopy.crs as crs
from netCDF4 import Dataset
from meteva.base.tool.plot_tools import add_china_map_2basemap
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
from wrf import getvar, get_cartopy, latlon_coords, cartopy_xlim, cartopy_ylim
import glob
import os
import cmaps
代码语言:javascript
复制

In [4]:

代码语言:javascript
复制
代码语言:javascript
复制
wrf ='/home/mw/input/typhoon9537/wrfout_d01_2019-08-09_06_00_00'
ncfile = Dataset(wrf)
    
    # Get the maximum reflectivity
cape_2d = getvar(ncfile, "cape_2d")  
cape_max = cape_2d[0]  
cape_max
代码语言:javascript
复制

Out[4]:

看到上面变量的description 了吗 description : mcape ; mcin ; lcl ; lfc

因为我们需要绘制最大cape,所以做了数据裁剪 它们分别是对流有效位能、对流抑制能量、抬升凝结高度、自由对流高度

xarray简单可视化

In [5]:

代码语言:javascript
复制
代码语言:javascript
复制
cape_max.plot()
代码语言:javascript
复制

Out[5]:

代码语言:javascript
复制
<matplotlib.collections.QuadMesh at 0x7fba94de9880>

In [7]:

代码语言:javascript
复制
代码语言:javascript
复制
cape_2d[1].plot()
代码语言:javascript
复制

Out[7]:

代码语言:javascript
复制
<matplotlib.collections.QuadMesh at 0x7fb9dfb0b580>

简单可视化可以得知数据大小范围,方便后面绘图

利奇马台风降水个例 对流有效位能

利奇马台风降水个例 对流抑制CIN

上面调整子图间距使用了这个函数 plt.subplots_adjust(bottom=0.2,wspace=0.1,hspace=0.1)

欢迎前往和鲸社区点赞评论与运行

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气python风雨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 温馨提示
  • 导入与读取
  • xarray简单可视化
  • 利奇马台风降水个例 对流有效位能
  • 利奇马台风降水个例 对流抑制CIN
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档