Python语言在地球科学交叉领域中的实践技术融合应用

 Python是功能强大、免费、开源,实现面向对象的编程语言,Python能够运行在Linux、Windows、Macintosh、AIX操作系统上及不同平台(x86和arm),Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。Python具有丰富和强大的库,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。除了Python标准库,几乎所有行业领域都有相应的Python软件库,随着NumPy、SciPy、Matplotlib和Pandas等众多Python应用程序库的开发,Python在科学和工程领域地位日益重要,在数据处理、科学计算、数学建模、数据挖掘和数据可视化方面的优异性能使得Python在地球科学中地理、气象、气候变化、水文、生态、传感器等领域的学术研究和工程项目中得到广泛应用并高效解决各种数据分析问题,可以预见未来Python将成为科学和工程领域的主流程序设计语言。

Python语言在地球科学交叉领域中的实践技术融合应用 (qq.com)

1、提供虚拟机(Virtual Box)文件(预装好Anaconda环境,可直接使用)

2、提供原始数据和中间临时文件

专题一、Python重点工具讲解【打好基础】

ØNumpy:科学计算

ØScipy:科学计算

ØSklearn:机器学习

ØMatplotlib:可视化

ØCartopy:地理数据可视化

ØGeoPandas:地理数据分析

图片

图片

专题二、常见地球科学数据讲解【掌握数据的特点】

1、站点数据:

ØGSOD

ØGHCN

图片

FLUXNET:全球通量观测网络数据

图片

2、格点观测数据

ØCRU

图片

ØCN05.1

ØOISST、HadSST

3、再分析:

ØERA5

ØGLDAS

图片

4、遥感数据:

ØGLEAM

图片

ØLandsat

图片

ØMODIS

图片

ØTRMM

ØSMAP:土壤湿度主动被动遥感数据

图片

专题三、使用Xarray处理netCDF和Geotiff数据

ØXarray

读取&写入 netCDF文件

Groupby & resample 对时间、空间信息进行操作

Rasterio & rioxarray

专题四、使用Pysat进行大空间分析

1. 空间自相关分析

Ø分析干旱事件发生的空间聚集性

2. 空间回归模型

Ø建模气温与地形因素的空间关系

ØGWR模型评估地形对降水分布的局部影响

3. 空间点模式分析

Ø探测极端天气事件的热点区域

4. 时空数据分析

评估城市热岛效应的时空演化

专题五、使用Dask进行大数据并行计算

Ø无结构数据的并行处理

Ø延迟计算

案例一:

并行处理长时间序列的TRMM降水数据,识别极端降水事件的时空分布特征

案例二:

利用Dask并行计算,快速监测全球范围内干旱的发生、发展和持续时间

专题六、使用Pandas分析时间序列数据-1

案例一:时间序列填补

图片

案例二:极端风速重现期分析

案例三:台风个数统计

专题七、使用Pandas分析时间序列数据-2

1、环流指数与温度、降水变化的关联性

Ø各环流指数对全球及区域温度变化的影响

Ø环流指数与极端高温/低温事件的联系

Ø环流指数与干旱/洪水事件的关联

Ø环流指数对季风系统的影响

2、空间插值

Ø使用Kriging进行站点数据插值 

Ø使用IDW插值生成高分辨率气温场

图片

3、缺测数据插补

Ø针对地面站点数据中的缺失值进行插补

Ø利用机器学习算法插补遥感数据中的缺测像元

结合空间插值和时间插值等多种方法提高数据质量

专题八、使用Python处理遥感

数据1

以Landsat数据为例

1、大数据的可视化

ØGB级数据可视化

2、植被指数计算

图片

3、裁剪区域

Ø使用mask掩膜文件裁剪

使用shapefile文件裁剪

专题九、使用Python处理遥感数据2—以MODIS数据为例

1、预备工作:

ØPython读取HDF4-EOS数据

Ø使用GDAL库预处理

Ø转投影为wgs84+lonlat

Ø拼接多景影像

2、案例一:土地利用分析(MOD12C1)

Ø2000-2020年青藏高原土地利用分析

Ø分析不同土地利用分类上气温和降水的变化

图片

3、案例二:生态系统生产力分析(MOD17A2)

Ø青藏高原草场上土地利用GPP变化

Ø分析草场GPP与降水之间关系(ERA5再分析数据)

图片

4、案例三:分析积雪覆盖时间(MOD10A2)

Ø2000-2020年间青藏高原积雪时间统计

Ø分析祁连山不同高程带积雪时间统计(DEM:GTOP30S)

