7 #include "dimensions.h" 
   13       REAL q(iip1,jjmax,llmax)
 
   21       INTEGER i,j,l,ig,ig2,j1,j2,i0,jd
 
   33       INTEGER j_start, j_finish
 
   35       REAL, 
SAVE :: airen_tab(iip1,
jjp1,0:1)
 
   36       REAL, 
SAVE :: aires_tab(iip1,
jjp1,0:1)
 
   38       LOGICAL, 
SAVE :: first = .
true.
 
   39       INTEGER,
SAVE :: i_index(
iim,ngroup)
 
   41       REAL         :: qsum(
iim/ngroup)
 
   62               DO j=j_start, j_finish
 
   66                    q(i0,j,l)=q(i0,j,l)+q(i0+offset,j,l) 
 
   71             DO j=j_start, j_finish
 
   75                  q(i,j,l)=q(i-mod(i-1,2**(ngroup-ig+1)),j,l)
 
   79             DO j=j_start, j_finish
 
   83                  q(i,j,l)=q(i,j,l)*airen_tab(i,j,jd)
 
   93               DO j=j_start, j_finish
 
   97                    q(i0,
jjp1-j+1-jd,l)= q(i0,
jjp1-j+1-jd,l)
 
   98      &                                 +q(i0+offset,
jjp1-j+1-jd,l) 
 
  104             DO j=j_start, j_finish
 
  108                  q(i,
jjp1-j+1-jd,l)=q(i-mod(i-1,2**(ngroup-ig+1)),
 
  113             DO j=j_start, j_finish
 
  117                  q(i,
jjp1-j+1-jd,l)=q(i,
jjp1-j+1-jd,l)*  
 
  118      &                              aires_tab(i,
jjp1-j+1,jd)
 
  120                q(iip1,
jjp1-j+1-jd,l)=q(1,
jjp1-j+1-jd,l)
 
  139 #include "dimensions.h" 
  141 #include "comconst.h" 
  142 #include "comgeom2.h" 
  150       INTEGER i,j,l,ig,j1,j2,i0,jd
 
  152       INTEGER j_start, j_finish
 
  154       REAL :: airen_tab(iip1,
jjp1,0:1)
 
  155       REAL :: aires_tab(iip1,
jjp1,0:1)
 
  165             DO j=j_start, j_finish
 
  166                DO i0=1,
iim,2**(ngroup-ig+1)
 
  168                   DO i=i0,i0+2**(ngroup-ig+1)-1
 
  169                      airen = airen+
aire(i,j)
 
  171                   DO i=i0,i0+2**(ngroup-ig+1)-1
 
  181             DO j=j_start, j_finish
 
  182                DO i0=1,
iim,2**(ngroup-ig+1)
 
  184                   DO i=i0,i0+2**(ngroup-ig+1)-1
 
  187                   DO i=i0,i0+2**(ngroup-ig+1)-1
 
  188                      aires_tab(i,
jjp1-j+1,jd) = 
 
subroutine init_groupeun(airen_tab, aires_tab)
 
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
 
!$Header!CDK comgeom COMMON comgeom aire
 
!$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
 
!$Header!integer nvarmx parameter(nfmx=10, imx=200, jmx=150, lmx=200, nvarmx=1000) real xd(imx
 
!$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
 
c c zjulian c cym CALL iim cym klev iim
 
subroutine groupeun(jjmax, llmax, q)