潮位调和分析工具学习(1)——T_tide

在海洋、浅海和海口等水域,潮汐(潮波)现象广泛存在。从潮汐的引发机制上来说,海洋的潮汐涨落与天体引力有密切的关系。天体运行周期各不相同,产生的引潮力也各不相同,这使得潮汐现象十分复杂。但它们共同作用所引起的潮位变化可采用叠加原理——调和分析法来考虑。
更多的相关教程推荐潘海东博士博客b站主页

调和分析基本原理

根据潮波方程的解的线性性质,我们可采用叠加法分析潮位变化,即可将任一潮汐测站的潮位变化表大为
Z ( t ) = S 0 + ∑ j = 1 J H j c o s ( σ j t + g j ) + r   . . . ( 1 ) Z(t) = S_0 + \sum _{j = 1}^{J} H_j cos( \sigma_jt +g_j )+r \space ... (1) Z(t)=S0+j=1JHjcos(σjt+gj)+r ...(1)
式中,S0是平均海平面,r为非天文因素引起的非周期性水位变化,σj 为分潮圆频率,Hj为分潮振幅,gj为分潮的初相角。
仅考虑天文潮,把(1)式线性化,得到:
Z ( t ) = S 0 + ∑ j = 1 J ( a j c o s σ j t + b j s i n σ j t )   . . . . ( 2 ) Z(t) = S_0 + \sum _{j = 1}^{J} (a_j cos \sigma_jt + b_j sin \sigma_jt ) \space .... (2) Z(t)=S0+j=1J(ajcosσjt+bjsinσjt) ....(2)
其中
H j = a j 2 + b j 2 ,   g j = a r c t a n ( b j a j )   . . . ( 3 ) H_j = \sqrt {a_j^2 + b_j^2}, \space g_j=arctan( \frac {b_j}{a_j} ) \space ... (3) Hj=aj2+bj2 , gj=arctan(ajbj) ...(3)
对于有N个时刻的潮位序列,则(2)式可变为以下方程组
[ Z ( t 1 ) Z ( t 2 ) . . . Z ( t N ) ] = [ 1 c o s ( σ 1 t 1 ) . . . c o s ( σ J t 1 ) s i n ( σ 1 t 1 ) . . . s i n ( σ J t 1 ) 1 c o s ( σ 1 t 2 ) . . . c o s ( σ J t 2 ) s i n ( σ 1 t 2 ) . . . s i n ( σ J t 2 ) . . . . . . . . . . . . . . . . . . . . . 1 c o s ( σ 1 t N ) . . . c o s ( σ J t N ) s i n ( σ 1 t N ) . . . s i n ( σ J t N ) ] [ S 0 a 1 . . . a J b 1 . . . b J ] {\left[ \begin{array}{c} Z(t_1) \\ Z(t_2) \\ ... \\ Z(t_N ) \end{array} \right ]} = {\left[ \begin{array}{ccccccc} 1 & cos(\sigma_1t_1) & ... & cos(\sigma_Jt_1) & sin(\sigma_1t_1) & ... & sin(\sigma_Jt_1) \\ 1 & cos(\sigma_1t_2) & ... & cos(\sigma_Jt_2) & sin(\sigma_1t_2) & ... & sin(\sigma_Jt_2) \\ ... & ... & ... & ... & ... & ... & ... \\ 1 & cos(\sigma_1t_N) & ... & cos(\sigma_Jt_N) & sin(\sigma_1t_N) & ... & sin(\sigma_Jt_N) \end{array} \right ]} {\left[ \begin{array}{c} S_0 \\ a_1 \\ ... \\ a_J \\ b_1\\ ... \\ b_J\\ \end{array} \right ]} Z(t1)Z(t2)...Z(tN) = 11...1cos(σ1t1)cos(σ1t2)...cos(σ1tN)............cos(σJt1)cos(σJt2)...cos(σJtN)sin(σ1t1)sin(σ1t2)...sin(σ1tN)............sin(σJt1)sin(σJt2)...sin(σJtN) S0a1...aJb1...bJ
求解上述方程组,即可得到式(2)中的各个参数值,进一步可求得分潮振幅和相位(通过式(3))。

潮位调和分析工具 T_tide

T_tide 工具包是由Pawlowicz等人1开发,可用于长时间序列潮位、潮波的调和分析。该工具包基于MATLAB,包含了一百七十余个分潮参数。

应用实例

数据集

