[1585] | 1 | |
---|
| 2 | module parrrtm |
---|
| 3 | |
---|
| 4 | use parkind ,only : im => kind_im |
---|
| 5 | |
---|
| 6 | implicit none |
---|
| 7 | save |
---|
| 8 | |
---|
| 9 | !------------------------------------------------------------------ |
---|
| 10 | ! rrtmg_lw main parameters |
---|
| 11 | ! |
---|
| 12 | ! Initial version: JJMorcrette, ECMWF, Jul 1998 |
---|
| 13 | ! Revised: MJIacono, AER, Jun 2006 |
---|
| 14 | ! Revised: MJIacono, AER, Aug 2007 |
---|
| 15 | ! Revised: MJIacono, AER, Aug 2008 |
---|
| 16 | !------------------------------------------------------------------ |
---|
| 17 | |
---|
| 18 | ! name type purpose |
---|
| 19 | ! ----- : ---- : ---------------------------------------------- |
---|
| 20 | ! mxlay : integer: maximum number of layers |
---|
| 21 | ! mg : integer: number of original g-intervals per spectral band |
---|
| 22 | ! nbndlw : integer: number of spectral bands |
---|
| 23 | ! maxxsec: integer: maximum number of cross-section molecules |
---|
| 24 | ! (e.g. cfcs) |
---|
| 25 | ! maxinpx: integer: |
---|
| 26 | ! ngptlw : integer: total number of reduced g-intervals for rrtmg_lw |
---|
| 27 | ! ngNN : integer: number of reduced g-intervals per spectral band |
---|
| 28 | ! ngsNN : integer: cumulative number of g-intervals per band |
---|
| 29 | !------------------------------------------------------------------ |
---|
| 30 | |
---|
| 31 | integer(kind=im), parameter :: mxlay = 203 |
---|
| 32 | integer(kind=im), parameter :: mg = 16 |
---|
| 33 | integer(kind=im), parameter :: nbndlw = 16 |
---|
| 34 | integer(kind=im), parameter :: maxxsec= 4 |
---|
| 35 | integer(kind=im), parameter :: mxmol = 38 |
---|
| 36 | integer(kind=im), parameter :: maxinpx= 38 |
---|
| 37 | integer(kind=im), parameter :: nmol = 7 |
---|
| 38 | ! Use for 140 g-point model |
---|
| 39 | integer(kind=im), parameter :: ngptlw = 140 |
---|
| 40 | ! Use for 256 g-point model |
---|
| 41 | ! integer(kind=im), parameter :: ngptlw = 256 |
---|
| 42 | |
---|
| 43 | ! Use for 140 g-point model |
---|
| 44 | integer(kind=im), parameter :: ng1 = 10 |
---|
| 45 | integer(kind=im), parameter :: ng2 = 12 |
---|
| 46 | integer(kind=im), parameter :: ng3 = 16 |
---|
| 47 | integer(kind=im), parameter :: ng4 = 14 |
---|
| 48 | integer(kind=im), parameter :: ng5 = 16 |
---|
| 49 | integer(kind=im), parameter :: ng6 = 8 |
---|
| 50 | integer(kind=im), parameter :: ng7 = 12 |
---|
| 51 | integer(kind=im), parameter :: ng8 = 8 |
---|
| 52 | integer(kind=im), parameter :: ng9 = 12 |
---|
| 53 | integer(kind=im), parameter :: ng10 = 6 |
---|
| 54 | integer(kind=im), parameter :: ng11 = 8 |
---|
| 55 | integer(kind=im), parameter :: ng12 = 8 |
---|
| 56 | integer(kind=im), parameter :: ng13 = 4 |
---|
| 57 | integer(kind=im), parameter :: ng14 = 2 |
---|
| 58 | integer(kind=im), parameter :: ng15 = 2 |
---|
| 59 | integer(kind=im), parameter :: ng16 = 2 |
---|
| 60 | |
---|
| 61 | integer(kind=im), parameter :: ngs1 = 10 |
---|
| 62 | integer(kind=im), parameter :: ngs2 = 22 |
---|
| 63 | integer(kind=im), parameter :: ngs3 = 38 |
---|
| 64 | integer(kind=im), parameter :: ngs4 = 52 |
---|
| 65 | integer(kind=im), parameter :: ngs5 = 68 |
---|
| 66 | integer(kind=im), parameter :: ngs6 = 76 |
---|
| 67 | integer(kind=im), parameter :: ngs7 = 88 |
---|
| 68 | integer(kind=im), parameter :: ngs8 = 96 |
---|
| 69 | integer(kind=im), parameter :: ngs9 = 108 |
---|
| 70 | integer(kind=im), parameter :: ngs10 = 114 |
---|
| 71 | integer(kind=im), parameter :: ngs11 = 122 |
---|
| 72 | integer(kind=im), parameter :: ngs12 = 130 |
---|
| 73 | integer(kind=im), parameter :: ngs13 = 134 |
---|
| 74 | integer(kind=im), parameter :: ngs14 = 136 |
---|
| 75 | integer(kind=im), parameter :: ngs15 = 138 |
---|
| 76 | |
---|
| 77 | ! Use for 256 g-point model |
---|
| 78 | ! integer(kind=im), parameter :: ng1 = 16 |
---|
| 79 | ! integer(kind=im), parameter :: ng2 = 16 |
---|
| 80 | ! integer(kind=im), parameter :: ng3 = 16 |
---|
| 81 | ! integer(kind=im), parameter :: ng4 = 16 |
---|
| 82 | ! integer(kind=im), parameter :: ng5 = 16 |
---|
| 83 | ! integer(kind=im), parameter :: ng6 = 16 |
---|
| 84 | ! integer(kind=im), parameter :: ng7 = 16 |
---|
| 85 | ! integer(kind=im), parameter :: ng8 = 16 |
---|
| 86 | ! integer(kind=im), parameter :: ng9 = 16 |
---|
| 87 | ! integer(kind=im), parameter :: ng10 = 16 |
---|
| 88 | ! integer(kind=im), parameter :: ng11 = 16 |
---|
| 89 | ! integer(kind=im), parameter :: ng12 = 16 |
---|
| 90 | ! integer(kind=im), parameter :: ng13 = 16 |
---|
| 91 | ! integer(kind=im), parameter :: ng14 = 16 |
---|
| 92 | ! integer(kind=im), parameter :: ng15 = 16 |
---|
| 93 | ! integer(kind=im), parameter :: ng16 = 16 |
---|
| 94 | |
---|
| 95 | ! integer(kind=im), parameter :: ngs1 = 16 |
---|
| 96 | ! integer(kind=im), parameter :: ngs2 = 32 |
---|
| 97 | ! integer(kind=im), parameter :: ngs3 = 48 |
---|
| 98 | ! integer(kind=im), parameter :: ngs4 = 64 |
---|
| 99 | ! integer(kind=im), parameter :: ngs5 = 80 |
---|
| 100 | ! integer(kind=im), parameter :: ngs6 = 96 |
---|
| 101 | ! integer(kind=im), parameter :: ngs7 = 112 |
---|
| 102 | ! integer(kind=im), parameter :: ngs8 = 128 |
---|
| 103 | ! integer(kind=im), parameter :: ngs9 = 144 |
---|
| 104 | ! integer(kind=im), parameter :: ngs10 = 160 |
---|
| 105 | ! integer(kind=im), parameter :: ngs11 = 176 |
---|
| 106 | ! integer(kind=im), parameter :: ngs12 = 192 |
---|
| 107 | ! integer(kind=im), parameter :: ngs13 = 208 |
---|
| 108 | ! integer(kind=im), parameter :: ngs14 = 224 |
---|
| 109 | ! integer(kind=im), parameter :: ngs15 = 240 |
---|
| 110 | ! integer(kind=im), parameter :: ngs16 = 256 |
---|
| 111 | |
---|
| 112 | end module parrrtm |
---|