具体实施方式
下面对根据本发明意图的电子潮汐计的一个实施例进行说明。顺便指出,本发明不局限于此实施例。
在本发明的电子潮汐计中,潮汐水位估算公式是基于谐波分解方法得到的,可从中确定实际的涨潮和落潮时间。首先对此潮汐水位估算公式进行解释。
在主要的沿岸地区如港湾和海滨浴场,对于公共机构或其他潮汐观测站来说,向公众公开当地潮汐数据是通常的做法。这里所说的潮汐数据代表的是通过识别一个傅里叶级数(谐波分解方法)而确定各基波的振幅或迟滞角度,傅里叶级数是由将在比如沿岸地区用潮汐计观测到的潮汐水位变化图中的基本波迭加所表示的。此处傅里叶级数根据潮汐水位估算公式而被确定,特别是其中上述的振幅和迟滞角度被称作谐波常数,每个基波被视为一个分量潮汐。
众所周知,引发潮汐现象的主要因素在于月亮、太阳等天体产生的引潮力。然而,由于还受到沿岸地区的地质结构、海水温度等的影响,还必须知道该地区当地的潮汐数据,即谐波常数。此外,月亮、太阳等天体的位置是由日历中的年、月、日决定的。因此,在潮汐水位估算公式中首先应确定的是符合日历的常数。
接下来在潮汐水位估算公式中,应确定根据某一观测点的常数以便确定与天体的具体位置关系,也就是应得到沿岸地区的发生涨潮、落潮时间的位置信息。最后,估算公式作为时间的函数以确定当地潮汐水位,表示如下:
h(t)=∑fi*Hi*cos{(V0i+Ui)+бi*t-gi} [公式1]
其中,gi=кi+a1*L-бi*s,表示修正迟滞角度;脚标i代表一种分量潮汐的数字;Hi和кi是上面所述的谐波常数,分别代表在观测点的一分量潮汐的平均振幅和一分量潮汐的迟滞角度(相位上的迟滞量);其他字母fi、V0i、Ui分别表示格林威治时间零点时的天文学系数;бi代表各分量潮汐的角速度;a1代表分量潮汐波的数目;L代表观测点的经度值(西经+,东经-);和S代表在观测点的标准时间差。
顺便说明,分量潮汐的意思就是由每个天体的引潮力引发的波。特别是该分量潮汐根据一定的时间周期再被分解为若干所谓周期性潮汐。例如,由月亮产生的引潮力产生的半天周期的波(主要是月亮的半周期波)被称为M2分量潮汐,由太阳产生的潮汐引潮力产生的半天周期的波(主要是太阳的半周期波)被称为S2分量潮汐。
此时,需要确定潮汐水位估算公式中采用的分量潮汐的数目。分量潮汐的数目越多被确定的涨潮和低潮的时间越准确。然而,还必须考虑操作时间和被采用的当地潮汐数据的数目。例如,选定Sa、Ssa、Q1、O1、P1、K1、μ2、N2、V2、M2、S2、K2、M4、MS4后,脚标数从1开始。这里列出的分量潮汐是基于太阳或月亮的引潮力的周期性潮汐。类似于上面的M2和S2,如Q1、O1、P1和K1分别定义出如主要是月亮椭圆速度的潮汐、主要是月亮的日间潮汐、主要是太阳的日间潮汐、太阳与月亮结合的日间潮汐。
公式1中,通过首先选定一个地区(观测点),观测点的经度L和观测点的标准时间差S被确定,接下来确定各分量潮汐的谐波常数(Hi、кi)。继而,通过选定日历,每个分量潮汐的天文学系数fi、V0i、Ui被确定。在各分量潮汐中,分量潮汐的波数a1和角速度бi已经是确定的数字了。
角速度бi通过a1*T3v+a2*Sav+a3*hav+a4*pav计算出来,它是各量每小时变化的组合,其中:
Tav=15°
Sav=0.54901652
hav=0.04106864
pav=0.00464181
并且每一个整数参数(a1、a2、a3、a4)都是基于天体的运动的,其中T:平太阳时间角,s:平月亮经度,h:平太阳经度,p:近月点平均经度。此处,a1用作分量潮汐波的数目和决定潮汐波数目的整数参数之一。例如,在M2分量潮汐的情况下,(a1、a2、a3、a4)=(2、-2、2、0),其角速度бi被表示为2*15-2*0.54901652+2*0.04106864=28.9841042。
这种方式下,因为角速度бi是与各分量潮汐的迟滞角кi共同预先决定的数值,就可确定该地区的位置信息L和S,并且也同时确定修正迟滞角gi的数值。于是,至少可以满意的是由此已获得了当地的潮汐数据,如各分量潮汐的角速度бi、修正迟滞角gi和谐波常数Hi。
天文学系数V0i(格林威治参数)由公式a2*s+a3*h+a4*p计算出来,如前面计算角速度бi时说明过的,它是s,h,p和整数参数(a2,a3,a4)的组合。这里,表达式如下:
s=211.728+129.38471*(Y-2000)+13.176396*(D+L)
h=279.974-0.23871*(Y-2000)+0.985647*(D+L)
p=83.298-40.66229*(Y-2000)+0.111404*(D+L)
其中,Y,D和L是由日历导出的数字,表示为Y:公元年,D:从Y年的1月1日起经过的天数,L:Y年的开始和2000年的开始之间的闰年的天数。具体地,L=int[(Y+3)/4]-500,其中int[]代表一个整数部分,并且早于2000年的L被处理为负值。
并且,天文学系数Ui被表示为ui+c,其中c是整数参数,ui被表示为一系列的三角函数。N由日历Y,D和L表示为:
N=125.071-19.32812*(Y-2000)-0.052954*(D+L)
于是,天文学系数V0i与Ui的和被表示为:
V0i+Ui=a2*s+a3*h+a4*p+c+ui
它是由日历Y,D决定的各分量潮汐的数值。例如,在M2分量潮汐(i=10)的情况下,V010+U10=-2s+2h+u10。
上述例子中的M2分量潮汐(i=10)的天文学系数fi和ui被表示为:
f10=1.0004-0.0373*cos N+0.0002*cos 2N
u10=-2.14*sin N
通过确定地区(观测点)和日历,h(t)最终由表示各分量潮汐的潮汐水位的公式的和构成,该公式是潮汐水位估算公式,用于计算在时间t的潮汐水位。
根据本发明的电子潮汐计使用了上面所述的潮汐水位估算公式。图1是本发明的电子潮汐计的方框图。图1中,电子潮汐计由以下几部分构成:能够由使用者输入日历和选择地区等的输入部分14,根据来自输入部分14的使用者的需要计算涨潮/落潮时间的中央处理单元(CPU)10,用来产生时钟脉冲以驱动CPU10的振荡电路13,存储用于CPU10等的操作程序的ROM11,用来存储CPU10的计算结果和用户等给出的设定状态的RAM12,显示CPU10的计算结果的显示部分15,等等。
ROM 11还存储有潮汐数据,如每个分量潮汐的角速度бi、前述的修正迟滞角gi和谐波常数Hi。潮汐数据中用到的分量潮汐的数目取决于ROM 11的存储容量。
接下来,参照图2的流程图对本发明的电子潮汐计的操作进行解说。首先,使用者通过输入部分14输入想要知道涨潮时间/落潮时间的年/月/日(日历)(步骤S101)。
然后,使用者通过输入部分14从ROM 11中存储的地区表中选取想要知道涨潮时间/落潮时间的地区(步骤S102)。由此确定了对应于选定地区的各本地分量潮汐的角速度бi、修正迟滞角gi和谐波常数Hi。
在步骤S101过程中,如果输入的年/月/日例如是y年/m月/d日,则y被转换成公元年Y(如果y是公元年则不需要转换),以计算从1月1日到m月d日经过的天数和从y年开始到2000年开始之间的闰年的天数。这就决定了相应的分量潮汐的天文学系数fi,V0i和Ui(步骤S103)。
经过上述步骤S101至S103,首先被确定的是用于确定在时间t的潮汐水位的潮汐水位估算公式h(t)。本发明的电子潮汐计的特征在于通过分两级运用此潮汐水位估算公式h(t)来进行潮汐水位的计算(步骤S104)。
图3显示的是第一级的潮汐水位的计算结果。图4显示的是第二级的潮汐水位的计算结果。附带说明,图3中只显示了部分结果。首先,对于第一级的潮汐水位计算,以例如ΔT1=60分钟的时段计算出从0到24时的潮汐水位。在此基础上,同时计算出潮汐差值df2=h(t2)-h(t1),即计算出的当前时间t2处的潮汐水位h(t2)和上一次计算出的时间t1处的潮汐水位h(t1)之间的差值。接下来,判断当前时间(时间t2)的潮汐差值df2和上一次时间(时间t1)的潮汐差值df1之间的符号是否不同,其中df1=h(t1)-h(t0)是上一次时间(时间t1)与更早一次时间(t0)间的潮汐水位之间的差值。上述计算的各结果被顺序地存储在RAM 12中。
此处,对于第二级的潮汐水位计算,如果潮汐差值df2和df1之间的符号不同,则如图4所示按照例如ΔT2=20分钟的时段再次计算潮汐水位。这种情况下,取在当前时间(时间t2)之前的2*ΔT1处的潮汐水位(t0)为第二级的潮汐水位计算的开始时间。在第一级的潮汐水位计算过程中已经证实了,在时间t0和时间t2之间存在一个潮汐差值的符号发生变化的时间点,即潮汐水位回折的时间点。于是,在第二级的潮汐水位计算中,根据更短的时段确定时间t0和时间t2之间的潮汐水位,从而有可能得到回折点的真实位置。
在第二级的潮汐水位计算中得到回折点的真实位置后,第二级的潮汐水位计算从时间t2再次进行,即根据时段ΔT1计算潮汐水位。
上述步骤S104的程序由图5和图6所示的流程图给予解释。图5是对应于第一级的潮汐水位计算操作程序的流程图,而图6是对应于第二级的潮汐水位计算操作程序的流程图。
首先,在步骤S201中,用T1(如60分钟)代替用于确定潮汐水位的潮汐水位估算公式中的时段ΔT,并用初始值0代替时间t,在这种情况中,t=0表示0时。随之用上述公式1计算在时间t时的潮汐水位h(t)(步骤S202)。
其次,判断时间t是否初始值(此处为t=0?)(步骤S203)。如果在步骤S203中t=0,则用在步骤S202中计算出的潮汐水位h(t)代替潮汐水位参数h1(步骤S209)。完成步骤S209后,时间t向前增加一个时段ΔT分钟(步骤S210),并且程序返回到步骤S202。这与确定潮汐水位差的最初步骤是对应的,被应用于此。
如果在步骤S203中并非t=0,潮汐水位参数h1已经存储有数值,并且用该存储有数值的h1代替潮汐水位参数h0。继而,用在步骤S202中计算出的潮汐水位h(t)代替潮汐水位参数h1(步骤S204)。接下来,判断时间t是否向前增加了时段ΔT或者是否大于初始值(步骤S205)。
如果在步骤S205中并非t>ΔT,没有得出潮汐水位的差值并且用h1-h0的计算结果代替差值参数d1(步骤S211)。完成步骤S211后,时间t被向前增加了一个时段ΔT分钟(步骤S212),并且程序返回到步骤S202。这与确定潮汐水位差的符号的最初步骤是对应的,被应用于此。
如果在步骤S205中t>ΔT,差值参数d1已经存储有一数值,并且用该存储有数值的d1代替差值参数d0,继而,用h1-h0的计算结果代替差值参数d1(步骤S206)。完成步骤S206后,判断差值参数d0和d1在符号上是否一致(步骤S207)。需附带说明的是,在图5的步骤S207中,SGN()是一个获得符号的函数。
在步骤S207中,如果差值参数的符号d0和d1不一致,则意味着在时间t和t-ΔT*2之间存在一个潮汐水位的极限值。程序进入到第二级的潮汐水位计算过程(步骤S220)。完成步骤S220后,程序重新返回到步骤S202。
如果在步骤S207中差值参数d0和d1的符号一致,判断时间t是否是最终值(步骤S208)。这里,该最终值表示进行全天潮汐水位的计算过程的时间范围的最终值。例如计算的是t为0时至24时的潮汐水位,则最终值是代表24时的数值。
在步骤S208中,如果时间t不是最终值,则时间t向前增加ΔT分钟(步骤S213),并且程序返回到步骤S202。如果在步骤S208中时间t是最终值,潮汐水位计算程序也就是图2中的步骤S104的程序终止。
接下来是有关图5的步骤S220中第二级的潮汐水位计算的程序的说明。首先,用程序进入图5的步骤S220的时间点的时间t代替结束时间ST1,用时间t之前的时间t-ΔT*2代替初始时间ST0(步骤S301)。接着,用比第一级的潮汐水位计算处理中的时段ΔT短的时段ΔTT(如20分钟)代替时段T2,用初始时间ST0代替时间tt。而且,用0代替潮汐水位分布参数td的分布个数的参数代表i(步骤S302)。
完成步骤S302后,运用上述公式1可计算出时间tt的潮汐水位h(tt)(步骤S303),接着进一步用在步骤S303中计算得出的潮汐水位h(tt)代替潮汐水位分布参数td[i](步骤S304)。
接下来,判断时间tt是否等于结束时间ST1(步骤S305)。在步骤S305中,如果时间tt不等于结束时间ST1,参数i加1(步骤S308)。时间tt被向前增加一个时段ΔTT分钟(步骤S309),并且程序返回到步骤S303。通过重复执行上述从步骤S303到S309的一系列程序,计算出的对应于时段ΔTT的潮汐水位h(tt)被存储在潮汐水位分布参数td[i]中。
在步骤S305中,如果时间tt等于结束时间ST1,采用存储在潮汐水位分布参数td[i]中的数值进行内插法处理,并且确定在初始时间ST0至结束时间ST1范围内的潮汐水位分布公式(步骤S306)。根据在步骤S306中确定的潮汐水位分布公式,用例如拉格朗日三点反内插方法确定极限值(步骤S307)。接着,对应于极限值的时间被计算得出,从而结束第二级的潮汐水位的计算过程。
所以,根据上述图5和图6所示的流程图的操作,以第一时段ΔT的第一级的潮汐水位的计算可以确定潮汐水位h(t),向前增加的时间t在潮汐水位的位移符号发生变化的时间点被后移ΔT*2时间,以短于时段ΔT的第二时段ΔTT进行第二级的潮汐水位的计算,重新得出一个潮汐水位h(t-ΔT*2-t),并从上述潮汐水位中计算出极限值。第二级的潮汐水位计算完成后,重新进入第一级的潮汐水位的计算过程,从而第一级和第二级的潮汐水位计算在全天时间内重复进行。最终得到一些极限值(理想的是4个极限值),并在步骤S104结束图2中的流程。
步骤S104的过程结束后,从已经得到的一些极限值中可以计算出涨潮/落潮的时间(步骤S105)。计算出的涨潮/落潮时间显示在显示部分15上(步骤S106)。
图7和图8给出了与显示部分15相对应的显示50中显示涨潮时间和落潮时间的例子。在图7和图8的显示区域51上显示的是年/月/日。该显示区既可以用来显示由使用者输入的年/月/日的输入信息,也可以用来显示所选择的地区。而且,显示区52显示的是计算得出的涨潮时间或落潮时间。此外,同时显示一个标志用来区别是涨潮时间还是落潮时间。并且,显示区53上还显示出代表是涨潮时间或是落潮时间的曲线。
根据上面所述的电子潮汐计,为了确定涨潮/落潮时间,首先根据较大的时段计算出全天的潮汐水位,使得在所计算出的潮汐水位的位移符号发生变化的时间点附近的有限范围内,以更精细的时段再计算潮汐水位,从而计算出一个极限值。由此,可以在缩短计算时间的同时得到准确的涨潮时间和落潮时间。
在上面说明的实施例中,第二级的潮汐水位计算过程要重新处理从第二级的潮汐水位计算的初始时间至结束时间中的所有潮汐水位。在该时间范围内,潮汐水位计算的过程可以在潮汐水位的位移符号发生变化的时间点结束,这与第一级的潮汐水位的计算是相似的,用该潮汐水位的位移符号变化前的潮汐水位确定极限值。
而且,在上述实施例中,第二级的潮汐水位计算过程是在第一级的潮汐水位计算过程中执行的。然而,第一级的潮汐水位计算过程全部结束后,第二级的潮汐水位计算过程可以基于上述结果进行。
在上述实施例中,尽管提供的是时段不同的两级潮汐水位计算过程,但也可以进行时段更短的多级潮汐水位计算过程。这种情况下,时段可以类似地被切换以控制操作过程,从而在最短时段的潮汐水位处理结果的基础上最终确定极限值。
此外,根据本发明的电子潮汐计不仅可以用来确定涨潮/落潮时间,也可以用来确定其他潮汐现象的发生时间。
此外,根据本发明的实施例给出的涨潮/落潮时间的计算方法可以作为计算机程序被存储在磁盘、光盘等记录介质上,使得可以在计算机中通过读出程序来计算涨潮/落潮时间。
根据本发明的第一种设计,提供一种执行两级的潮汐水位数据计算的运算装置,即根据由日历和每个地区的潮汐数据所确定的潮汐水位估算公式以第一时段计算出第一级潮汐水位数据,接着以短于第一时段的第二时段计算出第二级潮汐水位数据。于是,可以选择一个具有所需的准确信息的范围,并在由该范围所对应的精细时段确定潮汐水位数据。这样可以减少无用的运算时间并能准确地计算出所需的出现潮汐现象的时间。
根据本发明的第二种设计,提供一种执行两级的潮汐水位数据计算的运算装置,即根据由日历和每个地区的潮汐数据所确定的潮汐水位估算公式以第一时段计算出第一级潮汐水位数据,接着以短于第一时段的第二时段计算出第二级潮汐水位数据。于是,可以选择一个具有所需的准确信息的范围,并在由该范围所对应的精细时段确定潮汐水位数据。这样可以减少无用的运算时间并能准确地计算出涨潮时间和落潮时间。
根据本发明的第三种设计,提供一种执行两级的潮汐水位数据计算的运算装置,即根据由日历和每个地区的潮汐数据所确定的潮汐水位估算公式以第一时段计算出第一级潮汐水位数据,接着以短于第一时段的第二时段计算出第二级潮汐水位数据。于是,可以选择一个具有所需的准确信息的范围,并在由该范围所对应的精细时段确定潮汐水位数据。继而,提供一种对潮汐水位数据进行内插法处理的计算装置。这样可以减少无用的运算时间并能准确地计算出涨潮时间和落潮时间。
根据本发明的第四种设计,执行两级的潮汐水位数据计算,即根据由日历和每个地区的潮汐数据所确定的潮汐水位估算公式以第一时段计算出第一级潮汐水位数据,接着以短于第一时段的第二时段计算出第二级潮汐水位数据。于是,可以选择一个具有所需的准确信息的范围,并在由该范围所对应的精细时段确定潮汐水位数据。继而,对潮汐水位数据进行内插法处理的计算装置。这样可以减少无用的运算时间并能准确地计算出涨潮和落潮时间。
根据本发明的第五种设计,执行两级的潮汐水位数据的计算,即根据由日历和每个地区的潮汐数据所确定的潮汐水位估算公式以第一时段计算出第一级潮汐水位数据,接着以短于第一时段的第二时段计算出第二级潮汐水位数据。于是,可以选择一个具有所需的准确信息的范围,并在由该范围所对应的精细时段确定潮汐水位数据。继而,对潮汐水位数据进行内插法处理程序。这样可以减少无用的运算时间并能准确地计算出涨潮和落潮时间。