3 & p_fac00 , p_fac01 , p_fac10 , p_fac11,&
4 & k_jp , k_jt , k_jt1 , p_oneminus,&
5 & p_colh2o , p_colch4 , p_colmol,&
6 & k_laytrop , p_selffac , p_selffrac, k_indself , p_forfac , p_forfrac, k_indfor,&
7 & p_sfluxzen, p_taug , p_taur &
33 INTEGER(KIND=JPIM),
INTENT(IN) :: KLEV
34 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FAC00(
jplay)
35 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FAC01(
jplay)
36 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FAC10(
jplay)
37 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FAC11(
jplay)
38 INTEGER(KIND=JPIM),
INTENT(IN) :: K_JP(
jplay)
39 INTEGER(KIND=JPIM),
INTENT(IN) :: K_JT(
jplay)
40 INTEGER(KIND=JPIM),
INTENT(IN) :: K_JT1(
jplay)
41 REAL(KIND=JPRB) ,
INTENT(IN) :: P_ONEMINUS
42 REAL(KIND=JPRB) ,
INTENT(IN) :: P_COLH2O(
jplay)
43 REAL(KIND=JPRB) ,
INTENT(IN) :: P_COLCH4(
jplay)
44 REAL(KIND=JPRB) ,
INTENT(IN) :: P_COLMOL(
jplay)
45 INTEGER(KIND=JPIM),
INTENT(IN) :: K_LAYTROP
46 REAL(KIND=JPRB) ,
INTENT(IN) :: P_SELFFAC(
jplay)
47 REAL(KIND=JPRB) ,
INTENT(IN) :: P_SELFFRAC(
jplay)
48 INTEGER(KIND=JPIM),
INTENT(IN) :: K_INDSELF(
jplay)
49 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FORFAC(
jplay)
50 REAL(KIND=JPRB) ,
INTENT(IN) :: P_FORFRAC(
jplay)
51 INTEGER(KIND=JPIM),
INTENT(IN) :: K_INDFOR(
jplay)
53 REAL(KIND=JPRB) ,
INTENT(OUT) :: P_SFLUXZEN(
jpg)
54 REAL(KIND=JPRB) ,
INTENT(OUT) :: P_TAUG(
jplay,
jpg)
55 REAL(KIND=JPRB) ,
INTENT(OUT) :: P_TAUR(
jplay,
jpg)
61 INTEGER(KIND=JPIM) :: IG, IND0, IND1, INDS, INDF, JS, I_LAY, I_LAYSOLFR, I_NLAYERS
63 REAL(KIND=JPRB) :: Z_FAC000, Z_FAC001, Z_FAC010, Z_FAC011, Z_FAC100, Z_FAC101,&
64 & Z_FAC110, Z_FAC111, Z_FS, Z_SPECCOMB, Z_SPECMULT, Z_SPECPARM, &
66 REAL(KIND=JPRB) :: ZHOOK_HANDLE
75 DO i_lay = 1, k_laytrop
76 z_speccomb = p_colh2o(i_lay) +
strrat1*p_colch4(i_lay)
77 z_specparm = p_colh2o(i_lay)/z_speccomb
78 IF (z_specparm >= p_oneminus) z_specparm = p_oneminus
79 z_specmult = 8._jprb*(z_specparm)
80 js = 1 + int(z_specmult)
81 z_fs = mod(z_specmult, 1.0_jprb )
90 ind0 = ((k_jp(i_lay)-1)*5+(k_jt(i_lay)-1))*
nspa(16) + js
91 ind1 = (k_jp(i_lay)*5+(k_jt1(i_lay)-1))*
nspa(16) + js
92 inds = k_indself(i_lay)
93 indf = k_indfor(i_lay)
94 z_tauray = p_colmol(i_lay) *
rayl
98 9001
format(1
x,
'T16 ',5i4,13e12.3)
102 p_taug(i_lay,ig) = z_speccomb * &
112 & (1. - z_fs) * (
absa(ind0,ig) * p_fac00(i_lay) + &
113 &
absa(ind0+9,ig) * p_fac10(i_lay) + &
114 &
absa(ind1,ig) * p_fac01(i_lay) + &
115 &
absa(ind1+9,ig) * p_fac11(i_lay) ) + &
116 & z_fs * (
absa(ind0+1,ig) * p_fac00(i_lay) + &
117 &
absa(ind0+10,ig) * p_fac10(i_lay) + &
118 &
absa(ind1+1,ig) * p_fac01(i_lay) + &
119 &
absa(ind1+10,ig) * p_fac11(i_lay) ) &
121 & p_colh2o(i_lay) * &
122 & (p_selffac(i_lay) * (
selfrefc(inds,ig) + &
123 & p_selffrac(i_lay) * &
125 & p_forfac(i_lay) * (
forrefc(indf,ig) + &
126 & p_forfrac(i_lay) * &
130 p_taur(i_lay,ig) = z_tauray
134 9002
format(1
x,
'U16 ',2i3,12e12.3)
138 i_laysolfr = i_nlayers
140 DO i_lay = k_laytrop+1, i_nlayers
143 ind0 = ((k_jp(i_lay)-13)*5+(k_jt(i_lay)-1))*
nspb(16) + 1
144 ind1 = ((k_jp(i_lay)-12)*5+(k_jt1(i_lay)-1))*
nspb(16) + 1
145 z_tauray = p_colmol(i_lay) *
rayl
149 p_taug(i_lay,ig) = p_colch4(i_lay) * &
150 & (p_fac00(i_lay) *
absb(ind0 ,ig) + &
151 & p_fac10(i_lay) *
absb(ind0+1,ig) + &
152 & p_fac01(i_lay) *
absb(ind1 ,ig) + &
153 & p_fac11(i_lay) *
absb(ind1+1,ig))
156 IF (i_lay == i_laysolfr) p_sfluxzen(ig) =
sfluxrefc(ig)
157 p_taur(i_lay,ig) = z_tauray
163 9003
format(1
x,
'O16 ',i3,16e13.5)
integer(kind=jpim), parameter jplay
integer(kind=jpim), dimension(16:29) nspa
real(kind=jprb), dimension(3, ng16) forrefc
real(kind=jprb), dimension(ng16) sfluxrefc
integer(kind=jpim), dimension(16:29) nspb
integer(kind=jpim), parameter ng16
!$Header!c c INCLUDE fxyprim h c c c Fonctions in line c c REAL fyprim REAL rj c c il faut la calculer avant d appeler ces fonctions c c c Fonctions a changer selon x(x) et y(y) choisis.c-----------------------------------------------------------------c c.....ici
integer(kind=jpim) layreffr
real(kind=jprb), dimension(585, ng16) absa
subroutine srtm_taumol16(KLEV, P_FAC00, P_FAC01, P_FAC10, P_FAC11, K_JP, K_JT, K_JT1, P_ONEMINUS, P_COLH2O, P_COLCH4, P_COLMOL, K_LAYTROP, P_SELFFAC, P_SELFFRAC, K_INDSELF, P_FORFAC, P_FORFRAC, K_INDFOR, P_SFLUXZEN, P_TAUG, P_TAUR)
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
real(kind=jprb), dimension(235, ng16) absb
integer(kind=jpim), parameter jpg
real(kind=jprb), dimension(10, ng16) selfrefc