- Timestamp:
- 2017-11-20T17:29:54+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90
r8186 r8758 535 535 INTEGER, DIMENSION(MPI_STATUS_SIZE) :: ml_stat ! for key_mpi_isend 536 536 !! 537 REAL(wp), DIMENSION(1-jpri:jpi+jpri, jprecj+jprj,2) :: r2dns538 REAL(wp), DIMENSION(1-jpri:jpi+jpri, jprecj+jprj,2) :: r2dsn539 REAL(wp), DIMENSION(1-jprj:jpj+jprj, jpreci+jpri,2) :: r2dwe540 REAL(wp), DIMENSION(1-jprj:jpj+jprj, jpreci+jpri,2) :: r2dew541 !!---------------------------------------------------------------------- 542 543 ipreci = jpreci+ jpri ! take into account outer extra 2D overlap area544 iprecj = jprecj+ jprj537 REAL(wp), DIMENSION(1-jpri:jpi+jpri,nn_hls+jprj,2) :: r2dns 538 REAL(wp), DIMENSION(1-jpri:jpi+jpri,nn_hls+jprj,2) :: r2dsn 539 REAL(wp), DIMENSION(1-jprj:jpj+jprj,nn_hls+jpri,2) :: r2dwe 540 REAL(wp), DIMENSION(1-jprj:jpj+jprj,nn_hls+jpri,2) :: r2dew 541 !!---------------------------------------------------------------------- 542 543 ipreci = nn_hls + jpri ! take into account outer extra 2D overlap area 544 iprecj = nn_hls + jprj 545 545 546 546 … … 553 553 pt2d(:, jpj :jpj+jprj) = pt2d ( :, 2 :2+jprj) 554 554 ELSE !* closed 555 IF( .NOT. cd_type == 'F' ) pt2d(:, 1-jprj : jprecj) = 0._wp ! south except at F-point556 pt2d(:,nlcj- jprecj+1:jpj+jprj) = 0._wp ! north555 IF( .NOT. cd_type == 'F' ) pt2d(:, 1-jprj : nn_hls ) = 0._wp ! south except at F-point 556 pt2d(:,nlcj-nn_hls+1:jpj+jprj) = 0._wp ! north 557 557 ENDIF 558 558 ! !== East-West boundaries … … 562 562 pt2d( jpi :jpi+jpri,:) = pt2d( 2 :2+jpri,:) ! west 563 563 ELSE !* closed 564 IF( .NOT. cd_type == 'F' ) pt2d( 1-jpri : jpreci,:) = 0._wp ! south except at F-point565 pt2d(nlci- jpreci+1:jpi+jpri,:) = 0._wp ! north564 IF( .NOT. cd_type == 'F' ) pt2d( 1-jpri :nn_hls ,:) = 0._wp ! south except at F-point 565 pt2d(nlci-nn_hls+1:jpi+jpri,:) = 0._wp ! north 566 566 ENDIF 567 567 ! … … 585 585 iihom = nlci-nreci-jpri 586 586 DO jl = 1, ipreci 587 r2dew(:,jl,1) = pt2d( jpreci+jl,:)587 r2dew(:,jl,1) = pt2d(nn_hls+jl,:) 588 588 r2dwe(:,jl,1) = pt2d(iihom +jl,:) 589 589 END DO … … 612 612 ! 613 613 ! ! Write Dirichlet lateral conditions 614 iihom = nlci - jpreci614 iihom = nlci - nn_hls 615 615 ! 616 616 SELECT CASE ( nbondi ) … … 638 638 DO jl = 1, iprecj 639 639 r2dsn(:,jl,1) = pt2d(:,ijhom +jl) 640 r2dns(:,jl,1) = pt2d(:, jprecj+jl)640 r2dns(:,jl,1) = pt2d(:,nn_hls+jl) 641 641 END DO 642 642 ENDIF … … 664 664 ! 665 665 ! ! Write Dirichlet lateral conditions 666 ijhom = nlcj - jprecj666 ijhom = nlcj - nn_hls 667 667 ! 668 668 SELECT CASE ( nbondj ) … … 1739 1739 INTEGER, DIMENSION(MPI_STATUS_SIZE) :: ml_stat ! for key_mpi_isend 1740 1740 !! 1741 REAL(wp), DIMENSION(1-jpri:jpi+jpri, jprecj+jprj,2) :: r2dns, r2dsn1742 REAL(wp), DIMENSION(1-jprj:jpj+jprj, jpreci+jpri,2) :: r2dwe, r2dew1743 !!---------------------------------------------------------------------- 1744 1745 ipreci = jpreci+ jpri ! take into account outer extra 2D overlap area1746 iprecj = jprecj+ jprj1741 REAL(wp), DIMENSION(1-jpri:jpi+jpri,nn_hls+jprj,2) :: r2dns, r2dsn 1742 REAL(wp), DIMENSION(1-jprj:jpj+jprj,nn_hls+jpri,2) :: r2dwe, r2dew 1743 !!---------------------------------------------------------------------- 1744 1745 ipreci = nn_hls + jpri ! take into account outer extra 2D overlap area 1746 iprecj = nn_hls + jprj 1747 1747 1748 1748 … … 1758 1758 ! 1759 1759 ELSE !* closed 1760 IF( .NOT. cd_type == 'F' ) pt2d( 1-jpri : jpreci,:) = 0._wp ! south except at F-point1761 pt2d(nlci- jpreci+1:jpi+jpri,:) = 0._wp ! north1760 IF( .NOT. cd_type == 'F' ) pt2d( 1-jpri :nn_hls ,:) = 0._wp ! south except at F-point 1761 pt2d(nlci-nn_hls+1:jpi+jpri,:) = 0._wp ! north 1762 1762 ENDIF 1763 1763 ! … … 1782 1782 iihom = nlci-nreci-jpri 1783 1783 DO jl = 1, ipreci 1784 r2dew(:,jl,1) = pt2d( jpreci+jl,:)1784 r2dew(:,jl,1) = pt2d(nn_hls+jl,:) 1785 1785 r2dwe(:,jl,1) = pt2d(iihom +jl,:) 1786 1786 END DO … … 1809 1809 ! 1810 1810 ! ! Write Dirichlet lateral conditions 1811 iihom = nlci - jpreci1811 iihom = nlci - nn_hls 1812 1812 ! 1813 1813 SELECT CASE ( nbondi ) … … 1836 1836 DO jl = 1, iprecj 1837 1837 r2dsn(:,jl,1) = pt2d(:,ijhom +jl) 1838 r2dns(:,jl,1) = pt2d(:, jprecj+jl)1838 r2dns(:,jl,1) = pt2d(:,nn_hls+jl) 1839 1839 END DO 1840 1840 ENDIF … … 1862 1862 ! 1863 1863 ! ! Write Dirichlet lateral conditions 1864 ijhom = nlcj - jprecj1864 ijhom = nlcj - nn_hls 1865 1865 ! 1866 1866 SELECT CASE ( nbondj )
Note: See TracChangeset
for help on using the changeset viewer.