- Timestamp:
- 2010-11-10T08:48:54+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/nemo_v3_3_beta/NEMOGCM/NEMO/LIM_SRC_2/limrhg_2.F90
r2319 r2370 7 7 !! 1.0 ! 1994-12 (H. Goosse) 8 8 !! 2.0 ! 2003-12 (C. Ethe, G. Madec) F90, mpp 9 !! " "! 2006-08 (G. Madec) surface module, ice-stress at I-point10 !! " "! 2009-09 (G. Madec) Huge verctor optimisation9 !! - ! 2006-08 (G. Madec) surface module, ice-stress at I-point 10 !! - ! 2009-09 (G. Madec) Huge verctor optimisation 11 11 !! 3.3 ! 2009-05 (G.Garric, C. Bricaud) addition of the lim2_evp case 12 12 !!---------------------------------------------------------------------- 13 13 #if defined key_lim2 && defined key_lim2_vp 14 14 !!---------------------------------------------------------------------- 15 !! 'key_lim2' and LIM 2.0sea-ice model15 !! 'key_lim2' AND LIM-2 sea-ice model 16 16 !! 'key_lim2_vp' VP ice rheology 17 !!----------------------------------------------------------------------18 17 !!---------------------------------------------------------------------- 19 18 !! lim_rhg_2 : computes ice velocities … … 36 35 PUBLIC lim_rhg_2 ! routine called by lim_dyn 37 36 38 REAL(wp) :: rzero = 0. e0! constant value: zero39 REAL(wp) :: rone = 1. e0! and one37 REAL(wp) :: rzero = 0._wp ! constant value: zero 38 REAL(wp) :: rone = 1._wp ! and one 40 39 41 40 !! * Substitutions … … 44 43 !! NEMO/LIM2 3.3 , UCL - NEMO Consortium (2010) 45 44 !! $Id$ 46 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 47 !!---------------------------------------------------------------------- 48 45 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 46 !!---------------------------------------------------------------------- 49 47 CONTAINS 50 48 … … 67 65 INTEGER :: iter, jter ! temporary integers 68 66 CHARACTER (len=50) :: charout 69 REAL(wp) :: ze11 , ze12 , ze22 , ze21 ! temporaryscalars70 REAL(wp) :: zt11 , zt12 , zt21 , zt22 ! " "71 REAL(wp) :: zvis11, zvis21, zvis12, zvis22 ! " "72 REAL(wp) :: zgphsx, ztagnx, zgsshx, zunw, zur, zusw ! " "73 REAL(wp) :: zgphsy, ztagny, zgsshy, zvnw, zvr ! " "67 REAL(wp) :: ze11 , ze12 , ze22 , ze21 ! local scalars 68 REAL(wp) :: zt11 , zt12 , zt21 , zt22 ! - - 69 REAL(wp) :: zvis11, zvis21, zvis12, zvis22 ! - - 70 REAL(wp) :: zgphsx, ztagnx, zgsshx, zunw, zur, zusw ! - - 71 REAL(wp) :: zgphsy, ztagny, zgsshy, zvnw, zvr ! - - 74 72 REAL(wp) :: zresm, za, zac, zmod 75 73 REAL(wp) :: zmpzas, zstms, zindu, zusdtp, zmassdt, zcorlal … … 91 89 REAL(wp), DIMENSION(jpi,0:jpj+1) :: zzfrld, zztms 92 90 REAL(wp), DIMENSION(jpi,0:jpj+1) :: zi1, zi2, zmasst, zpresh 93 94 91 !!------------------------------------------------------------------- 95 96 !!bug97 !! u_oce(:,:) = 0.e098 !! v_oce(:,:) = 0.e099 !! write(*,*) 'rhg min, max u & v', maxval(u_oce), minval(u_oce), maxval(v_oce), minval(v_oce)100 !!bug101 92 102 93 ! Store initial velocities 103 94 ! ---------------- 104 zztms(:,0 ) = 0.e0 ; zzfrld(:,0 ) = 0.e0 105 zztms(:,jpj+1) = 0.e0 ; zzfrld(:,jpj+1) = 0.e0 106 zu0(:,0 ) = 0.e0 ; zv0(:,0 ) = 0.e0 107 zu0(:,jpj+1) = 0.e0 ; zv0(:,jpj+1) = 0.e0 108 zztms(:,1:jpj) = tms(:,:) ; zzfrld(:,1:jpj) = frld(:,:) 109 zu0(:,1:jpj) = u_ice(:,:) ; zv0(:,1:jpj) = v_ice(:,:) 110 111 zu_a(:,:) = zu0(:,:) ; zv_a(:,:) = zv0(:,:) 112 zu_n(:,:) = zu0(:,:) ; zv_n(:,:) = zv0(:,:) 95 zztms(:,0 ) = 0._wp ; zzfrld(:,0 ) = 0._wp 96 zztms(:,jpj+1) = 0._wp ; zzfrld(:,jpj+1) = 0._wp 97 zu0 (:,0 ) = 0._wp ; zv0 (:,0 ) = 0._wp 98 zu0 (:,jpj+1) = 0._wp ; zv0 (:,jpj+1) = 0._wp 99 zztms(:,1:jpj) = tms (:,:) ; zzfrld(:,1:jpj) = frld (:,:) 100 zu0 (:,1:jpj) = u_ice(:,:) ; zv0 (:,1:jpj) = v_ice(:,:) 101 zu_a (:, : ) = zu0 (:,:) ; zv_a (:, : ) = zv0 (:,:) 102 zu_n (:, : ) = zu0 (:,:) ; zv_n (:, : ) = zv0 (:,:) 113 103 114 104 !i 115 zi1 (:,:) = 0. e0116 zi2 (:,:) = 0. e0117 zpresh(:,:) = 0. e0118 zmasst(:,:) = 0. e0105 zi1 (:,:) = 0._wp 106 zi2 (:,:) = 0._wp 107 zpresh(:,:) = 0._wp 108 zmasst(:,:) = 0._wp 119 109 !i 120 110 !!gm violant 121 zfrld(:,:) =0. e0122 zcorl(:,:) =0. e0123 zmass(:,:) =0. e0124 za1ct(:,:) =0. e0125 za2ct(:,:) =0. e0111 zfrld(:,:) =0._wp 112 zcorl(:,:) =0._wp 113 zmass(:,:) =0._wp 114 za1ct(:,:) =0._wp 115 za2ct(:,:) =0._wp 126 116 !!gm end 127 117 128 zviszeta(:,:) = 0. e0129 zviseta (:,:) = 0. e0130 131 !i zviszeta(:,0 ) = 0. e0 ; zviseta(:,0 ) = 0.e0132 !i zviszeta(:,jpj ) = 0. e0 ; zviseta(:,jpj ) = 0.e0133 !i zviszeta(:,jpj+1) = 0. e0 ; zviseta(:,jpj+1) = 0.e0118 zviszeta(:,:) = 0._wp 119 zviseta (:,:) = 0._wp 120 121 !i zviszeta(:,0 ) = 0._wp ; zviseta(:,0 ) = 0._wp 122 !i zviszeta(:,jpj ) = 0._wp ; zviseta(:,jpj ) = 0._wp 123 !i zviszeta(:,jpj+1) = 0._wp ; zviseta(:,jpj+1) = 0._wp 134 124 135 125 … … 143 133 DO ji = 1 , jpi 144 134 ! only the sinus changes its sign with the hemisphere 145 zsang(ji,jj) = SIGN( 1. e0, fcor(ji,jj) ) * sangvg ! only the sinus changes its sign with the hemisphere135 zsang(ji,jj) = SIGN( 1._wp, fcor(ji,jj) ) * sangvg ! only the sinus changes its sign with the hemisphere 146 136 ! 147 137 zmasst(ji,jj) = tms(ji,jj) * ( rhosn * hsnm(ji,jj) + rhoic * hicm(ji,jj) ) 148 138 zpresh(ji,jj) = tms(ji,jj) * pstarh * hicm(ji,jj) * EXP( -c_rhg * frld(ji,jj) ) 149 139 !!gm :: stress given at I-point (F-point for the ocean) only compute the ponderation with the ice fraction (1-frld) 150 zi1(ji,jj) = tms(ji,jj) * ( 1. 0- frld(ji,jj) )151 zi2(ji,jj) = tms(ji,jj) * ( 1. 0- frld(ji,jj) )140 zi1(ji,jj) = tms(ji,jj) * ( 1._wp - frld(ji,jj) ) 141 zi2(ji,jj) = tms(ji,jj) * ( 1._wp - frld(ji,jj) ) 152 142 END DO 153 143 END DO … … 163 153 zstms = zztms(ji,jj ) * wght(ji,jj,2,2) + zztms(ji-1,jj ) * wght(ji,jj,1,2) & 164 154 & + zztms(ji,jj-1) * wght(ji,jj,2,1) + zztms(ji-1,jj-1) * wght(ji,jj,1,1) 165 zusw = 1. 0/ MAX( zstms, epsd )155 zusw = 1._wp / MAX( zstms, epsd ) 166 156 167 157 zt11 = zztms(ji ,jj ) * zzfrld(ji ,jj ) … … 201 191 ! Gradient of the sea surface height 202 192 zgsshx = ( (ssh_m(ji ,jj ) - ssh_m(ji-1,jj ))/e1u(ji-1,jj ) & 203 & + (ssh_m(ji ,jj-1) - ssh_m(ji-1,jj-1))/e1u(ji-1,jj-1) ) * 0.5 193 & + (ssh_m(ji ,jj-1) - ssh_m(ji-1,jj-1))/e1u(ji-1,jj-1) ) * 0.5_wp 204 194 zgsshy = ( (ssh_m(ji ,jj ) - ssh_m(ji ,jj-1))/e2v(ji ,jj-1) & 205 & + (ssh_m(ji-1,jj ) - ssh_m(ji-1,jj-1))/e2v(ji-1,jj-1) ) * 0.5 195 & + (ssh_m(ji-1,jj ) - ssh_m(ji-1,jj-1))/e2v(ji-1,jj-1) ) * 0.5_wp 206 196 207 197 ! Computation of the velocity field taking into account the ice-ice interaction. … … 219 209 ! ! ==================== ! 220 210 zindu = MOD( iter , 2 ) 221 zusdtp = ( zindu * 2. 0 + ( 1.0 - zindu ) * 1.0) * REAL( nbiter ) / rdt_ice211 zusdtp = ( zindu * 2._wp + ( 1._wp - zindu ) * 1._wp ) * REAL( nbiter ) / rdt_ice 222 212 223 213 ! Computation of free drift field for free slip boundary conditions. … … 241 231 zdgi = zt12 + zt21 242 232 ztrace2 = zdgp * zdgp 243 zdeter = zt11 * zt22 - 0.25 * zdgi * zdgi233 zdeter = zt11 * zt22 - 0.25_wp * zdgi * zdgi 244 234 245 235 ! Creep limit depends on the size of the grid. 246 zdelta = MAX( SQRT( ztrace2 + ( ztrace2 - 4. 0* zdeter ) * usecc2 ), creepl)236 zdelta = MAX( SQRT( ztrace2 + ( ztrace2 - 4._wp * zdeter ) * usecc2 ), creepl) 247 237 248 238 !- Computation of viscosities. … … 256 246 DO ji = 2, fs_jpim1 ! NO vector opt. 257 247 !* zc1u , zc2v 258 zvis11 = 2. 0* zviseta (ji-1,jj-1) + dm259 zvis12 = zviseta (ji-1,jj-1) + dm260 zvis21 = zviseta (ji-1,jj-1)261 zvis22 = zviszeta(ji-1,jj-1) - zviseta(ji-1,jj-1)248 zvis11 = 2._wp * zviseta (ji-1,jj-1) + dm 249 zvis12 = zviseta (ji-1,jj-1) + dm 250 zvis21 = zviseta (ji-1,jj-1) 251 zvis22 = zviszeta(ji-1,jj-1) - zviseta(ji-1,jj-1) 262 252 zdiag = zvis22 * ( akappa(ji-1,jj-1,1,1) + akappa(ji-1,jj-1,2,1) ) 263 253 zs11_11 = zvis11 * akappa(ji-1,jj-1,1,1) + zdiag … … 266 256 zs22_11 = zvis11 * akappa(ji-1,jj-1,2,1) + zdiag 267 257 268 zvis11 = 2. 0* zviseta (ji,jj-1) + dm269 zvis22 = zviszeta(ji,jj-1) - zviseta(ji,jj-1)270 zvis12 = zviseta (ji,jj-1) + dm271 zvis21 = zviseta (ji,jj-1)258 zvis11 = 2._wp * zviseta (ji,jj-1) + dm 259 zvis22 = zviszeta(ji,jj-1) - zviseta(ji,jj-1) 260 zvis12 = zviseta (ji,jj-1) + dm 261 zvis21 = zviseta (ji,jj-1) 272 262 zdiag = zvis22 * ( -akappa(ji,jj-1,1,1) + akappa(ji,jj-1,2,1) ) 273 263 zs11_21 = -zvis11 * akappa(ji,jj-1,1,1) + zdiag … … 276 266 zs21_21 = -zvis12 * akappa(ji,jj-1,1,2) + zvis21 * akappa(ji,jj-1,2,2) 277 267 278 zvis11 = 2. 0* zviseta (ji-1,jj) + dm279 zvis22 = zviszeta(ji-1,jj) - zviseta(ji-1,jj)280 zvis12 = zviseta (ji-1,jj) + dm281 zvis21 = zviseta (ji-1,jj)282 zdiag = zvis22 * ( akappa(ji-1,jj,1,1) + akappa(ji-1,jj,2,1) )268 zvis11 = 2._wp * zviseta (ji-1,jj) + dm 269 zvis22 = zviszeta(ji-1,jj) - zviseta(ji-1,jj) 270 zvis12 = zviseta (ji-1,jj) + dm 271 zvis21 = zviseta (ji-1,jj) 272 zdiag = zvis22 * ( akappa(ji-1,jj,1,1) + akappa(ji-1,jj,2,1) ) 283 273 zs11_12 = zvis11 * akappa(ji-1,jj,1,1) + zdiag 284 274 zs12_12 = -zvis12 * akappa(ji-1,jj,2,2) - zvis21 * akappa(ji-1,jj,1,2) … … 286 276 zs21_12 = -zvis12 * akappa(ji-1,jj,1,2) - zvis21 * akappa(ji-1,jj,2,2) 287 277 288 zvis11 = 2. 0* zviseta (ji,jj) + dm289 zvis22 = zviszeta(ji,jj) - zviseta(ji,jj)290 zvis12 = zviseta (ji,jj) + dm291 zvis21 = zviseta (ji,jj)278 zvis11 = 2._wp * zviseta (ji,jj) + dm 279 zvis22 = zviszeta(ji,jj) - zviseta(ji,jj) 280 zvis12 = zviseta (ji,jj) + dm 281 zvis21 = zviseta (ji,jj) 292 282 zdiag = zvis22 * ( -akappa(ji,jj,1,1) + akappa(ji,jj,2,1) ) 293 283 zs11_22 = -zvis11 * akappa(ji,jj,1,1) + zdiag … … 315 305 316 306 !* zc1v , zc2v. 317 zvis11 = 2. 0* zviseta (ji-1,jj-1) + dm318 zvis22 = zviszeta(ji-1,jj-1) - zviseta(ji-1,jj-1)319 zvis12 = zviseta (ji-1,jj-1) + dm320 zvis21 = zviseta (ji-1,jj-1)307 zvis11 = 2._wp * zviseta (ji-1,jj-1) + dm 308 zvis22 = zviszeta(ji-1,jj-1) - zviseta(ji-1,jj-1) 309 zvis12 = zviseta (ji-1,jj-1) + dm 310 zvis21 = zviseta (ji-1,jj-1) 321 311 zdiag = zvis22 * ( akappa(ji-1,jj-1,1,2) + akappa(ji-1,jj-1,2,2) ) 322 312 zs11_11 = zvis11 * akappa(ji-1,jj-1,1,2) + zdiag … … 325 315 zs21_11 = zvis12 * akappa(ji-1,jj-1,1,1) - zvis21 * akappa(ji-1,jj-1,2,1) 326 316 327 zvis11 = 2. 0* zviseta (ji,jj-1) + dm328 zvis22 = zviszeta(ji,jj-1) - zviseta(ji,jj-1)329 zvis12 = zviseta (ji,jj-1) + dm330 zvis21 = zviseta (ji,jj-1)317 zvis11 = 2._wp * zviseta (ji,jj-1) + dm 318 zvis22 = zviszeta(ji,jj-1) - zviseta(ji,jj-1) 319 zvis12 = zviseta (ji,jj-1) + dm 320 zvis21 = zviseta (ji,jj-1) 331 321 zdiag = zvis22 * ( akappa(ji,jj-1,1,2) + akappa(ji,jj-1,2,2) ) 332 322 zs11_21 = zvis11 * akappa(ji,jj-1,1,2) + zdiag … … 335 325 zs21_21 = -zvis12 * akappa(ji,jj-1,1,1) - zvis21 * akappa(ji,jj-1,2,1) 336 326 337 zvis11 = 2. 0* zviseta (ji-1,jj) + dm338 zvis22 = zviszeta(ji-1,jj) - zviseta(ji-1,jj)339 zvis12 = zviseta (ji-1,jj) + dm340 zvis21 = zviseta (ji-1,jj)327 zvis11 = 2._wp * zviseta (ji-1,jj) + dm 328 zvis22 = zviszeta(ji-1,jj) - zviseta(ji-1,jj) 329 zvis12 = zviseta (ji-1,jj) + dm 330 zvis21 = zviseta (ji-1,jj) 341 331 zdiag = zvis22 * ( akappa(ji-1,jj,1,2) - akappa(ji-1,jj,2,2) ) 342 332 zs11_12 = zvis11 * akappa(ji-1,jj,1,2) + zdiag … … 345 335 zs21_12 = zvis12 * akappa(ji-1,jj,1,1) - zvis21 * akappa(ji-1,jj,2,1) 346 336 347 zvis11 = 2. 0* zviseta (ji,jj) + dm348 zvis22 = zviszeta(ji,jj) - zviseta(ji,jj)349 zvis12 = zviseta (ji,jj) + dm350 zvis21 = zviseta (ji,jj)337 zvis11 = 2._wp * zviseta (ji,jj) + dm 338 zvis22 = zviszeta(ji,jj) - zviseta(ji,jj) 339 zvis12 = zviseta (ji,jj) + dm 340 zvis21 = zviseta (ji,jj) 351 341 zdiag = zvis22 * ( akappa(ji,jj,1,2) - akappa(ji,jj,2,2) ) 352 342 zs11_22 = zvis11 * akappa(ji,jj,1,2) + zdiag … … 388 378 ze22 = + akappa(ji,jj-1,2,2) * zv_a(ji+1,jj) + akappa(ji,jj-1,2,1) * zu_a(ji+1,jj) 389 379 ze21 = akappa(ji,jj-1,1,1) * zv_a(ji+1,jj) - akappa(ji,jj-1,1,2) * zu_a(ji+1,jj) 390 zvis11 = 2. 0* zviseta (ji,jj-1) + dm391 zvis22 = zviszeta(ji,jj-1) - zviseta(ji,jj-1)392 zvis12 = zviseta (ji,jj-1) + dm393 zvis21 = zviseta (ji,jj-1)380 zvis11 = 2._wp * zviseta (ji,jj-1) + dm 381 zvis22 = zviszeta(ji,jj-1) - zviseta(ji,jj-1) 382 zvis12 = zviseta (ji,jj-1) + dm 383 zvis21 = zviseta (ji,jj-1) 394 384 zdiag = zvis22 * ( ze11 + ze22 ) 395 385 zs11_21 = zvis11 * ze11 + zdiag … … 406 396 ze21 = akappa(ji-1,jj,1,1) * ( zv_a(ji ,jj+1) - zv_a(ji-1,jj+1) ) & 407 397 & - akappa(ji-1,jj,1,2) * ( zu_a(ji ,jj+1) + zu_a(ji-1,jj+1) ) 408 zvis11 = 2. 0* zviseta (ji-1,jj) + dm409 zvis22 = zviszeta(ji-1,jj) - zviseta(ji-1,jj)410 zvis12 = zviseta (ji-1,jj) + dm411 zvis21 = zviseta (ji-1,jj)398 zvis11 = 2._wp * zviseta (ji-1,jj) + dm 399 zvis22 = zviszeta(ji-1,jj) - zviseta(ji-1,jj) 400 zvis12 = zviseta (ji-1,jj) + dm 401 zvis21 = zviseta (ji-1,jj) 412 402 zdiag = zvis22 * ( ze11 + ze22 ) 413 403 zs11_12 = zvis11 * ze11 + zdiag … … 424 414 ze21 = akappa(ji,jj,1,1) * ( zv_a(ji+1,jj) + zv_a(ji+1,jj+1) - zv_a(ji ,jj+1) ) & 425 415 & - akappa(ji,jj,1,2) * ( zu_a(ji+1,jj) + zu_a(ji+1,jj+1) + zu_a(ji ,jj+1) ) 426 zvis11 = 2. 0* zviseta (ji,jj) + dm427 zvis22 = zviszeta(ji,jj) - zviseta(ji,jj)428 zvis12 = zviseta (ji,jj) + dm429 zvis21 = zviseta (ji,jj)416 zvis11 = 2._wp * zviseta (ji,jj) + dm 417 zvis22 = zviszeta(ji,jj) - zviseta(ji,jj) 418 zvis12 = zviseta (ji,jj) + dm 419 zvis21 = zviseta (ji,jj) 430 420 zdiag = zvis22 * ( ze11 + ze22 ) 431 421 zs11_22 = zvis11 * ze11 + zdiag … … 443 433 ze21 = akappa(ji-1,jj-1,1,1) * ( zv_a(ji ,jj-1) - zv_a(ji-1,jj-1) - zv_a(ji-1,jj) ) & 444 434 & - akappa(ji-1,jj-1,1,2) * ( zu_a(ji ,jj-1) + zu_a(ji-1,jj-1) + zu_a(ji-1,jj) ) 445 zvis11 = 2. 0* zviseta (ji-1,jj-1) + dm446 zvis22 = zviszeta(ji-1,jj-1) - zviseta(ji-1,jj-1)447 zvis12 = zviseta (ji-1,jj-1) + dm448 zvis21 = zviseta (ji-1,jj-1)435 zvis11 = 2._wp * zviseta (ji-1,jj-1) + dm 436 zvis22 = zviszeta(ji-1,jj-1) - zviseta(ji-1,jj-1) 437 zvis12 = zviseta (ji-1,jj-1) + dm 438 zvis21 = zviseta (ji-1,jj-1) 449 439 zdiag = zvis22 * ( ze11 + ze22 ) 450 440 zs11_11 = zvis11 * ze11 + zdiag … … 461 451 ze21 = akappa(ji,jj-1,1,1) * ( zv_a(ji+1,jj-1) - zv_a(ji ,jj-1) ) & 462 452 & - akappa(ji,jj-1,1,2) * ( zu_a(ji+1,jj-1) + zu_a(ji ,jj-1) ) 463 zvis11 = 2. 0* zviseta (ji,jj-1) + dm464 zvis22 = zviszeta(ji,jj-1) - zviseta(ji,jj-1)465 zvis12 = zviseta (ji,jj-1) + dm466 zvis21 = zviseta (ji,jj-1)453 zvis11 = 2._wp * zviseta (ji,jj-1) + dm 454 zvis22 = zviszeta(ji,jj-1) - zviseta(ji,jj-1) 455 zvis12 = zviseta (ji,jj-1) + dm 456 zvis21 = zviseta (ji,jj-1) 467 457 zdiag = zvis22 * ( ze11 + ze22 ) 468 458 zs11_21 = zs11_21 + zvis11 * ze11 + zdiag … … 475 465 ze22 = - akappa(ji-1,jj,2,2) * zv_a(ji-1,jj) + akappa(ji-1,jj,2,1) * zu_a(ji-1,jj) 476 466 ze21 = - akappa(ji-1,jj,1,1) * zv_a(ji-1,jj) - akappa(ji-1,jj,1,2) * zu_a(ji-1,jj) 477 zvis11 = 2. 0* zviseta (ji-1,jj) + dm478 zvis22 = zviszeta(ji-1,jj) - zviseta(ji-1,jj)479 zvis12 = zviseta (ji-1,jj) + dm480 zvis21 = zviseta (ji-1,jj)467 zvis11 = 2._wp * zviseta (ji-1,jj) + dm 468 zvis22 = zviszeta(ji-1,jj) - zviseta(ji-1,jj) 469 zvis12 = zviseta (ji-1,jj) + dm 470 zvis21 = zviseta (ji-1,jj) 481 471 zdiag = zvis22 * ( ze11 + ze22 ) 482 472 zs11_12 = zs11_12 + zvis11 * ze11 + zdiag … … 506 496 zvr = zv_a(ji,jj) - v_oce(ji,jj) 507 497 !!!! 508 zmod = SQRT( zur*zur + zvr*zvr ) * ( 1. 0- zfrld(ji,jj) )498 zmod = SQRT( zur*zur + zvr*zvr ) * ( 1._wp - zfrld(ji,jj) ) 509 499 za = rhoco * zmod 510 500 !!!! 511 !!gm chg resul za = rhoco * SQRT( zur*zur + zvr*zvr ) * ( 1. 0- zfrld(ji,jj) )501 !!gm chg resul za = rhoco * SQRT( zur*zur + zvr*zvr ) * ( 1._wp - zfrld(ji,jj) ) 512 502 zac = za * cangvg 513 503 zmpzas = alpha * zcorl(ji,jj) + za * zsang(ji,jj) 514 504 zmassdt = zusdtp * zmass(ji,jj) 515 zcorlal = ( 1. 0- alpha ) * zcorl(ji,jj)505 zcorlal = ( 1._wp - alpha ) * zcorl(ji,jj) 516 506 517 507 za1 = zmassdt * zu0(ji,jj) + zcorlal * zv0(ji,jj) + za1ct(ji,jj) & … … 527 517 zunw = ( ( za1 + zd1 ) * zc2 + ( za2 + zd2 ) * zc1 ) * zden 528 518 zvnw = ( ( za2 + zd2 ) * zb1 - ( za1 + zd1 ) * zb2 ) * zden 529 zmask = ( 1. 0 - MAX( rzero, SIGN( rone , 1.0- zmass(ji,jj) ) ) ) * tmu(ji,jj)519 zmask = ( 1._wp - MAX( rzero, SIGN( rone , 1._wp - zmass(ji,jj) ) ) ) * tmu(ji,jj) 530 520 531 521 zu_n(ji,jj) = ( zu_a(ji,jj) + om * ( zunw - zu_a(ji,jj) ) * tmu(ji,jj) ) * zmask … … 582 572 #else 583 573 !!---------------------------------------------------------------------- 584 !! Default option Dummy module NO 2.0 LIMsea-ice model574 !! Default option Dummy module NO VP & LIM-2 sea-ice model 585 575 !!---------------------------------------------------------------------- 586 576 CONTAINS
Note: See TracChangeset
for help on using the changeset viewer.