Ignore:
Timestamp:
Mar 20, 2014, 10:57:19 AM (10 years ago)
Author:
Laurent Fairhead
Message:

Merged trunk changes r1920:1997 into testing branch

Location:
LMDZ5/branches/testing
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/testing

  • LMDZ5/branches/testing/libf/phylmd/mod_phys_lmdz_mpi_transfert.F90

    r1910 r1999  
    99                     bcast_mpi_i,bcast_mpi_i1,bcast_mpi_i2,bcast_mpi_i3,bcast_mpi_i4, &
    1010                     bcast_mpi_r,bcast_mpi_r1,bcast_mpi_r2,bcast_mpi_r3,bcast_mpi_r4, &
    11                      bcast_mpi_l,bcast_mpi_l1,bcast_mpi_l2,bcast_mpi_l3,bcast_mpi_l4
     11                     bcast_mpi_l,bcast_mpi_l1,bcast_mpi_l2,bcast_mpi_l3,bcast_mpi_l4
    1212  END INTERFACE
    1313
     
    1515    MODULE PROCEDURE scatter_mpi_i,scatter_mpi_i1,scatter_mpi_i2,scatter_mpi_i3, &
    1616                     scatter_mpi_r,scatter_mpi_r1,scatter_mpi_r2,scatter_mpi_r3, &
    17                      scatter_mpi_l,scatter_mpi_l1,scatter_mpi_l2,scatter_mpi_l3
     17                     scatter_mpi_l,scatter_mpi_l1,scatter_mpi_l2,scatter_mpi_l3
    1818  END INTERFACE
    1919
     
    2222    MODULE PROCEDURE gather_mpi_i,gather_mpi_i1,gather_mpi_i2,gather_mpi_i3, &
    2323                     gather_mpi_r,gather_mpi_r1,gather_mpi_r2,gather_mpi_r3, &
    24                      gather_mpi_l,gather_mpi_l1,gather_mpi_l2,gather_mpi_l3 
     24                     gather_mpi_l,gather_mpi_l1,gather_mpi_l2,gather_mpi_l3 
    2525  END INTERFACE
    2626 
     
    2828    MODULE PROCEDURE scatter2D_mpi_i,scatter2D_mpi_i1,scatter2D_mpi_i2,scatter2D_mpi_i3, &
    2929                     scatter2D_mpi_r,scatter2D_mpi_r1,scatter2D_mpi_r2,scatter2D_mpi_r3, &
    30                      scatter2D_mpi_l,scatter2D_mpi_l1,scatter2D_mpi_l2,scatter2D_mpi_l3
     30                     scatter2D_mpi_l,scatter2D_mpi_l1,scatter2D_mpi_l2,scatter2D_mpi_l3
    3131  END INTERFACE
    3232
     
    3434    MODULE PROCEDURE gather2D_mpi_i,gather2D_mpi_i1,gather2D_mpi_i2,gather2D_mpi_i3, &
    3535                     gather2D_mpi_r,gather2D_mpi_r1,gather2D_mpi_r2,gather2D_mpi_r3, &
    36                      gather2D_mpi_l,gather2D_mpi_l1,gather2D_mpi_l2,gather2D_mpi_l3
     36                     gather2D_mpi_l,gather2D_mpi_l1,gather2D_mpi_l2,gather2D_mpi_l3
    3737  END INTERFACE
    3838 
     
    4545    MODULE PROCEDURE grid1dTo2d_mpi_i,grid1dTo2d_mpi_i1,grid1dTo2d_mpi_i2,grid1dTo2d_mpi_i3, &
    4646                     grid1dTo2d_mpi_r,grid1dTo2d_mpi_r1,grid1dTo2d_mpi_r2,grid1dTo2d_mpi_r3, &
    47                      grid1dTo2d_mpi_l,grid1dTo2d_mpi_l1,grid1dTo2d_mpi_l2,grid1dTo2d_mpi_l3
     47                     grid1dTo2d_mpi_l,grid1dTo2d_mpi_l1,grid1dTo2d_mpi_l2,grid1dTo2d_mpi_l3
    4848 END INTERFACE
    4949
     
    5151    MODULE PROCEDURE grid2dTo1d_mpi_i,grid2dTo1d_mpi_i1,grid2dTo1d_mpi_i2,grid2dTo1d_mpi_i3, &
    5252                     grid2dTo1d_mpi_r,grid2dTo1d_mpi_r1,grid2dTo1d_mpi_r2,grid2dTo1d_mpi_r3, &
    53                      grid2dTo1d_mpi_l,grid2dTo1d_mpi_l1,grid2dTo1d_mpi_l2,grid2dTo1d_mpi_l3
     53                     grid2dTo1d_mpi_l,grid2dTo1d_mpi_l1,grid2dTo1d_mpi_l2,grid2dTo1d_mpi_l3
    5454 END INTERFACE
    5555   
     
    12611261    IMPLICIT NONE
    12621262   
     1263    INTEGER,INTENT(IN) :: nb
    12631264    INTEGER,DIMENSION(nb),INTENT(INOUT) :: Var
    1264     INTEGER,INTENT(IN) :: nb
    12651265   
    12661266#ifdef CPP_MPI
     
    12841284    IMPLICIT NONE
    12851285   
     1286    INTEGER,INTENT(IN) :: nb
    12861287    REAL,DIMENSION(nb),INTENT(INOUT) :: Var
    1287     INTEGER,INTENT(IN) :: nb
    12881288   
    12891289#ifdef CPP_MPI
     
    13071307    IMPLICIT NONE
    13081308   
     1309    INTEGER,INTENT(IN) :: nb
    13091310    LOGICAL,DIMENSION(nb),INTENT(INOUT) :: Var
    1310     INTEGER,INTENT(IN) :: nb
    13111311   
    13121312#ifdef CPP_MPI
     
    14931493        displs(rank)=Index-1
    14941494        counts(rank)=nb*dimsize
    1495         Index=Index+nb*dimsize
     1495        Index=Index+nb*dimsize
    14961496      ENDDO
    14971497     
     
    15031503#endif
    15041504
    1505                          
     1505                         
    15061506    IF (is_mpi_root) THEN
    15071507      Index=1
     
    15101510        DO i=1,dimsize
    15111511          VarOut(klon_mpi_para_begin(rank):klon_mpi_para_end(rank),i)=VarTmp(Index:Index+nb-1)
    1512           Index=Index+nb
     1512          Index=Index+nb
    15131513        ENDDO
    15141514      ENDDO
     
    15421542        displs(rank)=Index-1
    15431543        counts(rank)=nb*dimsize
    1544         Index=Index+nb*dimsize
     1544        Index=Index+nb*dimsize
    15451545      ENDDO
    15461546    ENDIF
     
    15551555                      MPI_REAL_LMDZ,mpi_root_x, COMM_LMDZ_PHY,ierr)
    15561556#endif
    1557                          
     1557                         
    15581558    IF (is_mpi_root) THEN
    15591559      Index=1
     
    15621562        DO i=1,dimsize
    15631563          VarOut(klon_mpi_para_begin(rank):klon_mpi_para_end(rank),i)=VarTmp(Index:Index+nb-1)
    1564           Index=Index+nb
     1564          Index=Index+nb
    15651565        ENDDO
    15661566      ENDDO
     
    15991599        displs(rank)=Index-1
    16001600        counts(rank)=nb*dimsize
    1601         Index=Index+nb*dimsize
     1601        Index=Index+nb*dimsize
    16021602      ENDDO
    16031603    ENDIF
     
    16081608                      MPI_LOGICAL,mpi_root_x, COMM_LMDZ_PHY,ierr)
    16091609#endif
    1610                          
     1610                         
    16111611    IF (is_mpi_root) THEN
    16121612      Index=1
     
    16151615        DO i=1,dimsize
    16161616          VarOut(klon_mpi_para_begin(rank):klon_mpi_para_end(rank),i)=VarTmp(Index:Index+nb-1)
    1617           Index=Index+nb
     1617          Index=Index+nb
    16181618        ENDDO
    16191619      ENDDO
     
    16331633#endif
    16341634   
     1635    INTEGER,INTENT(IN) :: nb
    16351636    INTEGER,DIMENSION(nb),INTENT(IN) :: VarIn
    16361637    INTEGER,DIMENSION(nb),INTENT(OUT) :: VarOut   
    1637     INTEGER,INTENT(IN) :: nb
    16381638    INTEGER :: ierr
    16391639   
     
    16601660#endif
    16611661   
     1662    INTEGER,INTENT(IN) :: nb
    16621663    REAL,DIMENSION(nb),INTENT(IN) :: VarIn
    16631664    REAL,DIMENSION(nb),INTENT(OUT) :: VarOut   
    1664     INTEGER,INTENT(IN) :: nb
    16651665    INTEGER :: ierr
    16661666 
     
    17071707        DO ij=1,nbp_lon
    17081708         VarOut(ij,i)=VarIn(1,i)
    1709         ENDDO
     1709        ENDDO
    17101710      ENDDO
    17111711    ENDIF
     
    17151715        DO ij=nbp_lon*(jj_nb-1)+1,nbp_lon*jj_nb
    17161716         VarOut(ij,i)=VarIn(klon_mpi,i)
    1717         ENDDO
     1717        ENDDO
    17181718      ENDDO
    17191719    ENDIF
     
    17511751        DO ij=1,nbp_lon
    17521752         VarOut(ij,i)=VarIn(1,i)
    1753         ENDDO
     1753        ENDDO
    17541754      ENDDO
    17551755    ENDIF
     
    17591759        DO ij=nbp_lon*(jj_nb-1)+1,nbp_lon*jj_nb
    17601760         VarOut(ij,i)=VarIn(klon_mpi,i)
    1761         ENDDO
     1761        ENDDO
    17621762      ENDDO
    17631763    ENDIF
     
    17961796        DO ij=1,nbp_lon
    17971797         VarOut(ij,i)=VarIn(1,i)
    1798         ENDDO
     1798        ENDDO
    17991799      ENDDO
    18001800    ENDIF
     
    18041804        DO ij=nbp_lon*(jj_nb-1)+1,nbp_lon*jj_nb
    18051805         VarOut(ij,i)=VarIn(klon_mpi,i)
    1806         ENDDO
     1806        ENDDO
    18071807      ENDDO
    18081808    ENDIF
Note: See TracChangeset for help on using the changeset viewer.