1 | SUBROUTINE LOWTRAN_R_ISS(RIN,TRANS) |
---|
2 | IMPLICIT NONE |
---|
3 | #include "detector.inc" |
---|
4 | * ... INPUT VARIABLES ... |
---|
5 | REAL RIN(3) |
---|
6 | * ... OUTPUT VARIABLES ... |
---|
7 | REAL TRANS(100) |
---|
8 | * ... LOCAL VARIABLES ... |
---|
9 | REAL RTOISS(3),cos_R_ISS,SCALAR_ISS_RTOISS,SCALAR_ISS |
---|
10 | REAL PI,ANGL,SCALAR_RTOISS,H |
---|
11 | * ... SOME CONSTANTS ... |
---|
12 | PI = ACOS(-1.) |
---|
13 | * ... RTOISS = ISS - R |
---|
14 | CALL VECTORLIB(3,'-',ISS,RIN,RTOISS) |
---|
15 | CALL VECTORDOT(3,ISS,RTOISS,SCALAR_ISS_RTOISS) |
---|
16 | CALL VECTORDOT(3,ISS,ISS,SCALAR_ISS) |
---|
17 | CALL VECTORDOT(3,RTOISS,RTOISS,SCALAR_RTOISS) |
---|
18 | IF(SCALAR_ISS*SCALAR_RTOISS.NE.0.) THEN |
---|
19 | cos_R_ISS = SCALAR_ISS_RTOISS/SQRT(SCALAR_ISS*SCALAR_RTOISS) |
---|
20 | ELSE |
---|
21 | cos_R_ISS = 0. |
---|
22 | ENDIF |
---|
23 | IF(ABS(cos_R_ISS).LE.1.) THEN |
---|
24 | ANGL = ACOS(cos_R_ISS)/PI*180 |
---|
25 | ELSE |
---|
26 | IF(cos_R_ISS.GT.0) ANGL = 0. |
---|
27 | IF(cos_R_ISS.LT.0) ANGL = 180. |
---|
28 | ENDIF |
---|
29 | H = SQRT(RIN(1)**2+RIN(2)**2+RIN(3)**2) - R_EARTH |
---|
30 | * |
---|
31 | CALL LWTRANS(1,H,ANGL,TRANS) |
---|
32 | END |
---|