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

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

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

数据福利:

1、CMIP6月数据(500G+)

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

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

2、CMIP6日数据(1.8T+)

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

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

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

时间:1981-2014,年数据

空间分辨率:5.6km

4、遥感降水数据MSWEP 2.0 (325G+)

时间:1979-2022

时间分辨率:3h

空间分辨率:0.10˚

5、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:可视化

常见地球科学数据讲解

1、站点数据:

  • GSOD
  • GHCN

Python语言在地球科学领域中的应用_第1张图片

2、格点观测数据

  • CRU

 Python语言在地球科学领域中的应用_第2张图片

  • CN05.1
  • OISST、HadSST 

3、再分析:

  • ERA5
  • GLDAS

Python语言在地球科学领域中的应用_第3张图片

4、遥感数据:

  • GLEAM

Python语言在地球科学领域中的应用_第4张图片

  • Landsat

 Python语言在地球科学领域中的应用_第5张图片

  • MODIS

 Python语言在地球科学领域中的应用_第6张图片

  • TRMM

 Python语言在地球科学领域中的应用_第7张图片

使用Xarray处理netCDF和Geotiff数据 

  • Xarray

读取&写入 netCDF文件

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

Rasterio & rioxarray

使用Pandas分析时间序列数据

案例一:时间序列填补

Python语言在地球科学领域中的应用_第8张图片

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

Python语言在地球科学领域中的应用_第9张图片

案例三:台风个数统计

Python语言在地球科学领域中的应用_第10张图片

 使用Python处理遥感:

数据1:以Landsat数据为例

1、大数据的可视化

  • GB级数据可视化

2、植被指数计算

Python语言在地球科学领域中的应用_第11张图片

3、裁剪区域

  • 使用mask掩膜文件裁剪

        使用shapefile文件裁剪

 使用Python处理遥感

数据2—以MODIS数据为例

1、预备工作:

  • Python读取HDF4-EOS数据
  • 使用GDAL库预处理
  • 转投影为wgs84+lonlat
  • 拼接多景影像

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

  • 2000-2020年青藏高原土地利用分析
  • 分析不同土地利用分类上气温和降水的变化

Python语言在地球科学领域中的应用_第12张图片

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

  • 青藏高原草场上土地利用GPP变化
  • 分析草场GPP与降水之间关系(ERA5再分析数据)

 Python语言在地球科学领域中的应用_第13张图片

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

  • 2000-2020年间青藏高原积雪时间统计
  • 分析祁连山不同高程带积雪时间统计(DEM:GTOP30S)

 Python语言在地球科学领域中的应用_第14张图片

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

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

 使用Python处理

站点数据:以GSOD和气象共享网数据为例

1、数据的读取

  • 读取美国NOAA的GSOD日值数据
  • 读取气象共享网日值数据

2、数据清洗:

  • 数据整理
  • 异常值检测
  • 阈值法
  • 模型法
  • 孤立森林

3、多时间尺度的统计:

  • 年尺度统计
  • 季尺度统计

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

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

使用Python处理遥感水文数据:以TRMM遥感降水数据和GLEAM数据等为例

1、案例一:空间降尺度

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

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

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

Python语言在地球科学领域中的应用_第15张图片

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

  • 比较GLDAS、GLEAM和CCI SM

 Python语言在地球科学领域中的应用_第16张图片

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

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

 使用Python处理气候变化

数据1观测数据

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

Python语言在地球科学领域中的应用_第17张图片

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

Python语言在地球科学领域中的应用_第18张图片

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

ERA5数据气温评估

使用Python处理气候变化

数据2以CMIP6数据为例

1、降尺度

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

Python语言在地球科学领域中的应用_第19张图片

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

Python语言在地球科学领域中的应用_第20张图片

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

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

 Python语言在地球科学领域中的应用_第21张图片

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

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

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

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

Python语言在地球科学领域中的应用_第22张图片

Python语言在地球科学领域中的应用_第23张图片

使用Python运行生态模型

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

1、模型讲解

2、气象数据的准备

3、控制文件生成

4、模式的运行

  • Muliprocesing 并行运行

5、模式后处理

  • 结果统计

结果可视化(NPP)

 点击查看原文

你可能感兴趣的:(遥感,水环境,测量测绘,数据挖掘,大数据,python)