66     CHARACTER(LEN=*),
INTENT(INOUT) :: Var1
 
   77     INTEGER,
INTENT(INOUT) :: Var
 
   89     INTEGER,
INTENT(INOUT) :: Var(:)
 
   97     INTEGER,
INTENT(INOUT) :: Var(:,:)
 
  105     INTEGER,
INTENT(INOUT) :: Var(:,:,:)
 
  113     INTEGER,
INTENT(INOUT) :: Var(:,:,:,:)
 
  125     REAL,
INTENT(INOUT) :: Var
 
  136     REAL,
INTENT(INOUT) :: Var(:)
 
  144     REAL,
INTENT(INOUT) :: Var(:,:)
 
  152     REAL,
INTENT(INOUT) :: Var(:,:,:)
 
  160     REAL,
INTENT(INOUT) :: Var(:,:,:,:)
 
  171     LOGICAL,
INTENT(INOUT) :: Var
 
  172     LOGICAL               :: var_tmp(1)
 
  182     LOGICAL,
INTENT(INOUT) :: Var(:)
 
  190     LOGICAL,
INTENT(INOUT) :: Var(:,:)
 
  198     LOGICAL,
INTENT(INOUT) :: Var(:,:,:)
 
  206     LOGICAL,
INTENT(INOUT) :: Var(:,:,:,:)
 
  220     INTEGER,
INTENT(IN),
DIMENSION(:) :: VarIn
 
  221     INTEGER,
INTENT(OUT),
DIMENSION(:) :: VarOut
 
  231     INTEGER,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
  232     INTEGER,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  242     INTEGER,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
  243     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  253     INTEGER,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
  254     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  256     CALL scatter_mpi_igen(varin,varout,
Size(varout,2)*
Size(varout,3)*
Size(varout,4))
 
  265     REAL,
INTENT(IN),
DIMENSION(:) :: VarIn
 
  266     REAL,
INTENT(OUT),
DIMENSION(:) :: VarOut
 
  276     REAL,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
  277     REAL,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  287     REAL,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
  288     REAL,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  298     REAL,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
  299     REAL,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  301       CALL scatter_mpi_rgen(varin,varout,
Size(varout,2)*
Size(varout,3)*
Size(varout,4))
 
  310     LOGICAL,
INTENT(IN),
DIMENSION(:) :: VarIn
 
  311     LOGICAL,
INTENT(OUT),
DIMENSION(:) :: VarOut
 
  321     LOGICAL,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
  322     LOGICAL,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  332     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
  333     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  343     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
  344     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  346       CALL scatter_mpi_lgen(varin,varout,
Size(varout,2)*
Size(varout,3)*
Size(varout,4))
 
  360     INTEGER,
INTENT(IN),
DIMENSION(:) :: VarIn
 
  361     INTEGER,
INTENT(OUT),
DIMENSION(:) :: VarOut
 
  374     INTEGER,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
  375     INTEGER,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  387     INTEGER,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
  388     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  400     INTEGER,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
  401     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  403       CALL gather_mpi_igen(varin,varout,
Size(varin,2)*
Size(varin,3)*
Size(varin,4))
 
  413     REAL,
INTENT(IN),
DIMENSION(:) :: VarIn
 
  414     REAL,
INTENT(OUT),
DIMENSION(:) :: VarOut
 
  426     REAL,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
  427     REAL,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  439     REAL,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
  440     REAL,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  452     REAL,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
  453     REAL,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  455       CALL gather_mpi_rgen(varin,varout,
Size(varin,2)*
Size(varin,3)*
Size(varin,4))
 
  465     LOGICAL,
INTENT(IN),
DIMENSION(:) :: VarIn
 
  466     LOGICAL,
INTENT(OUT),
DIMENSION(:) :: VarOut
 
  478     LOGICAL,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
  479     LOGICAL,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  491     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
  492     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  504     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
  505     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  507     CALL gather_mpi_lgen(varin,varout,
Size(varin,2)*
Size(varin,3)*
Size(varin,4))
 
  519     INTEGER,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
  520     INTEGER,
INTENT(OUT),
DIMENSION(:) :: VarOut
 
  522     INTEGER,
