source: palm/trunk/LIB/rrtmg/rrlw_ncpar.f90 @ 2031

Last change on this file since 2031 was 1585, checked in by maronga, 10 years ago

Added support for RRTMG radiation code

File size: 1.7 KB
Line 
1module rrlw_ncpar
2        use parkind ,only : im => kind_im, rb => kind_rb
3
4        implicit none
5        save
6       
7        real(kind=rb), parameter :: cpdair = 1003.5  ! Specific heat capacity of dry air
8                                                         ! at constant pressure at 273 K
9                                                         ! (J kg-1 K-1)
10
11       
12        integer(kind=im), parameter :: maxAbsorberNameLength = 5, &
13                          Absorber              = 12
14    character(len = maxAbsorberNameLength), dimension(Absorber), parameter :: &
15    AbsorberNames = (/        &
16                                'N2   ',  &
17                                'CCL4 ',  &
18                                'CFC11',  &
19                                'CFC12',  &
20                                'CFC22',  &
21                                'H2O  ',  &
22                                'CO2  ',  &
23                                'O3   ',  &
24                                'N2O  ',  & 
25                                'CO   ',  &
26                                'CH4  ',  &
27                                'O2   '  /)
28       
29        integer(kind=im), dimension(40) :: status
30        integer(kind=im) :: i
31        integer(kind=im), parameter :: keylower  = 9,   &
32                                                  keyupper  = 5,   &
33                                                  Tdiff     = 5,   &
34                                                  ps        = 59,  &
35                                                  plower    = 13,  &
36                                                  pupper    = 47,  &
37                                                  Tself     = 10,  &
38                                                  Tforeign  = 4,   &
39                                                  pforeign  = 4,   &
40                                                  T         = 19,  &
41                                                  Tplanck   = 181, &
42                                                  band      = 16,  &
43                                                  GPoint    = 16,  &
44                                                  GPointSet = 2
45                                                 
46        contains
47       
48        subroutine getAbsorberIndex(AbsorberName,AbsorberIndex)
49                character(len = *), intent(in) :: AbsorberName
50                integer(kind=im), intent(out)           :: AbsorberIndex
51               
52                integer(kind=im) :: m
53       
54                AbsorberIndex = -1
55                do m = 1, Absorber
56                        if (trim(AbsorberNames(m)) == trim(AbsorberName)) then
57                                AbsorberIndex = m
58                        end if
59                end do
60               
61                if (AbsorberIndex == -1) then
62                        print*, "Absorber name index lookup failed."
63                end if
64        end subroutine getAbsorberIndex
65
66end module rrlw_ncpar
Note: See TracBrowser for help on using the repository browser.