spemiss.inc
References to this file elsewhere.
1 subroutine spemiss(f,tk,theta,ssw,ev,eh)
2 ! returns the specular emissivity of sea water for given freq. (GHz),
3 ! temperature T (K), incidence angle theta (degrees), salinity (permil)
4 !
5 ! Returned values verified against data in Klein and Swift (1977) and
6 ! against Table 3.8 in Olson (1987, Ph.D. Thesis)
7 !
8 real,intent(in ) :: f,tk,theta
9 real,intent(out ) :: ev,eh
10 real epsr,epsi,ssw
11
12 real tc,costh,sinth,rthet,tmp1r,tmp1i
13 complex etav,etah,eps,cterm1v,cterm1h,cterm2,cterm3v,cterm3h
14 !
15
16 tc = tk - t_kelvin
17 call epsalt(f,tc,ssw,epsr,epsi)
18 eps = cmplx(epsr,epsi)
19 etav = eps
20 etah = (1.0,0.0)
21 rthet = theta*0.017453292
22 costh = cos(rthet)
23 sinth = sin(rthet)
24 sinth = sinth*sinth
25 cterm1v = etav*costh
26 cterm1h = etah*costh
27 eps = eps - sinth
28 cterm2 = csqrt(eps)
29 cterm3v = (cterm1v - cterm2)/(cterm1v + cterm2)
30 cterm3h = (cterm1h - cterm2)/(cterm1h + cterm2)
31 tmp1r = real(cterm3v)
32 tmp1i = -aimag(cterm3v)
33 ! ev = 1.0 - cabs(cterm3v)**2
34 ev = 1.0 - (tmp1r*tmp1r+tmp1i*tmp1i)
35
36 eh = 1.0 - cabs(cterm3h)**2
37
38 end subroutine spemiss
39 !
40
41
42