Science文章复现(Python):图1 - Aircraft obs(机载的观测 CO2)

之前有写过science文章后处理的复现Science文章复现(Python):在机载观测中明显的强烈南大洋碳吸收
在这里是针对图细节的理解:
首先需要下载这个项目
https://github.com/NCAR/so-co2-airborne-obs
这里的环境配置会比较麻烦

conda env create --name=airborne --file=environment.yml

该图是文章中图1的a图和b图。
这里有纬度(在南半球为负的,北半球是正的)
观测的CO2减去均值(295-305)

图1. 南大洋大气CO2的观测模式
(A和B)飞机所观测的横截面图,分别为(A)ORCAS,即2016年1月至2月,和(B)ATom-1,即2016年8月。(ORCAS和ATom-1表示2个项目)颜色显示相对于各运动营地45°S南部295-305 K位温范围内的观测平均值的CO2干空气摩尔分数。等值线表示观测到的位温。有关所有运动营地的飞行轨迹和横截面图,请参见图S1和S2;有关模拟场的信息,请参见图S3和S4。 (C和D)1999-2019年夏季(DJF)和冬季(JJA)期间监测站平均观测的CO2减去南极观测站(SPO)美国国家海洋和大气管理局(NOAA)的原位记录的汇编。黑线是样条拟合,仅作为视觉指南。蓝色阴影表示我们指定的“南大洋站点”的纬度带。有关站点位置和时间覆盖范围,请参见表S1和图S5。SM包括附加的方法细节。

画图的 code

# set up canvas
fig = plt.figure() #figsize=(10, 6)) #dpi=300)

#------------------------------------
#--- ORCAS Section
#------------------------------------

ds = dsets['ds_obs_aircraft']
ax = fig.add_subplot(1, 1, 1) #axs['section_DJF']

ndx = np.where(ds.campaigns == 'ORCAS')[0][0]
cf = ax.pcolormesh(
        ds.y, ds.z, ds.DCO2_binned.isel(time=ndx).squeeze(),
        norm=figure_panels.divnorm,
        cmap=figure_panels.cmap,
        shading='nearest',    
    )
cs = ax.contour(
    ds.LAT, ds.ALT, ds.THETA.isel(time=ndx).squeeze(),
    levels=np.arange(255., 350., 5.),
    linewidths=1,  # 线宽1
    colors='gray')    
lb = plt.clabel(cs, fontsize=8, inline=True, fmt='%d')  
# 绘制的等值线上添加标签

ax.set_title('Aircraft obs: CO$_2$ minus 295–305K mean (Jan-Feb 2016)')
ax.set_ylim((0, 10.5))
ax.set_xlim(-91.25, -28.75)
ax.set_ylabel('Altitude [km]');   
ax.set_xlabel('Latitude [°N]')


cb = plt.colorbar(cf)
cb.set_label('$\Delta$CO$_2$ [ppm]')

util.savefig('co2-orcas-cross-section')
# 这个util应该是个人的工具包

这段代码是用于绘制南极大气CO2观测数据的飞机横截面图,具体解释如下:

  1. 使用 matplotlib 创建新的绘图画布。
  2. 选择需要绘制的数据集,此处选择了名为 “ds_obs_aircraft” 的数据集。
  3. 在画布上添加一个子图,使用 add_subplot() 方法。
  4. 找到数据集中对应该航次(ORCAS)的位置,使用 np.where() 方法。
  5. 使用 pcolormesh() 方法绘制二维的颜色填充图,其中 x 轴表示纬度, y 轴表示高度,颜色表示 CO2 浓度的变化。norm 参数是用于定义颜色映射的规范化器,cmap 参数是用于指定颜色映射的颜色表。
  6. 使用 contour() 方法添加等值线,其中 x 轴和 y 轴表示纬度和高度,线条颜色为灰色,线宽为1。levels 参数定义了等值线的值范围和间隔。
  7. 使用 set_title()、set_ylim()、set_xlim()、set_ylabel() 和 set_xlabel() 方法设置图的标题、y轴和x轴的标签、以及纵坐标和横坐标的范围。
  8. 使用 colorbar() 方法添加颜色条,cb.set_label() 方法设置颜色条的标签。
  9. 使用 util.savefig() 方法将图保存到文件中。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

00后卷起来,真没我们老油条什么事了···

都说00后躺平了,但是有一说一,该卷的还是卷。 这不,前段时间我们公司来了个00后,工作没两年,跳槽到我们公司起薪20K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。…

【刷题之路】LeetCode 232. 用栈实现队列

【刷题之路】LeetCode 232. 用栈实现队列 一、题目描述二、解题1、图解主要思路2、先实现栈3、实现各个接口3.1、初始化接口3.2、入队接口3.3、出队接口3.4、取队头接口3.5、判空接口3.6、释放接口 一、题目描述 原题连接: 232. 用栈实现队列 题目描述:…

网站测试的主要方法

网站测试的主要方法 网站测试是保证网站质量的重要手段,通过对网站进行测试可以及时发现问题并修复,提高用户体验和网站的可靠性。本文将介绍网站测试的主要方法。 1.功能测试:测试网站的所有功能是否正常。通过模拟用户的操作,确…

在外包干了三年,我废了……不吹不黑!