DIMENSION(klon_glo) :: Var_tmp    
 
  533     INTEGER,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
  534     INTEGER,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  535     INTEGER,
DIMENSION(klon_glo,size(VarOut,2)) :: Var_tmp
 
  546     INTEGER,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
  547     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  549     INTEGER,
DIMENSION(klon_glo,size(VarOut,2),size(VarOut,3)) :: Var_tmp
 
  560     INTEGER,
INTENT(IN),
DIMENSION(:,:,:,:,:) :: VarIn
 
  561     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  562     INTEGER,
DIMENSION(klon_glo,size(VarOut,2),size(VarOut,3),size(VarOut,4)) :: Var_tmp
 
  575     REAL,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
  576     REAL,
INTENT(OUT),
DIMENSION(:) :: VarOut
 
  578     REAL,
DIMENSION(klon_glo) :: Var_tmp    
 
  589     REAL,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
  590     REAL,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  592     REAL,
DIMENSION(klon_glo,size(VarOut,2)) :: Var_tmp
 
  604     REAL,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
  605     REAL,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  607     REAL,
DIMENSION(klon_glo,size(VarOut,2),size(VarOut,3)) :: Var_tmp
 
  618     REAL,
INTENT(IN),
DIMENSION(:,:,:,:,:) :: VarIn
 
  619     REAL,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  621     REAL,
DIMENSION(klon_glo,size(VarOut,2),size(VarOut,3),size(VarOut,4)) :: Var_tmp
 
  633     LOGICAL,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
  634     LOGICAL,
INTENT(OUT),
DIMENSION(:) :: VarOut
 
  636     LOGICAL,
DIMENSION(klon_glo) :: Var_tmp    
 
  648     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
  649     LOGICAL,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  651     LOGICAL,
DIMENSION(klon_glo,size(VarOut,2)) :: Var_tmp
 
  663     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
  664     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  666     LOGICAL, 
DIMENSION(klon_glo,size(VarOut,2),size(VarOut,3)) :: Var_tmp
 
  677     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:,:,:) :: VarIn
 
  678     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  680     LOGICAL,
DIMENSION(klon_glo,size(VarOut,2),size(VarOut,3),size(VarOut,4)) :: Var_tmp
 
  696     INTEGER,
INTENT(IN),
DIMENSION(:) :: VarIn
 
  697     INTEGER,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  699     INTEGER,
DIMENSION(klon_glo) :: Var_tmp
 
  710     INTEGER,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
  711     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  713     INTEGER,
DIMENSION(klon_glo,size(VarOut,3)) :: Var_tmp
 
  724     INTEGER,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
  725     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  727     INTEGER,
DIMENSION(klon_glo,size(VarOut,3),SIZE(VarOut,4)) :: Var_tmp
 
  738     INTEGER,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
  739     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:,:,:) :: VarOut
 
  741     INTEGER,
DIMENSION(klon_glo,size(VarOut,3),SIZE(VarOut,4),SIZE(VarOut,5)) :: Var_tmp
 
  754     REAL,
INTENT(IN),
DIMENSION(:) :: VarIn
 
  755     REAL,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  757     REAL,
DIMENSION(klon_glo) :: Var_tmp
 
  768     REAL,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
  769     REAL,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  771     REAL,
DIMENSION(klon_glo,size(VarOut,3)) :: Var_tmp
 
  782     REAL,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
  783     REAL,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  785     REAL,
DIMENSION(klon_glo,size(VarOut,3),SIZE(VarOut,4)) :: Var_tmp
 
  796     REAL,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
  797     REAL,
INTENT(OUT),
DIMENSION(:,:,:,:,:) :: VarOut
 
  799     REAL,
DIMENSION(klon_glo,size(VarOut,3),SIZE(VarOut,4),SIZE(VarOut,5)) :: Var_tmp
 
  812     LOGICAL,
INTENT(IN),
DIMENSION(:) :: VarIn
 
  813     LOGICAL,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  815     LOGICAL,
DIMENSION(klon_glo) :: Var_tmp
 
  826     LOGICAL,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
  827     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  829     LOGICAL,
DIMENSION(klon_glo,size(VarOut,3)) :: Var_tmp
 
  840     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
  841     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  843     LOGICAL,
