CMIP6数据处理及在气候变化、水文、生态等领域中的应用

news2024/11/24 5:54:01

气候变化对农业、生态系统、社会经济以及人类的生存与发展具有深远影响,是当前全球关注的核心议题之一。IPCC(Intergovernmental Panel on Climate Change,政府间气候变化专门委员会)的第六次评估报告明确;指出,自20世纪50年代以来,全球平均气温和海温的上升、广泛的积雪和冰川融化以及全球海平面的升高,无一不在证明气候变暖是无可争议的事实。为了对未来气候进行评估,科学家通常使用全球气候模型进行预测。

全球气候模型(Global Climate Model, GCM),亦称全球环流模型或全球大气模型,是一种数值模型,被广泛用于模拟地球的气候系统。GCM利用一系列的数学公式来描绘气候系统的各个主要组成部分,包括大气、海洋、冻土以及地表和海洋表面的生物地理过程。GCM的空间和时间精度可以根据需要进行调整。这些模型为我们提供了理解气候系统运行机制的途径,为预测气候变化趋势、评估气候变化对人类社会和生态系统的影响以及制定应对气候变化的策略提供了关键工具。

  为了进一步理解气候变化,世界气候研究计划(World Climate Research Programme, WCRP)发起了气候模型比较计划(Climate Model Intercomparison Project,CMIP)。CMIP的主要目标是收集和比较各种全球气候模型的模拟结果,以理解和预测过去、现在和未来的气候变化。

  CMIP6数据被广泛应用于全球和地区的气候变化研究、极端天气和气候事件研究、气候变化影响和风险评估、气候变化的不确定性研究、气候反馈和敏感性研究以及气候政策和决策支持等多个领域。这些数据为我们理解和预测气候变化,评估气候变化的影响和风险,以及制定有效的气候政策和决策提供了关键的信息和工具。

点击查看原文

 

点击查看原文

专题一、CMIP6中的模式比较计划

1.1 GCM介绍

全球气候模型(Global Climate Model, GCM),也被称为全球环流模型或全球大气模型,是一种用于模拟地球的气候系统的数值模型。这种模型使用一系列的数学公式来描述气候系统的主要组成部分,包括大气、海洋、冰冻土壤以及地表和海洋表面的生物地理过程。GCM在空间和时间上的精度可以根据需求进行调整,通常的分辨率可以从几百公里到几公里,时间步长可以从几分钟到几小时

图片

1.2 CMIP介绍

CMIP,全称为气候模型比较计划(Climate Model Intercomparison Project),是由世界气候研究计划(World Climate Research Programme,WCRP)发起的一个国际合作项目。其目的是通过收集和比较各种全球气候模型(GCMs)的模拟结果,以理解过去的、现在的和未来的气候变化。

 

1.3相关比较计划介绍

 

 

图片

专题二、数据下载

2.1方法一:手动人工

利用官方网站

图片

2.2方法二:自动

利用Python的命令行工具

 

图片

2.3方法三:半自动购物车

利用官方网站

图片

2.4 裁剪netCDF文件

基于QGIS和CDO实现对netCDF格式裁剪

图片

 

QGIS中的操作

图片

 

裁剪效果

2.5 处理日期非365天的GCM

以BCC为例处理

专题三、基础知识

3.1 Python基础

Python 是一种高级的、解释型的编程语言,其语法简洁明了,适合快速开发。在大气科学中,Python 以其丰富的科学计算和数据分析库备受青睐。这些库如 Numpy,Scipy,Pandas 和 Xarray 等,为处理大气科学数据提供了强大的支持。

Numpy:Numpy 是 Python 中用于科学计算的核心库,提供了高性能的多维数组对象及相关工具。对于大气科学数据的处理,例如温度、压力、风速等通常都会使用到多维数组。Numpy 提供了丰富的函数库来处理这些数组,包括数学运算、逻辑运算、形状操作、排序、选择等操作。

Scipy:Scipy 是基于 Python 的开源软件,用于科学计算中的数值积分和微分方程数值求解,线性代数,优化,信号处理等。在大气科学中,例如对气温、气压等数据进行傅立叶分析,求解大气动力学中的偏微分方程等,都可以使用 Scipy 来实现。

Pandas:Pandas 是基于 Numpy 构建的,使数据清洗和分析工作变得更快更简单。Pandas 是专门为处理表格和混杂数据设计的,而 Numpy 更适合处理统一的数值数组数据。在大气科学中,例如对气象站的观测数据进行时间序列分析,处理混合类型的气象数据,以及对数据进行清洗、筛选和统计等操作,Pandas 都是非常有用的工具。

