Ignore:
Timestamp:
Jul 18, 2016 12:01:49 PM (5 years ago)
Author:
suehring
Message:

PE-wise reading of topography file

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/init_pegrid.f90

    r1965 r1968  
    1919! Current revisions:
    2020! ------------------
    21 !
     21! Extent MPI-datatypes for exchange of 2D-INTEGER arrays on coarser multigrid
     22! level 
    2223!
    2324! Former revisions:
     
    2728! 1964 2016-07-14 15:35:18Z hellstea
    2829! Bugfix: erroneous setting of nest_bound_l/r/s/n = .TRUE. for vertical nesting mode removed.
    29 ! 
     30!
    3031! 1923 2016-05-31 16:37:07Z boeske
    3132! Initial version of purely vertical nesting introduced.
     
    10111012!-- Define new MPI derived datatypes for the exchange of ghost points in
    10121013!-- x- and y-direction for 2D-arrays (line)
    1013     CALL MPI_TYPE_VECTOR( nxr-nxl+1+2*nbgp, nbgp, ngp_y, MPI_REAL, type_x, &
     1014    CALL MPI_TYPE_VECTOR( nxr-nxl+1+2*nbgp, nbgp, ngp_y, MPI_REAL, type_x,     &
    10141015                          ierr )
    10151016    CALL MPI_TYPE_COMMIT( type_x, ierr )
    1016     CALL MPI_TYPE_VECTOR( nxr-nxl+1+2*nbgp, nbgp, ngp_y, MPI_INTEGER, &
    1017                           type_x_int, ierr )
    1018     CALL MPI_TYPE_COMMIT( type_x_int, ierr )
    10191017
    10201018    CALL MPI_TYPE_VECTOR( nbgp, ngp_y, ngp_y, MPI_REAL, type_y, ierr )
    10211019    CALL MPI_TYPE_COMMIT( type_y, ierr )
    1022     CALL MPI_TYPE_VECTOR( nbgp, ngp_y, ngp_y, MPI_INTEGER, type_y_int, ierr )
    1023     CALL MPI_TYPE_COMMIT( type_y_int, ierr )
    1024 
    1025 
     1020!
     1021!-- Define new MPI derived datatypes for the exchange of ghost points in
     1022!-- x- and y-direction for 2D-INTEGER arrays (line) - on normal grid
     1023    ALLOCATE( type_x_int(0:maximum_grid_level),                                &
     1024              type_y_int(0:maximum_grid_level) )
     1025
     1026    CALL MPI_TYPE_VECTOR( nxr-nxl+1+2*nbgp, nbgp, ngp_y, MPI_INTEGER,          &
     1027                          type_x_int(0), ierr )
     1028    CALL MPI_TYPE_COMMIT( type_x_int(0), ierr )
     1029
     1030    CALL MPI_TYPE_VECTOR( nbgp, ngp_y, ngp_y, MPI_INTEGER, type_y_int(0), ierr )
     1031    CALL MPI_TYPE_COMMIT( type_y_int(0), ierr )
    10261032!
    10271033!-- Calculate gridpoint numbers for the exchange of ghost points along x
     
    10641070!--    Definition of MPI-datatyoe as above, but only 1 ghost level is used
    10651071       DO  i = maximum_grid_level, 1 , -1
    1066 
     1072!
     1073!--       For 3D-exchange
    10671074          ngp_xz(i) = (nzt_l - nzb_l + 2) * (nxr_l - nxl_l + 3)
    10681075          ngp_yz(i) = (nzt_l - nzb_l + 2) * (nyn_l - nys_l + 3)
     
    10751082                                ierr )
    10761083          CALL MPI_TYPE_COMMIT( type_yz(i), ierr )
     1084
     1085
     1086!--       For 2D-exchange of INTEGER arrays on coarser grid level, where 2 ghost
     1087!--       points need to be exchanged.
     1088          CALL MPI_TYPE_VECTOR( nxr_l-nxl_l+5, 2, nyn_l-nys_l+5, MPI_INTEGER,          &
     1089                                type_x_int(i), ierr )
     1090          CALL MPI_TYPE_COMMIT( type_x_int(i), ierr )
     1091
     1092
     1093          CALL MPI_TYPE_VECTOR( 2, nyn_l-nys_l+5, nyn_l-nys_l+5, MPI_INTEGER,          &
     1094                                type_y_int(i), ierr )
     1095          CALL MPI_TYPE_COMMIT( type_y_int(i), ierr )
     1096
     1097
    10771098
    10781099          nxl_l = nxl_l / 2
     
    11411162       ENDIF
    11421163    ENDIF
     1164
    11431165       
    11441166!
Note: See TracChangeset for help on using the changeset viewer.