source: JEM-EUSO/esaf_lal/tags/v1_r0/esaf/packages/simulation/externals/slast/src/atm/mie_r_iss.F @ 117

Last change on this file since 117 was 117, checked in by moretto, 11 years ago

ESAF version compilable on mac OS

File size: 1.5 KB
Line 
1*
2*     ... THIS FUNCTION RETURNS THE MIE TRANSITION FACTOR   ...
3*     ... IN THE ATMOSPHERE BETWEEN THE POINTS WITH         ...
4*     ... RADIUS_VECTORS R(3) AND ISS
5*     ... DATE: 09.06.2002
6*     ... AUTHOR: D.V. NAUMOV
7*
8      REAL FUNCTION MIE_R_ISS(R)
9      IMPLICIT NONE
10#include "detector.inc"
11#include "event.inc"
12*     ... EXTERNAL CALLS  ...
13      REAL HXY
14*     ... INPUT VARIABLES ...
15      REAL R(3)
16*     ... LOCAL VARIABLES ...
17      INTEGER i_aux_hbk, ID
18      REAL PI,HALF_PI,MIE_R
19      REAL RTOISS(3), H_R,THETA_R, DEPTH_R, SCALAR_R
20      REAL SCALAR_ISS_RTOISS,SCALAR_ISS,SCALAR_RTOISS,cos_R_ISS
21      SAVE i_aux_hbk
22      DATA i_aux_hbk/0/
23      LOGICAL HEXIST
24*
25      PI      = ACOS(-1.)
26      HALF_PI = PI/2
27      ID = 10000
28*     
29      CALL VECTORLIB(3,'-',ISS,R,RTOISS)
30      CALL VECTORDOT(3,ISS,RTOISS,SCALAR_ISS_RTOISS)
31      CALL VECTORDOT(3,ISS,ISS,SCALAR_ISS)
32      CALL VECTORDOT(3,RTOISS,RTOISS,SCALAR_RTOISS)
33      CALL VECTORDOT(3,R,R,SCALAR_R)
34      IF(SCALAR_ISS*SCALAR_RTOISS.NE.0.) THEN
35         cos_R_ISS  = SCALAR_ISS_RTOISS/SQRT(SCALAR_ISS*SCALAR_RTOISS)
36      ELSE
37         cos_R_ISS  = 0.
38      ENDIF
39      THETA_R = ACOS(cos_R_ISS)
40      H_R     = SQRT(SCALAR_R) - R_EARTH
41*     ... COMPUTE MIE FACTORS BETWEEN R AND INFINITY ...
42      IF(THETA_R.LE.HALF_PI) THEN
43         MIE_R = HXY(ID,THETA_R,H_R)
44      ELSE
45         MIE_R = 0.
46      ENDIF
47*     ... COMPUTE MIE FACTOR BETWEEN R1 AND R2 ...
48         MIE_R_ISS = EXP(-MIE_R)
49         
50 1000 CONTINUE
51      END
Note: See TracBrowser for help on using the repository browser.