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

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

CMIP6月数据(500G+)

包含变量:温压湿风辐射降水

包含情景:historical、ssp126、ssp245、ssp370、ssp585

CMIP6日数据(1.8T+)

包含变量:温压湿风辐射降水

包含情景:historical、ssp126、ssp245、ssp370、ssp585

全球VIPPHEN物候数据(40G+)

时间:1981-2014,年数据

空间分辨率:5.6km

ERA5-LAND陆面再分析数据(5T左右)

时间:1951.1.1-2021.12.31  时间分辨率:hourly

空间分辨率:0.1°(等角lonlat投影+wgs84)

包含11个变量:温度、气压、辐射、蒸发、降水、湿度【详情见数据说明文件】

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

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

专题一、Python重点工具  

Numpy:科学计算

Scipy:科学计算

Sklearn:机器学习

Matplotlib:可视化

Cartopy:地理数据可视化

图片

GeoPandas:地理数据分析

图片

专题二、常见地球科学数据 

1、站点数据:

GSOD

GHCN

图片

ISMN:国际土壤湿度测量网络数据

图片

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进行大数据并行计算

使用Dask进行大数据并行计算

Arrays、DataFrames

无结构数据的并行处理

延迟计算

案例一:

并行处理长时间序列的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)

原文链接icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzUyNzczMTI4Mg==&mid=2247686676&idx=3&sn=758db448cf19e1ec623538dae7453c39&chksm=fa774529cd00cc3ffcdf8e1fe1618b1e8ddaed47705e5b71a44c76161412fe86e95bb7341fe7&token=1908211715&lang=zh_CN&scene=21&poc_token=HNJ_Xmaj_1-_vLjJCeOHQIX_5RXWDfytqv6CBztN

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

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

相关文章

【微信支付】获取微信开发信息(全网最详细!!!)

前言 1、申请商户号 申请流程与资料 详细申请步骤 申请开通接入微信支付步骤 2、申请微信小程序 申请小程序步骤 查看小程序AppID 3、微信支付普通商户与AppID账号关联 4、获取开发中需要的密钥和证书 4.1、申请证书 4.2、下载证书工具 4.3、证书工具—填写商户信息…

七大战略性新兴产业崭露头角:新能源电燃灶或将成为未来厨房新宠

近日,在国家发布的七大战略性新兴产业名单中,新能源产业赫然在列,作为其中的重要组成部分,华火新能源电燃灶凭借其独特的优势,正逐渐走进人们的视野,有望成为未来厨房的新宠。 华火新能源电燃灶作为清洁能源…

实验笔记之——DPVO(Deep Patch Visual Odometry)

本博文记录本文测试DPVO的过程,本博文仅供本人学习记录用~ 《Deep Patch Visual Odometry》 代码链接:GitHub - princeton-vl/DPVO: Deep Patch Visual Odometry 目录 配置过程 测试记录 参考资料 配置过程 首先下载代码以及创建conda环境 git clo…

吴恩达深度学习笔记:机器学习(ML)策略(1)(ML strategy(1))1.3-1.4