DIMENSION(klon_glo,size(VarOut,3),SIZE(VarOut,4)) :: Var_tmp
 
  854     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
  855     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:,:,:) :: VarOut
 
  857     LOGICAL,
DIMENSION(klon_glo,size(VarOut,3),SIZE(VarOut,4),SIZE(VarOut,5)) :: Var_tmp
 
  873     INTEGER,
INTENT(IN)  :: VarIn
 
  874     INTEGER,
INTENT(OUT) :: VarOut
 
  875     INTEGER             :: VarIn_tmp(1)
 
  876     INTEGER             :: VarOut_tmp(1)
 
  888     INTEGER,
INTENT(IN),
DIMENSION(:)  :: VarIn
 
  889     INTEGER,
INTENT(OUT),
DIMENSION(:) :: VarOut
 
  899     INTEGER,
INTENT(IN),
DIMENSION(:,:)  :: VarIn
 
  900     INTEGER,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  910     INTEGER,
INTENT(IN),
DIMENSION(:,:,:)  :: VarIn
 
  911     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  921     INTEGER,
INTENT(IN),
DIMENSION(:,:,:,:)  :: VarIn
 
  922     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  933     REAL,
INTENT(IN)  :: VarIn
 
  934     REAL,
INTENT(OUT) :: VarOut
 
  936     REAL             :: VarOut_tmp(1)
 
  948     REAL,
INTENT(IN),
DIMENSION(:)  :: VarIn
 
  949     REAL,
INTENT(OUT),
DIMENSION(:) :: VarOut
 
  959     REAL,
INTENT(IN),
DIMENSION(:,:)  :: VarIn
 
  960     REAL,
INTENT(OUT),
DIMENSION(:,:) :: VarOut
 
  970     REAL,
INTENT(IN),
DIMENSION(:,:,:)  :: VarIn
 
  971     REAL,
INTENT(OUT),
DIMENSION(:,:,:) :: VarOut
 
  981     REAL,
INTENT(IN),
DIMENSION(:,:,:,:)  :: VarIn
 
  982     REAL,
INTENT(OUT),
DIMENSION(:,:,:,:) :: VarOut
 
  997     INTEGER,
INTENT(IN),
DIMENSION(:)     :: VarIn
 
  998     INTEGER,
INTENT(OUT),
DIMENSION(:,:)  :: VarOut
 
 1007     INTEGER,
INTENT(IN),
DIMENSION(:,:)     :: VarIn
 
 1008     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:)  :: VarOut
 
 1016     INTEGER,
INTENT(IN),
DIMENSION(:,:,:)     :: VarIn
 
 1017     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:,:)  :: VarOut
 
 1025     INTEGER,
INTENT(IN),
DIMENSION(:,:,:,:)     :: VarIn
 
 1026     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:,:,:)  :: VarOut
 
 1035     REAL,
INTENT(IN),
DIMENSION(:)     :: VarIn
 
 1036     REAL,
INTENT(OUT),
DIMENSION(:,:)  :: VarOut
 
 1045     REAL,
INTENT(IN),
DIMENSION(:,:)     :: VarIn
 
 1046     REAL,
INTENT(OUT),
DIMENSION(:,:,:)  :: VarOut
 
 1054     REAL,
INTENT(IN),
DIMENSION(:,:,:)     :: VarIn
 
 1055     REAL,
INTENT(OUT),
DIMENSION(:,:,:,:)  :: VarOut
 
 1063     REAL,
INTENT(IN),
DIMENSION(:,:,:,:)     :: VarIn
 
 1064     REAL,
INTENT(OUT),
DIMENSION(:,:,:,:,:)  :: VarOut
 
 1074     LOGICAL,
INTENT(IN),
DIMENSION(:)     :: VarIn
 
 1075     LOGICAL,
INTENT(OUT),
DIMENSION(:,:)  :: VarOut
 
 1084     LOGICAL,
INTENT(IN),
DIMENSION(:,:)     :: VarIn
 
 1085     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:)  :: VarOut
 
 1093     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:)     :: VarIn
 
 1094     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:,:)  :: VarOut
 
 1102     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:,:)     :: VarIn
 
 1103     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:,:,:)  :: VarOut
 
 1112     INTEGER,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
 1113     INTEGER,