3.2 CDO基本操作

CDO(Climate Data Operator)是大气科学领域常用的一款气候和气象数据处理工具。它是一个功能强大的命令行工具,可以处理和分析格网和无格网数据,支持多种数据格式,包括netCDF、GRIB、SERVICE, EXTRA和IEG。

CDO提供了一套丰富的函数库,可以用来进行各种常见的数据操作,包括

基础操作:如选择、提取和修改变量、维度、属性等。

数值操作:如四则运算、统计运算、函数运算等。例如,可以计算数据的平均值、最大值、最小值、标准差等。

空间操作:如重新格网、插值、汇总、选择和提取地理区域等。

时间操作:如选择和提取时间周期、计算时间平均或累积等。

3.3 Xarray的基本操作

Xarray 是一个用于处理多维数组数据的 Python 库,它在 numpy 的基础上提供了一系列用于数据操作和分析的高级接口,并能很好地支持 netCDF 这类基于网络的自描述数据格式,因此在大气科学和气候科学中被广泛使用。

Xarray 的主要特点包括:

基于标签的数据操作:Xarray 使用维度名称而不是轴编号进行数据选择和操作,极大地增强了代码的可读性和可维护性。

自动对齐数据:在进行运算时,Xarray 可以自动对齐不同数据集的变量(variables)和坐标(coordinates)。

分组运算和数据透视:Xarray 支持类似于 pandas 的分组运算(group-by)和数据透视(pivot)功能。

操作:Xarray 对多种数据格式提供了非常好的支持,尤其是对 netCDF 数据的读取和写入。

专题四、单点降尺度

4.1 Delta方法

Delta方法(Delta Change Method),也称为增量方法或差值方法,是气候模型降尺度的一种简单而常用的方法。该方法假设气候变化的幅度在未来相对于历史期间将保持恒定。因此,对于某一具体的未来时段,可以通过计算过去和现在气候的差值(即 delta),并将其应用到未来的气候预测上,来预估未来的气候状态。该方法可以应用于温度和降水等气候变量的预测。

图片

4.2统计订正

概率分布函数(Probability Density Function, PDF)的订正。这种方法的基本思想是:通过修改大尺度模型输出的PDF,使其更符合观测数据的PDF,从而获得更准确的小尺度气候变量。

图片

4.3机器学习方法

降尺度是将粗尺度的全球气候模型(GCM)输出数据转换为地面更精细尺度的过程。机器学习方法因其在处理复杂模式识别和高维数据问题的强大能力,已经被成功应用于降尺度技术。在气候学领域,机器学习已被成功用于将粗尺度的气候模型输出(例如,温度和降水)与其他环境变量(例如,地形和土壤类型)关联,以获得更高分辨率的气候预测。

 

实现步骤

建立特征

建立模型

图片

模型评估

4.4多算法集成方法

多算法的集成

图片

图片

贝叶斯模型平均 (Bayesian Model Averaging, BMA)

贝叶斯模型平均是一种统计方法,用于根据观察数据确定各种模型的后验概率。与选择一个最好的模型相反,贝叶斯模型平均考虑了所有可能的模型,然后根据每个模型的后验概率进行加权平均。

Python+pymc3实现

专题五、统计方法的区域降尺度

5.1 Delta方法

图片

5.2 基于概率订正方法的

 

专题六、基于WRF模式的动力降尺度

动态降尺度通常使用更高分辨率的区域气候模型(RCM),这些模型在更大尺度的全球气候模型驱动下运行。其中,WRF(Weather Research and Forecasting)模型是目前使用最广泛的区域气候模型之一。

WRF模型是一个灵活的、大气环流模型,适合用于各种尺度的气候和气象研究。它的主要特点是具有高分辨率(可达到几公里),并且可以考虑到许多重要的地球物理过程,如云的形成、降水、陆面过程、海洋过程、边界层过程、辐射、化学过程等。

6.1制备CMIP6的WRF驱动数据

利用cdo工具对gcm的输出文件进行重新编码制备wrf的驱动数据

6.1.1针对压力坐标系的数据制备

6.1.2针对sigma坐标系GCM数据制备

6.1.3 WPS处理

图片

6.2 WRF模式运行

 

图片

6.3 模式的后处理

提取变量

变量的统计

变量的可视化

图片

专题七、典型应用案例-气候变化1