图片

5、案例四:积雪与生产力之间的关系(MOD10A2和MOD17A2)

分析新疆北疆积雪覆盖时间与春季GPP的变化

专题十、使用Python处理站点数据以GSOD和气象共享网数据为例

1、数据的读取

Ø读取美国NOAA的GSOD日值数据

Ø读取气象共享网日值数据

2、数据清洗:

Ø数据整理

Ø异常值检测

ü阈值法

ü模型法

ü孤立森林

3、多时间尺度的统计:

Ø年尺度统计

Ø季尺度统计

4、站点插值:(随机森林树)

利用高程、经纬度插值气温数据

专题十一、使用Python处理遥感水文数据以TRMM遥感降水数据和GLEAM数据等为例

案例一:空间降尺度

Ø使用NDVI、DEM和机器学习算法对TRMM降水数据降尺度

案例二:分析蒸散数据的年际变化

Ø读取GLEAM数据,并分析蒸散发的年际变化

Ø比较MODIS ET产品与GLEAM的差异

案例三:使用随机森林算法估算地表蒸散发

ØGLEAM和ERA5数据建立机器学习估算模型

Ø在区域尺度上进行长时间序列模拟

图片

3、案例三:比较多套土壤湿度产品

Ø比较GLDAS、GLEAM和CCI SM

图片

案例四:分析降水~蒸散发-土壤湿度关系

分析降水~蒸散发-土壤湿度的年际变化

专题十二、使用Python处理遥感和模式数据PKU GIMMS NDVI遥感降水数据和GLDAS数据为例

案例一:结合GIMMS NDVI和陆面模式数据分析干旱影响

Ø获取陆面模式模拟的土壤湿度数据

Ø建立植被生产力与干旱的响应关系

Ø评估不同地区的干旱敏感性

案例二:青藏高原地区干旱对高寒草地生态系统的影响

Ø基于NDVI识别青藏高原历史干旱年份

结合GLDAS模拟的土壤温湿度等数据,分析干旱对植被的影响机制

专题十三、使用Python处理气候变化数据1观测数据

案例一:百年气温趋势:CRU数据

案例二:百年海温趋势:HadSST

图片

案例三:再分析数据处理

ERA5数据气温评估

专题十四、使用Python进行气候诊断分析在GHCN站点数据基础上

Ø使用Mann-Kendall趋势检验

Ø使用Mann-Kendall突变分析

Ø和Sen's slope估计气候变化趋势

使用小波分析等分析周期

专题十五、使用Python处理气候变化数据2以CMIP6数据为例降尺度

ØDelta方法

Ø百分位校正方法

图片

案例一:计算极端气候指数

图片

案例二:未来气候变化背景下中国地区GPP变化(CMIP6+MOD17+机器学习)

案例三:未来气候变化背景下中国地区土地利用变化

图片

专题十六、使用Python对WRF模式数据后处理

案例一:空间坐标重采样

案例二:风速垂直高度插值

Ø获取风机70和100m高度的风速和风向

专题十七、使用Python运行生态模型

以CN05.1数据和Biome-BGC生态模型为例

1、模型讲解

2、气象数据的准备

3、控制文件生成

4、模式的运行

ØMuliprocesing 并行运行

5、模式后处理

Ø结果统计

结果可视化(NPP)

关注科研技术平台公众号

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

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

相关文章

代码审计中XSS挖掘一些体会

0x01 XSS的挖掘思路 1.1 反射型 直接搜索 echo print_r print之类的函数即可 也可以寻找$_GET变量来判断是否存在输出(不过对于代码审计来说除非实在挖不出漏洞,否则没必要关注反射xss) 1.2 dom型 和反射型差不多 需要看网站的前端javascr…

openGauss 6.0一主二备高可用架构部署,可靠很行

作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复, 安装迁移,性能优化、故障…

MySQL JDBC驱动包引入有版本要求吗

提示:有关数据库的任何操作,请事先都做好备份,一定不会错的; 文章目录 前言一、com.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver如何选择?1、概念2、引入驱动3、总结 前言 新老项目的交替中,如果你使用的…

【并发编程实战】内存模型--解决可见性和有序性的利器

一.前言 在前面讲了三个问题, 缓存导致的可见性问题,编译优化带来的有序性问题,线程切换带来的原子性问题。既然存在问题,那么总要有解决方案的,这一章里主要就是解决这三个问题的关键点--内存模型 二.内存模型 2.1 …

hdfs高可用文件系统架构

