Changeset 993 for XIOS/trunk/src/test
- Timestamp:
- 11/18/16 11:41:40 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/test/test_regular.f90
r924 r993 18 18 INTEGER :: comm 19 19 INTEGER :: ierr 20 INTEGER :: size , rank20 INTEGER :: sizeComm, rank ! SIZE is a fortran function 21 21 22 INTEGER :: nlon = 10023 INTEGER :: nlat = 10022 INTEGER :: nlon = 5 !100 23 INTEGER :: nlat = 5 !100 24 24 INTEGER :: ncell 25 25 INTEGER :: ilat, ilon, ind … … 94 94 95 95 CALL MPI_COMM_RANK(comm,rank,ierr) 96 CALL MPI_COMM_SIZE(comm,size ,ierr)96 CALL MPI_COMM_SIZE(comm,sizeComm,ierr) 97 97 98 IF (MOD(ncell, size ) == 0) THEN99 ni = ncell/size 98 IF (MOD(ncell, sizeComm) == 0) THEN 99 ni = ncell/sizeComm 100 100 ibegin = rank*ni 101 101 ELSE 102 IF (rank < MOD(ncell, size )) THEN103 ni = ncell/size + 1104 ibegin = rank*(ncell/size + 1)102 IF (rank < MOD(ncell, sizeComm)) THEN 103 ni = ncell/sizeComm + 1 104 ibegin = rank*(ncell/sizeComm + 1) 105 105 ELSE 106 ni = ncell/size 107 IF (rank == MOD(ncell, size )) THEN108 ibegin = rank*(ncell/size + 1)106 ni = ncell/sizeComm 107 IF (rank == MOD(ncell, sizeComm)) THEN 108 ibegin = rank*(ncell/sizeComm + 1) 109 109 ELSE 110 ibegin = MOD(ncell,size )*(ncell/size + 1) + (rank-MOD(ncell,size))*ncell/size110 ibegin = MOD(ncell,sizeComm)*(ncell/sizeComm + 1) + (rank-MOD(ncell,sizeComm))*ncell/sizeComm 111 111 END IF 112 112 END IF … … 118 118 ALLOCATE(bounds_lat(4,ni)) 119 119 ALLOCATE(field_temp(ni,ntime)) 120 lon = lon_glo(1+ibegin: 1+ibegin+ni)121 lat = lat_glo(1+ibegin: 1+ibegin+ni)122 bounds_lon(:,:) = bounds_lon_glo(:,1+ibegin: 1+ibegin+ni)123 bounds_lat(:,:) = bounds_lat_glo(:,1+ibegin: 1+ibegin+ni)120 lon = lon_glo(1+ibegin:ibegin+ni) 121 lat = lat_glo(1+ibegin:ibegin+ni) 122 bounds_lon(:,:) = bounds_lon_glo(:,1+ibegin:ibegin+ni) 123 bounds_lat(:,:) = bounds_lat_glo(:,1+ibegin:ibegin+ni) 124 124 field_temp(:,:) = rank 125 125
Note: See TracChangeset
for help on using the changeset viewer.