活动温度总和(简称积温)是某一段时间内逐日平均气温≥10℃持续期间日平均气温的总和。是研究温度与生物有机体发育速度之间关系的一种指标,从强度和作用时间两个方面表示温度对生物有机体生长发育的影响。一般以度日(d·℃)为单位。
积温一般使用站点记录的日平均气温进行计算。我国建设有2000余个国家气象站点,最早观测时间至1951。观测数据可在国际气象信息中心申请(中国气象数据网)。这些站点的日值观测数据可以用于积温的计算,图1是站点日尺度气温数据的格式。温度数据共13列,第1列为站点编号,第2、3、4列站点经纬度和海拔高度,第5-7列为观测日期,第8-10列为日平均温、最高温和最低温,11-13列为数据观测状态。
图1. 日观测气温数据格式
积温计算代码
1. 将所有站点数据导入到Matlab中
%% 将所有的温度数据导入到matlab中
%% 选择数据所在的文件夹,获取所有文件信息
clear,clc
% 添加当前路径
addpath(genpath(pwd))
filedir = 'F:\indices_wangjing\tem\*txt';
filenames = dir(filedir);
% 文件保存目录
filedir_save = 'F:\indices_wangjing\tem_mat\';
% 获取文件长度
file_len = length(filenames);
% 逐个文件导入
for ifile = 1:file_len
disp(ifile/file_len);
% 当前文件
filename_this = filenames(ifile).name;
% 获取观测时间
time_obv = filename_this(end-9:end-4);
% 读取当前文件(自定义函数参加第3部分)
sm_singleMonth = importfile_tem_v1(filename_this, 1, inf);
% 纬度转换
lats = sm_singleMonth(:,2);
lats_ = num2str(lats);
lats_D = str2num(lats_(:,1:2)); % degree
lats_M = str2num(lats_(:,3:end)); % minute
lats = lats_D+lats_M/60;
% 经度转换</