当前位置: 首页 > backend >正文

【生态系统模型】Biome-BGC生态系统模型与Python融合技术实践应用

Biome-BGC是利用站点描述数据、气象数据和植被生理生态参数,模拟日尺度碳、水和氮通量的有效模型,其研究的空间尺度可以从点尺度扩展到陆地生态系统。

在Biome-BGC模型中,对于碳的生物量积累,采用光合酶促反应机理模型计算出每天的初级生产力(GPP),将生长呼吸和维持呼吸减去后的产物分配给叶、枝条、干和根。生物体的碳每天都按一定比例以凋落方式进入凋落物碳库;对于水份输运过程,该模型模拟的水循环过程包括降雨、降雪、冠层截留、穿透降水、树干径流、 冠层蒸发、融雪、雪升华、冠层蒸腾、土壤蒸发、蒸散、地表径流和土壤水分变化以及植物对水分的利用;对于土壤过程,模型考虑了凋落物分解进入土壤有机碳库过程、土壤有机物矿化过程和基于木桶模型的水在土层间的输送关系;对于能量平衡,该模型还考虑了净辐射、感热通量和潜热通量等过程。

利用中国区域地面气象要素驱动数据集(CMFD)和CN05.1气候数据格点化气象数据驱动Biome-BGC在区域上进行模拟。在模拟过程中,需要综合的使用Linux、Python等一些小工具,完成模式的前处理和后处理的工作。

第一部分、模式

Biome-BGC介绍

图片

第二部分、基础

Linux应用

实现批量创建文件、删除文件及文件夹

并行化执行程序

CDO工具应用

使用cdo工具对netCDF文件进行合并

筛选时间和变量,裁剪为小区域

Python应用

Python的循环语句,逻辑语句,

创建Numpy数组,并统计计算;

使用Matplotlib制作散点图、等值线图;

利用零散数据Pandas创建数,制作时间

利用Xarray读取netCDF文件,写入netCDF文件;实现插值工作

第三部分、数据处理

在linux 上综合使用cdo和xarray数据制备所需数据。

1、静态数据制备:

地形数据:GTOPO30S 1km 

土地利用数据:GLCC 1km

土壤数据:FAO

GPP数据:MODIS数据

图片

2、驱动数据制备:

CN05.1数据处理

CMFD数据处理

3、生态数据

MODIS GPP

第四部分、单点的模拟

1、前处理

从空间格点数据(netCDF格式)插值到站点

配置Biome-BGC运行文件

制备用于驱动Biome-BGC的气象数据

2、运行BGC模型

3、调参

以MODIS的GPP产品为观测值,使用Python库并行化调整Biome-BGC模型的参数

调整生长季开始和结束

 

图片

4、后处理

读取Biome-BGC的ascii文件和二进制文件

结果统计计算

结果可视化

第五部分、区域模拟-1

区域模拟是将区域上每个格点分别进行计算进行的。在本节案例中,将以一个较小的省份进行高分辨率模拟和在中国进行粗分辨率模拟。模拟过程中涉及以下步骤:

静态地理数据准备

气象驱动数据制备

分配数据

并行运行

合并单点结果为空间数据

第六部分、长时间序列模拟案例

使用ERA5作为观测数据的降尺度后的CMIP6未来气候变化降尺度数据。

对气象数据降尺度,获得气温、湿度、降水和向下短波辐射。

土壤数据、植被数据库查询

准备气象数据和静态数据

后处理模拟结果数据

 

图片

第七部分、分析

在单点和空间模拟数据的基础上,进行以下分析:

敏感性分析:

使用敏感性分析方法(SALib库),分析主要模拟参数对GPP的影响

归因分析:

使用通径分析方法(semopy库),结合气象要素,分析对GPP和ET的影响过程

原文

http://www.xdnf.cn/news/100.html

相关文章:

  • iOS Facebook 登录
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(四级)答案 + 解析
  • 基于大模型的腹股沟疝诊疗全流程风险预测与方案制定研究报告
  • 【vLLM 学习】Aqlm 示例
  • 网页端调用本地应用打开本地文件(PDF、Word、excel、PPT)
  • day31和day32图像处理OpenCV
  • 数据通信学习笔记之OSPF配置命令
  • 大数据应用开发——大数据平台集群部署
  • 数据结构——二叉树
  • GB28181的SIP注册与PS推流学习
  • 常用绑定事件方式有哪几种
  • Spring AI与通义千问的完美结合:构建智能对话应用
  • 【OSG学习笔记】Day 3: 加载你的第一个3D模型
  • C++每日训练 Day 16:构建 GUI 响应式信号机制(面向初学者)
  • Linux 文件传输:系统数据交互的动脉
  • 【Leetcode 每日一题 - 补卡】2537. 统计好子数组的数目
  • Flink-01学习 介绍Flink及上手小项目之词频统计
  • GPT对话UI--通义千问API
  • Linux 权限
  • 2025.4.17学习日记 初识JavaScript 以及Java和JavaScript有什么区别
  • 什么是分布式锁?
  • Linux: 生产者消费者模型
  • 从零开始学A2A四:A2A 协议的安全性与多模态支持
  • 多个路由器互通(静态路由)无单臂路由(简单版)
  • STM32 时钟树
  • TCP连接建立:为什么是三次握手?
  • 正则表达式在爬虫中的应用:匹配 HTML 和 JSON 的技巧
  • 操作教程|通过DataEase制作MaxKB系统数据大屏
  • QML之Overlay
  • R4打卡——pytorch实现LSTM预测火灾