以下所用数据集来自中国南部某潮位测站的实测潮位记录。该潮位测站记录了长期(数十年)来的高低潮出现时间及对应潮位值,即该测站的潮位记录时非等时距的潮位时间序列;而调和分析一般需要等时距潮位序列,故需要利用潮位数据集,通过合适的插值法(详见关于潮位数据插值的博文.),得到可用于调和分析的时间序列。潮位过程时间序列如下所示。
请添加图片描述

T_Tide的使用

T_TIDE工具包最核心函数就是t_tide(xin,varargin),该函数的详细代码见T_tide工具包中的t_tide.m文件。该参数的表达式入下:

[nameu,fu,tidecon,xout]=t_tide(xin,varargin)

其中,输出的函数值包括:

  1. nameu(char类型),表示各分潮的名称(设分潮个数为Ntides);
  2. fu为一浮点数向量,包含Ntides个元素,表示各分潮对应的频率;
  3. tidecon为一浮点数矩阵,包含Ntides×4个元素,每列数字分别表示各分潮的振幅、振幅误差、相位和相位误差;
  4. xout为一浮点数向量,表示根据调和分析结果计算得出的潮位时间序列。

其输入值包括 xin ——潮位时间序列(一般为列向量)和分析参数varargin;varargin中的参数包括:

  1. interval:时间序列中,相邻数据的时间间隔(单位:小时);
  2. start time:时间序列的起始时刻(单位:小时);
  3. latitude:该时间序列所对应的位置的纬度值(单位为°,以北纬为正),该参数可选填
  4. output:分析结果的输出位置(‘none’ - 不显示;‘screen’ - 显示在屏幕上;FILENAME - 输出成某一文件,并给定文件名),该参数可选填,默认为’'screen’
  5. prefilt:校正因子,用于潮位时间序列的滤波,该参数可选填
  6. secular:在长系列时间序列的分析,用于天文常数的校正(‘mean’ - 假定为常数;‘linear’ - 假定为线性变化),该参数可选填,默认为’'mean’
  7. inference:设定inference parameters,需要给定所关联的分潮名称、对应的振幅与相位,该参数可选填
  8. shallow:用于设定浅水分潮的名称;
  9. rayleigh:设定用于分析的分潮名称 [**注意:**可能各个分潮名称的字符数不同,为保持各分潮字符数一致,在输入时可在分潮名后补空格使各名称字符数一致];
  10. error:用于设定误差的估计方式;
  11. synthesis:当该值为零,则给出所有设定分潮的分析结果,若该值大于零,则只输出SNR>2的分潮结果,若小于零,输出最小二乘拟合的结果;
  12. lsq:最小二乘法计算过程的效率参数(‘direct’ - use A\x fit;‘normal’ - use (A’A)(A’x) ;‘best’ - 自动选择最佳参数)。

我们在使用时设定如下指令:

% 此案例中暂不考虑下列参数
infername=[ ];
inferfrom=[ ];
infamp=[];
infphase=[];

% 使用t_tide函数
[tidestruc,pout] = t_tide(elev ,...   % time series of tide elevation (a vector)
       'interval',1, ...                     % hourly data
       'start',time(1),...               % start time; 'time' is the vector of time for the elevation series
       'latitude',23,...               % Latitude of obs
       'rayleigh',['M2 ';'S2 ';'K1 ';'O1 ';'MSF';'M4 '],...
       'inference', infername,inferfrom,infamp,infphase,...
       'shallow','M10',...                   % Add a shallow-water constituent 
       'error','linear',...                   % coloured boostrap CI
       'synthesis',1);                 % Use SNR=1 for synthesis.        
% 输出包含两部分,第一个是tidestruc结构体,它包含了分潮的各项参数;
% 第二是pout,它是根据分析结果推算出的潮位过程。

分析结果

分潮频率振幅振幅误差相位相位误差SNR
MSF0.00280.01820.0540357.7098170.21160.1133
O10.03870.24180.0131238.59803.4997342.6091
K10.04180.28880.0131290.68582.7928488.9960
M20.08050.32040.012923.67432.2449619.7153
S20.08330.07650.012994.01399.657335.3121
M40.16100.04440.0055169.46626.812164.0243
M100.40260.00160.000948.900427.66183.3430

  1. Pawlowicz R , Beardsley B , Lentz S . Classical tidal harmonic analysis including error estimates in MATLAB using T_TIDE[J]. Computers & Geosciences, 2002, 28(8):929-937. ↩︎

  • 20
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值