C ============================================================================= C DETERMINATION OF A NUMBER OF LINE-OF-SIGHT REFERENCE PARAMETERS C NEEDED IN SEVERAL PROCEDURES. THE LOS-REFERENCE QUANTITIES ARE C PASSED OUT IN ARRAY PARAM_OUT. C [31Jan02 JBISHOP] C ----------------------------------------------------------------------------- C RSMU . . . TANGENT POINT RADIUS C DSMU . . . DISTANCE ALONG LOS TO TANGENT POINT C XSKIM . . . "SKIMMING" LATITUDE OF LOS GREAT CIRCLE C XTOT . . . ASYMPTOTIC VALUE OF CHI C OSKIM . . . DISPLACEMENT ANGLE TO SKIMMING LATITUDE C OTOT . . . ASYMPTOTIC VALUE OF OMEGA C C IPHASE. . . PHASE OF PHI2, FOR COSINE EVALUATIONS C PASS . . . FLAG FOR XSKIM PASSAGE C ----------------------------------------------------------------------------- SUBROUTINE LOS_PARAM(I1,J1,R1,X1,THETA,PHI,PARAM_OUT,PASS,IPHASE) IMPLICIT REAL*8 (A-H,O-Z) LOGICAL PASS DIMENSION PARAM_OUT(13) C COMMON / LOSREF_PARM / C & CX1, SX1, CU1, SU1, CP1, SP1, C & RSMU, DSMU, XSKIM, XTOT, OSKIM, OTOT, IPHASE, PASS COMMON /NMBR/ PI,RTPI,PID2,OFFSET C ----------------------------------------------------------------------------- C LINE-OF-SIGHT REFERENCE QUANTITIES C ----------------------------------------------------------------------------- CX1 = COS(X1) SX1 = SIN(X1) CU1 = COS(THETA) SU1 = SIN(THETA) CP1 = COS(PHI) SP1 = SIN(PHI) RSMU = R1 * SU1 DSMU = R1 * ABS(CU1) IF (PHI.LE.PID2) THEN XSKIM = ASIN(SX1*SP1) IPHASE = -1 ELSE XSKIM = PI - ASIN(SX1*SP1) IPHASE = +1 END IF XTOT = ACOS(CX1*CU1 + SX1*SU1*CP1) ANUM = CX1*COS(XSKIM) DNOM = 1.0D0 - SX1*SIN(XSKIM)*SP1 OSKIM = ACOS(ANUM/DNOM) OTOT = THETA IF (OSKIM.LT.OTOT) THEN PASS = .TRUE. ELSE PASS = .FALSE. END IF C ----------------------------------------------------------------------------- C STORAGE IN PARAM_OUT C ----------------------------------------------------------------------------- PARAM_OUT( 1) = THETA PARAM_OUT( 2) = CX1 PARAM_OUT( 3) = SX1 PARAM_OUT( 4) = CU1 PARAM_OUT( 5) = SU1 PARAM_OUT( 6) = CP1 PARAM_OUT( 7) = SP1 PARAM_OUT( 8) = RSMU PARAM_OUT( 9) = DSMU PARAM_OUT(10) = XSKIM PARAM_OUT(11) = XTOT PARAM_OUT(12) = OSKIM PARAM_OUT(13) = OTOT C ----------------------------------------------------------------------------- RETURN END C =============================================================================