INTENT(OUT),
DIMENSION(:)  :: VarOut
 
 1122     INTEGER,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
 1123     INTEGER,
INTENT(OUT),
DIMENSION(:,:)  :: VarOut
 
 1131     INTEGER,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
 1132     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:)  :: VarOut
 
 1140     INTEGER,
INTENT(IN),
DIMENSION(:,:,:,:,:) :: VarIn
 
 1141     INTEGER,
INTENT(OUT),
DIMENSION(:,:,:,:)  :: VarOut
 
 1152     REAL,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
 1153     REAL,
INTENT(OUT),
DIMENSION(:)  :: VarOut
 
 1162     REAL,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
 1163     REAL,
INTENT(OUT),
DIMENSION(:,:)  :: VarOut
 
 1171     REAL,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
 1172     REAL,
INTENT(OUT),
DIMENSION(:,:,:)  :: VarOut
 
 1180     REAL,
INTENT(IN),
DIMENSION(:,:,:,:,:) :: VarIn
 
 1181     REAL,
INTENT(OUT),
DIMENSION(:,:,:,:)  :: VarOut
 
 1191     LOGICAL,
INTENT(IN),
DIMENSION(:,:) :: VarIn
 
 1192     LOGICAL,
INTENT(OUT),
DIMENSION(:)  :: VarOut
 
 1201     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:) :: VarIn
 
 1202     LOGICAL,
INTENT(OUT),
DIMENSION(:,:)  :: VarOut
 
 1212     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:,:) :: VarIn
 
 1213     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:)  :: VarOut
 
 1222     LOGICAL,
INTENT(IN),
DIMENSION(:,:,:,:,:) :: VarIn
 
 1223     LOGICAL,
INTENT(OUT),
DIMENSION(:,:,:,:)  :: VarOut
 
 1241     CHARACTER(LEN=*),
INTENT(INOUT) :: Var
 
 1242     INTEGER,
INTENT(IN) :: nb
 
 1252     CALL mpi_bcast(var,nb,mpi_character,mpi_root_x,
comm_lmdz_phy,ierr)
 
 1263     INTEGER,
INTENT(IN) :: nb
 
 1264     INTEGER,
DIMENSION(nb),
INTENT(INOUT) :: Var
 
 1274     CALL mpi_bcast(var,nb,mpi_integer,mpi_root_x,
comm_lmdz_phy,ierr)
 
 1286     INTEGER,
INTENT(IN) :: nb
 
 1287     REAL,
DIMENSION(nb),
INTENT(INOUT) :: Var
 
 1309     INTEGER,
INTENT(IN) :: nb
 
 1310     LOGICAL,
DIMENSION(nb),
INTENT(INOUT) :: Var
 
 1320     CALL mpi_bcast(var,nb,mpi_logical,mpi_root_x,
comm_lmdz_phy,ierr)
 
 1332     INTEGER,
INTENT(IN) :: dimsize
 
 1333     INTEGER,
INTENT(IN),
DIMENSION(klon_glo,dimsize) :: VarIn
 
 1334     INTEGER,
INTENT(OUT),
DIMENSION(klon_mpi,dimsize) :: VarOut
 
 1339     INTEGER,
DIMENSION(0:mpi_size-1) :: displs
 
 1340     INTEGER,
DIMENSION(0:mpi_size-1) :: counts
 
 1341     INTEGER,
