30 subroutine getglint(X1,X2,X3,X4,X5,X6)
45 real X2, X3, X4, X5, acoss, RHO
46 real X1, Y1, RAD, X, Y2, OMEGA, BETA, ALPHA, SIGC, SIGU, Y3
47 real CHI, ALPHAP, SWIG, ETA, PROB, X6, EXPON
55 if (y1.eq.0.) y1 = 1.e-7
57 if (y2.eq.0.) y2 = 1.e-7
59 omega = acoss(cos(y1)*cos(y2)-sin(y1)*sin(y2)*cos(y3))/2.
60 if (omega.eq.0.) omega = 1.e-7
61 beta = acoss((cos(y1)+cos(y2))/(2.*cos(omega)))
62 if (beta.eq.0.) beta = 1.e-7
63 alpha = acoss((cos(beta)*cos(y2)-cos(omega))/(sin(beta)*sin(y2)
64 if (sin(y3).lt.0.) alpha = -alpha
73 sigc = .04964*sqrt(y4)
74 sigu = .04964*sqrt(y4)
78 swig = sin(alphap)*tan(beta)/sigc
79 eta = cos(alphap)*tan(beta)/sigu
80 expon = -(swig**2+eta**2)/2.
81 if (expon.lt.-30.) expon = -30.
82 if (expon.gt.+30.) expon = +30.
83 prob = exp(expon)/(2.*pi*sigu*sigc)
87 x6 = rho*prob/(4.*cos(y1)*cos(beta)**4)
110 real X2, X3, X4, X5, acoss, RHO_PLUS
111 real X1, Y1, RAD, X, Y2, OMEGA, BETA, ALPHA, SIGC, SIGU
112 real CHI, ALPHAP, SWIG, ETA, PROB, X6, EXPON
113 real X7, X8, RHO_MINUS, SR, CR, ROT_ANG, C2R, S2R, ASINN
121 if (y1.eq.0.) y1 = 1.e-7
123 if (y2.eq.0.) y2 = 1.e-7
125 omega = acoss(cos(y1)*cos(y2)-sin(y1)*sin(y2)*cos(y3))/2.
126 if (omega.eq.0.) omega = 1.e-7
127 beta = acoss((cos(y1)+cos(y2))/(2.*cos(omega)))
128 if (beta.eq.0.) beta = 1.e-7
129 alpha = acoss((cos(beta)*cos(y2)-cos(omega))/(sin(beta)*sin(y2)
130 if (sin(y3).lt.0.) alpha = -alpha
139 sigc = .04964*sqrt(y4)
140 sigu = .04964*sqrt(y4)
144 swig = sin(alphap)*tan(beta)/sigc
145 eta = cos(alphap)*tan(beta)/sigu
146 expon = -(swig**2+eta**2)/2.
147 if (expon.lt.-30.) expon = -30.
148 if (expon.gt.+30.) expon = +30.
149 prob = exp(expon)/(2.*pi*sigu*sigc)
153 x6 = rho_plus*prob/(4.*cos(y1)*cos(beta)**4)
156 if (omega .gt. .0001)
then
157 cr = (cos(y2) - cos(2.*omega)*cos(y1))/(sin(2.*omega)*sin(y2))
158 sr = sin(y2)*sin(pi-y3) / sin(2.*omega)
159 rot_ang =
sign(1., cr)*asinn(sr)
164 c2r = cos(2.*rot_ang)
165 s2r = sin(2.*rot_ang)
167 x7 = c2r * rho_minus / rho_plus
168 x8 = -s2r * rho_minus / rho_plus
198 if (x1.lt..00001)
then
201 x2 = asin(sin(x1)/ref)
202 x3 = (sin(x1-x2)/sin(x1+x2))**2+(tan(x1-x2)/tan(x1+x2))**2
231 real X1, X2, X3, X4, REF
235 if (x1.lt..00001)
then
239 x2 = asin(sin(x1)/ref)
240 perp = (sin(x1-x2)/sin(x1+x2))**2
241 par = (tan(x1-x2)/tan(x1+x2))**2
258 else if (x1.le.-1.)
then
273 asinn = 3.141592654/2.0
274 else if (x1.le.-1.)
then
275 asinn =-3.141592654/2.0