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 1528 for trunk/NEMO/OPA_SRC/DOM/dommsk.F90 – NEMO

Ignore:
Timestamp:
2009-07-23T16:38:47+02:00 (15 years ago)
Author:
rblod
Message:

Suppress rigid-lid option, see ticket #486

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DOM/dommsk.F90

    r1273 r1528  
    1717   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    1818   USE lib_mpp 
    19    USE solisl          ! ??? 
    2019   USE dynspg_oce      ! choice/control of key cpp for surface pressure gradient 
    2120 
     
    4847      !!      tropic stream function  points (b). 
    4948      !!        Set mbathy to the number of non-zero w-levels of a water column 
    50       !!      (if island in the domain (lk_isl=T), this is done latter in 
    51       !!      routine solver_init) 
    5249      !! 
    5350      !! ** Method  :   The ocean/land mask is computed from the basin bathy- 
    5451      !!      metry in level (mbathy) which is defined or read in dommba. 
    55       !!      mbathy equals 0 over continental T-point, -n over the nth  
    56       !!      island T-point, and the number of ocean level over the ocean. 
     52      !!      mbathy equals 0 over continental T-point  
     53      !!      and the number of ocean level over the ocean. 
    5754      !! 
    5855      !!      At a given position (ji,jj,jk) the ocean/land mask is given by: 
     
    247244       
    248245      ! Computation 
    249       IF( lk_dynspg_rl ) THEN 
    250          bmask(:,:) = fmask(:,:,1)       ! elliptic equation is written at f-point 
    251       ELSE 
    252          bmask(:,:) = tmask(:,:,1)       ! elliptic equation is written at t-point 
    253       ENDIF 
     246      bmask(:,:) = tmask(:,:,1)       ! elliptic equation is written at t-point 
    254247       
    255248      ! Boundary conditions 
     
    267260      !   north fold :  
    268261      IF( nperio == 3 .OR. nperio == 4 ) THEN 
    269          IF( lk_dynspg_rl ) THEN 
    270             ! T-pt pivot and F-pt elliptic eq. : bmask set to 0. on rows jpj-1 and jpj 
    271             bmask(:,jpj-1) = 0.e0 
    272             bmask(:,jpj  ) = 0.e0 
    273          ELSE 
    274             ! T-pt pivot and T-pt elliptic eq. : bmask set to 0. on row jpj and on half jpjglo-1 row 
    275             DO ji = 1, jpi 
    276                ii = ji + nimpp - 1 
    277                bmask(ji,jpj-1) = bmask(ji,jpj-1) * tpol(ii) 
    278                bmask(ji,jpj  ) = 0.e0 
    279             END DO 
    280          ENDIF 
     262         ! T-pt pivot and T-pt elliptic eq. : bmask set to 0. on row jpj and on half jpjglo-1 row 
     263         DO ji = 1, jpi 
     264            ii = ji + nimpp - 1 
     265            bmask(ji,jpj-1) = bmask(ji,jpj-1) * tpol(ii) 
     266            bmask(ji,jpj  ) = 0.e0 
     267         END DO 
    281268      ENDIF 
    282269      IF( nperio == 5 .OR. nperio == 6 ) THEN 
    283          IF( lk_dynspg_rl ) THEN 
    284             ! F-pt pivot and F-pt elliptic eq. : bmask set to 0. on row jpj and on half jpjglo-1 row 
    285             DO ji = 1, jpi 
    286                ii = ji + nimpp - 1 
    287                bmask(ji,jpj-1) = bmask(ji,jpj-1) * fpol(ii) 
    288                bmask(ji,jpj  ) = 0.e0 
    289             END DO 
    290          ELSE 
    291             ! F-pt pivot and T-pt elliptic eq. : bmask set to 0. on row jpj 
    292             bmask(:,jpj) = 0.e0 
    293          ENDIF 
     270         ! F-pt pivot and T-pt elliptic eq. : bmask set to 0. on row jpj 
     271         bmask(:,jpj) = 0.e0 
    294272      ENDIF 
    295273 
     
    305283         ! north fold : bmask must be set to 0. on rows jpj-1 and jpj  
    306284         IF( npolj == 3 .OR. npolj == 4 ) THEN 
    307             IF( lk_dynspg_rl ) THEN 
    308                DO ji = 1, nlci 
    309                   bmask(ji,nlcj-1) = 0.e0 
    310                   bmask(ji,nlcj  ) = 0.e0 
    311                END DO 
    312             ELSE 
    313                DO ji = 1, nlci 
    314                   ii = ji + nimpp - 1 
    315                   bmask(ji,nlcj-1) = bmask(ji,nlcj-1) * tpol(ii) 
    316                   bmask(ji,nlcj  ) = 0.e0 
    317                END DO 
    318             ENDIF 
     285            DO ji = 1, nlci 
     286               ii = ji + nimpp - 1 
     287               bmask(ji,nlcj-1) = bmask(ji,nlcj-1) * tpol(ii) 
     288               bmask(ji,nlcj  ) = 0.e0 
     289            END DO 
    319290         ENDIF 
    320291         IF( npolj == 5 .OR. npolj == 6 ) THEN 
    321             IF( lk_dynspg_rl ) THEN 
    322                DO ji = 1, nlci 
    323                   ii = ji + nimpp - 1 
    324                   bmask(ji,nlcj-1) = bmask(ji,nlcj-1) * fpol(ii) 
    325                   bmask(ji,nlcj  ) = 0.e0 
    326                END DO 
    327             ELSE 
    328                DO ji = 1, nlci 
    329                   bmask(ji,nlcj  ) = 0.e0 
    330                END DO 
    331             ENDIF 
     292            DO ji = 1, nlci 
     293               bmask(ji,nlcj  ) = 0.e0 
     294            END DO 
    332295         ENDIF 
    333296      ENDIF 
     
    408371      ! Mbathy set to the number of w-level (minimum value 2) 
    409372      ! ----------------------------------- 
    410       IF( lk_isl ) THEN 
    411          ! this is done at the end of solver_init routine 
    412       ELSE 
    413          DO jj = 1, jpj 
    414             DO ji = 1, jpi 
    415                mbathy(ji,jj) = MAX( 1, mbathy(ji,jj) ) + 1 
    416             END DO 
    417          END DO 
    418       ENDIF 
     373      DO jj = 1, jpj 
     374         DO ji = 1, jpi 
     375            mbathy(ji,jj) = MAX( 1, mbathy(ji,jj) ) + 1 
     376         END DO 
     377      END DO 
    419378       
    420379      ! Control print 
Note: See TracChangeset for help on using the changeset viewer.