LMDZ
srtm_srtm_224gp.F90
Go to the documentation of this file.
1 !
2 ! $Id: srtm_srtm_224gp.F90 2027 2014-04-29 13:38:53Z fairhead $
3 !
4 SUBROUTINE srtm_srtm_224gp &
5  & ( kidia , kfdia , klon , klev , ksw , kovlp ,&
6  & paer , palbd , palbp , paph , pap ,&
7  & pts , pth , pt ,&
8  & pq , pcco2 , pozn , prmu0 ,&
9  & pfrcl , ptauc , pasyc , pomgc ,&
10  & palbt , pfsux , pfsuc &
11  & )
12 
13 !-- interface to RRTM_SW
14 ! JJMorcrette 030225
15 
16 USE parkind1 ,ONLY : jpim ,jprb
17 USE yomhook ,ONLY : lhook, dr_hook
18 
19 USE parsrtm , ONLY : jplay
20 !USE YOERDI , ONLY : RCH4 , RN2O
21 USE yoerad , ONLY : naer
22 USE yoesrtaer, ONLY : rsrtaua, rsrpiza, rsrasya
23 USE yomphy3 , ONLY : rii0
24 USE yomcst , ONLY : ri0
25 
26 
27 
28 IMPLICIT NONE
29 
30 #include "clesphys.h"
31 
32 !-- Input arguments
33 
34 INTEGER(KIND=JPIM),INTENT(IN) :: KLON
35 INTEGER(KIND=JPIM) :: KLEV! UNDETERMINED INTENT
36 INTEGER(KIND=JPIM) :: KSW! UNDETERMINED INTENT
37 INTEGER(KIND=JPIM),INTENT(IN) :: KIDIA
38 INTEGER(KIND=JPIM),INTENT(IN) :: KFDIA
39 INTEGER(KIND=JPIM),INTENT(IN) :: KOVLP
40 REAL(KIND=JPRB) ,INTENT(IN) :: PAER(klon,6,klev) ! top to bottom
41 REAL(KIND=JPRB) ,INTENT(IN) :: PALBD(klon,ksw)
42 REAL(KIND=JPRB) ,INTENT(IN) :: PALBP(klon,ksw)
43 REAL(KIND=JPRB) ,INTENT(IN) :: PAPH(klon,klev+1)
44 REAL(KIND=JPRB) ,INTENT(IN) :: PAP(klon,klev)
45 REAL(KIND=JPRB) ,INTENT(IN) :: PTS(klon)
46 REAL(KIND=JPRB) ,INTENT(IN) :: PTH(klon,klev+1)
47 REAL(KIND=JPRB) ,INTENT(IN) :: PT(klon,klev)
48 REAL(KIND=JPRB) ,INTENT(IN) :: PQ(klon,klev)
49 REAL(KIND=JPRB) ,INTENT(IN) :: PCCO2
50 REAL(KIND=JPRB) ,INTENT(IN) :: POZN(klon,klev)
51 REAL(KIND=JPRB) ,INTENT(IN) :: PRMU0(klon)
52 REAL(KIND=JPRB) ,INTENT(IN) :: PFRCL(klon,klev) ! bottom to top
53 REAL(KIND=JPRB) ,INTENT(IN) :: PTAUC(klon,ksw,klev) ! bottom to top
54 REAL(KIND=JPRB) ,INTENT(IN) :: PASYC(klon,ksw,klev) ! bottom to top
55 REAL(KIND=JPRB) ,INTENT(IN) :: POMGC(klon,ksw,klev) ! bottom to top
56 REAL(KIND=JPRB) :: PALBT(klon,ksw) ! Argument NOT used
57 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSUX(klon,2,klev+1)
58 REAL(KIND=JPRB) ,INTENT(OUT) :: PFSUC(klon,2,klev+1)
59 !INTEGER_M :: KMOL, KCLDATM, KNFLAG, KCEFLAG, KIQFLAG, KSTR
60 
61 !-- Output arguments
62 
63 !-----------------------------------------------------------------------
64 
65 !-- dummy integers
66 
67 INTEGER(KIND=JPIM) :: ICLDATM, INFLAG, ICEFLAG, I_LIQFLAG, I_NMOL, I_NSTR
68 
69 INTEGER(KIND=JPIM) :: IK, IMOL, J1, J2, JAE, JL, JK, JSW
70 
71 !-- dummy reals
72 
73 REAL(KIND=JPRB) :: Z_PZ(0:jplay) , Z_TZ(0:jplay) , Z_PAVEL(jplay) , Z_TAVEL(jplay)
74 REAL(KIND=JPRB) :: Z_COLDRY(jplay) , Z_COLMOL(jplay) , Z_WKL(35,jplay)
75 REAL(KIND=JPRB) :: Z_CO2MULT(jplay), Z_COLCH4(jplay) , Z_COLCO2(jplay) , Z_COLH2O(jplay)
76 REAL(KIND=JPRB) :: Z_COLN2O(jplay) , Z_COLO2(jplay) , Z_COLO3(jplay)
77 REAL(KIND=JPRB) :: Z_FORFAC(jplay) , Z_FORFRAC(jplay), Z_SELFFAC(jplay), Z_SELFFRAC(jplay)
78 REAL(KIND=JPRB) :: Z_FAC00(jplay) , Z_FAC01(jplay) , Z_FAC10(jplay) , Z_FAC11(jplay)
79 REAL(KIND=JPRB) :: Z_TBOUND , Z_ONEMINUS , ZRMU0 , ZADJI0
80 REAL(KIND=JPRB) :: ZALBD(ksw) , ZALBP(ksw) , ZFRCL(jplay)
81 REAL(KIND=JPRB) :: ZTAUC(jplay,ksw), ZASYC(jplay,ksw), ZOMGC(jplay,ksw)
82 REAL(KIND=JPRB) :: ZTAUA(jplay,ksw), ZASYA(jplay,ksw), ZOMGA(jplay,ksw)
83 
84 REAL(KIND=JPRB) :: ZBBCD(jplay+1), ZBBCU(jplay+1), ZBBFD(jplay+1), ZBBFU(jplay+1)
85 REAL(KIND=JPRB) :: ZUVCD(jplay+1), ZUVCU(jplay+1), ZUVFD(jplay+1), ZUVFU(jplay+1)
86 REAL(KIND=JPRB) :: ZVSCD(jplay+1), ZVSCU(jplay+1), ZVSFD(jplay+1), ZVSFU(jplay+1)
87 REAL(KIND=JPRB) :: ZNICD(jplay+1), ZNICU(jplay+1), ZNIFD(jplay+1), ZNIFU(jplay+1)
88 
89 INTEGER(KIND=JPIM) :: I_LAYTROP, I_LAYSWTCH, I_LAYLOW
90 INTEGER(KIND=JPIM) :: INDFOR(jplay), INDSELF(jplay)
91 INTEGER(KIND=JPIM) :: JP(jplay), JT(jplay), JT1(jplay)
92 
93 REAL(KIND=JPRB) :: Z_AMD ! Effective molecular weight of dry air (g/mol)
94 REAL(KIND=JPRB) :: Z_AMW ! Molecular weight of water vapor (g/mol)
95 REAL(KIND=JPRB) :: Z_AMCO2 ! Molecular weight of carbon dioxide (g/mol)
96 REAL(KIND=JPRB) :: Z_AMO ! Molecular weight of ozone (g/mol)
97 REAL(KIND=JPRB) :: Z_AMCH4 ! Molecular weight of methane (g/mol)
98 REAL(KIND=JPRB) :: Z_AMN2O ! Molecular weight of nitrous oxide (g/mol)
99 REAL(KIND=JPRB) :: Z_AMC11 ! Molecular weight of CFC11 (g/mol) - CFCL3
100 REAL(KIND=JPRB) :: Z_AMC12 ! Molecular weight of CFC12 (g/mol) - CF2CL2
101 REAL(KIND=JPRB) :: Z_AVGDRO ! Avogadro's number (molecules/mole)
102 REAL(KIND=JPRB) :: Z_GRAVIT ! Gravitational acceleration (cm/sec2)
103 REAL(KIND=JPRB) :: Z_AMM
104 
105 ! Atomic weights for conversion from mass to volume mixing ratios; these
106 ! are the same values used in ECRT to assure accurate conversion to vmr
107 data z_amd / 28.970_jprb /
108 data z_amw / 18.0154_jprb /
109 data z_amco2 / 44.011_jprb /
110 data z_amo / 47.9982_jprb /
111 data z_amch4 / 16.043_jprb /
112 data z_amn2o / 44.013_jprb /
113 data z_amc11 / 137.3686_jprb /
114 data z_amc12 / 120.9140_jprb /
115 data z_avgdro/ 6.02214e23_jprb /
116 data z_gravit/ 9.80665e02_jprb /
117 
118 REAL(KIND=JPRB) :: ZCLEAR, ZCLOUD, ZEPSEC, ZTOTCC
119 
120 INTEGER(KIND=JPIM) :: IOVLP
121 REAL(KIND=JPRB) :: ZHOOK_HANDLE
122 
123 
124 #include "srtm_setcoef.intfb.h"
125 #include "srtm_spcvrt.intfb.h"
126 
127 
128 !-----------------------------------------------------------------------
129 !-- calculate information needed ny the radiative transfer routine
130 
131 IF (lhook) CALL dr_hook('SRTM_SRTM_224GP',0,zhook_handle)
132 zepsec = 1.e-06_jprb
133 z_oneminus=1.0_jprb - zepsec
134 zadji0 = rii0 / ri0
135 !-- overlap: 1=max-ran, 2=maximum, 3=random
136 iovlp=3
137 
138 !print *,'Entering srtm_srtm_224gp'
139 
140 icldatm = 1
141 inflag = 2
142 iceflag = 3
143 i_liqflag = 1
144 i_nmol = 6
145 i_nstr = 2
146 
147 DO jl = kidia, kfdia
148  zrmu0=prmu0(jl)
149  IF (zrmu0 > 0.0_jprb) THEN
150 
151 !- coefficients related to the cloud optical properties (original RRTM_SW)
152 
153 ! print *,'just before SRTM_CLDPROP'
154 
155 ! DO JK=1,KLEV
156 ! CLDFRAC(JK) = PFRCL (JL,JK)
157 ! CLDDAT1(JK) = PSCLA1(JL,JK)
158 ! CLDDAT2(JK) = PSCLA2(JL,JK)
159 ! CLDDAT3(JK) = PSCLA3(JL,JK)
160 ! CLDDAT4(JK) = PSCLA4(JL,JK)
161 ! DO JMOM=0,16
162 ! CLDDATMOM(JMOM,JK)=PSCLMOM(JL,JMOM,JK)
163 ! ENDDO
164 ! print 9101,JK,CLDFRAC(JK),CLDDAT1(JK),CLDDAT2(JK),CLDDAT3(JK)&
165 ! &,CLDDAT4(JK),(CLDDATMOM(JMOM,JK),JMOM=0,NSTR)
166  9101 format(1x,'srtm_srtm_224gp Cld :',i3,f7.4,7e12.5)
167 ! ENDDO
168 
169 ! CALL SRTM_CLDPROP &
170 ! &( KLEV, ICLDATM, INFLAG, ICEFLAG, LIQFLAG, NSTR &
171 ! &, CLDFRAC, CLDDAT1, CLDDAT2, CLDDAT3, CLDDAT4, CLDDATMOM &
172 ! &, TAUCLDORIG, TAUCLOUD, SSACLOUD, XMOM &
173 ! &)
174 
175 !- coefficients for the temperature and pressure dependence of the
176 ! molecular absorption coefficients
177 
178  DO j1=1,35
179  DO j2=1,klev
180  z_wkl(j1,j2)=0.0_jprb
181  ENDDO
182  ENDDO
183 
184  z_tbound=pts(jl)
185  z_pz(0) = paph(jl,klev+1)/100._jprb
186  z_tz(0) = pth(jl,klev+1)
187 
188  zclear=1.0_jprb
189  zcloud=0.0_jprb
190  ztotcc=0.0_jprb
191  DO jk = 1, klev
192  z_pavel(jk) = pap(jl,klev-jk+1) /100._jprb
193  z_tavel(jk) = pt(jl,klev-jk+1)
194  z_pz(jk) = paph(jl,klev-jk+1)/100._jprb
195  z_tz(jk) = pth(jl,klev-jk+1)
196  z_wkl(1,jk) = pq(jl,klev-jk+1) *z_amd/z_amw
197  z_wkl(2,jk) = pcco2 *z_amd/z_amco2
198  z_wkl(3,jk) = pozn(jl,klev-jk+1)*z_amd/z_amo
199  z_wkl(4,jk) = rn2o *z_amd/z_amn2o
200  z_wkl(6,jk) = rch4 *z_amd/z_amch4
201  z_amm = (1-z_wkl(1,jk))*z_amd + z_wkl(1,jk)*z_amw
202  z_coldry(jk) = (z_pz(jk-1)-z_pz(jk))*1.e3_jprb*z_avgdro/(z_gravit*z_amm*(1+z_wkl(1,jk)))
203 ! print 9200,JK,PAVEL(JK),TAVEL(JK),(WKL(JA,JK),JA=1,4),WKL(6,JK),COLDRY(JK)
204  9200 format(1x,'SRTM ',i3,2f7.1,6e13.5)
205 
206  IF (kovlp == 1) THEN
207  zclear=zclear*(1.0_jprb-max(pfrcl(jl,jk),zcloud)) &
208  & /(1.0_jprb-min(zcloud,1.0_jprb-zepsec))
209  zcloud=pfrcl(jl,jk)
210  ztotcc=1.0_jprb-zclear
211  ELSEIF (kovlp == 2) THEN
212  zcloud=max(zcloud,pfrcl(jl,jk))
213  zclear=1.0_jprb-zcloud
214  ztotcc=zcloud
215  ELSEIF (kovlp == 3) THEN
216  zclear=zclear*(1.0_jprb-pfrcl(jl,jk))
217  zcloud=1.0_jprb-zclear
218  ztotcc=zcloud
219  ENDIF
220 
221  ENDDO
222 
223 ! print *,'ZTOTCC ZCLEAR : ',ZTOTCC,' ',ZCLEAR
224 
225  DO imol=1,i_nmol
226  DO jk=1,klev
227  z_wkl(imol,jk)=z_coldry(jk)* z_wkl(imol,jk)
228  ENDDO
229  ENDDO
230 
231 ! IF (ZTOTCC == 0.0_JPRB) THEN
232 ! DO JK=1,KLEV
233 ! ZFRCL(JK)=0.0_JPRB
234 ! ENDDO
235 ! ELSE
236 ! DO JK=1,KLEV
237 ! ZFRCL(JK)=PFRCL(JL,JK)/ZTOTCC
238 ! ENDDO
239 ! ENDIF
240 
241 ! print *,'just before SRTM_SETCOEF'
242 
243  zfrcl(1:klev)=pfrcl(jl,1:klev)
244  zclear=0._jprb
245  zcloud=1._jprb
246 
247  CALL srtm_setcoef &
248  & ( klev , i_nmol,&
249  & z_pavel , z_tavel , z_pz , z_tz , z_tbound,&
250  & z_coldry , z_wkl,&
251  & i_laytrop, i_layswtch, i_laylow,&
252  & z_co2mult, z_colch4 , z_colco2 , z_colh2o , z_colmol , z_coln2o , z_colo2 , z_colo3,&
253  & z_forfac , z_forfrac , indfor , z_selffac, z_selffrac, indself,&
254  & z_fac00 , z_fac01 , z_fac10 , z_fac11,&
255  & jp , jt , jt1 &
256  & )
257 
258 ! print *,'just after SRTM_SETCOEF'
259 
260 !- call the radiation transfer routine
261 
262  DO jsw=1,ksw
263  zalbd(jsw)=palbd(jl,jsw)
264  zalbp(jsw)=palbp(jl,jsw)
265  DO jk=1,klev
266  ztauc(jk,jsw) = ptauc(jl,jsw,jk)
267  zasyc(jk,jsw) = pasyc(jl,jsw,jk)
268  zomgc(jk,jsw) = pomgc(jl,jsw,jk)
269 ! print 9002,JSW,JK,ZFRCL(JK),ZTAUC(JK,JSW),ZASYC(JK,JSW),ZOMGC(JK,JSW)
270  9002 format(1x,'srtm_224gp ClOPropECmodel ',2i3,f8.4,3e12.5)
271  ENDDO
272  ENDDO
273 
274 !- mixing of aerosols
275 
276 ! print *,'Aerosol optical properties computations'
277 ! DO JSW=1,KSW
278 ! print 9012,JSW,(JAE,RSRTAUA(JSW,JAE),RSRPIZA(JSW,JAE),RSRASYA(JSW,JAE),JAE=1,6)
279  9012 format(i3,(/,i3,3e13.5))
280 ! ENDDO
281 
282 ! DO JK=1,KLEV
283 ! print 9013,JK,(PAER(JL,JAE,JK),JAE=1,6)
284  9013 format(1x,i3,6e12.5)
285 ! ENDDO
286 
287  IF (naer == 0) THEN
288  DO jsw=1,ksw
289  DO jk=1,klev
290  ztaua(jk,jsw)= 0.0_jprb
291  zasya(jk,jsw)= 0.0_jprb
292  zomga(jk,jsw)= 1.0_jprb
293  ENDDO
294  ENDDO
295  ELSE
296  DO jsw=1,ksw
297  DO jk=1,klev
298  ik=klev+1-jk
299  ztaua(jk,jsw)=0.0_jprb
300  zasya(jk,jsw)=0.0_jprb
301  zomga(jk,jsw)=0.0_jprb
302  DO jae=1,6
303  ztaua(jk,jsw)=ztaua(jk,jsw)+rsrtaua(jsw,jae)*paer(jl,jae,ik)
304  zomga(jk,jsw)=zomga(jk,jsw)+rsrtaua(jsw,jae)*paer(jl,jae,ik) &
305  & *rsrpiza(jsw,jae)
306  zasya(jk,jsw)=zasya(jk,jsw)+rsrtaua(jsw,jae)*paer(jl,jae,ik) &
307  & *rsrpiza(jsw,jae)*rsrasya(jsw,jae)
308  ENDDO
309  IF (zomga(jk,jsw) /= 0.0_jprb) THEN
310  zasya(jk,jsw)=zasya(jk,jsw)/zomga(jk,jsw)
311  ENDIF
312  IF (ztaua(jk,jsw) /= 0.0_jprb) THEN
313  zomga(jk,jsw)=zomga(jk,jsw)/ztaua(jk,jsw)
314  ENDIF
315 ! print 9003,JSW,JK,ZTAUA(JK,JSW),ZOMGA(JK,JSW),ZASYA(JK,JSW)
316 9003 format(1x,'Aerosols ',2i3,3f10.4)
317  ENDDO
318  ENDDO
319  ENDIF
320 
321  DO jk=1,klev+1
322  zbbcu(jk)=0.0_jprb
323  zbbcd(jk)=0.0_jprb
324  zbbfu(jk)=0.0_jprb
325  zbbfd(jk)=0.0_jprb
326  zuvcu(jk)=0.0_jprb
327  zuvcd(jk)=0.0_jprb
328  zuvfu(jk)=0.0_jprb
329  zuvfd(jk)=0.0_jprb
330  zvscu(jk)=0.0_jprb
331  zvscd(jk)=0.0_jprb
332  zvsfu(jk)=0.0_jprb
333  zvsfd(jk)=0.0_jprb
334  znicu(jk)=0.0_jprb
335  znicd(jk)=0.0_jprb
336  znifu(jk)=0.0_jprb
337  znifd(jk)=0.0_jprb
338  ENDDO
339 
340 ! print *,'just before calling STRM_SPCVRT for JL=',JL,' and ZRMU0=',ZRMU0
341 
342  CALL srtm_spcvrt &
343  & ( klev , i_nmol , ksw , z_oneminus,&
344  & z_pavel , z_tavel , z_pz , z_tz , z_tbound , zalbd , zalbp,&
345  & zfrcl , ztauc , zasyc , zomgc , ztaua , zasya , zomga , zrmu0,&
346  & z_coldry , z_wkl,&
347  & i_laytrop, i_layswtch, i_laylow,&
348  & z_co2mult, z_colch4 , z_colco2 , z_colh2o , z_colmol , z_coln2o , z_colo2 , z_colo3,&
349  & z_forfac , z_forfrac , indfor , z_selffac, z_selffrac, indself,&
350  & z_fac00 , z_fac01 , z_fac10 , z_fac11,&
351  & jp , jt , jt1,&
352  & zbbfd , zbbfu , zuvfd , zuvfu , zvsfd , zvsfu , znifd , znifu,&
353  & zbbcd , zbbcu , zuvcd , zuvcu , zvscd , zvscu , znicd , znicu &
354  & )
355 
356 ! print *,'SRTM_SRTM_224GP before potential scaling'
357 ! IF (IOVLP == 3) THEN
358 ! DO JK=1,KLEV+1
359 !! print 9004,JK,ZBBCU(JK),ZBBCD(JK),ZBBFU(JK),ZBBFD(JK)
360  9004 format(1x,'Clear-sky and total fluxes U & D ',i3,4f10.3)
361 ! PFSUC(JL,1,JK)=ZBBCU(JK)
362 ! PFSUC(JL,2,JK)=ZBBCD(JK)
363 ! PFSUX(JL,1,JK)=ZBBFU(JK)
364 ! PFSUX(JL,2,JK)=ZBBFD(JK)
365 ! ENDDO
366 ! ELSE
367 ! print *,'SRTM_SRTM_224GP after potential scaling'
368  DO jk=1,klev+1
369  pfsuc(jl,1,jk)=zadji0 * zbbcu(jk)
370  pfsuc(jl,2,jk)=zadji0 * zbbcd(jk)
371  pfsux(jl,1,jk)=zadji0 * ( (1.0_jprb-zclear)*zbbfu(jk)+zclear*zbbcu(jk) )
372  pfsux(jl,2,jk)=zadji0 * ( (1.0_jprb-zclear)*zbbfd(jk)+zclear*zbbcd(jk) )
373  ENDDO
374 ! ENDIF
375 
376 ! DO JK=1,KLEV+1
377 ! print 9005,JK,PFSUC(JL,1,JK),PFSUC(JL,2,JK),PFSUX(JL,1,JK),PFSUX(JL,2,JK)
378  9005 format(1x,'Clear-sky and total fluxes U & D ',i3,4f10.3)
379 ! ENDDO
380 
381  ELSE
382  DO jk=1,klev+1
383  pfsuc(jl,1,jk)=0.0_jprb
384  pfsuc(jl,2,jk)=0.0_jprb
385  pfsux(jl,1,jk)=0.0_jprb
386  pfsux(jl,2,jk)=0.0_jprb
387  ENDDO
388  ENDIF
389 ENDDO
390 
391 !PRINT *,'OUT OF SRTM_224GP'
392 
393 !-----------------------------------------------------------------------
394 IF (lhook) CALL dr_hook('SRTM_SRTM_224GP',1,zhook_handle)
395 END SUBROUTINE srtm_srtm_224gp
396 
INTERFACE SUBROUTINE RRTM_ECRT_140GP pcco2
real(kind=jprb), dimension(14, 6) rsrpiza
Definition: yoesrtaer.F90:18
INTERFACE SUBROUTINE RRTM_ECRT_140GP pth
integer(kind=jpim), parameter jplay
Definition: parsrtm.F90:19
integer, save kidia
Definition: dimphy.F90:6
integer, save klon
Definition: dimphy.F90:3
integer, save klev
Definition: dimphy.F90:7
subroutine srtm_spcvrt(KLEV, KMOL, KSW, PONEMINUS,PAVEL, PTAVEL, PZ, PTZ, PTBOUND, PALBD, PALBP,PFRCL, PTAUC, PASYC, POMGC, PTAUA, PASYA, POMGA, PRMU0,PCOLDRY, PWKL,KLAYTROP, KLAYSWTCH, KLAYLOW,PCO2MULT, PCOLCH4, PCOLCO2, PCOLH2O, PCOLMOL, PCOLN2O, PCOLO2, PCOLO3,PFORFAC, PFORFRAC, KINDFOR, PSELFFAC, PSELFFRAC, KINDSELF,PFAC00, PFAC01, PFAC10, PFAC11,KJP, KJT, KJT1,
Definition: srtm_spcvrt.F90:15
integer(kind=jpim) naer
Definition: yoerad.F90:13
real(kind=jprb), dimension(14, 6) rsrtaua
Definition: yoesrtaer.F90:17
INTERFACE SUBROUTINE RRTM_ECRT_140GP pozn
integer, save kfdia
Definition: dimphy.F90:5
real(kind=jprb) rii0
Definition: yomphy3.F90:163
integer, parameter jprb
Definition: parkind1.F90:31
Definition: yoerad.F90:1
real(kind=jprb), dimension(14, 6) rsrasya
Definition: yoesrtaer.F90:19
!$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
real(kind=jprb) ri0
Definition: yomcst.F90:33
logical lhook
Definition: yomhook.F90:12
INTERFACE SUBROUTINE RRTM_ECRT_140GP paph
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
Definition: yomhook.F90:17
subroutine srtm_setcoef(KLEV, KNMOL, PAVEL, PTAVEL, PZ, PTZ, PTBOUND, PCOLDRY, PWKL, KLAYTROP, KLAYSWTCH, KLAYLOW, PCO2MULT, PCOLCH4, PCOLCO2, PCOLH2O, PCOLMOL, PCOLN2O, PCOLO2, PCOLO3, PFORFAC, PFORFRAC, KINDFOR, PSELFFAC, PSELFFRAC, KINDSELF, PFAC00, PFAC01, PFAC10, PFAC11, KJP, KJT, KJT1)
INTERFACE SUBROUTINE RRTM_ECRT_140GP pt
integer, parameter jpim
Definition: parkind1.F90:13
INTERFACE SUBROUTINE RRTM_ECRT_140GP pap
subroutine srtm_srtm_224gp(KIDIA, KFDIA, KLON, KLEV, KSW, KOVLP, PAER, PALBD, PALBP, PAPH, PAP, PTS, PTH, PT, PQ, PCCO2, POZN, PRMU0, PFRCL, PTAUC, PASYC, POMGC, PALBT, PFSUX, PFSUC)
INTERFACE SUBROUTINE RRTM_ECRT_140GP && paer
INTERFACE SUBROUTINE RRTM_ECRT_140GP && pts
Definition: yomcst.F90:1
INTERFACE SUBROUTINE RRTM_ECRT_140GP && pq