1、整体架构 2、角色简介 2.1、namenode NameNode 是 HDFS 集群中的核心组件,负责管理文件系统的元数据、处理客户端请求、管理数据块、确保数据完整性和高可用性。由于其重要性,NameNode 的性能和可靠性直接影响整个 HDFS 集群的性能和可靠性。在生产…

【漏洞复现】CRMEB开源电商系统 /api/products SQL注入漏洞(CVE-2024-36837)

0x01 产品简介 CRMEB开源电商系统是一款由西安众邦网络科技有限公司打造的全栈式电商解决方案,旨在为开发者和商家提供高性能、智能化的电商平台服务。该系统集成了CRM(客户关系管理)、ERP(企业资源规划)和EB(电子商务)的功能,通过深度结合这些功能&…

1.4k star 项目 CMakeTutorial 阅读和点评

1.4k star 项目 CMakeTutorial 阅读和点评 文章目录 1.4k star 项目 CMakeTutorial 阅读和点评0. 概要1. CUDA 目录2. FindPackage 目录3. Installation 目录4. PackageManage 目录5. PythonExtension 目录6. ImportExternalProject 目录总结 0. 概要 在 github 搜索关键字 CM…

骨传导耳机品牌排行前五名揭晓:精选5款音质卓越、佩戴舒适的优选产品!

骨传导耳机是目前非常热门的蓝牙耳机,有很多人都想去尝试,但又很多消费者再入手后,都出现了佩戴不舒服,音质刺耳等问题,作为一位拥有十多年经验的数码测评师,我有必要提醒大家,尽管市面上各种骨…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] A先生的货运计划(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 A先生的货运计划(200分) 🌍 评测功能需要 订阅专栏 后私信…

Python 条件控制语句

条件控制语句是编程中用于基于特定条件执行不同代码块的一种结构。Python提供了几种条件控制语句,包括if、elif和else。这些语句允许程序根据不同的条件执行不同的代码路径 if 语句 if语句是最基本的条件控制语句,用于检查一个条件是否为真。如果条件为真…

京东健康·全球医疗AI创新大赛开启!32万奖金池等你来拿!

京东健康全球医疗AI创新大赛是由京东健康发起,以探索医疗行业前沿技术与创新应用为导向、携手产学研各界力量,通过AI创新促进医疗服务行业高质量发展的一场大赛。 本次大赛聚焦“睡眠监测智能算法”与“医疗大模型创新应用”两个课题方向,面…

第55期|GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

操作系统笔记(自用随笔)

如有错误,欢迎指正!!!

【Linux Vim的保姆级教程】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

【网络安全的神秘世界】Kali 自带 Burp Suite 使用指南:字体与CA证书设置详解等

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 Kali 自带 Burp Suite 使用指南目录 Burp Suite的打开方式设置Burp Suite软件的字体大小查看Burp Suite 默认代理在火狐浏览器…

智能机械设备如何远程运维?向日葵SDK提供专业方案

随着物联网技术的不断发展,智能化、自动化的物联网机器人设备开始出现在诸多行业中,大幅提升生产效率,带动产业转型和升级,比较有代表性的包括农业、园艺、施工、测绘和设施服务等领域。 在这些传统意义上“人力密集型”的产业中…

c++里 lamda 表达式,其实被编译器处理为匿名类,并实例化为匿名对象

该匿名对象定义了括号 () 运算符函数,所以可以像函数一样被调用。 lamda 表达式必须在函数作用域中定义。通过按值捕获或按引用捕获,可以使用所在函数中定义的变量。在类的成员函数中定义的 lamda 表达式,若捕获了 this ,则可以修…

SpringBoot的入门案例

1、创建一个Maven工程 2、点击设置自动导入jar包 3、导入spring boot需要的依赖 打开sping boot的文档 导入依赖的pom.xml配置内容 4、创建一个spring boot的执行入口程序 5、写controller,service,dao的页面逻辑代码 6、测试,运行工程&#…

总结一下 C# 如何自定义特性 Attribute 并进行应用

前言 Attribute(特性)是一种用于为程序元素(如类、方法、属性等)提供元数据信息的方法。 特性是一种声明式的信息,附加到程序元素上,提供额外的数据用于描述和控制这些元素的行为。 在编译和运行时&…

Git快速上手

初识Git 是一个免费开源, 分布式的代码版本控制系统, 帮助开发团队维护代码 作用: 记录代码内容,切换代码版本,多人开发时高效合并代码内容 Git和GitHub Git是一个软件, Github是一个网站,两者的功能都是提供版本控制服务. 官网: GitHub: Let’s build from here GitHub …