- Timestamp:
- 2018-04-11T13:22:29+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90
r9438 r9467 1369 1369 ! 1370 1370 ipj=4 1371 ALLOCATE( ztab_e(jpiglo,ipj+kextj), znorthloc_e( jpimax,ipj+kextj), & 1372 & znorthgloio_e(jpimax,ipj+kextj,jpni) ) 1371 ALLOCATE( ztab_e(jpiglo, 1-kextj:ipj+kextj) , & 1372 & znorthloc_e(jpimax, 1-kextj:ipj+kextj) , & 1373 & znorthgloio_e(jpimax, 1-kextj:ipj+kextj,jpni) ) 1373 1374 ! 1374 1375 ztab_e(:,:) = 0._wp 1375 1376 znorthloc_e(:,:) = 0._wp 1376 1377 ! 1377 ij = 0 1378 ! put the last ipj+kextj lines of pt2d into znorthloc_e 1379 DO jj = jpj - ipj + 1, jpj + kextj 1378 ij = 1 - kextj 1379 ! put the last ipj+2*kextj lines of pt2d into znorthloc_e 1380 DO jj = jpj - ipj + 1 - kextj , jpj + kextj 1381 znorthloc_e(1:jpi,ij)=pt2d(1:jpi,jj) 1380 1382 ij = ij + 1 1381 znorthloc_e(1:jpi,ij)=pt2d(1:jpi,jj)1382 1383 END DO 1383 1384 ! 1384 itaille = jpimax * ( ipj + kextj ) 1385 CALL MPI_ALLGATHER( znorthloc_e(1,1) , itaille, MPI_DOUBLE_PRECISION, & 1386 & znorthgloio_e(1,1,1), itaille, MPI_DOUBLE_PRECISION, ncomm_north, ierr ) 1385 itaille = jpimax * ( ipj + 2*kextj ) 1386 CALL MPI_ALLGATHER( znorthloc_e(1,1-kextj) , itaille, MPI_DOUBLE_PRECISION, & 1387 & znorthgloio_e(1,1-kextj,1), itaille, MPI_DOUBLE_PRECISION, & 1388 & ncomm_north, ierr ) 1387 1389 ! 1388 1390 DO jr = 1, ndim_rank_north ! recover the global north array … … 1391 1393 ilei = nleit (iproc) 1392 1394 iilb = nimppt(iproc) 1393 DO jj = 1 , ipj+kextj1395 DO jj = 1-kextj, ipj+kextj 1394 1396 DO ji = ildi, ilei 1395 1397 ztab_e(ji+iilb-1,jj) = znorthgloio_e(ji,jj,jr) … … 1400 1402 ! 2. North-Fold boundary conditions 1401 1403 ! ---------------------------------- 1402 CALL lbc_nfd( ztab_e(:, :), cd_type, psgn, kextj )1403 1404 ij = 01404 CALL lbc_nfd( ztab_e(:,1-kextj:ipj+kextj), cd_type, psgn, kextj ) 1405 1406 ij = 1 - kextj 1405 1407 !! Scatter back to pt2d 1406 DO jj = jpj - ipj + 1 , jpj + kextj 1407 ij = ij +1 1408 DO jj = jpj - ipj + 1 - kextj , jpj + kextj 1408 1409 DO ji= 1, jpi 1409 1410 pt2d(ji,jj) = ztab_e(ji+nimpp-1,ij) 1410 1411 END DO 1412 ij = ij +1 1411 1413 END DO 1412 1414 !
Note: See TracChangeset
for help on using the changeset viewer.