python气象数据处理与绘图_Python气象数据处理与绘图:纬高图的另一种思路

前言

有些时候为了研究不同高度上气象要素之间的联系,纬度-高度作为xy轴的图在一些SCI论文中比较常见。

这是我研究的CMIP6数据中ua,va,wap,ta这几个气象要素在纬度-高度图上的不同。

读取数据的地方就略去了,需要注意的是需要进行平均,温度转为摄氏度

#W,V为垂直方向和纬向的速度

W=W.wap.mean(("lon", "time",),keep_attrs=True,skipna=True)*100

V=V.va.mean(("lon", "time",),keep_attrs=True,skipna=True)

T_c=T_all.ta-274.15

T=T_c.mean(("lon", "time",),keep_attrs=True,skipna=True)

# 这时数据格式为(plevel,lat)的格式

数据的x轴为lat,y轴为plev。

理解了数据的格式后,转换一下思路就可以画图。

之后就是画图,因为垂直和纬向上风速的量级差的有点大,所以我对这两个风速进行了均一化的处理。

这样箭头就一样大了。

操作

plot=ax.contourf(V.lat, V.plev, V,levels=np.arange(-0.06,0.06+0.01,0.01),

cmap=cmaps.GMT_panoply,

extend='both'

# pivot='middle',

)

cb=fig.colorbar(plot,ax=ax,orientation="horizontal", shrink=0.8,aspect=30,pad=0.1,)

cb.ax.tick_params(labelsize='14')

以上是V风的垂直填色图,下面叠加风矢量图。 间隔取数值,不然箭头太密集。

x=W.lat[::5] #间隔取数值,不然箭头太密集

y=W.plev

u=V[:,::5]

v=W[:,::5]

u_norm = u / np.sqrt(u ** 2.0 + v ** 2.0)

v_norm = v / np.sqrt(u ** 2.0 + v ** 2.0)

# 为什么要加符号,是因为反转y轴的时候,箭头方向不会反转,所以要加符号

ax.quiver(x, y, u_norm, -v_norm,

#pivot='middle',

)

ax.set_xticks([-90,-75,-50,-25,0,25,50,75,90])

ax.set_xticklabels([r'90$^\degree$S',r'75$^\degree$S',r'50$^\degree$S',r'25$^\degree$S',r'0$^\degree$',

r'25$^\degree$N', r'50$^\degree$N',r'75$^\degree$N', r'90$^\degree$N'])

ax.set_ylim(100*100,1000*100)

#绘制温度等值线,将负轮廓设置为实线而不是虚线

plt.rcParams['contour.negative_linestyle'] = 'solid'

CS=ax.contour(T.lat,T.plev,T,30,

colors='k',)

ax.clabel(CS, inline=1, fontsize=10)

ax.invert_yaxis()

ax.set_yscale('symlog')

#手动设置高度范围

ax.set_yticks([100000,925*100,850*100,700*100,50000,20000,10000])

ax.set_yticklabels([1000,925,850,700,500,200,100])

好了,图的效果在这里。

e8033de081fe

e.g.

最后

需要注意的地方就是反转y轴以及改为对数坐标,但这还远远不够。因为可能和我们要的效果不太一样,还要手动修改一下ylabel,这样和我们要的结果就一致了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302882.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新的一年

1、学习一种新语言,框架或方法 2、让你掌握的内容更精深 3、探索一个新的领域 4、参与社区 5、教导他人 6、更好地照顾自己 7、更好的管理自己的时间(以及其他资源)

.Net Core 集成 Kafka

最近维护的一个系统并发有点高,所以想引入一个消息队列来进行削峰。考察了一些产品,最终决定使用kafka来当做消息队列。以下是关于kafka的一些知识的整理笔记。kafkakafka 是分布式流式平台。它由linkedin开发,后贡献给了Apache开源组织并成为…

如果生活中没有数学,那么。。。

随着科技的快速发展,人工智能的重要性日渐显现。对于大多数新手来说,弄清楚入门人工智能需要哪些数学基础、需要熟悉什么框架等,都至关重要。机器学习是一个异常丰富的研究领域,有大量未解决的问题:公正、可解释性、易…

mysql5.6查看归档_MySQL5.6 使用 pt-archiver 分批删除、归档数据

pt-archiver是一个十分高效的表数据归档工具,归档数据可以分批进行事务处理,减少性能消耗;如果实例开启了GTID,因为GTID不支持CTAS创建表的语法,可以使用pt-archiver处理;对于跨实例或者跨服务器的表数据归…

Python学习笔记整理(三)Python中的动态类型简介

Python中只有一个赋值模型 一、缺少类型声明语句的情况 在Python中,类型是在运行过程中自动决定的,而不是通过代码声明。这意味着没有必要事声明变量。只要记住,这个概念实质上对变量,对象和它们之间的关系都适用。那么这个概念也…

Microsoft宣布将停止支持多个 .NET Framework版本

