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

news2024/12/23 22:41:06

之前有写过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() 方法将图保存到文件中。

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

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

相关文章

Java设计模式 13-命令模式

命令模式 一、智能生活项目需求 看一个具体的需求 1)我们买了一套智能家电,有照明灯、风扇、冰箱、洗衣机,我们只要在手机上安装 app 就可以控制对这些家电工作。 2)这些智能家电来自不同的厂家,我们不想针对每一种家电都安装一个 App&…

怎样实现RPC框架

随着微服务架构的盛行,远程调用成了开发微服务必不可少的能力,RPC 框架作为微服务体系的底层支撑,也成了日常开发的必备工具。当下,RPC 框架已经不仅是进行远程调用的基础工具,还需要提供路由、服务发现、负载均衡、容…

两种QGraphicsItem方式实现橡皮擦功能(矩形选中框)

方法一:继承QGraphicsItem实现橡皮擦功能。(gif中红色矩形框) 方法二:继承QGraphicsRectItem实现的橡皮擦功能。(gif中蓝色矩形框) 通过以上GIF可以看出两款橡皮擦都具有位置拖动和大小拖动的功能&#xff…

Nacos必知必会:这些知识点你一定要掌握!

前言 Nacos 是一个开源的服务发现、配置管理和服务治理平台,是阿里巴巴开源的一款产品。 Nacos 可以帮助开发者更好地管理微服务架构中的服务注册、配置和发现等问题,提高系统的可靠性和可维护性。 本文将介绍 Nacos 的必知必会知识点,包括…

Zookeeper基础和简单使用

安装与配置 概念 基于观察者模式设计的分布式服务管理框架,负责存储和管理大家都关心数据,然后接受观察者的注册,一单这些数据的这状态发生了变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应 特点…

当JS遇到加密:解密你的JS代码!

作为一名程序员,我们经常会遇到各种加密算法,比如常见的AES、RSA、MD5等等,但是今天我想和大家聊一聊一个日常生活中比较常见的加密方式——JavaScript加密。 在我们日常浏览网页时,经常会看到一些网站的JavaScript代码经过加密&…

【Redis】布隆过滤器原理与应用

文章目录 原理应用实战总结 布隆过滤器(Bloom Filter)是 1970 年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。 它的优点是空间效率和查询时间都比一般的算法要好的多&#xff…

AJAX实现搜索联想 自动补全

分析: 1.想实现联想搜索需要数据库的数据支撑,需要进行模糊查询,搜索出所有包含用户输入的关键字信息,并将这些信息都反馈到前端,简化用户输入,从而提高用户的体验。 2.为了提高用户的使用体验,整个页面不能全部刷新,需要局部刷新,为此需要…

Python中的各种报错-一般错误

目录 ValueError: check_hostname requires server_hostname missing 1 required positional argument: self xxx is not a package libpng warning: iCCP: cHRM chunk does not match sRGB check_hostname requires server_hostname python 安装第三方库,超时…

MQTTC数据桥接上云

[小 迪 导 读]:在工业物联网蓬勃发展的背景下,私有化部署已经不能满足当前的发展趋势了,因此dgiot在原有基础上进行创新,将私有化部署的区域数控一体机上的数据通过mqtt桥接的方式上传到云服务器上,完成数据的实时同步…

Baumer工业相机堡盟工业相机软件CameraExplorer常见功能使用说明一

Baumer工业相机堡盟工业相机软件CameraExplorer常见功能使用说明一 Baumer工业相机Baumer工业相机图像采集功能Baumer工业相机图像基本参数设置 Baumer工业相机 Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、…

【前端提效】-- Chrome浏览器开发者工具使用技巧

介绍一下 DevTools 的一些好用的技巧,它能够很好地帮助你提高生产力和解决问题的能力。 1、打开命令行 或者使用:快捷键 Ctrl Shift P (Mac: ⌘ Shift P ) 命令行可以做很多事情,包括但不限于截图、更换主题等 2、控制 DevT…

暑假线上兼职:300-500元/小时,安利一个大学生也能月入8K的线上兼职

在后台经常收到这样的留言: 快接近暑假了,有没有线上兼职推荐? 如何提升自己的眼界和能力,为之后的职场铺路? 不知道有多少朋友是想提升自己获取资源信息的速度,发展自己的爱好,或者增加第二收入…

用友U8增加查询条件

1、检查要增加的条件是否在该表单中; 2、在查询条件中增加查询条件的管理方案 3、参照ID就是要参照的表 4、数据源,在要增加的表单数据库中查询该字段名,进行增加即可。 select * from purbillvouch where cpbvcode 0000000312 --PurBillV…

调用legend资源,生成地图图例

作者:lly 文章目录 前言一、接口详情二、具体实现三、结果展示 前言 最近很多小伙伴资源关于iServer图例的问题, 接下来我们就来介绍下如何使用iServer legend资源,生成地图图例 一、接口详情 请求示例 {"layerLegends": [{&quo…

达索的天线设计和仿真软件Antenna Magus 2023版本下载与安装配置教程

目录 前言一、Antenna Magus安装二、使用配置总结 前言 Antenna Magus软件是一款用于天线设计和仿真的软件,提供了一个全面的设计工具集,帮助工程师优化天线设计,同时减少设计周期。 Antenna Magus的主要特点: ——高级天线库&…

如何用 ChatGPT 帮你自动分析数据?

误判 好几天之前,我就在 ChatGPT 选单里看到了 Code Interpreter。它正在灰度测试中 —— 先给一部分用户试用,如果反响不错并做了一定改进,就能推广给更多用户。 可惜当时我没能正确理解它的含义,犯了一个大错误 —— 望文生义。…

ChatGPT 上线联网和插件功能;投资者看好新版搜索引擎

🚀 ChatGPT 上线联网和插件功能 OpenAI宣布将在这周推出联网和插件功能,位于Alpha和Beta通道的ChatGPT Plus用户都可使用70多个上线的插件。 更新意味着ChatGPT将利用最新的信息和资讯为使用者提供服务。 上线的ChatGPT插件种类涵盖了行程安排助理、代…

Android开发-Android常用组件-Date Time组件

4.11 Date & Time组件 1.TextClock(文本时钟) TextClock是在Android 4.2(API 17)后推出的用来替代DigitalClock的一个控件! TextClock可以以字符串格式显示当前的日期和时间,因此推荐在Android 4.2以后使用TextClock。 这个控件推荐在24进制的and…

[内网]RDP远程桌面密码凭证获取

文章目录 RDP保存凭据通过注册表查看当前主机本地连接过的目标机器记录查看当前主机保存的RDP凭据查看本地用户是否存有RDP密码文件通过密码文件获取guidMasterKey的值根据guidMasterKey找到对应Masterkey解密获取明文以上总结: 在授权渗透过程中,如果获…