中期水位资料对潮汐进行调和分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中期水位资料对潮汐进行调和分析

!利用1996年7月厦门站的潮汐观测数据计算调和常数,并利用主要分潮和浅水分潮进行潮汐预报 program work implicit none character*80::a1

character(len=5),dimension(62,16)::aa

integer::bb(62,12),c(62,2),caita(-

371:371),i,i1,i2,j,t1

real::N0,n(13,6),a(0:13,0:13),b(1:13,1:13),s,s0,s1,s2 ,s3,sa,hh !n代表Doodson代码;a,b为系数矩阵real::xiaoa(0:13),xiaob(13),gg1,gg2,pjchaocha,t,ma,mi !计算法方程所需的参数

real,dimension(1:13)::w,u,f,V0,f1(0:13),f2 ! f1和f2为法方程右边系数

real,dimension(13)::sita,h,g,r,h0(13),g0(13),h1(13),g 1(13) !调和常数参数

real,dimension(-

371:371)::caita1,caita3,caita4,caita8,caita9,caita5,caita 11 !主分潮、浅水分潮的潮高数值

real,dimension(:),allocatable::hightide,lowtide,chaoc ha !高低潮数值

integer,dimension(:),allocatable::hightrq,lowtrq,high t,hightt,lowt,lowtt

!读取数据,把潮位数据赋值给bb,把年月份数据赋值给c open(unit=2,file='XM_July1996.dat') read(2,'(a)')a1 print*,'数据文件的第一行信息:',a1 do i=1,62

read(2,'(16a5)')aa(i,:) end do do i=1,62

read(aa(i,5:16),*)bb(i,:) read(aa(i,3:4),*)c(i,:) end do do i=1,62

c(i,2)=int(real(c(i,2))/10.0) end do close(2)

!计算分潮角速率w

w=(/0.002822,0.037219,0.038731,0.041781,0.163845,0.24 1534,0.078999,&

&0.080511,0.083333,0.122292,0.161023,0.041553,0.08356 1/) w=360*w

print*

print*,'角速率w:',w

!计算N0 (middle time:1996-7-16 ; data sum:744, middle number:372 ) N0=259.157-19.32818*(1996-1900)-

0.05295*(31*3+30*2+29+15+int((95.0)/4.0)) !初始升交点平

均黄经 N0=-(0.00220641*3+N0)

print* !转换成格林威治时间

print*,'N0:',N0

!数字序号对应选取的分潮,但将5、6(P1、K2)分别与12、13(MS4、M6)对调,其中P1、K2为随从分潮 !计算交点订正角u u(3)=10.8*sind(N0)-1.34*sind(2*N0)+0.19*sind(3*N0)

u(4)=-8.86*sind(N0)+0.68*sind(2*N0)-0.07*sind(3*N0)

u(8)=-2.14*sind(N0)

u(13)=-17.74*sind(N0)+0.68*sind(2*N0)-0.04*sind(3*N0) u(1)=-u(8) u(2)=u(3) u(7)=u(8) u(9)=0

u(10)=u(8)+u(4) u(11)=2*u(8) u(5)=u(8) u(6)=3*u(8)

u(12)=0 ! print*

print*,'交点订正角u:',u

!计算交点因子f

f(3)=1.0089+0.1871*cosd(N0)-

0.147*cosd(2*N0)+0.0014*cosd(3*N0)

f(4)=1.006+0.115*cosd(N0)-

0.0088*cosd(2*N0)+0.0006*cosd(3*N0) f(8)=1.0004-

0.0373*cosd(N0)+0.0003*cosd(2*N0)

f(13)=1.0241+0.2863*cosd(N0)+0.0083*cosd(2*N0)-

0.0015*cosd(3*N0) f(1)=f(8) f(2)=f(3) f(7)=f(8) f(9)=1

f(10)=f(8)*f(4) f(11)=f(8)**2 f(5)=f(8)**2 f(6)=f(8)**3 f(12)=1 ! print*

print*,'交点因子f:',f

!查表得到的Doodson代码 n(1,:)=(/0,2,-2,0,0,0/)

n(2,:)=(/1,-2,0,1,0,0/) n(3,:)=(/1,-1,0,0,0,0/)

n(4,:)=(/1,1,0,0,0,0/) n(5,:)=(/4,2,-2,0,0,0/)

n(6,:)=(/6,0,0,0,0,0/) n(7,:)=(/2,-1,0,1,0,0/)

n(8,:)=(/2,0,0,0,0,0/) n(9,:)=(/2,2,-2,0,0,0/)

n(10,:)=(/3,1,0,0,0,0/) n(11,:)=(/4,0,0,0,0,0/)

n(12,:)=(/1,1,-2,0,0,0/) n(13,:)=(/2,2,0,0,0,0/) !计算V0 do i=1,13

相关文档
最新文档