- Timestamp:
- 2018-06-08T14:52:48+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LBC/mppini.F90
r9667 r9772 151 151 INTEGER, ALLOCATABLE, DIMENSION(:,:) :: ilei, ildi, iono, ioea ! - - 152 152 INTEGER, ALLOCATABLE, DIMENSION(:,:) :: ilej, ildj, ioso, iowe ! - - 153 INTEGER, DIMENSION(jpiglo,jpjglo) :: imask ! 2D global domain workspace153 INTEGER, ALLOCATABLE, DIMENSION(:,:) :: imask ! 2D global domain 154 154 !!---------------------------------------------------------------------- 155 155 … … 196 196 197 197 ! 198 IF ( jpni * jpnj == jpnij ) THEN ! regular domain lay out over processors 199 imask(:,:) = 1 200 ELSEIF ( jpni*jpnj > jpnij ) THEN ! remove land-only processor (i.e. where imask(:,:)=0) 198 ALLOCATE ( imask(jpiglo,jpjglo), stat=ierr ) 199 ! 200 IF ( jpni*jpnj > jpnij ) THEN ! remove land-only processor (i.e. where imask(:,:)=0) 201 IF( ierr /= 0 ) CALL ctl_stop( 'STOP', 'mpp_init: unable to allocate global ocean arrays' ) 201 202 CALL mpp_init_mask( imask ) 202 ELSE 203 ELSEIF ( jpnij > jpni*jpnj ) THEN ! error 203 204 CALL ctl_stop( 'mpp_init: jpnij > jpni x jpnj. Check namelist setting!' ) 204 205 ENDIF … … 335 336 ! 336 337 ! Check wet points over the entire domain to preserve the MPI communication stencil 337 isurf = 0 338 DO jj = 1, ilj 339 DO ji = 1, ili 340 IF( imask(ji+iimppt(ii,ij)-1, jj+ijmppt(ii,ij)-1) == 1) isurf = isurf+1 341 END DO 342 END DO 338 IF ( jpni * jpnj == jpnij ) THEN ! regular domain lay out over processors 339 isurf = ili * ilj 340 ELSE 341 isurf = 0 342 DO jj = 1, ilj 343 DO ji = 1, ili 344 IF( imask(ji+iimppt(ii,ij)-1, jj+ijmppt(ii,ij)-1) == 1) isurf = isurf+1 345 END DO 346 END DO 347 ENDIF 343 348 ! 344 349 IF( isurf /= 0 ) THEN … … 349 354 ENDIF 350 355 END DO 356 DEALLOCATE ( imask ) 351 357 ! 352 358 nfipproc(:,:) = ipproc(:,:)
Note: See TracChangeset
for help on using the changeset viewer.