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 13271 for NEMO/releases/r4.0/r4.0-HEAD/src/ICE/icedyn_rhg_evp.F90 – NEMO

Ignore:
Timestamp:
2020-07-08T16:53:09+02:00 (4 years ago)
Author:
clem
Message:

counterpart of ticket #2237 for sea-ice

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/releases/r4.0/r4.0-HEAD/src/ICE/icedyn_rhg_evp.F90

    r11536 r13271  
    155155      REAL(wp), DIMENSION(jpi,jpj) ::   zmsk01x, zmsk01y                ! dummy arrays 
    156156      REAL(wp), DIMENSION(jpi,jpj) ::   zmsk00x, zmsk00y                ! mask for ice presence 
    157       REAL(wp), DIMENSION(jpi,jpj) ::   zfmask, zwf                     ! mask at F points for the ice 
     157      REAL(wp), DIMENSION(jpi,jpj) ::   zfmask                          ! mask at F points for the ice 
    158158 
    159159      REAL(wp), PARAMETER          ::   zepsi  = 1.0e-20_wp             ! tolerance parameter 
     
    187187 
    188188      ! Lateral boundary conditions on velocity (modify zfmask) 
    189       zwf(:,:) = zfmask(:,:) 
    190189      DO jj = 2, jpjm1 
    191190         DO ji = fs_2, fs_jpim1   ! vector opt. 
    192191            IF( zfmask(ji,jj) == 0._wp ) THEN 
    193                zfmask(ji,jj) = rn_ishlat * MIN( 1._wp , MAX( zwf(ji+1,jj), zwf(ji,jj+1), zwf(ji-1,jj), zwf(ji,jj-1) ) ) 
     192               zfmask(ji,jj) = rn_ishlat * MIN( 1._wp , MAX( umask(ji,jj,1), umask(ji,jj+1,1), & 
     193                  &                                          vmask(ji,jj,1), vmask(ji+1,jj,1) ) ) 
    194194            ENDIF 
    195195         END DO 
     
    197197      DO jj = 2, jpjm1 
    198198         IF( zfmask(1,jj) == 0._wp ) THEN 
    199             zfmask(1  ,jj) = rn_ishlat * MIN( 1._wp , MAX( zwf(2,jj), zwf(1,jj+1), zwf(1,jj-1) ) ) 
     199            zfmask(1  ,jj) = rn_ishlat * MIN( 1._wp , MAX( vmask(2,jj,1), umask(1,jj+1,1), umask(1,jj,1) ) ) 
    200200         ENDIF 
    201201         IF( zfmask(jpi,jj) == 0._wp ) THEN 
    202             zfmask(jpi,jj) = rn_ishlat * MIN( 1._wp , MAX( zwf(jpi,jj+1), zwf(jpim1,jj), zwf(jpi,jj-1) ) ) 
    203          ENDIF 
     202            zfmask(jpi,jj) = rn_ishlat * MIN( 1._wp , MAX( umask(jpi,jj+1,1), vmask(jpim1,jj,1), umask(jpi,jj-1,1) ) ) 
     203        ENDIF 
    204204      END DO 
    205205      DO ji = 2, jpim1 
    206206         IF( zfmask(ji,1) == 0._wp ) THEN 
    207             zfmask(ji,1  ) = rn_ishlat * MIN( 1._wp , MAX( zwf(ji+1,1), zwf(ji,2), zwf(ji-1,1) ) ) 
     207            zfmask(ji, 1 ) = rn_ishlat * MIN( 1._wp , MAX( vmask(ji+1,1,1), umask(ji,2,1), vmask(ji,1,1) ) ) 
    208208         ENDIF 
    209209         IF( zfmask(ji,jpj) == 0._wp ) THEN 
    210             zfmask(ji,jpj) = rn_ishlat * MIN( 1._wp , MAX( zwf(ji+1,jpj), zwf(ji-1,jpj), zwf(ji,jpjm1) ) ) 
     210            zfmask(ji,jpj) = rn_ishlat * MIN( 1._wp , MAX( vmask(ji+1,jpj,1), vmask(ji-1,jpj,1), umask(ji,jpjm1,1) ) ) 
    211211         ENDIF 
    212212      END DO 
Note: See TracChangeset for help on using the changeset viewer.