爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索

[经验总结] python画假相当位温叠加温度平流剖面图(附代码)

[复制链接]

新浪微博达人勋

 楼主| 发表于 2024-6-18 17:27:55 | 显示全部楼层
雨一直下 发表于 2024-6-15 10:47
请问下载的era5数据是全要素全尺寸下载吗,还是说设定了范围

这个看自己需求~~一般选择需要的区域范围就行~~这个图的数据设定过范围的,level只用了17层,200-850hpa
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2024-6-18 17:30:29 | 显示全部楼层
aa... 发表于 2024-6-3 19:36
哦其实是我运行出来的温度平流变成Array格式了,不应该是DataArray吗

是不是你对数据进行过处理,比如滤波或者去趋势后可能数据格式就变了~
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-8-1 12:50:45 | 显示全部楼层
西红柿毛毛雨 发表于 2024-6-18 17:27
这个看自己需求~~一般选择需要的区域范围就行~~这个图的数据设定过范围的,level只用了17层,200-850hpa

好的感谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-8-7 17:16:55 | 显示全部楼层
感谢楼主分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-12-19 16:49:34 | 显示全部楼层
您好,请问这行代码里取点是23.25N,99.5E,请问是如何转换成267,397的呢?t_thetase =t[:,:,267,397],以及计算温度平流里tadv=np.zeros((36,17,361,401)),这四个数字分别是什么意思,可以解答一下吗,不胜感激
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-12-20 06:23:57 来自手机 | 显示全部楼层
西红柿毛毛雨 发表于 2024-1-8 15:37
主要是假相当位温涉及公式自己计算,代码里它的变量和公式定义的很清楚了,我也只是在论坛里看的帖子,也 ...

MetPy.calc.equivalent_potential_temperature()计算的就是假相当位温,无需自己重新实现公式计算。【雷小Py-033:物理量拾遗-假相当位温_CAPE_2024.11.21-哔哩哔哩】 https://b23.tv/dLJTymo
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2024-12-20 07:40:18 | 显示全部楼层
edwardli 发表于 2024-12-20 06:23
MetPy.calc.equivalent_potential_temperature()计算的就是假相当位温,无需自己重新实现公式计算。【雷 ...

谢谢李老师分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2024-12-20 08:28:20 | 显示全部楼层
一物栽 发表于 2024-12-19 16:49
您好,请问这行代码里取点是23.25N,99.5E,请问是如何转换成267,397的呢?t_thetase =t[:,:,267,397],以及 ...

原始数据变量t_thetase有四个维度,分别是time,level,lat,lon,这里在切片的时候时间维和高度层这两个默认全取,纬度“267”切片出现就是23.25N,同理经度“397”切片出来就是99.5E,这和你下载的格点数据分辨率有关,大概算一下就是知道你要取的经纬度在切片的哪个位置。另外还可以直接用loc方法,直接选出来例如data = f['t_thetase'].loc[:,23.25,99.5]。tadv=np.zeros((36,17,361,401))36是时间维,17是高度层数,361是纬度格点数,401是经度格点数,这个和要画图的格点范围有关。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-12-24 11:05:01 | 显示全部楼层
西红柿毛毛雨 发表于 2024-12-20 08:28
原始数据变量t_thetase有四个维度,分别是time,level,lat,lon,这里在切片的时候时间维和高度层这两个 ...

非常感谢!!!!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-12-24 12:10:46 来自手机 | 显示全部楼层
西红柿毛毛雨 发表于 2024-12-20 08:28
原始数据变量t_thetase有四个维度,分别是time,level,lat,lon,这里在切片的时候时间维和高度层这两个 ...

返回的数据结构还是xarray.dataset 或者dataarray,极其推荐使用ds.sel(longitude=112.5, latitude=24.25),再也不用数下标,这也是为什么要在“光秃秃”的numpy.ndarray纯数组上打“标签”变成更高级的数据结构的初衷、优势。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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