1 SUBROUTINE gppref(KPROMA,KSTART,KPROF,KFLEV,PVAH,PVBH,PALPH,PRESH,PRESF)
79 INTEGER(KIND=JPIM),
INTENT(IN) :: KPROMA
80 INTEGER(KIND=JPIM),
INTENT(IN) :: KFLEV
81 INTEGER(KIND=JPIM),
INTENT(IN) :: KSTART
82 INTEGER(KIND=JPIM),
INTENT(IN) :: KPROF
83 REAL(KIND=JPRB) :: PVAH(0:kflev)
84 REAL(KIND=JPRB) :: PVBH(0:kflev)
85 REAL(KIND=JPRB) ,
INTENT(IN) :: PALPH(kproma,kflev)
86 REAL(KIND=JPRB) ,
INTENT(IN) :: PRESH(kproma,0:kflev)
87 REAL(KIND=JPRB) ,
INTENT(OUT) :: PRESF(kproma,kflev)
91 INTEGER(KIND=JPIM) :: IFIRST, JLEV, JLON
92 REAL(KIND=JPRB) :: ZMUL
93 REAL(KIND=JPRB) :: ZHOOK_HANDLE
116 IF(presh(kstart,0) <=
toppres)
THEN
121 IF(presh(jlon,0) <=
toppres)
THEN
137 presf(kstart:kprof,jlev)=
vaf(jlev)+
vbf(jlev)*presh(kstart:kprof,kflev)
144 presf(jlon,jlev)=(presh(jlon,jlev-1)+presh(jlon,jlev))*0.5_jprb
150 presf(jlon,jlev)=exp(-palph(jlon,jlev))*presh(jlon,jlev)
157 presf(jlon,jlev)=(1.0_jprb-palph(jlon,jlev))*presh(jlon,jlev)
160 zmul=1.0_jprb/(2.0_jprb+
rcvd/
rd)
163 presf(jlon,jlev)=presh(jlon,jlev)*zmul
real(kind=jprb), dimension(:), allocatable vbf
subroutine gppref(KPROMA, KSTART, KPROF, KFLEV, PVAH, PVBH, PALPH, PRESH, PRESF)
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
real(kind=jprb), dimension(:), allocatable vaf
integer(kind=jpim) ndlnpr