- Timestamp:
- 2016-11-21T10:38:43+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_CNRS_2016/NEMOGCM/NEMO/OPA_SRC/LBC/mppini_2.h90
r7277 r7278 276 276 ENDIF 277 277 278 ! Check wet points over the entire domain to preserve the MPI communication stencil 278 279 isurf = 0 279 DO jj = 1 +jprecj, ilj-jprecj280 DO ji = 1 +jpreci, ili-jpreci280 DO jj = 1, ilj 281 DO ji = 1, ili 281 282 IF( imask(ji+iimppt(ii,ij)-1, jj+ijmppt(ii,ij)-1) == 1) isurf = isurf+1 282 283 END DO 283 284 END DO 285 284 286 IF(isurf /= 0) THEN 285 287 icont = icont + 1 … … 291 293 292 294 nfipproc(:,:) = ipproc(:,:) 293 294 295 295 296 ! Control … … 399 400 ii = iin(narea) 400 401 ij = ijn(narea) 402 403 ! set default neighbours 404 noso = ioso(ii,ij) 405 nowe = iowe(ii,ij) 406 noea = ioea(ii,ij) 407 nono = iono(ii,ij) 408 npse = iose(ii,ij) 409 npsw = iosw(ii,ij) 410 npne = ione(ii,ij) 411 npnw = ionw(ii,ij) 412 413 ! check neighbours location 401 414 IF( ioso(ii,ij) >= 0 .AND. ioso(ii,ij) <= (jpni*jpnj-1) ) THEN 402 415 iiso = 1 + MOD(ioso(ii,ij),jpni) … … 469 482 IF (lwp) THEN 470 483 CALL ctl_opn( inum, 'layout.dat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE., narea ) 484 WRITE(inum,'(a)') ' jpnij jpi jpj jpk jpiglo jpjglo' 471 485 WRITE(inum,'(6i8)') jpnij,jpi,jpj,jpk,jpiglo,jpjglo 472 486 WRITE(inum,'(a)') 'NAREA nlci nlcj nldi nldj nlei nlej nimpp njmpp' … … 481 495 END IF 482 496 483 IF( nperio == 1 .AND.jpni /= 1 ) CALL ctl_stop( ' mpp_init2: error on cyclicity' )484 485 ! Prepare mpp north fold486 487 IF( jperio >= 3 .AND. jperio <= 6 .AND. jpni > 1 ) THEN488 CALL mpp_ini_north489 IF(lwp) WRITE(numout,*) ' mpp_init2 : North fold boundary prepared for jpni >1'490 ENDIF491 492 497 ! Defined npolj, either 0, 3 , 4 , 5 , 6 493 498 ! In this case the important thing is that npolj /= 0 … … 506 511 ENDIF 507 512 513 ! Periodicity : no corner if nbondi = 2 and nperio != 1 514 515 IF(lwp) THEN 516 WRITE(numout,*) ' nproc = ', nproc 517 WRITE(numout,*) ' nowe = ', nowe , ' noea = ', noea 518 WRITE(numout,*) ' nono = ', nono , ' noso = ', noso 519 WRITE(numout,*) ' nbondi = ', nbondi 520 WRITE(numout,*) ' nbondj = ', nbondj 521 WRITE(numout,*) ' npolj = ', npolj 522 WRITE(numout,*) ' nperio = ', nperio 523 WRITE(numout,*) ' nlci = ', nlci 524 WRITE(numout,*) ' nlcj = ', nlcj 525 WRITE(numout,*) ' nimpp = ', nimpp 526 WRITE(numout,*) ' njmpp = ', njmpp 527 WRITE(numout,*) ' nreci = ', nreci , ' npse = ', npse 528 WRITE(numout,*) ' nrecj = ', nrecj , ' npsw = ', npsw 529 WRITE(numout,*) ' jpreci = ', jpreci , ' npne = ', npne 530 WRITE(numout,*) ' jprecj = ', jprecj , ' npnw = ', npnw 531 WRITE(numout,*) 532 ENDIF 533 534 IF( nperio == 1 .AND. jpni /= 1 ) CALL ctl_stop( ' mpp_init2: error on cyclicity' ) 535 536 ! Prepare mpp north fold 537 538 IF( jperio >= 3 .AND. jperio <= 6 .AND. jpni > 1 ) THEN 539 CALL mpp_ini_north 540 IF(lwp) WRITE(numout,*) ' mpp_init2 : North fold boundary prepared for jpni >1' 541 ENDIF 542 508 543 ! Prepare NetCDF output file (if necessary) 509 544 CALL mpp_init_ioipsl 510 545 511 ! Periodicity : no corner if nbondi = 2 and nperio != 1512 513 IF(lwp) THEN514 WRITE(numout,*) ' nproc= ',nproc515 WRITE(numout,*) ' nowe= ',nowe516 WRITE(numout,*) ' noea= ',noea517 WRITE(numout,*) ' nono= ',nono518 WRITE(numout,*) ' noso= ',noso519 WRITE(numout,*) ' nbondi= ',nbondi520 WRITE(numout,*) ' nbondj= ',nbondj521 WRITE(numout,*) ' npolj= ',npolj522 WRITE(numout,*) ' nperio= ',nperio523 WRITE(numout,*) ' nlci= ',nlci524 WRITE(numout,*) ' nlcj= ',nlcj525 WRITE(numout,*) ' nimpp= ',nimpp526 WRITE(numout,*) ' njmpp= ',njmpp527 WRITE(numout,*) ' nbse= ',nbse,' npse= ',npse528 WRITE(numout,*) ' nbsw= ',nbsw,' npsw= ',npsw529 WRITE(numout,*) ' nbne= ',nbne,' npne= ',npne530 WRITE(numout,*) ' nbnw= ',nbnw,' npnw= ',npnw531 ENDIF532 546 533 547 END SUBROUTINE mpp_init2
Note: See TracChangeset
for help on using the changeset viewer.