DIMENSION(dimsize*klon_glo) :: VarTmp
 
 1342     INTEGER :: nb,i,index,rank
 
 1347       varout(:,:)=varin(:,:)
 
 1356         displs(rank)=index-1
 
 1357         counts(rank)=nb*dimsize
 
 1366     CALL mpi_scatterv(vartmp,counts,displs,mpi_integer,varout,
klon_mpi*dimsize,   &
 
 1377     INTEGER,
INTENT(IN) :: dimsize
 
 1378     REAL,
INTENT(IN),
DIMENSION(klon_glo,dimsize) :: VarIn
 
 1379     REAL,
INTENT(OUT),
DIMENSION(klon_mpi,dimsize) :: VarOut
 
 1385     INTEGER,
DIMENSION(0:mpi_size-1) :: displs
 
 1386     INTEGER,
DIMENSION(0:mpi_size-1) :: counts
 
 1387     REAL,
DIMENSION(dimsize*klon_glo) :: VarTmp
 
 1388     INTEGER :: nb,i,index,rank
 
 1392       varout(:,:)=varin(:,:)
 
 1400         displs(rank)=index-1
 
 1401         counts(rank)=nb*dimsize
 
 1423     INTEGER,
INTENT(IN) :: dimsize
 
 1424     LOGICAL,
INTENT(IN),
DIMENSION(klon_glo,dimsize) :: VarIn
 
 1425     LOGICAL,
INTENT(OUT),
DIMENSION(klon_mpi,dimsize) :: VarOut
 
 1431     INTEGER,
DIMENSION(0:mpi_size-1) :: displs
 
 1432     INTEGER,
DIMENSION(0:mpi_size-1) :: counts
 
 1433     LOGICAL,
DIMENSION(dimsize*klon_glo) :: VarTmp
 
 1434     INTEGER :: nb,i,index,rank
 
 1438       varout(:,:)=varin(:,:)
 
 1446         displs(rank)=index-1
 
 1447         counts(rank)=nb*dimsize
 
 1456     CALL mpi_scatterv(vartmp,counts,displs,mpi_logical,varout,
klon_mpi*dimsize,   &
 
 1474     INTEGER,
INTENT(IN) :: dimsize
 
 1475     INTEGER,
INTENT(IN),
DIMENSION(klon_mpi,dimsize) :: VarIn
 
 1476     INTEGER,
INTENT(OUT),
DIMENSION(klon_glo,dimsize) :: VarOut
 
 1478     INTEGER,
DIMENSION(0:mpi_size-1) :: displs
 
 1479     INTEGER,
DIMENSION(0:mpi_size-1) :: counts
 
 1480     INTEGER,
DIMENSION(dimsize*klon_glo) :: VarTmp
 
 1481     INTEGER :: nb,i,index,rank
 
 1485       varout(:,:)=varin(:,:)
 
 1493         displs(rank)=index-1
 
 1494         counts(rank)=nb*dimsize
 
 1495         index=index+nb*dimsize
 
 1501     CALL mpi_gatherv(varin,
klon_mpi*dimsize,mpi_integer,vartmp,counts,displs,   &
 
 1528     INTEGER,
INTENT(IN) :: dimsize
 
 1529     REAL,
INTENT(IN),
DIMENSION(klon_mpi,dimsize) :: VarIn
 
 1530     REAL,
INTENT(OUT),
DIMENSION(klon_glo,dimsize) :: VarOut
 
 1532     INTEGER,
DIMENSION(0:mpi_size-1) :: displs
 
 1533     INTEGER,
DIMENSION(0:mpi_size-1) :: counts
 
 1534     REAL,
DIMENSION(dimsize*klon_glo) :: VarTmp
 
 1535     INTEGER :: nb,i,index,rank
 
 1542         displs(rank)=index-1
 
 1543         counts(rank)=nb*dimsize
 
 1544         index=index+nb*dimsize
 
 1549       varout(:,:)=varin(:,:)
 
 1576     INTEGER,
INTENT(IN) :: dimsize
 
 1577     LOGICAL,
INTENT(IN),
DIMENSION(klon_mpi,dimsize) :: VarIn
 
 1578     LOGICAL,
INTENT(OUT),
DIMENSION(klon_glo,dimsize) :: VarOut
 
 1584     INTEGER,
DIMENSION(0:mpi_size-1) :: displs
 
 1585     INTEGER,
DIMENSION(0:mpi_size-1) :: counts
 
 1586     LOGICAL,
DIMENSION(dimsize*klon_glo) :: VarTmp
 
 1587     INTEGER :: nb,i,index,rank
 
 1591       varout(:,:)=varin(:,:)
 
 1599         displs(rank)=index-1
 
 1600         counts(rank)=nb*dimsize
 
 1601         index=index+nb*dimsize
 
 1607     CALL mpi_gatherv(varin,
klon_mpi*dimsize,mpi_logical,vartmp,counts,displs,   &
 
 1635     INTEGER,
INTENT(IN) :: nb
 
 1636     INTEGER,
DIMENSION(nb),
INTENT(IN) :: VarIn
 
 1637     INTEGER,
DIMENSION(nb),
INTENT(OUT) :: VarOut    
 
 1647     CALL mpi_reduce(varin,varout,nb,mpi_integer,mpi_sum,mpi_root_x,
comm_lmdz_phy,ierr)
 
 1662     INTEGER,
INTENT(IN) :: nb
 
 1663     REAL,
DIMENSION(nb),
INTENT(IN) :: VarIn
 
 1664     REAL,
DIMENSION(nb),
INTENT(OUT) :: VarOut    
 
 1685     INTEGER,
INTENT(IN) :: dimsize
 
 1686     INTEGER,
INTENT(IN) ,
DIMENSION(klon_mpi,dimsize)       :: VarIn
 
 1687     INTEGER,
INTENT(OUT),
DIMENSION(nbp_lon*jj_nb,dimsize)  :: VarOut
 
 1688     INTEGER :: i,ij,Offset
 
 1700         varout(ij+offset-1,i)=varin(ij,i)
 
 1708          varout(ij,i)=varin(1,i)
 
 1729     INTEGER,
INTENT(IN) :: dimsize
 
 1730     REAL,
INTENT(IN) ,
DIMENSION(klon_mpi,dimsize)       :: VarIn
 
 1731     REAL,
INTENT(OUT),
DIMENSION(nbp_lon*jj_nb,dimsize)  :: VarOut
 
 1732     INTEGER :: i,ij,Offset
 
 1744         varout(ij+offset-1,i)=varin(ij,i)
 
 1752          varout(ij,i)=varin(1,i)
 
 1774     INTEGER,
INTENT(IN) :: dimsize
 
 1775     LOGICAL,
INTENT(IN) ,
DIMENSION(klon_mpi,dimsize)       :: VarIn
 
 1776     LOGICAL,
INTENT(OUT),
DIMENSION(nbp_lon*jj_nb,dimsize)  :: VarOut
 
 1777     INTEGER :: i,ij,Offset
 
 1789         varout(ij+offset-1,i)=varin(ij,i)
 
 1797          varout(ij,i)=varin(1,i)
 
 1820     INTEGER,
INTENT(IN) :: dimsize
 
 1821     INTEGER,
INTENT(IN) ,
DIMENSION(nbp_lon*jj_nb,dimsize) :: VarIn
 
 1822     INTEGER,
INTENT(OUT),
DIMENSION(klon_mpi,dimsize)      :: VarOut
 
 1823     INTEGER :: i,ij,offset
 
 1830         varout(ij,i)=varin(ij+offset-1,i)
 
 1836         varout(1,i)=varin(1,i)
 
 1850     INTEGER,
INTENT(IN) :: dimsize
 
 1851     REAL,
INTENT(IN) ,
DIMENSION(nbp_lon*jj_nb,dimsize) :: VarIn
 
 1852     REAL,
INTENT(OUT),
DIMENSION(klon_mpi,dimsize)      :: VarOut
 
 1853     INTEGER :: i,ij,offset
 
 1860         varout(ij,i)=varin(ij+offset-1,i)
 
 1866          varout(1,i)=varin(1,i)
 
 1879     INTEGER,
INTENT(IN) :: dimsize
 
 1880     LOGICAL,
INTENT(IN) ,
DIMENSION(nbp_lon*jj_nb,dimsize) :: VarIn
 
 1881     LOGICAL,
INTENT(OUT),
DIMENSION(klon_mpi,dimsize)      :: VarOut
 
 1882     INTEGER :: i,ij,offset
 
 1889         varout(ij,i)=varin(ij+offset-1,i)
 
 1895         varout(1,i)=varin(1,i)
 
subroutine scatter_mpi_l3(VarIn, VarOut)
 
subroutine gather2d_mpi_i(VarIn, VarOut)
 
subroutine bcast_mpi_igen(var, nb)
 
subroutine gather_mpi_igen(VarIn, VarOut, dimsize)
 
subroutine reduce_sum_mpi_r4(VarIn, VarOut)
 
subroutine grid2dto1d_mpi_r2(VarIn, VarOut)
 
subroutine grid1dto2d_mpi_l3(VarIn, VarOut)
 
subroutine bcast_mpi_r3(var)
 
subroutine gather2d_mpi_r1(VarIn, VarOut)
 
logical, save is_south_pole
 
subroutine gather2d_mpi_r(VarIn, VarOut)
 
subroutine grid2dto1d_mpi_lgen(VarIn, VarOut, dimsize)
 
subroutine scatter_mpi_rgen(VarIn, VarOut, dimsize)
 
subroutine reduce_sum_mpi_i(VarIn, VarOut)
 
subroutine bcast_mpi_r4(var)
 
subroutine grid1dto2d_mpi_r(VarIn, VarOut)
 
subroutine scatter2d_mpi_i2(VarIn, VarOut)
 
subroutine gather_mpi_r3(VarIn, VarOut)
 
subroutine reduce_sum_mpi_i2(VarIn, VarOut)
 
subroutine gather2d_mpi_l2(VarIn, VarOut)
 
subroutine scatter_mpi_lgen(VarIn, VarOut, dimsize)
 
subroutine grid1dto2d_mpi_i3(VarIn, VarOut)
 
subroutine scatter_mpi_igen(VarIn, VarOut, dimsize)
 
subroutine gather_mpi_i(VarIn, VarOut)
 
subroutine grid1dto2d_mpi_r1(VarIn, VarOut)
 
subroutine scatter_mpi_i2(VarIn, VarOut)
 
subroutine bcast_mpi_i1(var)
 
subroutine grid2dto1d_mpi_l(VarIn, VarOut)
 
subroutine scatter2d_mpi_l2(VarIn, VarOut)
 
integer, save comm_lmdz_phy
 
subroutine grid2dto1d_mpi_i3(VarIn, VarOut)
 
subroutine bcast_mpi_cgen(var, nb)
 
subroutine bcast_mpi_r(var)
 
subroutine grid1dto2d_mpi_r2(VarIn, VarOut)
 
subroutine gather_mpi_lgen(VarIn, VarOut, dimsize)
 
subroutine scatter_mpi_l(VarIn, VarOut)
 
subroutine gather_mpi_l2(VarIn, VarOut)
 
subroutine scatter_mpi_i(VarIn, VarOut)
 
subroutine gather_mpi_r2(VarIn, VarOut)
 
subroutine grid1dto2d_mpi_rgen(VarIn, VarOut, dimsize)
 
subroutine gather_mpi_i3(VarIn, VarOut)
 
subroutine gather_mpi_l1(VarIn, VarOut)
 
subroutine gather_mpi_i2(VarIn, VarOut)
 
subroutine gather_mpi_l(VarIn, VarOut)
 
subroutine scatter2d_mpi_i1(VarIn, VarOut)
 
integer, save mpi_real_lmdz
 
subroutine bcast_mpi_i3(var)
 
subroutine scatter_mpi_i3(VarIn, VarOut)
 
subroutine bcast_mpi_l4(var)
 
subroutine scatter2d_mpi_i3(VarIn, VarOut)
 
subroutine gather_mpi_l3(VarIn, VarOut)
 
integer, dimension(:), allocatable, save klon_mpi_para_nb
 
!$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
 
subroutine gather2d_mpi_r2(VarIn, VarOut)
 
subroutine grid1dto2d_mpi_l(VarIn, VarOut)
 
subroutine grid2dto1d_mpi_igen(VarIn, VarOut, dimsize)
 
integer, dimension(:), allocatable, save klon_mpi_para_begin
 
subroutine reduce_sum_mpi_r3(VarIn, VarOut)
 
subroutine bcast_mpi_i2(var)
 
subroutine scatter2d_mpi_r1(VarIn, VarOut)
 
subroutine gather2d_mpi_i1(VarIn, VarOut)
 
subroutine grid2dto1d_mpi_r3(VarIn, VarOut)
 
subroutine reduce_sum_mpi_igen(VarIn, VarOut, nb)
 
subroutine grid2dto1d_mpi_r1(VarIn, VarOut)
 
subroutine bcast_mpi_l2(var)
 
subroutine gather2d_mpi_l(VarIn, VarOut)
 
subroutine scatter2d_mpi_l(VarIn, VarOut)
 
subroutine gather2d_mpi_i2(VarIn, VarOut)
 
integer, dimension(:), allocatable, save klon_mpi_para_end
 
subroutine bcast_mpi_rgen(var, nb)
 
subroutine gather_mpi_rgen(VarIn, VarOut, dimsize)
 
subroutine grid2dto1d_mpi_i(VarIn, VarOut)
 
subroutine scatter_mpi_r1(VarIn, VarOut)
 
subroutine grid1dto2d_mpi_i(VarIn, VarOut)
 
subroutine scatter_mpi_r(VarIn, VarOut)
 
subroutine scatter_mpi_r2(VarIn, VarOut)
 
subroutine bcast_mpi_l3(var)
 
subroutine bcast_mpi_l1(var)
 
subroutine scatter_mpi_i1(VarIn, VarOut)
 
subroutine gather_mpi_i1(VarIn, VarOut)
 
subroutine bcast_mpi_c(var1)
 
subroutine reduce_sum_mpi_r2(VarIn, VarOut)
 
subroutine reduce_sum_mpi_rgen(VarIn, VarOut, nb)
 
subroutine gather_mpi_r(VarIn, VarOut)
 
subroutine bcast_mpi_r2(var)
 
subroutine scatter2d_mpi_r3(VarIn, VarOut)
 
subroutine grid1dto2d_mpi_l2(VarIn, VarOut)
 
subroutine grid1dto2d_mpi_r3(VarIn, VarOut)
 
subroutine gather2d_mpi_r3(VarIn, VarOut)
 
subroutine gather_mpi_r1(VarIn, VarOut)
 
subroutine bcast_mpi_r1(var)
 
subroutine grid1dto2d_mpi_lgen(VarIn, VarOut, dimsize)
 
subroutine scatter_mpi_l2(VarIn, VarOut)
 
subroutine scatter2d_mpi_l3(VarIn, VarOut)
 
subroutine reduce_sum_mpi_r1(VarIn, VarOut)
 
subroutine grid1dto2d_mpi_i2(VarIn, VarOut)
 
subroutine grid1dto2d_mpi_l1(VarIn, VarOut)
 
subroutine grid1dto2d_mpi_igen(VarIn, VarOut, dimsize)
 
subroutine gather2d_mpi_l1(VarIn, VarOut)
 
logical, save is_north_pole
 
subroutine scatter2d_mpi_r2(VarIn, VarOut)
 
subroutine gather2d_mpi_l3(VarIn, VarOut)
 
subroutine grid2dto1d_mpi_r(VarIn, VarOut)
 
logical, save is_mpi_root
 
subroutine grid2dto1d_mpi_l1(VarIn, VarOut)
 
subroutine scatter_mpi_l1(VarIn, VarOut)
 
subroutine gather2d_mpi_i3(VarIn, VarOut)
 
subroutine reduce_sum_mpi_i3(VarIn, VarOut)
 
subroutine grid2dto1d_mpi_rgen(VarIn, VarOut, dimsize)
 
subroutine scatter_mpi_r3(VarIn, VarOut)
 
subroutine bcast_mpi_i4(var)
 
subroutine bcast_mpi_i(var)
 
subroutine scatter2d_mpi_l1(VarIn, VarOut)
 
subroutine reduce_sum_mpi_i1(VarIn, VarOut)
 
subroutine bcast_mpi_l(var)
 
subroutine scatter2d_mpi_i(VarIn, VarOut)
 
subroutine grid2dto1d_mpi_l2(VarIn, VarOut)
 
subroutine bcast_mpi_lgen(var, nb)
 
subroutine grid2dto1d_mpi_l3(VarIn, VarOut)
 
logical, save is_using_mpi
 
subroutine reduce_sum_mpi_i4(VarIn, VarOut)
 
subroutine reduce_sum_mpi_r(VarIn, VarOut)
 
subroutine scatter2d_mpi_r(VarIn, VarOut)
 
subroutine grid2dto1d_mpi_i2(VarIn, VarOut)
 
subroutine grid1dto2d_mpi_i1(VarIn, VarOut)
 
subroutine grid2dto1d_mpi_i1(VarIn, VarOut)