7.1针对风速进行降尺度

 

图片

7.2针对短波辐射降尺度

图片

专题八、典型应用案例-气候变化2

ECA极端气候指数计算

ECA (European Climate Assessment) 是欧洲的一个气候评估项目,其在全球范围内发布了一系列的极端气候事件指数。这些指数被广泛用于气候变化研究,特别是在研究极端天气和气候事件方面。

ECA 的极端气候指数主要包括以下几类:

温度指数:这些指数主要用于度量温度的极端情况,例如热日数(TX90p,年中最高气温超过90百分位数的天数)、冷日数(TN10p,年中最低气温低于10百分位数的天数)、热夜数(TN90p,年中最低气温超过90百分位数的天数)、冷夜数(TN10p,年中最低气温低于10百分位数的天数)等。

降水指数:这些指数主要用于度量降水的极端情况,例如最大连续5日降水量(RX5day)、大于或等于10mm的降水日数(R10mm)、大于或等于20mm的降水日数(R20mm)、降水强度(SDII)等。

这些指数对于理解和预测极端气候事件的影响非常重要,因为极端气候事件(如热浪、干旱、洪水等)往往比平均气候变化带来更大的影响。因此,对这些指数的研究有助于我们更好地理解和适应气候变化。

Consecutive dry days index

图片

Consecutive frost days index per time period

图片

Consecutive summer days index per time period

图片

Consecutive wet days index per time period

图片

专题九、典型应用案例-生态领域

预估生长季开始和结束时间

1、建立气象数据与VIPPHEN遥感物候数据中生长季开始和结束

2、在未来气候情景下预估生长季长季开始、结束和长度

专题十、典型应用案例-水文、生态模式数据

SWAT数据制备

Biome-BGC数据

Biome-BGC是利用站点描述数据、气象数据和植被生理生态参数,模拟日尺度碳、水和氮通量的模型,其研究的空间尺度可以从点尺度扩展到陆地生态系统。案例中以单点模拟方式制备CMIP6的气象数据。

图片

 

点击查看原文

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

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

相关文章

低代码平台浅析:JNPF快速开发平台

目录 一、前言 二、低代码平台体验简述 三、关于平台 平台简介: 四、场景及用户分析 五、产品分析 1、着重讲一下JNPF的编辑器 2、业务流程 六、总结 一、前言 低代码平台能够改变了应用交付和管理的模式,大幅缩减交付周期,最终帮助业务加速创…

