Python语言在地球科学领域中的应用

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

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

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

专题

Python重点工具讲解
【打好基础】

  • Numpy:科学计算
  • Scipy:科学计算
  • Sklearn:机器学习
  • Matplotlib:可视化

专题二

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

1、站点数据:

  • GSOD
  • GHCN

2、格点观测数据

  • CRU
  • CN05.1
  • OISST、HadSST

3、再分析:

  • ERA5
  • GLDAS

4、遥感数据:

  • GLEAM
  • Landsat
  • MODIS
  • TRMM

专题三

使用Xarray处理netCDF和Geotiff数据

  • Xarray

读取&写入 netCDF文件

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

  • Rasterio & rioxarray

专题

使用Pandas分析时间

序列数据

案例一:时间序列填补

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

案例三:台风个数统计

s

专题

使用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数据等为例

1、案例一:空间降尺度

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

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

  • 读取GLEAM数据,并分析蒸散发的年际变化
  • 比较MODIS ET产品与GLEAM的差异

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

  • 比较GLDAS、GLEAM和CCI SM

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

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

专题

使用Python处理气候变化数据1

观测数据

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

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

3、案例三:再分析数据处理

  • ERA5数据气温评估

专题

使用Python处理气候变化数据2

以CMIP6数据为例

1、降尺度

  • Delta方法
  • 百分位校正方法

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

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

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

z

专题十一

使用Python对WRF模式数据后处理

1、案例一:空间坐标重采样

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

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

专题十二

使用Python运行生态

模型

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

1、模型讲解

2、气象数据的准备

3、控制文件生成

4、模式的运行

  • Muliprocesing 并行运行

5、模式后处理

  • 结果统计
  • 结果可视化(NPP)

原文链接icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzUyNzczMTI4Mg==&mid=2247617019&idx=3&sn=212d8aadbf275fd5216a95b8196afd51&chksm=fa7856c6cd0fdfd0bf2cbbf0bde8a292e25c28599caeedc26b1943266d079177e954640df6a1&token=622662806&lang=zh_CN&scene=21#wechat_redirect

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

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

相关文章

Hadoop-Yarn

一、Yarn资源调度器 思考: 1)如何管理集群资源? 2)如何给任务合理分配资源? Yarn 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台。 而 MapReduce …

5.110 BCC工具之btrfsslower.py解读

一,工具简介 btrfsslower 显示慢于阈值的 btrfs 读取、写入、打开和同步操作 二,代码示例 #!/usr/bin/env pythonfrom __future__ import print_function from bcc import BPF import argparse from datetime import datetime, timedelta from time import strftime# symb…

【IoTDB 线上小课 01】我们聊聊“金三银四”下的开源

关于 IoTDB,关于物联网,关于时序数据库,关于开源...你是否仍有很多疑问? 除了自己钻研文档,群里与各位“大佬”的沟通,你是否还希望能够有个学习“捷径”? 天谋科技发起社区小伙伴,正…

数据分析(三)线性回归模型实现

1. 惩罚线性回归模型概述 线性回归在实际应用时需要对普通最小二乘法进行一些修改。普通最小二乘法只在训练数据上最小化错误,难以顾及所有数据。 惩罚线性回归方法是一族用于克服最小二乘法( OLS)过拟合问题的方法。岭回归是惩罚线性回归的…

【机器学习理论】2023 Spring Homework 2 Solution

注:此答案为非官方但正确的答案 Problem 1 (Empirical and Average Rademacher Complexity): In class, we defined the Rademacher complexity of a function set H \mathcal{H} H as R n ( H ) = E S

关于rabbitmq的prefetch机制

消息预取机制(Prefetch Mechanism)是RabbitMQ中用于控制消息传递给消费者的一种机制。它定义了在一个信道上,消费者允许的最大未确认的消息数量。一旦未确认的消息数量达到了设置的预取值,RabbitMQ就会停止向该消费者发送更多消息…

PS从入门到精通视频各类教程整理全集,包含素材、作业等(8)

PS从入门到精通视频各类教程整理全集,包含素材、作业等 最新PS以及插件合集,可在我以往文章中找到 由于阿里云盘有分享次受限制和文件大小限制,今天先分享到这里,后续持续更新 B站-PS异闻录:萌新系统入门课课程视频 …

