source: trunk/LMDZ.MARS/libf/phymars/lwtt.F @ 1242

Last change on this file since 1242 was 1047, checked in by emillour, 11 years ago

Mars GCM:

  • IMPORTANT CHANGE: Removed all reference/use of ngridmx (dimphys.h) in routines (necessary prerequisite to using parallel dynamics); in most cases this just means adding 'ngrid' as routine argument, and making local saved variables allocatable (and allocated at first call). In the process, had to convert many *.h files to equivalent modules: yomaer.h => yomaer_h.F90 , surfdat.h => surfdat_h.F90 , comsaison.h => comsaison_h.F90 , yomlw.h => yomlw_h.F90 , comdiurn.h => comdiurn_h.F90 , dimradmars.h => dimradmars_mod.F90 , comgeomfi.h => comgeomfi_h.F90, comsoil.h => comsoil_h.F90 , slope.h => slope_mod.F90
  • Also updated EOF routines, everything is now in eofdump_mod.F90
  • Removed unused routine lectfux.F (in dyn3d)

EM

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