[1585] | 1 | |
---|
| 2 | module parrrsw |
---|
| 3 | |
---|
| 4 | use parkind ,only : im => kind_im, rb => kind_rb |
---|
| 5 | |
---|
| 6 | implicit none |
---|
| 7 | save |
---|
| 8 | |
---|
| 9 | !------------------------------------------------------------------ |
---|
| 10 | ! rrtmg_sw main parameters |
---|
| 11 | ! |
---|
| 12 | ! Initial version: JJMorcrette, ECMWF, jul1998 |
---|
| 13 | ! Revised: MJIacono, AER, jun2006 |
---|
| 14 | ! Revised: MJIacono, AER, aug2008 |
---|
| 15 | !------------------------------------------------------------------ |
---|
| 16 | |
---|
| 17 | ! name type purpose |
---|
| 18 | ! ----- : ---- : ---------------------------------------------- |
---|
| 19 | ! mxlay : integer: maximum number of layers |
---|
| 20 | ! mg : integer: number of original g-intervals per spectral band |
---|
| 21 | ! nbndsw : integer: number of spectral bands |
---|
| 22 | ! naerec : integer: number of aerosols (iaer=6, ecmwf aerosol option) |
---|
| 23 | ! ngptsw : integer: total number of reduced g-intervals for rrtmg_lw |
---|
| 24 | ! ngNN : integer: number of reduced g-intervals per spectral band |
---|
| 25 | ! ngsNN : integer: cumulative number of g-intervals per band |
---|
| 26 | !------------------------------------------------------------------ |
---|
| 27 | |
---|
| 28 | integer(kind=im), parameter :: mxlay = 203 !jplay, klev |
---|
| 29 | integer(kind=im), parameter :: mg = 16 !jpg |
---|
| 30 | integer(kind=im), parameter :: nbndsw = 14 !jpsw, ksw |
---|
| 31 | integer(kind=im), parameter :: naerec = 6 !jpaer |
---|
| 32 | integer(kind=im), parameter :: mxmol = 38 |
---|
| 33 | integer(kind=im), parameter :: nstr = 2 |
---|
| 34 | integer(kind=im), parameter :: nmol = 7 |
---|
| 35 | ! Use for 112 g-point model |
---|
| 36 | integer(kind=im), parameter :: ngptsw = 112 !jpgpt |
---|
| 37 | ! Use for 224 g-point model |
---|
| 38 | ! integer(kind=im), parameter :: ngptsw = 224 !jpgpt |
---|
| 39 | |
---|
| 40 | ! may need to rename these - from v2.6 |
---|
| 41 | integer(kind=im), parameter :: jpband = 29 |
---|
| 42 | integer(kind=im), parameter :: jpb1 = 16 !istart |
---|
| 43 | integer(kind=im), parameter :: jpb2 = 29 !iend |
---|
| 44 | |
---|
| 45 | integer(kind=im), parameter :: jmcmu = 32 |
---|
| 46 | integer(kind=im), parameter :: jmumu = 32 |
---|
| 47 | integer(kind=im), parameter :: jmphi = 3 |
---|
| 48 | integer(kind=im), parameter :: jmxang = 4 |
---|
| 49 | integer(kind=im), parameter :: jmxstr = 16 |
---|
| 50 | ! ^ |
---|
| 51 | |
---|
| 52 | ! Use for 112 g-point model |
---|
| 53 | integer(kind=im), parameter :: ng16 = 6 |
---|
| 54 | integer(kind=im), parameter :: ng17 = 12 |
---|
| 55 | integer(kind=im), parameter :: ng18 = 8 |
---|
| 56 | integer(kind=im), parameter :: ng19 = 8 |
---|
| 57 | integer(kind=im), parameter :: ng20 = 10 |
---|
| 58 | integer(kind=im), parameter :: ng21 = 10 |
---|
| 59 | integer(kind=im), parameter :: ng22 = 2 |
---|
| 60 | integer(kind=im), parameter :: ng23 = 10 |
---|
| 61 | integer(kind=im), parameter :: ng24 = 8 |
---|
| 62 | integer(kind=im), parameter :: ng25 = 6 |
---|
| 63 | integer(kind=im), parameter :: ng26 = 6 |
---|
| 64 | integer(kind=im), parameter :: ng27 = 8 |
---|
| 65 | integer(kind=im), parameter :: ng28 = 6 |
---|
| 66 | integer(kind=im), parameter :: ng29 = 12 |
---|
| 67 | |
---|
| 68 | integer(kind=im), parameter :: ngs16 = 6 |
---|
| 69 | integer(kind=im), parameter :: ngs17 = 18 |
---|
| 70 | integer(kind=im), parameter :: ngs18 = 26 |
---|
| 71 | integer(kind=im), parameter :: ngs19 = 34 |
---|
| 72 | integer(kind=im), parameter :: ngs20 = 44 |
---|
| 73 | integer(kind=im), parameter :: ngs21 = 54 |
---|
| 74 | integer(kind=im), parameter :: ngs22 = 56 |
---|
| 75 | integer(kind=im), parameter :: ngs23 = 66 |
---|
| 76 | integer(kind=im), parameter :: ngs24 = 74 |
---|
| 77 | integer(kind=im), parameter :: ngs25 = 80 |
---|
| 78 | integer(kind=im), parameter :: ngs26 = 86 |
---|
| 79 | integer(kind=im), parameter :: ngs27 = 94 |
---|
| 80 | integer(kind=im), parameter :: ngs28 = 100 |
---|
| 81 | integer(kind=im), parameter :: ngs29 = 112 |
---|
| 82 | |
---|
| 83 | ! Use for 224 g-point model |
---|
| 84 | ! integer(kind=im), parameter :: ng16 = 16 |
---|
| 85 | ! integer(kind=im), parameter :: ng17 = 16 |
---|
| 86 | ! integer(kind=im), parameter :: ng18 = 16 |
---|
| 87 | ! integer(kind=im), parameter :: ng19 = 16 |
---|
| 88 | ! integer(kind=im), parameter :: ng20 = 16 |
---|
| 89 | ! integer(kind=im), parameter :: ng21 = 16 |
---|
| 90 | ! integer(kind=im), parameter :: ng22 = 16 |
---|
| 91 | ! integer(kind=im), parameter :: ng23 = 16 |
---|
| 92 | ! integer(kind=im), parameter :: ng24 = 16 |
---|
| 93 | ! integer(kind=im), parameter :: ng25 = 16 |
---|
| 94 | ! integer(kind=im), parameter :: ng26 = 16 |
---|
| 95 | ! integer(kind=im), parameter :: ng27 = 16 |
---|
| 96 | ! integer(kind=im), parameter :: ng28 = 16 |
---|
| 97 | ! integer(kind=im), parameter :: ng29 = 16 |
---|
| 98 | |
---|
| 99 | ! integer(kind=im), parameter :: ngs16 = 16 |
---|
| 100 | ! integer(kind=im), parameter :: ngs17 = 32 |
---|
| 101 | ! integer(kind=im), parameter :: ngs18 = 48 |
---|
| 102 | ! integer(kind=im), parameter :: ngs19 = 64 |
---|
| 103 | ! integer(kind=im), parameter :: ngs20 = 80 |
---|
| 104 | ! integer(kind=im), parameter :: ngs21 = 96 |
---|
| 105 | ! integer(kind=im), parameter :: ngs22 = 112 |
---|
| 106 | ! integer(kind=im), parameter :: ngs23 = 128 |
---|
| 107 | ! integer(kind=im), parameter :: ngs24 = 144 |
---|
| 108 | ! integer(kind=im), parameter :: ngs25 = 160 |
---|
| 109 | ! integer(kind=im), parameter :: ngs26 = 176 |
---|
| 110 | ! integer(kind=im), parameter :: ngs27 = 192 |
---|
| 111 | ! integer(kind=im), parameter :: ngs28 = 208 |
---|
| 112 | ! integer(kind=im), parameter :: ngs29 = 224 |
---|
| 113 | |
---|
| 114 | ! Source function solar constant |
---|
| 115 | real(kind=rb), parameter :: rrsw_scon = 1.36822e+03 ! W/m2 |
---|
| 116 | |
---|
| 117 | end module parrrsw |
---|
| 118 | |
---|
| 119 | |
---|