爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3268|回复: 12

[作图] 利用ERA5数据计算假相当位温并做垂直剖面

[复制链接]

新浪微博达人勋

发表于 2024-2-21 23:09:24 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 lc2016 于 2024-2-22 09:11 编辑
最近用到了剖面图进行诊断分析,总结整理一下,方便以后拿来用。

用era5数据绘制剖面图比较简单,在绘图时选择plot=gsn_csm_contour(vars(:,{38:50},:),res)  ,设置合适的res基本就可以绘制一幅简单的剖面图。但是实际一次天气过程中气象要素场的分布不会是理想的水平或者垂直的,有时可能需要斜着进行剖面来分析,因此就需要插值来得到最终绘图的变量分布。

后来又对程序简单处理了一下,改成了给出任意两点的经纬度值,就可以绘制两点间的剖面。较为通用。但应该也只适用于era5这种等经纬度数据,像wrf那种数据可能需要多一步插值得到等经纬度数据,或者更改合适的插值函数。

利用NCL 处理ERA5数据计算得到多层假相当位温,作假相当位温垂直剖面。

ERA5多气压层,多气象要素,0.25°*0.25°,nc格式,数据下载:https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-pressure-levels?tab=form

需要多个气压层的比湿q和温度,计算得到假相当位温后,通过插值函数插值到设定的经纬度上,绘图即可得到剖面图。

若要叠加地形还需要下载该时刻对应的地面气压数据:https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-single-levels?tab=form


可以对任意两点进行垂直剖面,直接修改参数起始点(lat0,lon0)——结束点(lat1,lon1)即可。


结果参考图:经度剖面:(lat0:35,lon0:110;lat1:35,lon1:120)

经度剖面

经度剖面

纬度剖面:(lat0:35,lon0:116;lat1:44:,lon1:116)

纬度剖面

纬度剖面

任意两点剖面

任意两点

任意两点






surface.nc

385.38 KB, 下载次数: 31, 下载积分: 金钱 -5

theta-example.ncl

5.29 KB, 下载次数: 153, 下载积分: 金钱 -5

example.nc

1.16 MB, 下载次数: 43, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2024-2-25 00:21:02 | 显示全部楼层
是不是上传错附件了,上传nc文件干啥呢,不应该是分享代码吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-2-25 19:01:30 | 显示全部楼层
我之前都是用wrf_user_intrp2d或者wrf_user_intrp3d函数来做插值,感觉还是楼主这个理解起来更简单些
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2024-2-26 09:38:34 | 显示全部楼层
小其其格 发表于 2024-2-25 19:01
我之前都是用wrf_user_intrp2d或者wrf_user_intrp3d函数来做插值,感觉还是楼主这个理解起来更简单些

你说的这两个函数可能适用于wrf那种不规则网格的数据,不过大致思路是差不多的
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2024-2-26 10:31:58 | 显示全部楼层
omak718 发表于 2024-2-25 00:21
是不是上传错附件了,上传nc文件干啥呢,不应该是分享代码吗

有nc文件也有ncl文件
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-7-1 16:17:24 | 显示全部楼层
最近正在搞这个 解燃眉之急 感谢楼主分享 楼主万岁万岁万万岁
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-7-2 15:03:04 | 显示全部楼层
我看脚本里Dxxx取的0.1,资料的分辨率应该是0.1*0.1是吧?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2024-7-3 21:22:17 | 显示全部楼层
星火 发表于 2024-7-2 15:03
我看脚本里Dxxx取的0.1,资料的分辨率应该是0.1*0.1是吧?

这是插值到剖面后的水平分辨率,是我们自己定义的。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-7-16 08:15:39 | 显示全部楼层
感谢这种解释+代码的帖子,参考意义最大,谢谢!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-8-15 17:26:22 | 显示全部楼层
小其其格 发表于 2024-2-25 19:01
我之前都是用wrf_user_intrp2d或者wrf_user_intrp3d函数来做插值,感觉还是楼主这个理解起来更简单些

请问怎么计算wrfout的假相当位温呢,要把每个变量都先wrf_user_intrp3d插值,再按公式进行计算吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表