Microsoft 宣布,使用传统的、不安全的安全哈希算法1(SHA-1)签名的多个 .NET 框架版本将在明年停止支持。据 .NET 首席工程经理 Jamshed Damkewala 表示,.NET 框架 4.5.2、4.6 和 4.6.1 将在 2022 年 4 月 26 日后停止支持&#xf…

算法有偏见?总比人类识别强吧!

在讨伐算法导致的偏见和产生的作用时,更重要的问题是:与完全没有使用算法的情况相比是怎样的?我们应该比较算法的缺陷与人类的缺陷,而不是简单地询问算法是否存在缺陷。一场革命正在悄然进行。这场革命与大部分新闻报道中出现的人…

no ip domain-lookup 什么意思

no ip domain-lookup 是什么意思? 当你敲入一个不能识别的命令时,它不会去向查找域名一样,去搜DNS服务器。如果在你的网络中没有DNS服务器的话,那么在配置router的时候最好写上该句,因为我们都不是专业的打字员&#x…

如何将mysql文件导入MySQL_如何将mysql5的sql文件导入到mysql4?

1、将mysql5里导出的sql文件导入到mysql5中。 2、用mysqldump -uroot -p1234 --opt --compatiblemysql40 -A -re:/localhost.sql --compatiblename参数描述如下: --compatiblename Change the dump to be compatible with a given mode. By default tables are dump…

通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪

Dapr提供了一些开箱即用的分布式链路追踪解决方案,今天我们来讲一讲如何通过dapr的configuration来实现非侵入式链路追踪的目录:一、通过Dapr实现一个简单的基于.net的微服务电商系统二、通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架…

21副酷炫的动图让你了解各种数学概念

数学是很难的科学,但因为它是科学家用数学来解释宇宙的语言,我们无可避免的要学习它。看看下面的这些GIF动图,它们提供了视觉的方式来帮助你理解各种数学技巧。1椭圆的画法2杨辉三角问题(Pascal triangles)解法3使用“FOIL”轻松的解决二项式…

VMware 虚拟机(linux)增加根目录磁盘空间

今天查看学校的监控报修系统,不能访问了!!!系统运行很慢,用top命令查看发现内存使用率90%,用"df -h ”查看“/”目录使用率已达到80%,导致系统运行很慢。我用以下方法扩大根目录磁盘空间。…

阅读Java_如何阅读 Java 开源代码?

最近正在学习阅读源码,看到的大神许鹏的方法,感觉很有用,分享给大家源码阅读其实是一个逆向的工程,这期间必须会遇到种种问题。一般来说,我会遵循这样一个思维范式——Problem domain→model→architecture&implem…

网关Ocelot功能演示完结,久等了~~~

前言关于网关(Ocelot)的分享,还遗留一些功能没演示呢,接着来聊聊;这次重点针对网关Ocelot使用缓存、集成Polly做服务治理、集成IdentityServer4做认证授权来详细说说;如果对上一篇感兴趣,点这里(网关Ocelot功能演示安排…

数学课本上的几大变态

数学课本上的几大变态数据与算法之美用数据解决不可能长按扫码关注

读“苹果上周发布了Mac OS X Mountain Lion系统”新闻的感想

苹果上周发布了Mac OS X Mountain Lion系统,该系统将使得你的桌面电脑更像是一款手机。这种趋势非常明显,桌面操作系统未来将和移动系统进一步融合。 我们先从趋势本身说起。首先,相比此前的系统版本,苹果此次在Mountain Lion中更…

java 多行字符串_java字符串多行写法

有一个很长的字符串,想分成多行书写,主要为了美观。VB代码中可以将一个很长的字符串分成多行书写,例如:String str"adfasdfasdfas \asdfasdfasdfasdf \asdfasdf "Java 没有相似的处理方式。变通处理方式:Str…

牛逼顿的一生:当智商高到一定程度,情商就不重要了

牛顿老师在科学圈里曾经很有权势,被女王封了爵位成了贵族,人称牛爵爷,官至皇家造币局局长兼皇家学会会长。如果阿尔伯特没有辞了以色列总统的话和他有一拼。说他有权势并不仅是官大,主要是贡献大。如果17世纪就有诺贝尔奖的话&…

grep -A :显示匹配行和之后的几行

我经常用grep找东西,比如用户名和密码。大部分站点和用户名和密码都是在一样的,方便grep查找。有时,为了文本好看,我会放在多行。比如wikipedia多个语言版本上有多个账号,就放在wikipedia总栏目下。这时,光…

趣味图解+源码分析,轻松吃透Linux

如今的软件开发行业,服务器端市场基本被 Linux 系统占领了。移动端中的 Android 系统是基于 Linux 内核开发的,那些很火的虚拟化、消息队列、云计算、大数据等技术,都默认支持 Linux 操作系统。而对软件工程师来说,也几乎一定会遇…