建模分析和代码说明

date: 2021-05-27

author: Sid

一、要求

按照建立碳循环模型,然后探究三个地区在三种不同的温度变化(增温情境)下碳通量和碳储量的变化。

二、解题

解题过程分为3个部分:

2.1 建模

首先核心公式,NEP的变化

其中每年呼吸作用(Ra+Rh)的计算公式是:

根据 时周转时间为40年,可以得到

根据题目给出的,由PPT Page84页可得

可以得到参数,所以可以对呼吸作用的公式进行化简得

下文中无明确说明,将全部用总呼吸作用(RES)代指Ra+Rh

最后我们看一下GPP,由PPT Page98可知

其中已知, , 且

2.2 初始条件

这样所有的公式参数都知道了,再看初始条件

根据时,,可以知碳库C没有变化,再结合式可以得到不同地区的初始碳库大小。

对于温度为0的地区

据此可以计算出温度为年均温为0的地区初始碳库大小

如法炮制可以计算出各个地区的初始碳库大小。

2.3 进行模拟(代码说明)

定义变量

GPP、NEP、RES、Csink、TEMP都是301*6的数组,第一行是初始状态,第2-301行是模拟的300年数据。6列分别对应6种情境。

第1列第2列第3列第4列第5列第6列
0度地区0.01度持续增温5度地区0.01度持续增温10度地区0.01度持续升温0度地区1度持续升温5度地区1度持续升温10度地区1度持续升温

Pre calculation

Part1:对初始状态进行计算

Part2:设置六种情境的温度变化(对应上表)

SImulation

从第2行开始逐行处理(对应是从第1年开始模拟到第300年)

模拟利用了MATLAB向量运算的特性,使用行向量作为中间变量传入函数,简化了代码(少用了一层循环)。

保存数据

保存为了.mat格式

自定义函数部分

GetGPP():根据式6

GetT_eps2():根据式7

GetRES():根据式5

其中关于时间t,在调用函数的时候考虑了,如t-1对应了year_index-1

 


项目文件保存在我的Github上。