1 | subroutine lwtt (kdlon,u,up,nu,tr) |
---|
2 | |
---|
3 | c---------------------------------------------------------------------- |
---|
4 | c LWTT computes the longwave transmission functions |
---|
5 | c for all the absorbers in all spectral intervals |
---|
6 | c using pade approximants and horner's algorithm |
---|
7 | c---------------------------------------------------------------------- |
---|
8 | |
---|
9 | implicit none |
---|
10 | |
---|
11 | #include "dimensions.h" |
---|
12 | #include "dimphys.h" |
---|
13 | #include "dimradmars.h" |
---|
14 | #include "yomlw.h" |
---|
15 | |
---|
16 | c---------------------------------------------------------------------- |
---|
17 | c 0.1 arguments |
---|
18 | c --------- |
---|
19 | c inputs: |
---|
20 | c ------- |
---|
21 | integer kdlon ! part of ngrid |
---|
22 | integer nu ! |
---|
23 | |
---|
24 | real u (ndlo2,nu) ! absorber amounts |
---|
25 | real up (ndlo2,nu) ! idem scaled by the pressure |
---|
26 | |
---|
27 | c outputs: |
---|
28 | c -------- |
---|
29 | real tr (ndlo2,nu) ! transmission functions |
---|
30 | |
---|
31 | c---------------------------------------------------------------------- |
---|
32 | c 0.2 local arrays |
---|
33 | c ------------ |
---|
34 | |
---|
35 | integer ja,jl |
---|
36 | |
---|
37 | real xn (ndlon) |
---|
38 | real xd (ndlon) |
---|
39 | real ueq (ndlon) |
---|
40 | |
---|
41 | c---------------------------------------------------------------------- |
---|
42 | c Transmission by the CO2 15 microns band: |
---|
43 | c ---------------------------------------- |
---|
44 | |
---|
45 | do ja=1,nu |
---|
46 | do jl=1,kdlon |
---|
47 | c equivalent absorber amount (Doppler effect) |
---|
48 | c -------------------------------------------- |
---|
49 | ueq(jl) = sqrt(up(jl,ja)) |
---|
50 | . +cst_voigt(1,ja)*u(jl,ja)**cst_voigt(2,ja) |
---|
51 | |
---|
52 | c Horner's algorithm |
---|
53 | c ------------------ |
---|
54 | xn(jl) = ga(1,ja) + |
---|
55 | . ueq(jl)*(ga(2,ja) + ueq(jl) * ga(3,ja) ) |
---|
56 | xd(jl) = gb(1,ja) + ueq(jl)*(gb(2,ja) + |
---|
57 | . ueq(jl) * ( gb(3,ja) + ueq(jl) )) |
---|
58 | tr(jl,ja) = xn(jl) / xd(jl) |
---|
59 | |
---|
60 | enddo |
---|
61 | enddo |
---|
62 | |
---|
63 | c---------------------------------------------------------------------- |
---|
64 | return |
---|
65 | end |
---|