2024年最新社交相亲系统源码下载

最新相亲系统源码功能介绍 参考:相亲系统源码及功能详细介绍 相亲系统主要功能 (已完成) 相亲系统登录注册 相亲系统会员列表 相亲系统会员搜索 相亲系统会员详情 相亲系统会员身份认证 - 对接阿里云 相亲系统资源存储 - 对接七…

大意了MySQL关键字EXPLAIN

一、问题 然后explain带了单引号、以区别其关键字 二、报错如下 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near explain, us.nickname AS user_send_nickname, ua.nickname…

学习鸿蒙基础(12)

目录 一、网络json-server配置 (1)然后输入: (2)显示下载成功。但是输入json-server -v的时候。报错。 (3)此时卸载默认的json-server (4)安装和nodejs匹配版本的js…

页面刚加载的时候显示自己定义的{{***}}然后一闪而过

这时候别用插值表达式语法了,直接用v-text或者v-html就能解决这个问题 但是有个问题,如下图所示: 具体bind使用方式,如下图所示: 但是v-bind也可以进行简写,就是去掉v-bind,直接写&#xff1a…

2404d,d语言支持源码包

原文 支持源码包文件 这是个编译器功能,而不是D语言功能. 与给链接器提供目标文件库方式类似,给编译器添加源码包文件支持.包(及其所有子文件)都可成为源码包文件. 然后,把源码包文件提供给编译器,而不是包含大量文件的目录.即,如,可按一个(std.sar)文件分发所有的标准库. …

什么是typescript?

typescript并不是一种全新的语言,准确来说是js的一种超级,任何合法的js代码都是可以在typescript上运行,反过来说,ts上包含着一些js上一些没有的功能 ts包含着目前很多主流的标准,甚至包含了很多目前正在实验的语法。…

如何正确使用reflect:Go反射规范与最佳实践

在Go语言中,reflect包提供了一种强大的机制,允许我们在运行时检查和操作类型信息。正确使用reflect可以帮助我们编写更灵活和动态的代码。以下是一些如何正确使用reflect的示例和最佳实践: 1. 理解reflect.Type和reflect.Value 首先,我们需要理解reflect.Type和reflect.V…

Claude-3超越GPT-4:下一代AI在编程、学术和写作领域的突破

在当今这个信息爆炸的时代,人工智能技术的进步为我们提供了前所未有的便利。尤其是在编程、学术研究和专业写作等领域,AI的辅助作用变得尤为重要。最近,我有幸体验了一款新型的人工智能工具——Claude-3,它的表现让我惊讶不已&…

golang 归并回源策略

前言 下面是我根据业务需求画了一个架构图,没有特别之处,很普通,都是我们常见的中间件,都是一些幂等性GET 请求。有一个地方很有意思,从service 分别有10000 qps 请求到Redis,并且它们的key 是一样的。这样…

小于n的最大数 Leetcode 902 Numbers At Most N Given Digit Set

这两个问题的本质就是一个棵树,然后根据n对树做剪枝。难点在于剪的时候边界条件有些坑,get_lower_largest_digit_dic是这两个题目的共同点 题目一: 小于n的最大数 算法题目:小于n的最大数 问题描述:给一个数组nums[5…

『python爬虫』巨量http代理使用 每天白嫖1000ip(保姆级图文)

目录 注册 实名得到API链接和账密 Python3requests调用Scpay总结 欢迎关注 『python爬虫』 专栏,持续更新中 欢迎关注 『python爬虫』 专栏,持续更新中 注册 实名 注册巨量http 用户概览中领取1000ip,在动态代理中使用.用来测试一下还是不错的 得到AP…

什么是rsync协议

2024年4月5日,周五上午 rsync协议是一种用于文件同步和传输的协议,旨在高效地在两个位置之间传输文件或文件夹,并且在传输时只传输文件的差异部分,从而减少带宽占用和传输时间。 以下是rsync协议的主要特点和工作原理&#xff1a…

Ribbon有哪些负载均衡策略

负载均衡类都实现了IRule接口。 RandomRule:随机的选用一个实例 RoundRobinRule:轮询的使用实例 RetryRule:在轮询的基础上加了一个错误重试机制,在deadline时间内会不断的重试 WeightResponeTimeRule:根据权重去做…