APP下载

基于IDL平台的植被物候影响因子计算程序

2021-07-29司国新周尧治

绿色科技 2021年13期
关键词:物候林芝植被

司国新,周尧治

(1.西藏农牧学院高原生态研究所,西藏 林芝 860000 ;2.西藏高原森林生态教育部重点实验室,西藏 林芝 860000;3.西藏林芝高山森林生态系统国家野外科学观测研究站,西藏 林芝 860000;4.西藏自治区生态安全联合实验室,西藏 林芝 860000)

1 引言

植被物候是与大气界面能量交换、全球物质循环、植被生产力等密切相关的关键参数[1,2]。植被物候的影响因子研究更是物候研究中的一个热点。已有研究表明,月平均温度、年均温、生物温度、温暖指数、寒冷指数和大陆度指数等是植被物候的重要影响因子[3~5]。

由于获取这些指标的数据源体量庞大,依靠人工运算较为繁琐,并不适用于大范围的物候研究。因此需要更为准确和高效的运算方法。IDL平台大数据的处理能力强,有良好的可视化界面,是非常方便的程序设计平台[6]。

为了简化植被物候影响因子运算处理过程,计划基于1951~2018年的气象数据和IDL平台编写批量处理植被物候影响因子的代码。

2 数据与方法

2.1 数据

本文使用的气象数据均来自于中国气象数据网(http://data.cma.cn/)的V3数据集。所有数据均以txt格式按年份存储。

2.2 基本思路

研究的大多数植被物候影响因子均与各月的平均温度相关。所以,算法的第一步应当是计算各站点每个月的平均温度。然后加入温度阈值以计算生物温度、温暖指数和寒冷指数,加入经纬度信息以计算大陆度指数。整个代码应当采用环境设置、文件输入、文件循环、指标计算、数据输出等几个模块的架构。

3 代码实现

由于代码中需要大量调用ENVI的数学函数,所以应当在代码首段加入“compile_optidl2”语句,以确保稳定调用。使用read_ascii函数从txt文件读入数据源,并以结构体的形式存储在mete_para变量中。由于气象数据是按照年份的顺序存储的,必须要设置一个循环才能从大量文件中提出植被物候影响因子。事先设置了用于存放最终结果的outsum变量。对于每一个指标,都需要借助where函数从mete_para变量中筛选符合条件的原始数据,然后计算并传给outsum变量。最后调用WRITE_CSV函数以csv文件的形式输出计算结果。由于篇幅原因,下面只给出计算各个指标的核心代码:

fori=0,sizestation[1]-1dobegin

outsum[0,hang+i]=kustationall[0,i]

outsum[1,hang+i]=data[4,0]

forj=1,12dobegin

outsum[j+1,hang+i]=mean(mete[where((mete.stationeqkustationall[0,i])and(mete.temlt30000)and(mete.montheqj))].tem)

endfor

;计算每个月的平均温度

outsum[17,hang+i]=mean(mete[where((mete.stationeqkustationall[0,i])and(mete.temlt30000))].tem)

;年均温

fork=2,13dobegin

if(outsum[k,hang+i]gt0)and(outsum[k,hang+i]le300)thenbegin

outsum[18,hang+i]=outsum[18,hang+i]+outsum[k,hang+i]

endifelseif(outsum[k,hang+i]gt300)thenbegin

outsum[18,hang+i]=outsum[18,hang+i]

endifelsebegin

outsum[18,hang+i]=outsum[18,hang+i]

endelse

endfor

outsum[18,hang+i]=outsum[18,hang+i]/12

;生物温度

fork=2,13dobegin

if(outsum[k,hang+i]GE50)thenbegin

outsum[19,hang+i]=outsum[19,hang+i]+outsum[k,hang+i]-50

endifelseif(outsum[k,hang+i]lt50)thenbegin

outsum[20,hang+i]=outsum[20,hang+i]+50-outsum[k,hang+i]

endif

endfor

;温暖指数和寒冷指数

form=2,21dobegin

outsum[m,hang+i]=outsum[m,hang+i]/10

endfor

;转化为正常单位

outsum[21,hang+i]=1.7×outsum[16,hang+i]/sin(kustationall[1,i]×PI/180)-20.4

;计算大陆度指数

Endfor

为了验证代码的有效性,挑取青海省班玛气象站的原始气象数据,手动计算了其5条植被物候影响因子。又用代码计算了这几个指标,对比如表1。结果显示,代码计算准确。

表1 班玛气象站2018年植被物候影响因子

4 讨论与结论

植被物候研究需要使用大量气象因子指标,这些指标大多不易计算。所以基于IDL平台设计了物候影响因子的驱动程序。结果显示:代码运算准确高效。

猜你喜欢

物候林芝植被
基于高分遥感影像的路域植被生物量计算
呼和浩特市和林格尔县植被覆盖度变化遥感监测
GEE平台下利用物候特征进行面向对象的水稻种植分布提取
国航北京—林芝直飞复航
鲸鱼在发芽
追踪盗猎者
第一节 主要植被与自然环境 教学设计
气候变化对民和杏发育期影响分析
西藏林芝所有县区有望今年脱贫
林芝抵达香巴拉