*
Optical depths developed for the *
*
RAPID RADIATIVE TRANSFER MODEL (RRTM) *
*
ATMOSPHERIC AND ENVIRONMENTAL RESEARCH, INC. *
840 MEMORIAL DRIVE *
CAMBRIDGE, MA 02139 *
*
ELI J. MLAWER *
STEVEN J. TAUBMAN *
SHEPARD A. CLOUGH *
*
email: mlawer@aer.com *
*
The authors wish to acknowledge the contributions of the *
following people: Patrick D. Brown, Michael J. Iacono, *
Ronald E. Farren, Luke Chen, Robert Bergstrom. *
*
TAUMOL *
*
This file contains the subroutines TAUGBn (where n goes from *
1 to 16). TAUGBn calculates the optical depths and Planck fractions *
per g-value and layer for band n. *
*
Output: optical depths (unitless) * fractions needed to compute Planck functions at every layer * and g-value * * COMMON /TAUGCOM/ TAUG(MXLAY,MG) * COMMON /PLANKG/ FRACS(MXLAY,MG) * * Input * * COMMON /FEATURES/ NG(NBANDS),NSPA(NBANDS),NSPB(NBANDS) * COMMON /PRECISE/ ONEMINUS * COMMON /PROFILE/ NLAYERS,PAVEL(MXLAY),TAVEL(MXLAY), * & PZ(0:MXLAY),TZ(0:MXLAY),TBOUND * COMMON /PROFDATA/ LAYTROP,LAYSWTCH,LAYLOW, * & COLH2O(MXLAY),COLCO2(MXLAY), * & COLO3(MXLAY),COLN2O(MXLAY),COLCH4(MXLAY), * & COLO2(MXLAY),CO2MULT(MXLAY) * COMMON /INTFAC/ FAC00(MXLAY),FAC01(MXLAY), * & FAC10(MXLAY),FAC11(MXLAY) * COMMON /INTIND/ JP(MXLAY),JT(KIDIA:KFDIA,MXLAY),JT1(KIDIA:KFDIA,MXLAY) * COMMON /SELF/ SELFFAC(MXLAY), SELFFRAC(MXLAY), INDSELF(KIDIA:KFDIA,MXLAY) * * Description: * NG(IBAND) - number of g-values in band IBAND * NSPA(IBAND) - for the lower atmosphere, the number of reference * atmospheres that are stored for band IBAND per * pressure level and temperature. Each of these * atmospheres has different relative amounts of the * key species for the band (i.e. different binary * species parameters). * NSPB(IBAND) - same for upper atmosphere * ONEMINUS - since problems are caused in some cases by interpolation * parameters equal to or greater than 1, for these cases * these parameters are set to this value, slightly < 1. * PAVEL - layer pressures (mb) * TAVEL - layer temperatures (degrees K) * PZ - level pressures (mb) * TZ - level temperatures (degrees K) * LAYTROP - layer at which switch is made from one combination of * key species to another * COLH2O, COLCO2, COLO3, COLN2O, COLCH4 - column amounts of water * vapor,carbon dioxide, ozone, nitrous ozide, methane, * respectively (molecules/cm2) * CO2MULT - for bands in which carbon dioxide is implemented as a * trace species, this is the factor used to multiply the * band's average CO2 absorption coefficient to get the added * contribution to the optical depth relative to 355 ppm. * FACij(JLAY) - for layer JLAY, these are factors that are needed to * compute the interpolation factors that multiply the * appropriate reference k-values. A value of 0 (1) for * i,j indicates that the corresponding factor multiplies * reference k-value for the lower (higher) of the two * appropriate temperatures, and altitudes, respectively. * JP - the index of the lower (in altitude) of the two appropriate * reference pressure levels needed for interpolation * JT, JT1 - the indices of the lower of the two appropriate reference * temperatures needed for interpolation (for pressure * levels JP and JP+1, respectively) * SELFFAC - scale factor needed to water vapor self-continuum, equals * (water vapor density)/(atmospheric density at 296K and * 1013 mb) * SELFFRAC - factor needed for temperature interpolation of reference * water vapor self-continuum data * INDSELF - index of the lower of the two appropriate reference * temperatures needed for the self-continuum interpolation * * Data input * COMMON /Kn/ KA(NSPA(n),5,13,MG), KB(NSPB(n),5,13:59,MG), SELFREF(10,MG) * (note: n is the band number) * * Description: * KA - k-values for low reference atmospheres (no water vapor * self-continuum) (units: cm2/molecule) * KB - k-values for high reference atmospheres (all sources) * (units: cm2/molecule) * SELFREF - k-values for water vapor self-continuum for reference * atmospheres (used below LAYTROP) * (units: cm2/molecule) * * DIMENSION ABSA(65NSPA(n),MG), ABSB(235NSPB(n),MG) * EQUIVALENCE (KA,ABSA),(KB,ABSB) * *
band 1: 10-350 cm-1 (low key - h2o; low minor - n2)
(high key - h2o; high minor - n2)
note: previous versions of rrtm band 1:
10-250 cm-1 (low - h2o; high - h2o)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=JPIM), | intent(in) | :: | KIDIA | |||
| integer(kind=JPIM), | intent(in) | :: | KFDIA | |||
| integer(kind=JPIM), | intent(in) | :: | KLEV | |||
| real(kind=JPRB), | intent(out) | :: | P_TAU(KIDIA:KFDIA,JPGPT,KLEV) | |||
| real(kind=JPRB), | intent(in) | :: | PAVEL(KIDIA:KFDIA,KLEV) | |||
| real(kind=JPRB), | intent(in) | :: | P_TAUAERL(KIDIA:KFDIA,KLEV,JPBAND) | |||
| real(kind=JPRB), | intent(in) | :: | P_FAC00(KIDIA:KFDIA,KLEV) | |||
| real(kind=JPRB), | intent(in) | :: | P_FAC01(KIDIA:KFDIA,KLEV) | |||
| real(kind=JPRB), | intent(in) | :: | P_FAC10(KIDIA:KFDIA,KLEV) | |||
| real(kind=JPRB), | intent(in) | :: | P_FAC11(KIDIA:KFDIA,KLEV) | |||
| real(kind=JPRB), | intent(in) | :: | P_FORFAC(KIDIA:KFDIA,KLEV) | |||
| real(kind=JPRB), | intent(in) | :: | P_FORFRAC(KIDIA:KFDIA,KLEV) | |||
| integer(kind=JPIM), | intent(in) | :: | K_INDFOR(KIDIA:KFDIA,KLEV) | |||
| integer(kind=JPIM), | intent(in) | :: | K_JP(KIDIA:KFDIA,KLEV) | |||
| integer(kind=JPIM), | intent(in) | :: | K_JT(KIDIA:KFDIA,KLEV) | |||
| integer(kind=JPIM), | intent(in) | :: | K_JT1(KIDIA:KFDIA,KLEV) | |||
| real(kind=JPRB), | intent(in) | :: | P_COLH2O(KIDIA:KFDIA,KLEV) | |||
| integer(kind=JPIM), | intent(in) | :: | K_LAYTROP(KIDIA:KFDIA) | |||
| real(kind=JPRB), | intent(in) | :: | P_SELFFAC(KIDIA:KFDIA,KLEV) | |||
| real(kind=JPRB), | intent(in) | :: | P_SELFFRAC(KIDIA:KFDIA,KLEV) | |||
| integer(kind=JPIM), | intent(in) | :: | K_INDSELF(KIDIA:KFDIA,KLEV) | |||
| real(kind=JPRB), | intent(out) | :: | PFRAC(KIDIA:KFDIA,JPGPT,KLEV) | |||
| real(kind=JPRB), | intent(in) | :: | P_MINORFRAC(KIDIA:KFDIA,KLEV) | |||
| integer(kind=JPIM), | intent(in) | :: | K_INDMINOR(KIDIA:KFDIA,KLEV) | |||
| real(kind=JPRB), | intent(in) | :: | PSCALEMINORN2(KIDIA:KFDIA,KLEV) | |||
| real(kind=JPRB), | intent(in) | :: | PCOLBRD(KIDIA:KFDIA,KLEV) |