[1585] | 1 | module rrsw_wvn |
---|
| 2 | |
---|
| 3 | use parkind, only : im => kind_im, rb => kind_rb |
---|
| 4 | use parrrsw, only : nbndsw, mg, ngptsw, jpb1, jpb2 |
---|
| 5 | |
---|
| 6 | implicit none |
---|
| 7 | save |
---|
| 8 | |
---|
| 9 | !------------------------------------------------------------------ |
---|
| 10 | ! rrtmg_sw spectral information |
---|
| 11 | |
---|
| 12 | ! Initial version: JJMorcrette, ECMWF, jul1998 |
---|
| 13 | ! Revised: MJIacono, AER, jul2006 |
---|
| 14 | ! Revised: MJIacono, AER, aug2008 |
---|
| 15 | !------------------------------------------------------------------ |
---|
| 16 | |
---|
| 17 | ! name type purpose |
---|
| 18 | ! ----- : ---- : ---------------------------------------------- |
---|
| 19 | ! ng : integer: Number of original g-intervals in each spectral band |
---|
| 20 | ! nspa : integer: |
---|
| 21 | ! nspb : integer: |
---|
| 22 | !wavenum1: real : Spectral band lower boundary in wavenumbers |
---|
| 23 | !wavenum2: real : Spectral band upper boundary in wavenumbers |
---|
| 24 | ! delwave: real : Spectral band width in wavenumbers |
---|
| 25 | ! |
---|
| 26 | ! ngc : integer: The number of new g-intervals in each band |
---|
| 27 | ! ngs : integer: The cumulative sum of new g-intervals for each band |
---|
| 28 | ! ngm : integer: The index of each new g-interval relative to the |
---|
| 29 | ! original 16 g-intervals in each band |
---|
| 30 | ! ngn : integer: The number of original g-intervals that are |
---|
| 31 | ! combined to make each new g-intervals in each band |
---|
| 32 | ! ngb : integer: The band index for each new g-interval |
---|
| 33 | ! wt : real : RRTM weights for the original 16 g-intervals |
---|
| 34 | ! rwgt : real : Weights for combining original 16 g-intervals |
---|
| 35 | ! (224 total) into reduced set of g-intervals |
---|
| 36 | ! (112 total) |
---|
| 37 | !------------------------------------------------------------------ |
---|
| 38 | |
---|
| 39 | integer(kind=im) :: ng(jpb1:jpb2) |
---|
| 40 | integer(kind=im) :: nspa(jpb1:jpb2) |
---|
| 41 | integer(kind=im) :: nspb(jpb1:jpb2) |
---|
| 42 | |
---|
| 43 | real(kind=rb) :: wavenum1(jpb1:jpb2) |
---|
| 44 | real(kind=rb) :: wavenum2(jpb1:jpb2) |
---|
| 45 | real(kind=rb) :: delwave(jpb1:jpb2) |
---|
| 46 | |
---|
| 47 | integer(kind=im) :: ngc(nbndsw) |
---|
| 48 | integer(kind=im) :: ngs(nbndsw) |
---|
| 49 | integer(kind=im) :: ngn(ngptsw) |
---|
| 50 | integer(kind=im) :: ngb(ngptsw) |
---|
| 51 | integer(kind=im) :: ngm(nbndsw*mg) |
---|
| 52 | |
---|
| 53 | real(kind=rb) :: wt(mg) |
---|
| 54 | real(kind=rb) :: rwgt(nbndsw*mg) |
---|
| 55 | |
---|
| 56 | end module rrsw_wvn |
---|