 !************************************************************************************
!调用准备代码：省略变量声明
!读取地面等效水高球谐系数,负荷勒夫数
!给定时间BLH(3)
      rw=1.025d3; re=5.517d3
      !打开地面等效水高球谐系数文件
 	allocate(cnm((maxn+2)**2), stat=astat(1))
 	allocate(snm((maxn+2)**2), stat=astat(2))
	if (sum(astat(1:2)) /= 0) goto 908
      cnm=0.d0;snm=0.d0
      open(unit=8,file=clmfl,status="old",iostat=status)
      if(status/=0)goto 904
	do while(.not.eof(8))
	    read(8,*,end=901)n,m,cnm(n*(n+1)/2+m),snm(n*(n+1)/2+m)
      enddo
901   close(8)
      if(n<maxn)maxn=n
      !将等效水高球谐系数转换为位系数直接影响
      fk=3.d0*rw/re
      do n=1,maxn
        do m=0,n
            j=n*(n+1)/2+m
            cnm(j)=cnm(j)*fk/real(2*n+1);snm(j)=snm(j)*fk/real(2*n+1)
         enddo
	enddo
      flv=0.d0
      !打开全球负荷勒夫数文件
      open(unit=8,file=loadlovfl,status="old",iostat=status)
      if(status/=0)goto 908
      n=0
	do while(.not.eof(8))
        n=n+1
	  read(8,*,end=902)(flv(n,j),j=1,3)
      enddo
902   close(8)
501   continue
      if(n>20000)n=20000
      flv(1,1:3)=0.d0  !一阶项不参与计算，无需质心校正
!*********************************************************
!*****************************************************************
      subroutine satLoadnonTide(XYZ,cnm,snm,flv,tdn,dxyz,CRS,maxn)
	  !输出：tdn(4)-重力位摄动（0.001m2/s2）和摄动力在球坐标系中三分量（μGal）
	  !dxyz(3)-摄动力在空间直角坐标系中三分量（μGal）
      implicit none
      integer::maxn
      real*8::tm,pi,RAD,djm,sec,,td
 	real*8::tdn(9),cnm(900000),snm(900000),XYZ(3),BLH(3),rln(3)
	real*8::L0,de,rr,flv(40000,3),fes(900000,7)
      real*8::gr,ZCFD(4),su,dxyz(3)
!---------------------------------------------------------------------------
	pi=datan(1.d0)*4.d0;RAD=pi/180.d0
      su=1.d8/36.d5*RAD
         call XYZ_BLH(CRS,XYZ,BLH)
         call BLH_RLAT(CRS,BLH,rln)
         call LTideFlu(rln,maxn,cnm,snm,flv,tdn,CRS,2)  !输入cnm,snm直接影响位系数
         call normal(CRS,XYZ,ZCFD);gr=ZCFD(2)
         tdn(1)=tdn(1)*gr;tmp=tdn(3);tdn(3)=-tdn(4)*gr*su;tdn(4)=-tmp*gr*su
         call rnl_XYZd(rln,tdn(2:4),dxyz)
 	return
	end
