- Timestamp:
- 2014-11-28T18:24:01+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/LIM_SRC_3/limadv.F90
r4161 r4924 32 32 33 33 REAL(wp) :: epsi20 = 1.e-20_wp ! constant values 34 REAL(wp) :: rzero = 0._wp ! - -35 REAL(wp) :: rone = 1._wp ! - -36 34 37 35 !! * Substitutions … … 84 82 DO jj = 1, jpj 85 83 DO ji = 1, jpi 86 zslpmax = MAX( rzero, ps0(ji,jj) )84 zslpmax = MAX( 0._wp, ps0(ji,jj) ) 87 85 zs1max = 1.5 * zslpmax 88 86 zs1new = MIN( zs1max, MAX( -zs1max, psx(ji,jj) ) ) 89 87 zs2new = MIN( 2.0 * zslpmax - 0.3334 * ABS( zs1new ), & 90 88 & MAX( ABS( zs1new ) - zslpmax, psxx(ji,jj) ) ) 91 zin0 = ( 1.0 - MAX( rzero, SIGN( rone, -zslpmax) ) ) * tms(ji,jj) ! Case of empty boxes & Apply mask89 zin0 = ( 1.0 - MAX( 0._wp, SIGN( 1._wp, -zslpmax) ) ) * tms(ji,jj) ! Case of empty boxes & Apply mask 92 90 93 91 ps0 (ji,jj) = zslpmax … … 106 104 DO jj = 1, jpj ! Flux from i to i+1 WHEN u GT 0 107 105 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) 110 108 zalfq = zalf * zalf 111 109 zalf1 = 1.0 - zalf … … 133 131 DO jj = 1, jpjm1 ! Flux from i+1 to i when u LT 0. 134 132 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) 136 134 zalg (ji,jj) = zalf 137 135 zalfq = zalf * zalf … … 269 267 DO jj = 1, jpj 270 268 DO ji = 1, jpi 271 zslpmax = MAX( rzero, ps0(ji,jj) )269 zslpmax = MAX( 0._wp, ps0(ji,jj) ) 272 270 zs1max = 1.5 * zslpmax 273 271 zs1new = MIN( zs1max, MAX( -zs1max, psy(ji,jj) ) ) 274 272 zs2new = MIN( ( 2.0 * zslpmax - 0.3334 * ABS( zs1new ) ), & 275 273 & MAX( ABS( zs1new )-zslpmax, psyy(ji,jj) ) ) 276 zin0 = ( 1.0 - MAX( rzero, SIGN( rone, -zslpmax) ) ) * tms(ji,jj) ! Case of empty boxes & Apply mask274 zin0 = ( 1.0 - MAX( 0._wp, SIGN( 1._wp, -zslpmax) ) ) * tms(ji,jj) ! Case of empty boxes & Apply mask 277 275 ! 278 276 ps0 (ji,jj) = zslpmax … … 291 289 DO jj = 1, jpj ! Flux from j to j+1 WHEN v GT 0 292 290 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) 295 293 zalfq = zalf * zalf 296 294 zalf1 = 1.0 - zalf … … 318 316 DO jj = 1, jpjm1 ! Flux from j+1 to j when v LT 0. 319 317 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) 321 319 zalg (ji,jj) = zalf 322 320 zalfq = zalf * zalf
Note: See TracChangeset
for help on using the changeset viewer.