目录 第三门课 结构化机器学习项目(Structuring Machine Learning Projects)第一周 机器学习(ML)策略(1)(ML strategy(1))1.3 单一数字评估指标(S…

PDF编辑流程,另附5款好用的PDF编辑器

pdf作为一个用来定稿打印的格式,偏偏许多时候需要事后去编辑它。而它格式复杂、混乱,解码困难,再好的编辑器也难免乱码。这里就从目前的pdf编辑流程上给大家稍微科普下。 首先,PDF编辑软件读取需要编辑的PDF文件,解析PDF文件的内…

被踢指数高!这本8.8分双1区“毕业神刊”,2个月可录!虽备受国人喜爱,但需谨慎投稿!

【欧亚科睿学术】 近期,经查询,小编发现ELSEVIER旗下一本热门顶刊竟在JCAR官网上显示被踢指数高。 图片来源:JCAR KNOWLEDGE-BASED SYSTEMS(ISSN :0950-7051)是人工智能领域的一本国际性、跨学科期刊。目前,该期刊影响…

Qt实用技能-必看系列

注:所有qt项目不能放到含中文的目录中 如何将material库添加进项目 1.构建运行项目 2.切换到debug目录,复制.a文件 3.粘贴到新建的libs目录 4.新建include目录存放头文件,将原项目所有头文件一并复制粘贴到include。 5.将文件与我们的项目产生联系。在pro文件将编译依赖的…

Linux线程 -- 互斥锁 和 条件变量

在多线程编程中,互斥量(mutex)是用于保护共享资源的同步机制,确保在任一时刻只有一个线程能够访问共享资源。互斥量用于防止竞态条件(race conditions),确保数据一致性。 基本概念 互斥量&…

计网期末复习指南(六):应用层(DNS、FTP、URL、HTTP、SMTP、POP3)

前言:本系列文章旨在通过TCP/IP协议簇自下而上的梳理大致的知识点,从计算机网络体系结构出发到应用层,每一个协议层通过一篇文章进行总结,本系列正在持续更新中... 计网期末复习指南(一):计算…

图论:倍增求解最近公共祖先LCA

说明:CSDN和公众号文章同步发布,需要第一时间收到最新内容,请关注公众号【比特正传】。 最近公共祖先LCA是NOI大纲中指定的提高组的图论部分的知识点,难度系数为6,提高组考察难度为5~8。 引入 树是一种特殊的图&…

6 -力扣高频 SQL 50 题(基础版)

6. 使用唯一标识码替换员工ID -- MySQL中的left join是一种连接方式 -- 它以左表为基准,返回左表中所有的行,同时返回右表中与左表匹配的行。 -- 如果右表中没有匹配的行,则用NULL填充。 select unique_id,name from Employees e left join …

告别繁琐,Xinstall一键解决App代理结算难题!

在移动互联网的浪潮中,App的推广和运营成为了众多企业和开发者关注的焦点。然而,随着App市场的日益竞争,代理结算的复杂性和繁琐性成为了许多推广者头疼的问题。为了解决这个问题,Xinstall凭借其专业的技术和丰富的服务经验&#…

项目更换服务器时间少8小时

时区错误 输入 date 查看当前的linux系统时间 hwclock --show 查看当前linux硬件时间 如果发现系统时间和硬件时间不同步,而且硬件时间是正确的,可以用以下命令:hwclock --hctosys 把硬件时间同步到系统时间 mysql时区错误可以参考这位大…

java环境部署

jdk下载 如果你电脑已经下载了 jdk ,那你可以跳过这一步了 jdk 的下载路径:https://www.oracle.com/java/technologies/downloads 我这里下载的是java21 你们可以选择自己需要下载的 游览进去的页面是这样子的(相比以前这个页面发生很大变化了&#x…

《额尔古纳河右岸》有感

看完了迟子建老师的《额尔古纳河右岸》,老规矩,写点东西吧。最近一段时间确实挺迷茫的,所以给自己找了点事儿,看看书。期初并不能认真看进去,慢慢的看见去之后,就愈发想知道故事的后来。 书里有太多关于死亡…

用增之Firebase

目录 简介 开发准备: 1、在Firebase平台创建项目 2、将项目关联到应用 3、项目配置 简介 前面讲了google ddl部分,本篇为Firebase的事件上报部分,包括在FireBase平台创建应用 , 如果有用到ddl…

如何判断ubuntu是桌面版(destop版)还是服务版(server版)?(systemctl status display-manager)

文章目录 用命令systemctl status display-manager 用命令systemctl status display-manager systemctl status display-manager如果是ubuntu desktop,将显示服务正在运行,如: 如果是ubuntu server,将不会显示服务,提…

《缺失MRI模态下的脑肿瘤分割的潜在相关表示学习》| 文献速递-深度学习肿瘤自动分割

Title 题目 Latent Correlation Representation Learning for Brain Tumor Segmentation With Missing MRI Modalities 《缺失MRI模态下的脑肿瘤分割的潜在相关表示学习》 01 文献速递介绍 脑肿瘤是世界上最具侵略性的癌症之一,脑肿瘤的早期诊断在临床评估和治…

【Javascript系统学习】

语法与数据类型 语法 var\let\const 用 var 或 let 语句声明的变量,如果没有赋初始值,则其值为 undefined。如果访问一个未声明的变量会导致抛出 ReferenceError 异常: undefined 值在布尔类型环境中会被当作 false数值类型环境中 undefin…

APP分发移动应用分发未来:内容驱动

APP分发移动应用分发未来:内容驱动 一、引言 随着移动互联网技术的不断进步和用户需求的日益多样化,移动应用分发行业正面临着前所未有的机遇与挑战。在这个过程中,内容驱动成为了一个重要的趋势,它不仅可以提升用户体验&#x…