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)