2 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,p_forfac,k_jp,k_jt,k_jt1,p_oneminus,&
3 & p_colh2o,p_colco2,p_colo3,p_coln2o,p_colch4,p_colo2,p_co2mult,&
4 & k_laytrop,k_layswtch,k_laylow,p_selffac,p_selffrac,k_indself,pfrac)
16 INTEGER(KIND=JPIM),
INTENT(IN) :: KLEV
17 REAL(KIND=JPRB) ,
INTENT(OUT) :: P_ATR1(
jpgpt,
jplay)
18 REAL(KIND=JPRB) ,
INTENT(OUT) :: P_OD(
jpgpt,
jplay)
19 REAL(KIND=JPRB) ,
INTENT(OUT) :: P_TF1(
jpgpt,
jplay)
20 REAL(KIND=JPRB) ,
INTENT(IN) :: P_COLDRY(
jplay)
22 REAL(KIND=JPRB) ,
INTENT(IN) :: P_TAUAERL(
jplay,
jpband)
23 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FAC00(
jplay)
24 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FAC01(
jplay)
25 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FAC10(
jplay)
26 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FAC11(
jplay)
27 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FORFAC(
jplay)
28 INTEGER(KIND=JPIM),
INTENT(IN) :: K_JP(
jplay)
29 INTEGER(KIND=JPIM),
INTENT(IN) :: K_JT(
jplay)
30 INTEGER(KIND=JPIM),
INTENT(IN) :: K_JT1(
jplay)
31 REAL(KIND=JPRB) ,
INTENT(IN) :: P_ONEMINUS
32 REAL(KIND=JPRB) ,
INTENT(IN) :: P_COLH2O(
jplay)
33 REAL(KIND=JPRB) ,
INTENT(IN) :: P_COLCO2(
jplay)
34 REAL(KIND=JPRB) ,
INTENT(IN) :: P_COLO3(
jplay)
35 REAL(KIND=JPRB) ,
INTENT(IN) :: P_COLN2O(
jplay)
36 REAL(KIND=JPRB) ,
INTENT(IN) :: P_COLCH4(
jplay)
37 REAL(KIND=JPRB) :: P_COLO2(
jplay)
38 REAL(KIND=JPRB) ,
INTENT(IN) :: P_CO2MULT(
jplay)
39 INTEGER(KIND=JPIM),
INTENT(IN) :: K_LAYTROP
40 INTEGER(KIND=JPIM),
INTENT(IN) :: K_LAYSWTCH
41 INTEGER(KIND=JPIM),
INTENT(IN) :: K_LAYLOW
42 REAL(KIND=JPRB) ,
INTENT(IN) :: P_SELFFAC(
jplay)
43 REAL(KIND=JPRB) ,
INTENT(IN) :: P_SELFFRAC(
jplay)
44 INTEGER(KIND=JPIM),
INTENT(IN) :: K_INDSELF(
jplay)
45 REAL(KIND=JPRB) ,
INTENT(OUT) :: PFRAC(
jpgpt,
jplay)
55 INTEGER(KIND=JPIM) :: IPR, ITR, I_LAY
57 REAL(KIND=JPRB) :: Z_ODEPTH, Z_SECANG, Z_TF
58 REAL(KIND=JPRB) :: ZHOOK_HANDLE
60 #include "rrtm_taumol1.intfb.h"
61 #include "rrtm_taumol10.intfb.h"
62 #include "rrtm_taumol11.intfb.h"
63 #include "rrtm_taumol12.intfb.h"
64 #include "rrtm_taumol13.intfb.h"
65 #include "rrtm_taumol14.intfb.h"
66 #include "rrtm_taumol15.intfb.h"
67 #include "rrtm_taumol16.intfb.h"
68 #include "rrtm_taumol2.intfb.h"
69 #include "rrtm_taumol3.intfb.h"
70 #include "rrtm_taumol4.intfb.h"
71 #include "rrtm_taumol5.intfb.h"
72 #include "rrtm_taumol6.intfb.h"
73 #include "rrtm_taumol7.intfb.h"
74 #include "rrtm_taumol8.intfb.h"
75 #include "rrtm_taumol9.intfb.h"
78 IF (
lhook)
CALL dr_hook(
'RRTM_GASABS1A_140GP',0,zhook_handle)
82 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,p_forfac,k_jp,k_jt,k_jt1,&
83 & p_colh2o,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
85 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,p_forfac,k_jp,k_jt,k_jt1,&
86 & p_colh2o,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
88 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,p_forfac,k_jp,k_jt,k_jt1,p_oneminus,&
89 & p_colh2o,p_colco2,p_coln2o,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
91 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,p_forfac,k_jp,k_jt,k_jt1,p_oneminus,&
92 & p_colh2o,p_colco2,p_colo3,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
94 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,p_forfac,k_jp,k_jt,k_jt1,p_oneminus,&
95 & p_colh2o,p_colco2,p_colo3,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
97 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,k_jp,k_jt,k_jt1,&
98 & p_colh2o,p_co2mult,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
100 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,k_jp,k_jt,k_jt1,p_oneminus,&
101 & p_colh2o,p_colo3,p_co2mult,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
103 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,k_jp,k_jt,k_jt1,&
104 & p_colh2o,p_colo3,p_coln2o,p_co2mult,k_layswtch,p_selffac,p_selffrac,k_indself,pfrac)
106 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,k_jp,k_jt,k_jt1,p_oneminus,&
107 & p_colh2o,p_coln2o,p_colch4,k_laytrop,k_layswtch,k_laylow,p_selffac,p_selffrac,k_indself,pfrac)
109 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,k_jp,k_jt,k_jt1,&
110 & p_colh2o,k_laytrop,pfrac)
112 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,k_jp,k_jt,k_jt1,&
113 & p_colh2o,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
115 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,k_jp,k_jt,k_jt1,p_oneminus,&
116 & p_colh2o,p_colco2,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
118 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,k_jp,k_jt,k_jt1,p_oneminus,&
119 & p_colh2o,p_coln2o,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
121 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,k_jp,k_jt,k_jt1,&
122 & p_colco2,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
124 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,k_jp,k_jt,k_jt1,p_oneminus,&
125 & p_colh2o,p_colco2,p_coln2o,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
127 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,k_jp,k_jt,k_jt1,p_oneminus,&
128 & p_colh2o,p_colch4,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
133 z_odepth = z_secang * z_tau(ipr,i_lay)
134 p_od(ipr,i_lay) = z_odepth
135 z_odepth=0.5d0*(abs(z_odepth)+z_odepth)
144 z_tf = z_odepth/(
bpade+z_odepth)
145 itr=int(5.e+03_jprb*z_tf+0.5_jprb)
147 p_atr1(ipr,i_lay) = 1.0_jprb -
trans(itr)
148 p_tf1(ipr,i_lay) = z_tf
156 IF (
lhook)
CALL dr_hook(
'RRTM_GASABS1A_140GP',1,zhook_handle)
subroutine rrtm_taumol5(KLEV, P_TAU, P_WX, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, P_FORFAC, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCO2, P_COLO3, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
subroutine rrtm_taumol4(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, P_FORFAC, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCO2, P_COLO3, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
subroutine rrtm_taumol6(KLEV, P_TAU, P_WX, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_COLH2O, P_CO2MULT, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
subroutine rrtm_taumol13(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLN2O, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
subroutine rrtm_taumol11(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_COLH2O, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
subroutine rrtm_taumol14(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_COLCO2, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
integer(kind=jpim), parameter jpgpt
subroutine rrtm_taumol7(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLO3, P_CO2MULT, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
subroutine rrtm_taumol9(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLN2O, P_COLCH4, K_LAYTROP, K_LAYSWTCH, K_LAYLOW, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
subroutine rrtm_taumol3(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, P_FORFAC, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCO2, P_COLN2O, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
integer(kind=jpim), parameter jpband
subroutine rrtm_taumol8(KLEV, P_TAU, P_WX, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_COLH2O, P_COLO3, P_COLN2O, P_CO2MULT, K_LAYSWTCH, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
subroutine rrtm_taumol10(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_COLH2O, K_LAYTROP, PFRAC)
real(kind=jprb), dimension(0:5000) trans
subroutine rrtm_taumol12(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCO2, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
subroutine rrtm_gasabs1a_140gp(KLEV, P_ATR1, P_OD, P_TF1, P_COLDRY, P_WX, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, P_FORFAC, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCO2, P_COLO3, P_COLN2O, P_COLCH4, P_COLO2, P_CO2MULT, K_LAYTROP, K_LAYSWTCH, K_LAYLOW, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
subroutine rrtm_taumol16(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCH4, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
integer(kind=jpim), parameter jplay
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
subroutine rrtm_taumol1(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, P_FORFAC, K_JP, K_JT, K_JT1, P_COLH2O, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
subroutine rrtm_taumol2(KLEV, P_TAU, P_COLDRY, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, P_FORFAC, K_JP, K_JT, K_JT1, P_COLH2O, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
subroutine rrtm_taumol15(KLEV, P_TAU, P_TAUAERL, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCO2, P_COLN2O, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, PFRAC)
integer(kind=jpim), parameter jpxsec