1 SUBROUTINE movect(FLAT,FLON,TLAT,TLON,CROT,SROT)
37 INTEGER,
PARAMETER :: KD=selected_real_kind(15,45)
39 REAL,
INTENT(IN ) :: FLAT, FLON
40 REAL,
INTENT(IN ) :: TLAT, TLON
41 REAL,
INTENT( OUT) :: CROT, SROT
43 REAL(KIND=kd),
PARAMETER :: crdlim=0.9999999
44 REAL(KIND=kd),
PARAMETER :: pi=3.14159265358979
45 REAL(KIND=kd),
PARAMETER :: dpr=180./pi
47 REAL(KIND=kd) :: ctlat,stlat,cflat,sflat
48 REAL(KIND=kd) :: cdlon,sdlon,crd
49 REAL(KIND=kd) :: srd2rn,str,ctr,sfr,cfr
56 cdlon=cos((flon-tlon)/dpr)
57 sdlon=sin((flon-tlon)/dpr)
58 crd=stlat*sflat+ctlat*cflat*cdlon
62 IF(abs(crd).LE.crdlim)
THEN
65 ctr=cflat*stlat*cdlon-sflat*ctlat
67 cfr=ctlat*sflat*cdlon-stlat*cflat
68 crot=srd2rn*(ctr*cfr-str*sfr)
69 srot=srd2rn*(ctr*sfr+str*cfr)