25 SUBROUTINE movect(FLAT,FLON,TLAT,TLON,CROT,SROT)
28 INTEGER,
PARAMETER :: KD=selected_real_kind(15,45)
30 REAL,
INTENT(IN ) :: FLAT, FLON
31 REAL,
INTENT(IN ) :: TLAT, TLON
32 REAL,
INTENT( OUT) :: CROT, SROT
34 REAL(KIND=kd),
PARAMETER :: crdlim=0.9999999
35 REAL(KIND=kd),
PARAMETER :: pi=3.14159265358979
36 REAL(KIND=kd),
PARAMETER :: dpr=180./pi
38 REAL(KIND=kd) :: ctlat,stlat,cflat,sflat
39 REAL(KIND=kd) :: cdlon,sdlon,crd
40 REAL(KIND=kd) :: srd2rn,str,ctr,sfr,cfr
47 cdlon=cos((flon-tlon)/dpr)
48 sdlon=sin((flon-tlon)/dpr)
49 crd=stlat*sflat+ctlat*cflat*cdlon
53 IF(abs(crd).LE.crdlim)
THEN
56 ctr=cflat*stlat*cdlon-sflat*ctlat
58 cfr=ctlat*sflat*cdlon-stlat*cflat
59 crot=real(srd2rn*(ctr*cfr-str*sfr))
60 srot=real(srd2rn*(ctr*sfr+str*cfr))
65 srot=real(sdlon*stlat)
subroutine movect(FLAT, FLON, TLAT, TLON, CROT, SROT)
This subprogram provides the rotation parameters to move a vector along a great circle from one posit...