使用深度学习模型CNN进行实时情绪检测研究(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 💥1 概述 使用深度学习模型CNN进行实时情绪检测是一种应用广泛的研究方向。下面是一个简要的步骤: 1. 数据收集和标注:收集包含…

华为OD机试真题 Java 实现【阿里巴巴找黄金宝箱(III)】【2023 B卷 100分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明4、那么问题来了,如果有两个满足的怎么办? 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为O…

类和对象(下篇)

目录 1.再谈构造函数1.1构造函数体赋值1.2初始化列表1.3explicit关键字 2.Static成员2.1概念2.2特性 3.友元3.1友元函数3.2友元类 4.内部类5.再次理解类和对象总结 1.再谈构造函数 1.1构造函数体赋值 如下为对象赋初值构造函数体的语句,不能称作初始化。 class D…

Ubuntu18.04系统安装视频剪辑软件shotcut

Snap Store安装 使用的是最新的Ubuntu 18.04 LTS(Bionic Beaver),其本身已安装Snap 如果没有安装,则可以使用以下命令安装SNAP $ sudo apt-get install snapd安装shotcut $ sudo snap install shotcut --classic启动shotcut $…

8.JAVA NIO核心之选择器(Selector)

highlight: arduino-light 选择器(Selector)概述 选择器Selector是 SelectableChannle 对象的多路复用器,Selector 可以同时监控多个SelectableChannel的 IO 状况,也就是说,利用 Selector可使一个单独的线程管理多个 Channel。Selector 是非阻…

shift语句的使用

[rootvm1 scripts]# help shift shift: shift [n]Shift positional parameters.Rename the positional parameters $N1,$N2 ... to $1,$2 ... If N isnot given, it is assumed to be 1.Exit Status:Returns success unless N is negative or greater than $#.说明&#xff1a…

SWMM模型:水文水动力模型在城市内涝、城市排水、海绵城市规划设计中深度应用

查看原文>>>最新水文水动力模型在城市内涝、城市排水、海绵城市规划设计中深度应用 随着计算机的广泛应用和各类模型软件的发展,将排水系统模型作为城市洪灾评价与防治的技术手段已经成为防洪防灾的重要技术途径。本文聚焦于综合利用GIS及CAD等工具高效地进…

Rust vs Go:常用语法对比(十二)

题图来自 Rust vs Go in 2023[1] 221. Remove all non-digits characters Create string t from string s, keeping only digit characters 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 删除所有非数字字符 package mainimport ( "fmt" "regexp")func main() { s : hei…

07 |「注解、反射、多线程、锁」

前言 函数 文章目录 前言一、注解二、反射1、作用 三、多线程1、基本概念2、实现方式1)继承 Thread 类2)实现Runnable接口3、常用 API 四、锁1、为什么2、锁 一、注解 注解不影响程序逻辑,但会被编译器在不同阶段(编译、执行&…

【小白必看】利用Python生成个性化名单Word文档

文章目录 前言所需文件及文件格式说明excel数据如下word 模板如下文件目录格式及生成后的文件 导入所需的模块:打开 Excel 文件:选择工作表:获取数据列表:遍历数据并生成 Word 文档:完整代码结束语 前言 对于需要批量…

【Python机器学习】实验03 logstic回归

文章目录 简单分类模型 - 逻辑回归1.1 准备数据1.2 定义假设函数Sigmoid 函数 1.3 定义代价函数1.4 定义梯度下降算法gradient descent(梯度下降) 1.5 绘制决策边界1.6 计算准确率1.7 试试用Sklearn来解决2.1 准备数据(试试第二个例子)2.2 假设函数与前h相同2.3 代价函数与前相…

找不到vcruntime140_1.dll,无法继续执行此代码如何解决

最近我在使用电脑时遇到了一个问题,即出现了vcruntime140_1.dll文件丢失的错误提示。这让我感到非常困惑和烦恼,因为我无法正常运行一些软件和游戏。 vcruntime140_1.dll是一个Windows系统文件,它是Microsoft Visual C Redistributable的一部…

maven本地仓库地址修改+maven国内镜像设置+maven运行所需pos.xml文件配置基本写法

1,maven本地仓库地址修改 maven在使用过程中,本地项目仓库其空间占用会越来越大,但是其默认仓库位置往往是以C盘为主,C盘作为系统盘常常会遇到所在盘空间占满的情况,所以我们将其改至其他硬盘空间位置为适合做法&#…

Vue style中的 scoped 属性

Vue 中存在 scoped 属性,HTML5中也存在一个 scoped 属性,而且,这两者都是针对 css 样式处理的属性,所以很多文章在 解释 Vue scoped 的时候,都会把两者混为一谈,直接进把 HTML5 scoped 的定义搬到 Vue scop…

TikTok带货成功的关键:用户参与与互动

TikTok作为一个社交媒体平台,其带货成功的关键之一是用户参与和互动。在这篇文章中,我们将探讨如何通过激发用户参与和互动,提高TikTok带货的效果。 首先,创造互动性的内容是吸引用户参与的重要因素。在带货视频中,可…

Redis学习路线(1)—— Redis的安装

一、NoSQL SQL VS NoSQL 1、名称 SQL 主要是指关系数据库。NoSQL 主要是指非关系数据库。 2、存储结构 SQL 是结构化的数据库,以表格的形式存储数据。NoSQL 是非结构化的数据库,以Key-Value(Redis),JSON格式文档&…

Linux系统安装Mysql二进制文件

💻前言 为了简化安装和配置过程,许多Linux发行版提供了预编译的二进制MySQL安装包,这些安装包已经经过测试和验证,可以在大多数Linux系统上正常工作。通过安装这些二进制MySQL安装包,可以省去从源代码编译和安装的繁琐…

mysql通过binlog恢复数据

开启binlog 在my.ini中添加以下两行代码: log-binmysql-bin server-id1 注意要写在[mysqld]范围内才会生效 查看binlog存放日志文件目录 show variables like %datadir%; 查看binlog文件名 show master logs; 将binlog转换成sql mysqlbinlog --no-defaults …

个性化-强连接-更智能 伙伴云5大扩展功能详解

伙伴云【小伙开麦】直播间「“伙”速上新」栏目上线,由产品经理讲解产品伙伴云5大功能模块,旨在让业务流程更加清晰、让用户使用操作更加便捷、让业绩转化更高效、让生态连接更顺畅…… 在不断的技术创新过程中,进一步助力数字化转型&#x…