没错,我也干过外包,一干就是三年,三年后,我废了…… 虽说废的不是很彻底,但那三年我几乎是出差了三年、玩了三年、荒废了三年,那三年,我的技术能力几乎是零成长的。 说起这段三年的外包经历&a…

文档管理-gitlab+markdown网页插件

特点 使用git进行版本管理,本地编辑使用Typora。使用gitlab进行权限管理可以在线阅读通过Markdown在线阅读插件实现,可显示目录显示与链接跳转,界面优于自带的wiki。 与其他方式对比 gitlab的wiki:显示界面效果不好&#xff0c…

【数据结构】栈及其实现

目录 🤠前言 什么是栈? 栈的定义及初始化 栈的定义 栈的初始化 栈的判空 栈顶压栈 栈顶出栈 栈的数据个数 栈的销毁 完整代码 总结 🤠前言 学了相当长一段时间的链表,总算是跨过了一个阶段。从今天开始我们将进入栈和…

[IOT物联网]Python快速上手开发物联网上位机程序——前言

一、什么是Python Python是一种简单易学、高级、通用的编程语言。它是一种解释型语言,不需要编译即可运行,因此可以快速地进行开发和测试。Python具有简洁优美的语法,使用它可以提高生产力和代码可读性。Python拥有强大的标准库和第三方库&am…

Linux Shell 实现一键部署virtualbox

VirtualBox 前言 VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。Innotek 以 GNU General Public Licens…

孙鑫VC++第四章 1.简单绘图-MFC消息映射机制

1. MFC消息映射机制 接下来将剖析MFC消息映射机制,探讨发送给窗口的消息是如何被MFC框架通过窗口句柄映射表和消息映射表来用窗口类的处理函数进行响应的。另外,还将讲述“类向导”这一工具的运用,讨论设备描述表及其封装类CDC的使用&#x…

玩转ChatGPT:魔改文章成果格式

一、写在前面 首先,我让小Chat替我吐槽一下: 科研人员天天都在填各种表格,简直成了我们的“表格王子”和“表格公主”。从申请项目、提交论文到汇报成果,表格无处不在。我们填表格的时候总是期待着它能让我们的工作更高效、更顺…

遇到一个同事,喜欢查其他同事的BUG,然后截图发工作大群里,还喜欢甩锅,该怎么办?...

职场上都有哪些奇葩同事? 一位网友吐槽: 遇到一个同事,喜欢查同级别同事的bug,截图发工作群,甚至发大群里,还喜欢甩锅,该怎么办? 职场工贼,人人喊打,网友们纷…

asm 加盘 udev 重启 导致网络异常

Network interface going down when dynamically adding disks to storage using udev in RHEL 6 (Doc ID 1569028.1)正在上传…重新上传取消To Bottom In this Document APPLIES TO: Oracle Database - Enterprise Edition - Version 11.2.0.3 and later Oracle Net Servi…

UART驱动情景分析-read

一、源码框架回顾 shell读数据,一开始的时候没有就休眠。数据从串口发送到驱动,驱动接收到中断,驱动读取串口数据,这个数据会传给行规程。 行规程获取到数据后,会回显。按下删除就删除一个字符,按下回车&am…

【Linux升级之路】3_Linux进程概念

🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【Linux升级之路】 ✒️✒️本篇内容:认识冯诺依曼系统,操作系统概念与定位,深入理解进程概念(了解PCB&…

【#ifndef, #define, 和 #endif】

前言 学习AFNetWoring源码的时候,在AFN的h借接口文件又看到了这几个宏定义,学习记录一下。 作用 #ifndef, #define, 和 #endif是C/CPP的预处理指令,常常用来条件编译和防止头文件重复包含。 简介 #ifndef 它是if not define的简写&…

Cy5.5-PEG-SH近红外荧光PEG试剂 Cyanine5.5-PEG-SH,Thiol-PEG-Cy5.5可用于活体成像

Cy5.5-PEG-SH ,Cy5.5聚乙二醇巯基 英文名称:Cy5.5-PEG-SH 中文名称:Cy5.5聚乙二醇巯基 性状: 深蓝色固体或粘性液体,取决于分子量 溶剂:溶于水、 DMSO等常规性有机溶剂 激发/发射波长:684 nm/710 nm …

学习HCIP的day.06

十一、OSFP扩展知识点 1、关于OSPF状态机的问题 (1)在MA网络中(要进行DR/BDR选举)存在7种状态机,init是路由器A收到邻居B的hello包,但该hello包中没有A的RID; (2)在点到…

js跨域的解决方案

一、什么是跨域? 指的是浏览器不能执行其他网站的脚本,简单来说是浏览器同源政策的限制,浏览器针对于ajax的限制。 同源政策 两个页面拥有相同的 协议,端口,域名 就是同源,如果有一个不相同就是不同源…

手把手教你用代码画架构图 | 京东云技术团队

作者:京东物流 覃玉杰 1. 前言 本文将给大家介绍一种简洁明了软件架构可视化模型——C4模型,并手把手教大家如何使用代码绘制出精美的C4架构图。 阅读本文之后,读者画的架构图将会是这样的: 注:该图例仅作绘图示例使…

【PCIE体系结构十一】部分物理层发送接收逻辑细节

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考书籍:《PCI.EXPRESS系统体系结构标准教材 Mindshare》 目录 物理层…