Python语言在地球科学交叉领域中的实践

94 篇文章 3 订阅
41 篇文章 1 订阅

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

专家:长期从事地学领域数据挖掘、区域气候变化、数值模式、地学统计。主要研究领域为复杂数据分析和统计建模,长期从事Python语言的教学与应用,有丰富的地学数据分析、建模、商务智能等项目实施与管理经验。

158。3333。2534。

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

时间分辨率:hourly

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

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

ERA5大气再分析数据WRF驱动数据(28T左右)  

时空分辨率:0.25˚/hourly

时空覆盖:1940-2024/东亚范围

FNL大气再分析数据WRF驱动数据  

时空分辨率:0.25˚/hourly

时空覆盖:1940-2024/东亚范围

ERA5大气再分析数据地面数据  

时空分辨率:0.25˚/hourly

时空覆盖:1940-2024/东亚范围

包含变量:2m温度、地表气压、2m比湿、UV10m风速、土壤温湿度(4层)

ERA5大气再分析数据大气数据(900G+)

时空分辨率:0.25˚/monthly

时空覆盖:1959-2021/全球范围

包含变量:大气分层的散度、云量分数 、地势高度、臭氧质量混合比、势能涡度、相对湿度、特定云冰水含量、特定云液态水含量、比湿、特定雨水含量、特定雪水含量、温度、风的U分量、风的V分量、垂直速度。

ERA5大气再分析数据大气数据(4.7TB+)

时空分辨率:0.1˚/hourly

时空覆盖:1979-2022/亚洲东部[90-150E,30N-30S]

包含变量:2米露点温度、2米温度、裸土蒸发量、冠层顶部蒸发量、潜在蒸发量、土壤温度/水分(四层)、地表净热辐射、地表压力、地表向下太阳辐射、蒸发量、总降水量、土壤水分。

CMIP5/6月尺度陆面气象数据(50G+)

包含变量:地面数据(温、压、湿、风、辐射和降水)

包含情景:historical(1850-2014)、ssp126(2015-2100)、ssp245(2015-2100)、ssp370(2015-2100)、ssp585(2015-2100)

CMIP6月尺度生态相关数据

包含变量:陆面生态系统过程数据(NPP、NEP、GPP)

包含模型:10~17个模型不等

包含情景:historical(1950-2014)、ssp126(2015-2100)、ssp245(2015-2100)、ssp370(2015-2100)、ssp585(2015-2100)

CMIP6日数据(1.8T+)

包含变量:地面数据(温、压、湿、风、辐射和降水)

包含模型:12

包含情景:historical(1960-2014)、ssp126、ssp245、ssp370、ssp585

CMIP6中德国MPI-ESM1-2-LR模式用于WRF的数据(1.5T+)

时空分辨率:0.25˚/monthly

包含情景:historical(1950-2014)、ssp126(2015-2100)、ssp245(2015-2100)、ssp370(2015-2100)、ssp585(2015-2100)

格式:netCDF;GRIB(单独联系)

Python重点工具

  • Numpy:科学计算
  • Scipy:科学计算
  • Sklearn:机器学习
  • Matplotlib:可视化
  • Cartopy:地理数据可视化
  • GeoPandas:地理数据分析

 

 常见地球科学数据

、站点数据:

  • 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进行大空间分析

 空间自相关分析

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

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

、预备工作:

  • 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和气象共享网数据为例

 

、数据的读取

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

2、数据清洗:

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

3、多时间尺度的统计:

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

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

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

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

案例一:空间降尺度

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

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

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

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

  • GLEAM和ERA5数据建立机器学习估算模型
  • 在区域尺度上进行长时间序列模拟

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

  • 比较GLDAS、GLEAM和CCI SM

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

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

案例一:结合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)

  • 0
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值