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 719 for trunk/NEMO/OPA_SRC/lbclnk.F90 – NEMO

Ignore:
Timestamp:
2007-10-16T16:59:56+02:00 (17 years ago)
Author:
ctlod
Message:

get back to the nemo_v2_3 version for trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/lbclnk.F90

    • Property svn:keywords changed from Id to Author Date Id Revision
    r717 r719  
    9393      !!---------------------------------------------------------------------- 
    9494      !!  OPA 9.0 , LOCEAN-IPSL (2005)  
    95       !! $Id$ 
     95      !! $Header$  
    9696      !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    9797      !!---------------------------------------------------------------------- 
     
    329329 
    330330 
    331    SUBROUTINE lbc_lnk_3d( pt3d, cd_type, psgn, cd_mpp, pval ) 
     331   SUBROUTINE lbc_lnk_3d( pt3d, cd_type, psgn, cd_mpp ) 
    332332      !!--------------------------------------------------------------------- 
    333333      !!                  ***  ROUTINE lbc_lnk_3d  *** 
     
    355355      CHARACTER(len=3), INTENT( in ), OPTIONAL ::    & 
    356356         cd_mpp        ! fill the overlap area only (here do nothing) 
    357       REAL(wp)        , INTENT(in   ), OPTIONAL           ::   pval      ! background value (used at closed boundaries) 
    358357 
    359358      !! * Local declarations 
    360359      INTEGER  ::   ji, jk 
    361360      INTEGER  ::   ijt, iju 
    362       REAL(wp) ::   zland 
    363361      !!---------------------------------------------------------------------- 
    364362      !!  OPA 9.0 , LOCEAN-IPSL (2005)  
    365       !! $Id$ 
     363      !! $Header$  
    366364      !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    367365      !!---------------------------------------------------------------------- 
    368366 
    369       IF( PRESENT( pval ) ) THEN      ! set land value (zero by default) 
    370          zland = pval 
    371       ELSE 
    372          zland = 0.e0 
    373       ENDIF 
    374  
    375  
    376       IF( PRESENT( cd_mpp ) ) THEN 
     367      IF (PRESENT(cd_mpp)) THEN 
    377368         ! only fill the overlap area and extra allows  
    378369         ! this is in mpp case. In this module, just do nothing 
     
    394385            SELECT CASE ( cd_type ) 
    395386            CASE ( 'T' , 'U' , 'V' , 'W' )             ! T-, U-, V-, W-points 
    396                pt3d( 1 ,:,jk) = zland 
    397                pt3d(jpi,:,jk) = zland 
    398             CASE ( 'F' )                               ! F-point 
    399                pt3d(jpi,:,jk) = zland 
     387               pt3d( 1 ,:,jk) = 0.e0 
     388               pt3d(jpi,:,jk) = 0.e0 
     389            CASE ( 'F' )                               ! F-point 
     390               pt3d(jpi,:,jk) = 0.e0 
    400391            END SELECT 
    401392 
     
    411402            CASE ( 'T' , 'U' , 'W' )                   ! T-, U-, W-points 
    412403               pt3d(:, 1 ,jk) = pt3d(:,3,jk) 
    413                pt3d(:,jpj,jk) = zland 
     404               pt3d(:,jpj,jk) = 0.e0 
    414405            CASE ( 'V' , 'F' )                         ! V-, F-points 
    415406               pt3d(:, 1 ,jk) = psgn * pt3d(:,2,jk) 
    416                pt3d(:,jpj,jk) = zland 
     407               pt3d(:,jpj,jk) = 0.e0 
    417408            END SELECT 
    418409 
    419410         CASE ( 3 , 4 )                        ! *  North fold  T-point pivot 
    420411 
    421             pt3d( 1 ,jpj,jk) = zland 
    422             pt3d(jpi,jpj,jk) = zland 
     412            pt3d( 1 ,jpj,jk) = 0.e0 
     413            pt3d(jpi,jpj,jk) = 0.e0 
    423414 
    424415            SELECT CASE ( cd_type ) 
     
    426417               DO ji = 2, jpi 
    427418                  ijt = jpi-ji+2 
    428                   pt3d(ji, 1 ,jk) = zland 
     419                  pt3d(ji, 1 ,jk) = 0.e0 
    429420                  pt3d(ji,jpj,jk) = psgn * pt3d(ijt,jpj-2,jk) 
    430421               END DO 
     
    436427               DO ji = 1, jpi-1 
    437428                  iju = jpi-ji+1 
    438                   pt3d(ji, 1 ,jk) = zland 
     429                  pt3d(ji, 1 ,jk) = 0.e0 
    439430                  pt3d(ji,jpj,jk) = psgn * pt3d(iju,jpj-2,jk) 
    440431               END DO 
     
    446437                  DO ji = 2, jpi 
    447438                     ijt = jpi-ji+2 
    448                      pt3d(ji,  1  ,jk) = zland 
     439                     pt3d(ji,  1  ,jk) = 0.e0 
    449440                     pt3d(ji,jpj-1,jk) = psgn * pt3d(ijt,jpj-2,jk) 
    450441                     pt3d(ji,jpj  ,jk) = psgn * pt3d(ijt,jpj-3,jk) 
     
    460451         CASE ( 5 , 6 )                        ! *  North fold  F-point pivot 
    461452 
    462             pt3d( 1 ,jpj,jk) = zland 
    463             pt3d(jpi,jpj,jk) = zland 
     453            pt3d( 1 ,jpj,jk) = 0.e0 
     454            pt3d(jpi,jpj,jk) = 0.e0 
    464455 
    465456            SELECT CASE ( cd_type ) 
     
    467458               DO ji = 1, jpi 
    468459                  ijt = jpi-ji+1 
    469                   pt3d(ji, 1 ,jk) = zland 
     460                  pt3d(ji, 1 ,jk) = 0.e0 
    470461                  pt3d(ji,jpj,jk) = psgn * pt3d(ijt,jpj-1,jk) 
    471462               END DO 
     
    473464                  DO ji = 1, jpi-1 
    474465                     iju = jpi-ji 
    475                      pt3d(ji, 1 ,jk) = zland 
     466                     pt3d(ji, 1 ,jk) = 0.e0 
    476467                     pt3d(ji,jpj,jk) = psgn * pt3d(iju,jpj-1,jk) 
    477468                  END DO 
     
    479470                  DO ji = 1, jpi 
    480471                     ijt = jpi-ji+1 
    481                      pt3d(ji, 1 ,jk) = zland 
     472                     pt3d(ji, 1 ,jk) = 0.e0 
    482473                     pt3d(ji,jpj,jk) = psgn * pt3d(ijt,jpj-2,jk) 
    483474                  END DO 
     
    501492            SELECT CASE ( cd_type ) 
    502493            CASE ( 'T' , 'U' , 'V' , 'W' )             ! T-, U-, V-, W-points 
    503                pt3d(:, 1 ,jk) = zland 
    504                pt3d(:,jpj,jk) = zland 
    505             CASE ( 'F' )                               ! F-point 
    506                pt3d(:,jpj,jk) = zland 
     494               pt3d(:, 1 ,jk) = 0.e0 
     495               pt3d(:,jpj,jk) = 0.e0 
     496            CASE ( 'F' )                               ! F-point 
     497               pt3d(:,jpj,jk) = 0.e0 
    507498            END SELECT 
    508499 
     
    515506 
    516507 
    517    SUBROUTINE lbc_lnk_2d( pt2d, cd_type, psgn, cd_mpp, pval ) 
     508   SUBROUTINE lbc_lnk_2d( pt2d, cd_type, psgn, cd_mpp ) 
    518509      !!--------------------------------------------------------------------- 
    519510      !!                 ***  ROUTINE lbc_lnk_2d  *** 
     
    541532      CHARACTER(len=3), INTENT( in ), OPTIONAL ::    & 
    542533         cd_mpp        ! fill the overlap area only (here do nothing) 
    543       REAL(wp)        , INTENT(in   ), OPTIONAL           ::   pval      ! background value (used at closed boundaries) 
    544534 
    545535      !! * Local declarations 
    546536      INTEGER  ::   ji 
    547537      INTEGER  ::   ijt, iju 
    548       REAL(wp) ::   zland 
    549       !!---------------------------------------------------------------------- 
    550  
    551       IF( PRESENT( pval ) ) THEN      ! set land value (zero by default) 
    552          zland = pval 
    553       ELSE 
    554          zland = 0.e0 
    555       ENDIF 
     538      !!---------------------------------------------------------------------- 
     539      !!  OPA 8.5, LODYC-IPSL (2002) 
     540      !!---------------------------------------------------------------------- 
    556541 
    557542      IF (PRESENT(cd_mpp)) THEN 
     
    571556         SELECT CASE ( cd_type ) 
    572557         CASE ( 'T' , 'U' , 'V' , 'W' )                ! T-, U-, V-, W-points 
    573             pt2d( 1 ,:) = zland 
    574             pt2d(jpi,:) = zland 
     558            pt2d( 1 ,:) = 0.e0 
     559            pt2d(jpi,:) = 0.e0 
    575560         CASE ( 'F' )                                  ! F-point, ice U-V point 
    576             pt2d(jpi,:) = zland 
     561            pt2d(jpi,:) = 0.e0  
    577562         CASE ( 'I' )                                  ! F-point, ice U-V point 
    578             pt2d( 1 ,:) = zland 
    579             pt2d(jpi,:) = zland 
     563            pt2d( 1 ,:) = 0.e0  
     564            pt2d(jpi,:) = 0.e0  
    580565         END SELECT 
    581566 
     
    591576         CASE ( 'T' , 'U' , 'W' )                      ! T-, U-, W-points 
    592577            pt2d(:, 1 ) = pt2d(:,3) 
    593             pt2d(:,jpj) = zland 
     578            pt2d(:,jpj) = 0.e0 
    594579         CASE ( 'V' , 'F' , 'I' )                      ! V-, F-points, ice U-V point 
    595580            pt2d(:, 1 ) = psgn * pt2d(:,2) 
    596             pt2d(:,jpj) = zland 
     581            pt2d(:,jpj) = 0.e0 
    597582         END SELECT 
    598583 
    599584      CASE ( 3 , 4 )                           ! * North fold  T-point pivot 
    600585 
    601          pt2d( 1 , 1 ) = zland       !!!!!  bug gm ??? !Edmee 
    602          pt2d( 1 ,jpj) = zland 
    603          pt2d(jpi,jpj) = zland 
     586         pt2d( 1 , 1 ) = 0.e0        !!!!!  bug gm ??? !Edmee 
     587         pt2d( 1 ,jpj) = 0.e0 
     588         pt2d(jpi,jpj) = 0.e0 
    604589 
    605590         SELECT CASE ( cd_type ) 
     
    608593            DO ji = 2, jpi 
    609594               ijt = jpi-ji+2 
    610                pt2d(ji, 1 ) = zland 
     595               pt2d(ji, 1 ) = 0.e0 
    611596               pt2d(ji,jpj) = psgn * pt2d(ijt,jpj-2) 
    612597            END DO 
     
    619604            DO ji = 1, jpi-1 
    620605               iju = jpi-ji+1 
    621                pt2d(ji, 1 ) = zland 
     606               pt2d(ji, 1 ) = 0.e0 
    622607               pt2d(ji,jpj) = psgn * pt2d(iju,jpj-2) 
    623608            END DO 
     
    630615            DO ji = 2, jpi 
    631616               ijt = jpi-ji+2 
    632                pt2d(ji, 1   ) = zland 
     617               pt2d(ji, 1   ) = 0.e0 
    633618               pt2d(ji,jpj-1) = psgn * pt2d(ijt,jpj-2) 
    634619               pt2d(ji,jpj  ) = psgn * pt2d(ijt,jpj-3) 
     
    643628 
    644629         CASE ( 'I' )                                  ! ice U-V point 
    645             pt2d(:, 1 ) = zland 
     630            pt2d(:, 1 ) = 0.e0 
    646631            pt2d(2,jpj) = psgn * pt2d(3,jpj-1) 
    647632            DO ji = 3, jpi 
     
    654639      CASE ( 5 , 6 )                           ! * North fold  F-point pivot 
    655640 
    656          pt2d( 1 , 1 ) = zland          !!bug  ??? 
    657          pt2d( 1 ,jpj) = zland 
    658          pt2d(jpi,jpj) = zland 
     641         pt2d( 1 , 1 ) = 0.e0           !!bug  ??? 
     642         pt2d( 1 ,jpj) = 0.e0 
     643         pt2d(jpi,jpj) = 0.e0 
    659644 
    660645         SELECT CASE ( cd_type ) 
     
    663648            DO ji = 1, jpi 
    664649               ijt = jpi-ji+1 
    665                pt2d(ji, 1 ) = zland 
     650               pt2d(ji, 1 ) = 0.e0 
    666651               pt2d(ji,jpj) = psgn * pt2d(ijt,jpj-1) 
    667652            END DO 
     
    670655            DO ji = 1, jpi-1 
    671656               iju = jpi-ji 
    672                pt2d(ji, 1 ) = zland 
     657               pt2d(ji, 1 ) = 0.e0 
    673658               pt2d(ji,jpj) = psgn * pt2d(iju,jpj-1) 
    674659            END DO 
     
    677662            DO ji = 1, jpi 
    678663               ijt = jpi-ji+1 
    679                pt2d(ji, 1 ) = zland 
     664               pt2d(ji, 1 ) = 0.e0 
    680665               pt2d(ji,jpj) = psgn * pt2d(ijt,jpj-2) 
    681666            END DO 
     
    696681 
    697682         CASE ( 'I' )                                  ! ice U-V point 
    698             pt2d( : , 1 ) = zland 
    699             pt2d( 2 ,jpj) = zland 
     683            pt2d( : , 1 ) = 0.e0 
     684            pt2d( 2 ,jpj) = 0.e0 
    700685            DO ji = 2 , jpim1 
    701686               ijt = jpi - ji + 2 
     
    709694         SELECT CASE ( cd_type ) 
    710695         CASE ( 'T' , 'U' , 'V' , 'W' )                ! T-, U-, V-, W-points 
    711             pt2d(:, 1 ) = zland 
    712             pt2d(:,jpj) = zland 
     696            pt2d(:, 1 ) = 0.e0 
     697            pt2d(:,jpj) = 0.e0 
    713698         CASE ( 'F' )                                  ! F-point 
    714             pt2d(:,jpj) = zland 
     699            pt2d(:,jpj) = 0.e0 
    715700         CASE ( 'I' )                                  ! ice U-V point 
    716             pt2d(:, 1 ) = zland 
    717             pt2d(:,jpj) = zland 
     701            pt2d(:, 1 ) = 0.e0 
     702            pt2d(:,jpj) = 0.e0 
    718703         END SELECT 
    719704 
Note: See TracChangeset for help on using the changeset viewer.