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 4924 for branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/LIM_SRC_3/limadv.F90 – NEMO

Ignore:
Timestamp:
2014-11-28T18:24:01+01:00 (9 years ago)
Author:
mathiot
Message:

UKM02_ice_shelves merged and SETTE tested with revision 4879 of trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/LIM_SRC_3/limadv.F90

    r4161 r4924  
    3232 
    3333   REAL(wp)  ::   epsi20 = 1.e-20_wp   ! constant values 
    34    REAL(wp)  ::   rzero  = 0._wp       !    -       - 
    35    REAL(wp)  ::   rone   = 1._wp       !    -       - 
    3634 
    3735   !! * Substitutions 
     
    8482      DO jj = 1, jpj 
    8583         DO ji = 1, jpi 
    86             zslpmax = MAX( rzero, ps0(ji,jj) ) 
     84            zslpmax = MAX( 0._wp, ps0(ji,jj) ) 
    8785            zs1max  = 1.5 * zslpmax 
    8886            zs1new  = MIN( zs1max, MAX( -zs1max, psx(ji,jj) ) ) 
    8987            zs2new  = MIN(  2.0 * zslpmax - 0.3334 * ABS( zs1new ),      & 
    9088               &            MAX( ABS( zs1new ) - zslpmax, psxx(ji,jj) )  ) 
    91             zin0    = ( 1.0 - MAX( rzero, SIGN( rone, -zslpmax) ) ) * tms(ji,jj)   ! Case of empty boxes & Apply mask 
     89            zin0    = ( 1.0 - MAX( 0._wp, SIGN( 1._wp, -zslpmax) ) ) * tms(ji,jj)   ! Case of empty boxes & Apply mask 
    9290 
    9391            ps0 (ji,jj) = zslpmax   
     
    106104      DO jj = 1, jpj                      !  Flux from i to i+1 WHEN u GT 0  
    107105         DO ji = 1, jpi 
    108             zbet(ji,jj)  =  MAX( rzero, SIGN( rone, put(ji,jj) ) ) 
    109             zalf         =  MAX( rzero, put(ji,jj) ) * zrdt * e2u(ji,jj) / psm(ji,jj) 
     106            zbet(ji,jj)  =  MAX( 0._wp, SIGN( 1._wp, put(ji,jj) ) ) 
     107            zalf         =  MAX( 0._wp, put(ji,jj) ) * zrdt * e2u(ji,jj) / psm(ji,jj) 
    110108            zalfq        =  zalf * zalf 
    111109            zalf1        =  1.0 - zalf 
     
    133131      DO jj = 1, jpjm1                      !  Flux from i+1 to i when u LT 0. 
    134132         DO ji = 1, fs_jpim1 
    135             zalf          = MAX( rzero, -put(ji,jj) ) * zrdt * e2u(ji,jj) / psm(ji+1,jj)  
     133            zalf          = MAX( 0._wp, -put(ji,jj) ) * zrdt * e2u(ji,jj) / psm(ji+1,jj)  
    136134            zalg  (ji,jj) = zalf 
    137135            zalfq         = zalf * zalf 
     
    269267      DO jj = 1, jpj 
    270268         DO ji = 1, jpi 
    271             zslpmax = MAX( rzero, ps0(ji,jj) ) 
     269            zslpmax = MAX( 0._wp, ps0(ji,jj) ) 
    272270            zs1max  = 1.5 * zslpmax 
    273271            zs1new  = MIN( zs1max, MAX( -zs1max, psy(ji,jj) ) ) 
    274272            zs2new  = MIN(  ( 2.0 * zslpmax - 0.3334 * ABS( zs1new ) ),   & 
    275273               &             MAX( ABS( zs1new )-zslpmax, psyy(ji,jj) )  ) 
    276             zin0    = ( 1.0 - MAX( rzero, SIGN( rone, -zslpmax) ) ) * tms(ji,jj)   ! Case of empty boxes & Apply mask 
     274            zin0    = ( 1.0 - MAX( 0._wp, SIGN( 1._wp, -zslpmax) ) ) * tms(ji,jj)   ! Case of empty boxes & Apply mask 
    277275            ! 
    278276            ps0 (ji,jj) = zslpmax   
     
    291289      DO jj = 1, jpj                     !  Flux from j to j+1 WHEN v GT 0    
    292290         DO ji = 1, jpi 
    293             zbet(ji,jj)  =  MAX( rzero, SIGN( rone, pvt(ji,jj) ) ) 
    294             zalf         =  MAX( rzero, pvt(ji,jj) ) * zrdt * e1v(ji,jj) / psm(ji,jj) 
     291            zbet(ji,jj)  =  MAX( 0._wp, SIGN( 1._wp, pvt(ji,jj) ) ) 
     292            zalf         =  MAX( 0._wp, pvt(ji,jj) ) * zrdt * e1v(ji,jj) / psm(ji,jj) 
    295293            zalfq        =  zalf * zalf 
    296294            zalf1        =  1.0 - zalf 
     
    318316      DO jj = 1, jpjm1                   !  Flux from j+1 to j when v LT 0. 
    319317         DO ji = 1, jpi 
    320             zalf          = ( MAX(rzero, -pvt(ji,jj) ) * zrdt * e1v(ji,jj) ) / psm(ji,jj+1)  
     318            zalf          = ( MAX(0._wp, -pvt(ji,jj) ) * zrdt * e1v(ji,jj) ) / psm(ji,jj+1)  
    321319            zalg  (ji,jj) = zalf 
    322320            zalfq         = zalf * zalf 
Note: See TracChangeset for help on using the changeset viewer.