New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 5779 for branches/NERC/dev_r5589_is_oce_cpl/NEMOGCM/NEMO/OPA_SRC/LBC – NEMO

Ignore:
Timestamp:
2015-10-06T18:28:13+02:00 (9 years ago)
Author:
mathiot
Message:

ISF coupling branch: correct some compilation issues, remove code related to MISOMIP/ISOMIP+ and polishing

Location:
branches/NERC/dev_r5589_is_oce_cpl/NEMOGCM/NEMO/OPA_SRC/LBC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/NERC/dev_r5589_is_oce_cpl/NEMOGCM/NEMO/OPA_SRC/LBC/lbclnk.F90

    r5619 r5779  
    3232 
    3333   INTERFACE lbc_sum 
    34       MODULE PROCEDURE mpp_sum_3d, mpp_sum_2d 
     34      MODULE PROCEDURE mpp_lnk_sum_3d, mpp_lnk_sum_2d 
    3535   END INTERFACE 
    3636 
  • branches/NERC/dev_r5589_is_oce_cpl/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90

    r5619 r5779  
    7272   PUBLIC   mpp_lnk_3d, mpp_lnk_3d_gather, mpp_lnk_2d, mpp_lnk_2d_e 
    7373   PUBLIC   mpp_lnk_2d_9  
    74    PUBLIC   mpp_sum_3d, mpp_sum_2d 
     74   PUBLIC   mpp_lnk_sum_3d, mpp_lnk_sum_2d 
    7575   PUBLIC   mppscatter, mppgather 
    7676   PUBLIC   mpp_ini_ice, mpp_ini_znl 
     
    13951395   END SUBROUTINE mpp_lnk_2d_e 
    13961396 
    1397    SUBROUTINE mpp_sum_3d( ptab, cd_type, psgn, cd_mpp, pval ) 
    1398       !!---------------------------------------------------------------------- 
    1399       !!                  ***  routine mpp_sum_3d  *** 
    1400       !! 
    1401       !! ** Purpose :   Message passing manadgement 
     1397   SUBROUTINE mpp_lnk_sum_3d( ptab, cd_type, psgn, cd_mpp, pval ) 
     1398      !!---------------------------------------------------------------------- 
     1399      !!                  ***  routine mpp_lnk_sum_3d  *** 
     1400      !! 
     1401      !! ** Purpose :   Message passing manadgement (sum in the overlap region) 
    14021402      !! 
    14031403      !! ** Method  :   Use mppsend and mpprecv function for passing mask 
     
    14451445      ! 1. standard boundary treatment 
    14461446      ! ------------------------------ 
    1447       IF( PRESENT( cd_mpp ) ) THEN      ! only fill added line/raw with existing values 
    1448          ! 
    1449          ! WARNING ptab is defined only between nld and nle 
    1450 !         DO jk = 1, jpk 
    1451 !            DO jj = nlcj+1, jpj                 ! added line(s)   (inner only) 
    1452 !               ptab(nldi  :nlei  , jj          ,jk) = ptab(nldi:nlei,     nlej,jk) 
    1453 !               ptab(1     :nldi-1, jj          ,jk) = ptab(nldi     ,     nlej,jk) 
    1454 !               ptab(nlei+1:nlci  , jj          ,jk) = ptab(     nlei,     nlej,jk) 
    1455 !            END DO 
    1456 !            DO ji = nlci+1, jpi                 ! added column(s) (full) 
    1457 !               ptab(ji           ,nldj  :nlej  ,jk) = ptab(     nlei,nldj:nlej,jk) 
    1458 !               ptab(ji           ,1     :nldj-1,jk) = ptab(     nlei,nldj     ,jk) 
    1459 !               ptab(ji           ,nlej+1:jpj   ,jk) = ptab(     nlei,     nlej,jk) 
    1460 !            END DO 
    1461 !         END DO 
    1462          ! 
    1463       ELSE                              ! standard close or cyclic treatment 
    1464          ! 
    1465          !                                   ! East-West boundaries 
    1466          !                                        !* Cyclic east-west 
    1467          IF( nbondi == 2 .AND. (nperio == 1 .OR. nperio == 4 .OR. nperio == 6) ) THEN 
    1468 !            ptab( 1 ,:,:) = ptab(jpim1,:,:) 
    1469 !            ptab(jpi,:,:) = ptab(  2  ,:,:) 
    1470          ELSE                                     !* closed 
    1471 !            IF( .NOT. cd_type == 'F' )   ptab(     1       :jpreci,:,:) = zland    ! south except F-point 
    1472 !                                         ptab(nlci-jpreci+1:jpi   ,:,:) = zland    ! north 
    1473          ENDIF 
    1474          !                                   ! North-South boundaries (always closed) 
    1475 !         IF( .NOT. cd_type == 'F' )   ptab(:,     1       :jprecj,:) = zland       ! south except F-point 
    1476 !                                      ptab(:,nlcj-jprecj+1:jpj   ,:) = zland       ! north 
    1477          ! 
    1478       ENDIF 
    1479  
    14801447      ! 2. East and west directions exchange 
    14811448      ! ------------------------------------ 
    14821449      ! we play with the neigbours AND the row number because of the periodicity 
    14831450      ! 
    1484       SELECT CASE ( nbondi )      ! Read Dirichlet lateral conditions 
     1451      SELECT CASE ( nbondi )      ! Read lateral conditions 
    14851452      CASE ( -1, 0, 1 )                ! all exept 2 (i.e. close case) 
    14861453      iihom = nlci-jpreci 
     
    15121479      END SELECT 
    15131480      ! 
    1514       !                           ! Write Dirichlet lateral conditions 
     1481      !                           ! Write lateral conditions 
    15151482      iihom = nlci-nreci 
    15161483      ! 
     
    15361503      ! always closed : we play only with the neigbours 
    15371504      ! 
    1538       IF( nbondj /= 2 ) THEN      ! Read Dirichlet lateral conditions 
     1505      IF( nbondj /= 2 ) THEN      ! Read lateral conditions 
    15391506         ijhom = nlcj-jprecj 
    15401507         DO jl = 1, jprecj 
     
    15651532      END SELECT 
    15661533      ! 
    1567       !                           ! Write Dirichlet lateral conditions 
     1534      !                           ! Write lateral conditions 
    15681535      ijhom = nlcj-nrecj 
    15691536      ! 
     
    15991566      DEALLOCATE( zt3ns, zt3sn, zt3ew, zt3we ) 
    16001567      ! 
    1601    END SUBROUTINE mpp_sum_3d 
    1602  
    1603    SUBROUTINE mpp_sum_2d( pt2d, cd_type, psgn, cd_mpp, pval ) 
    1604       !!---------------------------------------------------------------------- 
    1605       !!                  ***  routine mpp_sum_2d  *** 
    1606       !! 
    1607       !! ** Purpose :   Message passing manadgement for 2d array 
     1568   END SUBROUTINE mpp_lnk_sum_3d 
     1569 
     1570   SUBROUTINE mpp_lnk_sum_2d( pt2d, cd_type, psgn, cd_mpp, pval ) 
     1571      !!---------------------------------------------------------------------- 
     1572      !!                  ***  routine mpp_lnk_sum_2d  *** 
     1573      !! 
     1574      !! ** Purpose :   Message passing manadgement for 2d array (sum in the overlap region) 
    16081575      !! 
    16091576      !! ** Method  :   Use mppsend and mpprecv function for passing mask 
     
    16491616      ! 1. standard boundary treatment 
    16501617      ! ------------------------------ 
    1651       ! 
    1652 !      IF( PRESENT( cd_mpp ) ) THEN      ! only fill added line/raw with existing values 
    1653 !         ! 
    1654 !         ! WARNING pt2d is defined only between nld and nle 
    1655 !         DO jj = nlcj+1, jpj                 ! added line(s)   (inner only) 
    1656 !            pt2d(nldi  :nlei  , jj          ) = pt2d(nldi:nlei,     nlej) 
    1657 !            pt2d(1     :nldi-1, jj          ) = pt2d(nldi     ,     nlej) 
    1658 !            pt2d(nlei+1:nlci  , jj          ) = pt2d(     nlei,     nlej) 
    1659 !         END DO 
    1660 !         DO ji = nlci+1, jpi                 ! added column(s) (full) 
    1661 !            pt2d(ji           ,nldj  :nlej  ) = pt2d(     nlei,nldj:nlej) 
    1662 !            pt2d(ji           ,1     :nldj-1) = pt2d(     nlei,nldj     ) 
    1663 !            pt2d(ji           ,nlej+1:jpj   ) = pt2d(     nlei,     nlej) 
    1664 !         END DO 
    1665 !         ! 
    1666 !      ELSE                              ! standard close or cyclic treatment 
    1667 !         ! 
    1668 !         !                                   ! East-West boundaries 
    1669 !         IF( nbondi == 2 .AND.   &                ! Cyclic east-west 
    1670 !            &    (nperio == 1 .OR. nperio == 4 .OR. nperio == 6) ) THEN 
    1671 !            pt2d( 1 ,:) = pt2d(jpim1,:)                                    ! west 
    1672 !            pt2d(jpi,:) = pt2d(  2  ,:)                                    ! east 
    1673 !         ELSE                                     ! closed 
    1674 !            IF( .NOT. cd_type == 'F' )   pt2d(     1       :jpreci,:) = zland    ! south except F-point 
    1675 !                                         pt2d(nlci-jpreci+1:jpi   ,:) = zland    ! north 
    1676 !         ENDIF 
    1677 !         !                                   ! North-South boundaries (always closed) 
    1678 !            IF( .NOT. cd_type == 'F' )   pt2d(:,     1       :jprecj) = zland    !south except F-point 
    1679 !                                         pt2d(:,nlcj-jprecj+1:jpj   ) = zland    ! north 
    1680 !         ! 
    1681 !      ENDIF 
    1682  
    16831618      ! 2. East and west directions exchange 
    16841619      ! ------------------------------------ 
    16851620      ! we play with the neigbours AND the row number because of the periodicity 
    16861621      ! 
    1687       SELECT CASE ( nbondi )      ! Read Dirichlet lateral conditions 
     1622      SELECT CASE ( nbondi )      ! Read lateral conditions 
    16881623      CASE ( -1, 0, 1 )                ! all exept 2 (i.e. close case) 
    16891624         iihom = nlci - jpreci 
     
    17151650      END SELECT 
    17161651      ! 
    1717       !                           ! Write Dirichlet lateral conditions 
     1652      !                           ! Write lateral conditions 
    17181653      iihom = nlci-nreci 
    17191654      ! 
     
    17391674      ! always closed : we play only with the neigbours 
    17401675      ! 
    1741       IF( nbondj /= 2 ) THEN      ! Read Dirichlet lateral conditions 
     1676      IF( nbondj /= 2 ) THEN      ! Read lateral conditions 
    17421677         ijhom = nlcj - jprecj 
    17431678         DO jl = 1, jprecj 
     
    17681703      END SELECT 
    17691704      ! 
    1770       !                           ! Write Dirichlet lateral conditions 
     1705      !                           ! Write lateral conditions 
    17711706      ijhom = nlcj-nrecj 
    17721707      ! 
     
    18021737      DEALLOCATE( zt2ns, zt2sn, zt2ew, zt2we ) 
    18031738      ! 
    1804    END SUBROUTINE mpp_sum_2d 
     1739   END SUBROUTINE mpp_lnk_sum_2d 
    18051740 
    18061741   SUBROUTINE mppsend( ktyp, pmess, kbytes, kdest, md_req ) 
Note: See TracChangeset for help on using the changeset viewer.