学习潘海东博士的《潮汐调和分析原理和应用》和调和分析软件S_Tide

2023-10-18 03:30

本文主要是介绍学习潘海东博士的《潮汐调和分析原理和应用》和调和分析软件S_Tide,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

潘海东博士在B站(用户名:ocean_tide)分享了他的电子书《潮汐调和分析原理和应用》,以及他开发的潮汐调和分析工具包S_Tide,非常厉害。

水文同事在进行潮汐预报的时候,会经常说到调和分析和调和常数,博主一听到这些名词就懵圈,不明所以。而《潮汐调和分析原理和应用》开篇就讲潮汐调和分析求解分潮振幅和迟角的过程本质就是最小二乘拟合。作为测绘专业的学生,我们对最小二乘法还算熟悉。
测绘专业的学生一般会学习自由网平差,解算误差方程就是用到最小二乘法,以误差的平方和最小作为约束,求取观测值的最优估值。具体解算的过程是先输入观测值的初始值,求得误差值,计算误差值的平方和,然后再用新的观测值(初始值+误差值)重新计算,求得新的误差值,计算新误差的平方和,二次平方和相减,如果平方和的差值不满足要求,继续迭代,直至满足要求。

对于测绘专业学生,课程要求用C语言实现组误差方程和解算误差方程。有了matlab,我们只需要组误差方程,解算误差方程交给matlab。

《潮汐调和分析原理和应用》先讲了一个曲线拟合的例子,如下图散点图,用最小二乘法拟合出图中余弦函数公式。

点击查看原图

潮汐调和分析类似,水位被认为是一系列分潮(余弦函数)线性叠加的结果,见下图的公式。潮汐调和分析就是求取函数中的未知数。分潮的角频率已知,未知数只有振幅和迟角。

无标题2.jpg

潘海东博士在潮汐调和分析软件T_Tide的基础上开发更为强大的S_Tide。与T_Tide一样,S_Tide也是用matlab开发的。为了方便使用,S_Tide还带一个图形化用户界面(GUI),没有matlab基础的同学也能使用它进行潮汐调和分析和预报。

(1)Step1 导入数据,输入数据文件必须是csv或者是xls,数据必须是均匀采样,缺测要设置为NaN。

(2)Step2 设置采样间隔1小时和纬度46.2。

(3)Step3生成调和常数并保存。

无标题3.jpg

调和常数如下:

无标题4.jpg

(4)Step4回报720小时潮位。

无标题5.jpg

(5)Step6,Step7预报乘潮水位。

乘潮水位是指具有一定时间间隔且可用以通航的某一高潮水位。在海港工程的设计和施工中常常要求提供此值。虽然这个值是出现在高潮前后,但科学地掌握它仍需进行若干计算及研究,否则就可能因通航水位设计过浅而影响通过能力,或因疏浚过深而造成不必要的浪费。因此,合理选用乘潮水位有着重要的经济价值。

乘潮水位包括高潮乘潮水位和低潮乘潮水位。前者多用于船舶进出港航道或船坞,后者适用于利用低潮位延时进行水工建筑物的施工作业。

乘潮水位计算有2个参数,分别是乘潮时间和累计概率。

下图是乘潮为时间2个小时,保证率90%的乘潮计算结果。

无标题6.jpg

小结

S_Tide对R. Pawlowicz编制的T_Tide存在的各种问题进行了改进,比如T_TIDE无法处理长时间数据(18.61年),无法处理不均匀采样数据。 S_TIDE是一个更为普适的方法,可以广泛应用于各种潮汐资料的分析,甚至是非潮序列的研究(用来提取日循环,月循环,半年循环,年循环,8.85年循环,18.61年循环等)。另外,S_Tide教程非常地详细,非专业人士也能看懂。

参考文献

潮汐调和分析原理与应用——20220310南京大学_哔哩哔哩_bilibili

S_TIDE相比T_TIDE优势 - 哔哩哔哩

致所有的S_TIDE使用者:你们的贡献不会被忽视 - 哔哩哔哩
 

这篇关于学习潘海东博士的《潮汐调和分析原理和应用》和调和分析软件S_Tide的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/229904

相关文章

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实