source: LMDZ6/trunk/libf/phylmd/ecrad/radiation_gas_constants.F90 @ 4660

Last change on this file since 4660 was 4489, checked in by lguez, 21 months ago

Merge LMDZ_ECRad branch back into trunk!

File size: 2.4 KB
Line 
1! radiation_gas_constants.F90 - Molar mases and ID codes of the various gases
2!
3! (C) Copyright 2014- ECMWF.
4!
5! This software is licensed under the terms of the Apache Licence Version 2.0
6! which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
7!
8! In applying this licence, ECMWF does not waive the privileges and immunities
9! granted to it by virtue of its status as an intergovernmental organisation
10! nor does it submit to any jurisdiction.
11!
12! Author:  Robin Hogan
13! Email:   r.j.hogan@ecmwf.int
14! License: see the COPYING file for details
15!
16
17module radiation_gas_constants
18
19  use parkind1, only : jprb
20
21  implicit none
22
23  public
24
25  ! Gas codes; these indices match those of RRTM-LW up to 7
26  integer, parameter :: IGasNotPresent = 0
27  integer, parameter :: IH2O   = 1
28  integer, parameter :: ICO2   = 2
29  integer, parameter :: IO3    = 3
30  integer, parameter :: IN2O   = 4
31  integer, parameter :: ICO    = 5
32  integer, parameter :: ICH4   = 6
33  integer, parameter :: IO2    = 7
34  integer, parameter :: ICFC11 = 8
35  integer, parameter :: ICFC12 = 9
36  integer, parameter :: IHCFC22= 10
37  integer, parameter :: ICCl4  = 11
38  integer, parameter :: INO2   = 12
39  integer, parameter :: NMaxGases = 12
40
41  ! Molar masses (g mol-1) of dry air and the various gases above
42  real(jprb), parameter :: AirMolarMass = 28.970_jprb
43  real(jprb), parameter, dimension(0:NMaxGases) :: GasMolarMass = (/ &
44       & 0.0_jprb,        & ! Gas not present
45       & 18.0152833_jprb, & ! H2O
46       & 44.011_jprb,     & ! CO2
47       & 47.9982_jprb,    & ! O3
48       & 44.013_jprb,     & ! N2O
49       & 28.0101_jprb,    & ! CO
50       & 16.043_jprb,     & ! CH4
51       & 31.9988_jprb,    & ! O2
52       & 137.3686_jprb,   & ! CFC11
53       & 120.914_jprb,    & ! CFC12
54       & 86.469_jprb,     & ! HCFC22
55       & 153.823_jprb,    & ! CCl4   
56       & 46.0055_jprb /)    ! NO2
57
58  ! The corresponding names of the gases in upper and lower case, used
59  ! for reading variables from the input file
60  character*6, dimension(NMaxGases), parameter :: GasName &
61       &  = (/'H2O   ','CO2   ','O3    ','N2O   ','CO    ','CH4   ', &
62       &      'O2    ','CFC11 ','CFC12 ','HCFC22','CCl4  ','NO2   '/)
63  character*6, dimension(NMaxGases), parameter :: GasLowerCaseName &
64       &  = (/'h2o   ','co2   ','o3    ','n2o   ','co    ','ch4   ', &
65       &      'o2    ','cfc11 ','cfc12 ','hcfc22','ccl4  ','no2   '/)
66
67end module radiation_gas_constants
Note: See TracBrowser for help on using the repository browser.