3 SUBROUTINE sumplat(KDGL,KPROC,KPROCA,KMYSETA,LDSPLIT,LDEQ_REGIONS,&
4 &kfrstlat,klstlat,kfrstloff,kptrlat,&
5 &kptrfrstlat,kptrlstlat,kptrfloff,&
6 &kmediap,krestm,ldsplitlat)
88 INTEGER(KIND=JPIM),
INTENT(OUT) :: KMEDIAP
89 INTEGER(KIND=JPIM),
INTENT(OUT) :: KRESTM
90 INTEGER(KIND=JPIM),
INTENT(IN) :: KDGL
91 INTEGER(KIND=JPIM),
INTENT(IN) :: KPROC
92 INTEGER(KIND=JPIM),
INTENT(IN) :: KPROCA
93 INTEGER(KIND=JPIM),
INTENT(IN) :: KMYSETA
94 INTEGER(KIND=JPIM),
INTENT(OUT) :: KFRSTLAT(:)
95 INTEGER(KIND=JPIM),
INTENT(OUT) :: KLSTLAT(:)
96 INTEGER(KIND=JPIM),
INTENT(OUT) :: KFRSTLOFF
97 INTEGER(KIND=JPIM),
INTENT(OUT) :: KPTRLAT(:)
98 INTEGER(KIND=JPIM),
INTENT(OUT) :: KPTRFRSTLAT(:)
99 INTEGER(KIND=JPIM),
INTENT(OUT) :: KPTRLSTLAT(:)
100 INTEGER(KIND=JPIM),
INTENT(OUT) :: KPTRFLOFF
101 LOGICAL,
INTENT(IN) :: LDSPLIT
102 LOGICAL,
INTENT(IN) :: LDEQ_REGIONS
103 LOGICAL,
INTENT(OUT) :: LDSPLITLAT(:)
107 INTEGER(KIND=JPIM) :: INDIC(kproca),ILAST(kproca)
110 INTEGER(KIND=JPIM) :: IPTRLATITUDE, JA, JGL
120 IF( ldeq_regions )
THEN
121 CALL sumplatbeq(1,kdgl,kproc,kproca,
g%NLOEN,ldsplit,ldeq_regions,&
122 &kmediap,krestm,indic,ilast)
124 CALL sumplatb(1,kdgl,kproca,
g%NLOEN,ldsplit,&
125 &kmediap,krestm,indic,ilast)
139 klstlat(kproca) = kdgl
145 IF ((.NOT. ldsplit) .OR. indic(ja) == 0)
THEN
146 kfrstlat(ja+1) = ilast(ja) + 1
147 klstlat(ja) = ilast(ja)
149 kfrstlat(ja+1) = indic(ja)
150 klstlat(ja) = indic(ja)
153 kfrstloff=kfrstlat(kmyseta)-1
163 ldsplitlat(jgl)=.
false.
167 DO jgl=kfrstlat(ja),klstlat(ja)
168 iptrlatitude=iptrlatitude+1
169 ldsplitlat(jgl)=.
true.
170 IF( kptrlat(jgl) == -999 )
THEN
171 kptrlat(jgl)=iptrlatitude
172 ldsplitlat(jgl)=.
false.
177 IF( ldsplitlat(kfrstlat(ja)) .AND. ja /= 1)
THEN
178 kptrfrstlat(ja)=kptrlat(kfrstlat(ja))+1
180 kptrfrstlat(ja)=kptrlat(kfrstlat(ja))
182 IF( ldsplitlat(klstlat(ja)) .AND. ja == kproca)
THEN
183 kptrlstlat(ja)=kptrlat(klstlat(ja))+1
185 kptrlstlat(ja)=kptrlat(klstlat(ja))
188 kptrfloff=kptrfrstlat(kmyseta)-1
subroutine sumplatbeq(KDGSA, KDGL, KPROC, KPROCA, KLOENG, LDSPLIT, LDEQ_REGIONS, KMEDIAP, KRESTM, KINDIC, KLAST)
!$Id mode_top_bound COMMON comconstr g
subroutine sumplat(KDGL, KPROC, KPROCA, KMYSETA, LDSPLIT, LDEQ_REGIONS, KFRSTLAT, KLSTLAT, KFRSTLOFF, KPTRLAT, KPTRFRSTLAT, KPTRLSTLAT, KPTRFLOFF, KMEDIAP, KRESTM, LDSPLITLAT)
!$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 false
!$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 sumplatb(KDGSA, KDGL, KPROCA, KLOENG, LDSPLIT, KMEDIAP, KRESTM, KINDIC, KLAST)