气候学文档

气候学函数给出了变量全年变化的典型值。这个函数的输出包括总体平均值(而季节函数的输出不包括)。

参见:季节deseasonsinefitsineval,sinefit_bootstrap

返回气候数据工具目录

内容

语法

[AC,TC] =气候学(A,T)[AC,TC] =气候学(...,'每日')[AC,TC] =气候学(...,'月度')[AC,TC] =气候学(......,','DEDREND',DEDRENDOPTION)[AC,TC] =气候学(......,','DIM',尺寸)AC = CLINATOLOGY(...,'全')

描述

[Ac,tc] =气候学(A,t)给出变量A全年变化的典型值。Times Times t的格式为datenum或datetime。如果t是每日的,则输出tc为1到366,Ac将包含一年中366天中每个天的平均值。如果输入是每月的,tc为1:12,Ac将包含一年12个月中每个月的平均值。

[Ac,tc] = climatology(…,'daily')直接指定输入是每日分辨率。气候学功能通常会自动计算出这一点,但如果你的数据中有很大的缺失,你可能希望通过指定日来确保正确的结果。

[Ac,tc] =气候学(…,'month ')如上所示,但强迫按月解决。

[AC,TC] =气候学(...,'DEDREND',DETRENDOPTION)指定相对于确定季节性异常的基线。选项是“线性”,'二次',或'无'。默认情况下,在删除线性最小二乘趋势后计算异常,但如果例如,变暖是强烈的非线性的,则可能更喜欢“二次”选项。默认为“线性”。

[Ac,tc] =气候学(…,'dim',dimension)指的是评估季节的一个维度。默认情况下,如果A是1D,则沿着非单例维度返回季节循环;如果A是2D,气候学将沿着维度1进行(时间沿行递减);如果A是三维的,气候学是沿着三维3进行的。

Ac =气候学(…,'full')返回整个时间序列a的Ac。这是一个方便的选项,可以分别查看长时间序列的组成部分。

例1:每日海冰范围

这是一些海冰数据主要是日报。1988年之前,每隔一天才有数据,但这没关系气候学函数会算出来的。首先加载并绘制数据。再加上一条最小二乘趋势线polyplot

负载seaice_extent情节(t, extent_N)盒子ylabel“海冰范围(\times10^6 km^2)”持有extent_N polyplot (t)

气候学是:

extent_N_clim =气候学(extent_N t“全部”);情节(t, extent_N_clim)

在上面的图中,你会注意到气候学的平均值与原始海冰范围时间序列相同,但它在时间上没有任何趋势。它唯一的变化是随季节而变化。

从原始信号中去除气候学会产生与去除平均值和季节周期相同的结果——只剩下长期趋势、年际变化和噪声。

示例2:网格化数据

对于本例,加载pacific_sst示例数据集,其中包含802个月网格化的海面温度的网格化数据。利用这66.8年的数据来了解全年sst的变化趋势,如下所示:

负载pacific_sstsst_c =气候学(sst、t);

现在,sst_c是一个60x55x12的海洋表面温度网格。第三个维度显示了典型年份中每个月的海面温度。动画他们,做一个gif像这样,从绘制第一帧开始:

图h = imagescn(lon,lat,sst_c(:,: 1));cb = colorbar;ylabel(cb,'sea surface temperature (\circC)') cmocean thermal % set the colormap title(datestr(datenum(0,1,1),'mmmm')) % convert "1" to "January" caxis([2 29])
%添加一个愚蠢的地球图像:坚持他=地球图像;uistack(he,'bottom') %将地球图像置于SST数据之下
%写入第一帧:gif('pacific_sst_climatology.gif','frame',gcf,'delaytime',1/12,'nodither')
% Write frames for all the other months: for k = 2:12 h.CData = sst_c(:,:,k);%更新月值title(datestr(datenum(0,k,1),'mmmm')) %更新标题GIF %将此帧添加到GIF结束

...这就产生了这个漂亮的动画:

季节和气候学

CDT有一个函数叫做气候学另一个函数叫做季节.唯一的区别是气候学包含变量的均值,而输出季节均值总是0。因此,deseason函数去除季节变化的成分,同时保留整体平均值和趋势。

一般来说,CDT假设以次年度分辨率采样的变量的多年记录可以用

Y = y_0 + y_tr + y_season + y_var + y_noise

在哪里

在这个模型中,

y_气候学= y_0 + y_season

还有其他定义季节性的方法

还有另一种定义季节性的方法,请看sinefitsineval,sinefit_bootstrap

作者信息

这个函数是气候数据工具箱的Matlab.功能和辅助文档是由德克萨斯大学奥斯万博1manbetx汀分校的Chad A. Greene编写的。