C **** CNSTNT.3 C **** DEFINES AND CALCULATES CONSTANTS NEEDED BY PROGRAM CNSTNT.4 C **** CNSTNT.5 IMPLICIT REAL*8(A-H,O-Z) PARAMETER(IMAXM=640,JMAXM=385,IMAXMP=IMAXM+1) COMMON/ECONS/RE,H0,H00,HS,R0,R00,RS,R1,PI,DTR,RTD,DLATG,DLONG, 1 DLATM,DLONM,YLATM(JMAXM),YLONM(IMAXMP),RCOS0S(JMAXM), 2 DT0DTS(JMAXM),UNIT(IMAXM),DZ,TABLE(181,2),DT1DTS(JMAXM) DATA ALFA/1.668/ CNSTNT.9 DIMENSION TABL2(181,3:5),TANTH0(JMAXM),TANTHS(JMAXM), CNSTNT.10 1 THETA0(JMAXM),HAMH0(JMAXM) CNSTNT.11 DATA E/1.D-6/ CNSTNT.12 C **** CNSTNT.13 C **** NOW SET CONSTANTS CNSTNT.14 C **** CNSTNT.15 RE=6.378165D8 CNSTNT.16 H0=9.0D6 CNSTNT.17 H00=9.7D6 CNSTNT.18 HS=1.3D7 CNSTNT.19 DO I=1,IMAXM CNSTNT.20 UNIT(I)=1.0 CNSTNT.21 ENDDO CNSTNT.22 DZ=0.5 CNSTNT.23 R1=1.06D7 CNSTNT.24 R0=RE+H0 CNSTNT.25 R00=RE+H00 CNSTNT.26 RS=RE+HS CNSTNT.27 PI=4*DATAN(1.D0) CNSTNT.28 DTR=PI/180. CNSTNT.29 RTD=180./PI CNSTNT.30 DLATM=PI/DBLE(JMAXM-1) CNSTNT.31 DLONM=2.*PI/DBLE(IMAXM) CNSTNT.32 C **** CNSTNT.33 C **** FILL ARRAY YLATM (EQUALLY SPACED IN THETAO BUT HOLDS CNSTNT.34 C **** CORRESPONDING VALUE OF THETAS) CNSTNT.35 C **** CNSTNT.36 DO J=1,JMAXM CNSTNT.37 C **** CNSTNT.38 C **** THETA0 = EQUALLY SPACED GRID VALUES CNSTNT.39 C **** CNSTNT.40 THETA0(J)=-PI/2.+DBLE(J-1)*DLATM CNSTNT.41 ENDDO CNSTNT.42 DO J=2,JMAXM-1 CNSTNT.43 C **** CNSTNT.44 C **** TANTH0 = ABS(TAN(THETA0)) CNSTNT.46 C **** CNSTNT.47 TANTH0(J)=DABS(DTAN(THETA0(J))) CNSTNT.48 C **** CNSTNT.49 C **** HAMH0 = HA-H0 CNSTNT.50 C **** CNSTNT.51 HAMH0(J)=R1*TANTH0(J)+R0*TANTH0(J)**(2+2*ALFA)/ CNSTNT.52 1 (1+TANTH0(J)**2)**ALFA CNSTNT.53 C **** CNSTNT.54 C **** TANTHS = ABS(TAN(THETAS)) CNSTNT.55 C **** CNSTNT.56 TANTHS(J)=DSQRT(HAMH0(J)/R0) CNSTNT.57 C **** CNSTNT.58 C **** YLATM = TANTHS CNSTNT.59 C **** CNSTNT.60 YLATM(J)=DSIGN(DATAN(TANTHS(J)),THETA0(J)) CNSTNT.61 C **** CNSTNT.62 C **** RCOS0S = COS(THETA0)/COS(THETAS) CNSTNT.63 C **** CNSTNT.64 RCOS0S(J)=DSQRT((1+TANTHS(J)**2)/(1+TANTH0(J)**2)) CNSTNT.65 C **** CNSTNT.66 C **** DT0DTS = D(THETA0)/D(THETAS) CNSTNT.67 C **** CNSTNT.68 C **** DT1DTS = DT0DTS DIVIDED BY ABS[SIN(Im)]. REMIANS FINITE CNSTNT.69 C **** AND NONZERO AY MAGNETIC EQUATOR. CNSTNT.70 C **** CNSTNT.71 TANTHS2=TANTHS(J)**2 CNSTNT.72 DT1DTS(J)=(R0*DSQRT(1+4*TANTHS2)*(1+TANTHS2))/ CNSTNT.73 1 (R1*(1+TANTH0(J)**2)+2*R0*TANTH0(J)**(2*ALFA+1)* CNSTNT.74 2 (1+ALFA+TANTH0(J)**2)/(1+TANTH0(J)**2)**ALFA) CNSTNT.75 DT0DTS(J)=DT1DTS(J)*2*TANTHS(J)/DSQRT(1+4*TANTHS2) CNSTNT.76 ENDDO CNSTNT.77 C **** CNSTNT.78 C **** NOW DO POLES CNSTNT.79 C **** CNSTNT.80 YLATM(1)=THETA0(1) CNSTNT.81 YLATM(JMAXM)=THETA0(JMAXM) CNSTNT.82 RCOS0S(1)=1. CNSTNT.83 RCOS0S(JMAXM)=1. CNSTNT.84 DT0DTS(1)=1. CNSTNT.85 DT0DTS(JMAXM)=1. CNSTNT.86 DT1DTS(1)=1. CNSTNT.87 DT1DTS(JMAXM)=1. CNSTNT.88 C **** CNSTNT.89 C **** FILL YLONM CNSTNT.90 C **** CNSTNT.91 DO I=1,IMAXMP CNSTNT.92 YLONM(I)=-PI+DBLE(I-1)*DLONM CNSTNT.93 ENDDO CNSTNT.94 DTHETA=PI/(2.*180.) CNSTNT.95 TABLE(1,1)=0. CNSTNT.96 TABLE(1,2)=0. CNSTNT.97 DO I=2,181 CNSTNT.98 TABLE(I,1)=TABLE(I-1,1)+DTHETA CNSTNT.99 ENDDO CNSTNT.100 DO I=2,180 CNSTNT.101 TABL2(I,4)=DTAN(TABLE(I,1)) CNSTNT.102 TABLE(I,2)=TABLE(I,1) CNSTNT.103 ENDDO CNSTNT.104 DO N=1,7 CNSTNT.105 DO I=2,180 CNSTNT.106 TABL2(I,3)=TABLE(I,2) CNSTNT.107 TABLE(I,2)=DTAN(TABL2(I,3)) CNSTNT.108 TABL2(I,5)=DSQRT(R1/R0*TABLE(I,2)+TABLE(I,2)** CNSTNT.109 1 (2*(1+ALFA))/(1+TABLE(I,2)**2)**ALFA) CNSTNT.110 TABLE(I,2)=TABL2(I,3)-(TABL2(I,5)-TABL2(I,4))*2*TABL2(I,5)/ CNSTNT.111 2 (R1/R0*(1+TABLE(I,2)**2)+2*TABLE(I,2)**(2*ALFA+1)* CNSTNT.112 3 (1+ALFA+TABLE(I,2)**2)/(1+TABLE(I,2)**2)**ALFA) CNSTNT.113 write(6,*)TABLE(I,2)*180/pi,i ENDDO CNSTNT.114 ENDDO CNSTNT.115 stop CNSTNT.116 END CNSTNT.117 C CNSTNT.118