126 & p_tauaerl,p_fac00,p_fac01,p_fac10,p_fac11,p_forfac,k_jp,k_jt,k_jt1,&
127 & p_colh2o,k_laytrop,p_selffac,p_selffrac,k_indself,pfrac)
155 INTEGER(KIND=JPIM),
INTENT(IN) :: KLEV
156 REAL(KIND=JPRB) ,
INTENT(OUT) :: P_TAU(
jpgpt,
jplay)
157 REAL(KIND=JPRB) ,
INTENT(IN) :: P_TAUAERL(
jplay,
jpband)
158 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FAC00(
jplay)
159 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FAC01(
jplay)
160 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FAC10(
jplay)
161 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FAC11(
jplay)
162 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FORFAC(
jplay)
163 INTEGER(KIND=JPIM),
INTENT(IN) :: K_JP(
jplay)
164 INTEGER(KIND=JPIM),
INTENT(IN) :: K_JT(
jplay)
165 INTEGER(KIND=JPIM),
INTENT(IN) :: K_JT1(
jplay)
166 REAL(KIND=JPRB) ,
INTENT(IN) :: P_COLH2O(
jplay)
167 INTEGER(KIND=JPIM),
INTENT(IN) :: K_LAYTROP
168 REAL(KIND=JPRB) ,
INTENT(IN) :: P_SELFFAC(
jplay)
169 REAL(KIND=JPRB) ,
INTENT(IN) :: P_SELFFRAC(
jplay)
170 INTEGER(KIND=JPIM),
INTENT(IN) :: K_INDSELF(
jplay)
171 REAL(KIND=JPRB) ,
INTENT(OUT) :: PFRAC(
jpgpt,
jplay)
181 INTEGER(KIND=JPIM) :: IG, I_LAY
182 REAL(KIND=JPRB) :: ZHOOK_HANDLE
192 IF (k_laytrop.GT.100)
THEN
193 print *,
'ATTENTION KLAY_TROP > 100 PROBLEME ARRAY DANS RRTM ON ARRETE'
197 DO i_lay = 1, k_laytrop
198 ind0(i_lay) = ((k_jp(i_lay)-1)*5+(k_jt(i_lay)-1))*
nspa(1) + 1
199 ind1(i_lay) = (k_jp(i_lay)*5+(k_jt1(i_lay)-1))*
nspa(1) + 1
200 inds(i_lay) = k_indself(i_lay)
204 DO i_lay = 1, k_laytrop
206 p_tau(ig,i_lay) = p_colh2o(i_lay) *&
207 & (p_fac00(i_lay) *
absa(ind0(i_lay) ,ig) +&
208 & p_fac10(i_lay) *
absa(ind0(i_lay)+1,ig) +&
209 & p_fac01(i_lay) *
absa(ind1(i_lay) ,ig) +&
210 & p_fac11(i_lay) *
absa(ind1(i_lay)+1,ig) +&
211 & p_selffac(i_lay) * (
selfref(inds(i_lay),ig) + &
212 & p_selffrac(i_lay) *&
214 & + p_forfac(i_lay) *
forref(ig) ) &
215 & + p_tauaerl(i_lay,1)
220 DO i_lay = k_laytrop+1, klev
221 ind0(i_lay) = ((k_jp(i_lay)-13)*5+(k_jt(i_lay)-1))*
nspb(1) + 1
222 ind1(i_lay) = ((k_jp(i_lay)-12)*5+(k_jt1(i_lay)-1))*
nspb(1) + 1
227 DO i_lay = k_laytrop+1, klev
229 p_tau(ig,i_lay) = p_colh2o(i_lay) *&
230 & (p_fac00(i_lay) *
absb(ind0(i_lay) ,ig) +&
231 & p_fac10(i_lay) *
absb(ind0(i_lay)+1,ig) +&
232 & p_fac01(i_lay) *
absb(ind1(i_lay) ,ig) +&
233 & p_fac11(i_lay) *
absb(ind1(i_lay)+1,ig)&
234 & + p_forfac(i_lay) *
forref(ig) ) &
235 & + p_tauaerl(i_lay,1)
real(kind=jprb), dimension(65, ng1) absa
real(kind=jprb), dimension(235, ng1) absb
real(kind=jprb), dimension(ng1) fracrefb
integer(kind=jpim), parameter jpgpt
integer(kind=jpim), parameter ng1
integer(kind=jpim), parameter jpband
integer(kind=jpim), dimension(16) nspb
integer(kind=jpim), dimension(16) nspa
real(kind=jprb), dimension(ng1) fracrefa
real(kind=jprb), dimension(ng1) forref
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)
real(kind=jprb), dimension(10, ng1) selfref