Changeset 5208 for branches/2014/dev_r4650_UKMO11_restart_functionality/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90
- Timestamp:
- 2015-04-13T15:08:59+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO11_restart_functionality/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90
r4688 r5208 50 50 PUBLIC lim_rhg ! routine called by lim_dyn (or lim_dyn_2) 51 51 52 REAL(wp) :: epsi10 = 1.e-10_wp !53 54 52 !! * Substitutions 55 53 # include "vectopt_loop_substitute.h90" … … 119 117 CHARACTER (len=50) :: charout 120 118 REAL(wp) :: zt11, zt12, zt21, zt22, ztagnx, ztagny, delta ! 121 REAL(wp) :: za, zstms, zsang, zmask ! local scalars 119 REAL(wp) :: za, zstms, zmask ! local scalars 120 REAL(wp) :: zc1, zc2, zc3 ! ice mass 122 121 123 122 REAL(wp) :: dtevp ! time step for subcycling … … 125 124 REAL(wp) :: z0, zr, zcca, zccb ! temporary scalars 126 125 REAL(wp) :: zu_ice2, zv_ice1 ! 127 REAL(wp) :: zddc, zdtc, zzdst ! delta on corners and on centre 126 REAL(wp) :: zddc, zdtc ! delta on corners and on centre 127 REAL(wp) :: zdst ! shear at the center of the grid point 128 128 REAL(wp) :: zdsshx, zdsshy ! term for the gradient of ocean surface 129 129 REAL(wp) :: sigma1, sigma2 ! internal ice stress 130 130 131 131 REAL(wp) :: zresm ! Maximal error on ice velocity 132 REAL(wp) :: zindb ! ice (1) or not (0)133 132 REAL(wp) :: zdummy ! dummy argument 134 133 REAL(wp) :: zintb, zintn ! dummy argument … … 140 139 REAL(wp), POINTER, DIMENSION(:,:) :: zcorl1, zcorl2 ! coriolis parameter on U/V points 141 140 REAL(wp), POINTER, DIMENSION(:,:) :: za1ct , za2ct ! temporary arrays 142 REAL(wp), POINTER, DIMENSION(:,:) :: zc1 ! ice mass143 REAL(wp), POINTER, DIMENSION(:,:) :: zusw ! temporary weight for ice strength computation144 141 REAL(wp), POINTER, DIMENSION(:,:) :: u_oce1, v_oce1 ! ocean u/v component on U points 145 142 REAL(wp), POINTER, DIMENSION(:,:) :: u_oce2, v_oce2 ! ocean u/v component on V points … … 147 144 REAL(wp), POINTER, DIMENSION(:,:) :: zf1 , zf2 ! arrays for internal stresses 148 145 149 REAL(wp), POINTER, DIMENSION(:,:) :: zd d , zdt ! Divergence andtension at centre of grid cells146 REAL(wp), POINTER, DIMENSION(:,:) :: zdt ! tension at centre of grid cells 150 147 REAL(wp), POINTER, DIMENSION(:,:) :: zds ! Shear on northeast corner of grid cells 151 REAL(wp), POINTER, DIMENSION(:,:) :: zdst ! Shear on centre of grid cells152 REAL(wp), POINTER, DIMENSION(:,:) :: deltat, deltac ! Delta at centre and corners of grid cells153 148 REAL(wp), POINTER, DIMENSION(:,:) :: zs1 , zs2 ! Diagonal stress tensor components zs1 and zs2 154 149 REAL(wp), POINTER, DIMENSION(:,:) :: zs12 ! Non-diagonal stress tensor component zs12 … … 160 155 161 156 CALL wrk_alloc( jpi,jpj, zpresh, zfrld1, zmass1, zcorl1, za1ct , zpreshc, zfrld2, zmass2, zcorl2, za2ct ) 162 CALL wrk_alloc( jpi,jpj, zc1 , u_oce1, u_oce2, u_ice2, zusw, v_oce1 , v_oce2, v_ice1 )163 CALL wrk_alloc( jpi,jpj, zf1 , deltat, zu_ice, zf2 , deltac, zv_ice , zdd , zdt , zds , zdst)164 CALL wrk_alloc( jpi,jpj, zd d , zdt , zds , zs1 , zs2 , zs12 , zresr , zpice )157 CALL wrk_alloc( jpi,jpj, u_oce1, u_oce2, u_ice2, v_oce1 , v_oce2, v_ice1 ) 158 CALL wrk_alloc( jpi,jpj, zf1 , zu_ice, zf2 , zv_ice , zdt , zds ) 159 CALL wrk_alloc( jpi,jpj, zdt , zds , zs1 , zs2 , zs12 , zresr , zpice ) 165 160 166 161 #if defined key_lim2 && ! defined key_lim2_vp … … 179 174 ! 180 175 !------------------------------------------------------------------------------! 181 ! 1) Ice -Snow mass (zc1), icestrength (zpresh) !176 ! 1) Ice strength (zpresh) ! 182 177 !------------------------------------------------------------------------------! 183 178 ! 184 179 ! Put every vector to 0 185 zpresh (:,:) = 0._wp ; zc1 (:,:) = 0._wp 180 delta_i(:,:) = 0._wp ; 181 zpresh (:,:) = 0._wp ; 186 182 zpreshc(:,:) = 0._wp 187 183 u_ice2 (:,:) = 0._wp ; v_ice1(:,:) = 0._wp 188 zdd (:,:) = 0._wp ; zdt (:,:) = 0._wp ; zds(:,:) = 0._wp 184 divu_i (:,:) = 0._wp ; zdt (:,:) = 0._wp ; zds(:,:) = 0._wp 185 shear_i(:,:) = 0._wp 189 186 190 187 #if defined key_lim3 … … 196 193 !CDIR NOVERRCHK 197 194 DO ji = 1 , jpi 198 zc1(ji,jj) = tms(ji,jj) * ( rhosn * vt_s(ji,jj) + rhoic * vt_i(ji,jj) )199 195 #if defined key_lim3 200 196 zpresh(ji,jj) = tms(ji,jj) * strength(ji,jj) … … 218 214 & tms(ji+1,jj) * wght(ji+1,jj+1,2,1) + & 219 215 & tms(ji,jj) * wght(ji+1,jj+1,1,1) 220 zusw(ji,jj) = 1.0 / MAX( zstms, epsd )221 216 zpreshc(ji,jj) = ( zpresh(ji+1,jj+1) * wght(ji+1,jj+1,2,2) + & 222 217 & zpresh(ji,jj+1) * wght(ji+1,jj+1,1,2) + & 223 218 & zpresh(ji+1,jj) * wght(ji+1,jj+1,2,1) + & 224 219 & zpresh(ji,jj) * wght(ji+1,jj+1,1,1) & 225 & ) * zusw(ji,jj)220 & ) / MAX( zstms, epsd ) 226 221 END DO 227 222 END DO … … 265 260 DO ji = fs_2, fs_jpim1 266 261 262 zc1 = tms(ji ,jj ) * ( rhosn * vt_s(ji ,jj ) + rhoic * vt_i(ji ,jj ) ) 263 zc2 = tms(ji+1,jj ) * ( rhosn * vt_s(ji+1,jj ) + rhoic * vt_i(ji+1,jj ) ) 264 zc3 = tms(ji ,jj+1) * ( rhosn * vt_s(ji ,jj+1) + rhoic * vt_i(ji ,jj+1) ) 265 267 266 zt11 = tms(ji ,jj) * e1t(ji ,jj) 268 267 zt12 = tms(ji+1,jj) * e1t(ji+1,jj) … … 275 274 276 275 ! Mass, coriolis coeff. and currents 277 zmass1(ji,jj) = ( zt12*zc1 (ji,jj) + zt11*zc1(ji+1,jj)) / (zt11+zt12+epsd)278 zmass2(ji,jj) = ( zt22*zc1 (ji,jj) + zt21*zc1(ji,jj+1)) / (zt21+zt22+epsd)276 zmass1(ji,jj) = ( zt12*zc1 + zt11*zc2 ) / (zt11+zt12+epsd) 277 zmass2(ji,jj) = ( zt22*zc1 + zt21*zc3 ) / (zt21+zt22+epsd) 279 278 zcorl1(ji,jj) = zmass1(ji,jj) * ( e1t(ji+1,jj)*fcor(ji,jj) + e1t(ji,jj)*fcor(ji+1,jj) ) & 280 279 & / ( e1t(ji,jj) + e1t(ji+1,jj) + epsd ) … … 344 343 ! 345 344 !- Divergence, tension and shear (Section a. Appendix B of Hunke & Dukowicz, 2002) 346 !- zdd(:,:), zdt(:,:): divergence and tension at centre of grid cells345 !- divu_i(:,:), zdt(:,:): divergence and tension at centre of grid cells 347 346 !- zds(:,:): shear on northeast corner of grid cells 348 347 ! … … 353 352 ! bugs (Martin, for Miguel). 354 353 ! 355 !- ALSO: arrays zd d, zdt, zds and delta could354 !- ALSO: arrays zdt, zds and delta could 356 355 ! be removed in the future to minimise memory demand. 357 356 ! … … 361 360 ! 362 361 ! 363 zdd(ji,jj) = ( e2u(ji,jj)*u_ice(ji,jj) &364 & -e2u(ji-1,jj)*u_ice(ji-1,jj) &365 & +e1v(ji,jj)*v_ice(ji,jj) &366 & -e1v(ji,jj-1)*v_ice(ji,jj-1) &367 & ) &368 & / area(ji,jj)362 divu_i(ji,jj) = ( e2u(ji,jj)*u_ice(ji,jj) & 363 & -e2u(ji-1,jj)*u_ice(ji-1,jj) & 364 & +e1v(ji,jj)*v_ice(ji,jj) & 365 & -e1v(ji,jj-1)*v_ice(ji,jj-1) & 366 & ) & 367 & / area(ji,jj) 369 368 370 369 zdt(ji,jj) = ( ( u_ice(ji,jj)/e2u(ji,jj) & … … 408 407 409 408 !- Calculate Delta at centre of grid cells 410 z zdst = ( e2u(ji , jj) * v_ice1(ji ,jj) &409 zdst = ( e2u(ji , jj) * v_ice1(ji ,jj) & 411 410 & - e2u(ji-1, jj) * v_ice1(ji-1,jj) & 412 411 & + e1v(ji, jj ) * u_ice2(ji,jj ) & … … 415 414 & / area(ji,jj) 416 415 417 delta = SQRT( zdd(ji,jj)*zdd(ji,jj) + ( zdt(ji,jj)*zdt(ji,jj) + zzdst*zzdst ) * usecc2 ) 418 ! MV rewriting 419 ! deltat(ji,jj) = MAX( SQRT(zdd(ji,jj)**2 + (zdt(ji,jj)**2 + zzdst**2)*usecc2), creepl ) 420 !!gm faster to replace the line above with simply: 421 !! deltat(ji,jj) = MAX( delta, creepl ) 422 !!gm end 423 deltat(ji,jj) = delta + creepl 424 ! END MV 416 delta = SQRT( divu_i(ji,jj)*divu_i(ji,jj) + ( zdt(ji,jj)*zdt(ji,jj) + zdst*zdst ) * usecc2 ) 417 delta_i(ji,jj) = delta + creepl 425 418 !-Calculate stress tensor components zs1 and zs2 426 419 !-at centre of grid cells (see section 3.5 of CICE user's guide). 427 !zs1(ji,jj) = ( zs1(ji,jj) - dtotel*( ( 1._wp - alphaevp) * zs1(ji,jj) + & 428 ! & ( delta / deltat(ji,jj) - zdd(ji,jj) / deltat(ji,jj) ) * zpresh(ji,jj) ) ) & 429 ! & / ( 1._wp + alphaevp * dtotel ) 430 431 !zs2(ji,jj) = ( zs2(ji,jj) - dtotel * ( ( 1._wp - alphaevp ) * ecc2 * zs2(ji,jj) - & 432 ! zdt(ji,jj) / deltat(ji,jj) * zpresh(ji,jj) ) ) & 433 ! & / ( 1._wp + alphaevp * ecc2 * dtotel ) 434 435 ! new formulation from S. Bouillon to help stabilizing the code (no need of alphaevp) 436 zs1(ji,jj) = ( zs1(ji,jj) + dtotel * ( ( zdd(ji,jj) / deltat(ji,jj) - delta / deltat(ji,jj) ) & 420 zs1(ji,jj) = ( zs1(ji,jj) + dtotel * ( ( divu_i(ji,jj) / delta_i(ji,jj) - delta / delta_i(ji,jj) ) & 437 421 & * zpresh(ji,jj) ) ) / ( 1._wp + dtotel ) 438 zs2(ji,jj) = ( zs2(ji,jj) + dtotel * ( ecci * zdt(ji,jj) / delta t(ji,jj) * zpresh(ji,jj) ) ) &422 zs2(ji,jj) = ( zs2(ji,jj) + dtotel * ( ecci * zdt(ji,jj) / delta_i(ji,jj) * zpresh(ji,jj) ) ) & 439 423 & / ( 1._wp + dtotel ) 440 424 … … 468 452 & / ( e1f(ji,jj) * e2f(ji,jj) ) 469 453 470 deltac(ji,jj)= SQRT(zddc**2+(zdtc**2+zds(ji,jj)**2)*usecc2) + creepl454 zddc = SQRT(zddc**2+(zdtc**2+zds(ji,jj)**2)*usecc2) + creepl 471 455 472 456 !-Calculate stress tensor component zs12 at corners (see section 3.5 of CICE user's guide). 473 !zs12(ji,jj) = ( zs12(ji,jj) - dtotel * ( (1.0-alphaevp) * ecc2 * zs12(ji,jj) - zds(ji,jj) / &474 ! & ( 2._wp * deltac(ji,jj) ) * zpreshc(ji,jj) ) ) &475 ! & / ( 1._wp + alphaevp * ecc2 * dtotel )476 477 ! new formulation from S. Bouillon to help stabilizing the code (no need of alphaevp)478 457 zs12(ji,jj) = ( zs12(ji,jj) + dtotel * & 479 & ( ecci * zds(ji,jj) / ( 2._wp * deltac(ji,jj)) * zpreshc(ji,jj) ) ) &458 & ( ecci * zds(ji,jj) / ( 2._wp * zddc ) * zpreshc(ji,jj) ) ) & 480 459 & / ( 1.0 + dtotel ) 481 460 … … 513 492 DO ji = fs_2, fs_jpim1 514 493 zmask = (1.0-MAX(0._wp,SIGN(1._wp,-zmass1(ji,jj))))*tmu(ji,jj) 515 zsang = SIGN ( 1.0 , fcor(ji,jj) ) * sangvg516 494 z0 = zmass1(ji,jj)/dtevp 517 495 … … 523 501 (zv_ice1-v_oce1(ji,jj))**2) * (1.0-zfrld1(ji,jj)) 524 502 zr = z0*u_ice(ji,jj) + zf1(ji,jj) + za1ct(ji,jj) + & 525 za*( cangvg*u_oce1(ji,jj)-zsang*v_oce1(ji,jj))526 zcca = z0+za *cangvg527 zccb = zcorl1(ji,jj) +za*zsang503 za*(u_oce1(ji,jj)) 504 zcca = z0+za 505 zccb = zcorl1(ji,jj) 528 506 u_ice(ji,jj) = (zr+zccb*zv_ice1)/(zcca+epsd)*zmask 529 507 … … 536 514 #endif 537 515 #if defined key_bdy 538 ! clem: change u_ice and v_ice at the boundary for each iteration539 516 CALL bdy_ice_lim_dyn( 'U' ) 540 517 #endif … … 546 523 547 524 zmask = (1.0-MAX(0._wp,SIGN(1._wp,-zmass2(ji,jj))))*tmv(ji,jj) 548 zsang = SIGN(1.0,fcor(ji,jj))*sangvg549 525 z0 = zmass2(ji,jj)/dtevp 550 526 ! SB modif because ocean has no slip boundary condition … … 555 531 (v_ice(ji,jj)-v_oce2(ji,jj))**2)*(1.0-zfrld2(ji,jj)) 556 532 zr = z0*v_ice(ji,jj) + zf2(ji,jj) + & 557 za2ct(ji,jj) + za*( cangvg*v_oce2(ji,jj)+zsang*u_oce2(ji,jj))558 zcca = z0+za *cangvg559 zccb = zcorl2(ji,jj) +za*zsang533 za2ct(ji,jj) + za*(v_oce2(ji,jj)) 534 zcca = z0+za 535 zccb = zcorl2(ji,jj) 560 536 v_ice(ji,jj) = (zr-zccb*zu_ice2)/(zcca+epsd)*zmask 561 537 … … 568 544 #endif 569 545 #if defined key_bdy 570 ! clem: change u_ice and v_ice at the boundary for each iteration571 546 CALL bdy_ice_lim_dyn( 'V' ) 572 547 #endif … … 578 553 DO ji = fs_2, fs_jpim1 579 554 zmask = (1.0-MAX(0._wp,SIGN(1._wp,-zmass2(ji,jj))))*tmv(ji,jj) 580 zsang = SIGN(1.0,fcor(ji,jj))*sangvg581 555 z0 = zmass2(ji,jj)/dtevp 582 556 ! SB modif because ocean has no slip boundary condition … … 588 562 (v_ice(ji,jj)-v_oce2(ji,jj))**2)*(1.0-zfrld2(ji,jj)) 589 563 zr = z0*v_ice(ji,jj) + zf2(ji,jj) + & 590 za2ct(ji,jj) + za*( cangvg*v_oce2(ji,jj)+zsang*u_oce2(ji,jj))591 zcca = z0+za *cangvg592 zccb = zcorl2(ji,jj) +za*zsang564 za2ct(ji,jj) + za*(v_oce2(ji,jj)) 565 zcca = z0+za 566 zccb = zcorl2(ji,jj) 593 567 v_ice(ji,jj) = (zr-zccb*zu_ice2)/(zcca+epsd)*zmask 594 568 … … 601 575 #endif 602 576 #if defined key_bdy 603 ! clem: change u_ice and v_ice at the boundary for each iteration604 577 CALL bdy_ice_lim_dyn( 'V' ) 605 578 #endif … … 610 583 DO ji = fs_2, fs_jpim1 611 584 zmask = (1.0-MAX(0._wp,SIGN(1._wp,-zmass1(ji,jj))))*tmu(ji,jj) 612 zsang = SIGN(1.0,fcor(ji,jj))*sangvg613 585 z0 = zmass1(ji,jj)/dtevp 614 ! SB modif because ocean has no slip boundary condition615 ! GG Bug616 ! zv_ice1 = 0.5*( (v_ice(ji,jj)+v_ice(ji,jj-1))*e1t(ji+1,jj) &617 ! & +(v_ice(ji+1,jj)+v_ice(ji+1,jj-1))*e1t(ji,jj)) &618 ! & /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj)619 586 zv_ice1 = 0.5*( (v_ice(ji,jj)+v_ice(ji,jj-1))*e1t(ji,jj) & 620 587 & +(v_ice(ji+1,jj)+v_ice(ji+1,jj-1))*e1t(ji+1,jj)) & … … 624 591 (zv_ice1-v_oce1(ji,jj))**2)*(1.0-zfrld1(ji,jj)) 625 592 zr = z0*u_ice(ji,jj) + zf1(ji,jj) + za1ct(ji,jj) + & 626 za*( cangvg*u_oce1(ji,jj)-zsang*v_oce1(ji,jj))627 zcca = z0+za *cangvg628 zccb = zcorl1(ji,jj) +za*zsang593 za*(u_oce1(ji,jj)) 594 zcca = z0+za 595 zccb = zcorl1(ji,jj) 629 596 u_ice(ji,jj) = (zr+zccb*zv_ice1)/(zcca+epsd)*zmask 630 597 END DO ! ji … … 636 603 #endif 637 604 #if defined key_bdy 638 ! clem: change u_ice and v_ice at the boundary for each iteration639 605 CALL bdy_ice_lim_dyn( 'U' ) 640 606 #endif … … 666 632 !CDIR NOVERRCHK 667 633 DO ji = fs_2, fs_jpim1 668 zindb = MAX( 0.0, SIGN( 1.0, at_i(ji,jj) - epsi10 ) )669 !zdummy = zindb * vt_i(ji,jj) / MAX(at_i(ji,jj) , epsi10 )670 634 zdummy = vt_i(ji,jj) 671 635 IF ( zdummy .LE. hminrhg ) THEN … … 683 647 #endif 684 648 #if defined key_bdy 685 ! clem: change u_ice and v_ice at the boundary686 649 CALL bdy_ice_lim_dyn( 'U' ) 687 650 CALL bdy_ice_lim_dyn( 'V' ) … … 690 653 DO jj = k_j1+1, k_jpj-1 691 654 DO ji = fs_2, fs_jpim1 692 zindb = MAX( 0.0, SIGN( 1.0, at_i(ji,jj) - epsi10 ) )693 !zdummy = zindb * vt_i(ji,jj) / MAX(at_i(ji,jj) , epsi10 )694 655 zdummy = vt_i(ji,jj) 695 656 IF ( zdummy .LE. hminrhg ) THEN … … 713 674 !CDIR NOVERRCHK 714 675 DO ji = fs_2, jpim1 !RB bug no vect opt due to tmi 715 !- zdd(:,:), zdt(:,:): divergence and tension at centre676 !- divu_i(:,:), zdt(:,:): divergence and tension at centre 716 677 !- zds(:,:): shear on northeast corner of grid cells 717 zindb = MAX( 0.0, SIGN( 1.0, at_i(ji,jj) - epsi10 ) )718 !zdummy = zindb * vt_i(ji,jj) / MAX(at_i(ji,jj) , epsi10 )719 678 zdummy = vt_i(ji,jj) 720 679 IF ( zdummy .LE. hminrhg ) THEN 721 680 722 zdd(ji,jj) = ( e2u(ji,jj)*u_ice(ji,jj) &723 & -e2u(ji-1,jj)*u_ice(ji-1,jj) &724 & +e1v(ji,jj)*v_ice(ji,jj) &725 & -e1v(ji,jj-1)*v_ice(ji,jj-1) &726 & ) &727 & / area(ji,jj)681 divu_i(ji,jj) = ( e2u(ji,jj)*u_ice(ji,jj) & 682 & -e2u(ji-1,jj)*u_ice(ji-1,jj) & 683 & +e1v(ji,jj)*v_ice(ji,jj) & 684 & -e1v(ji,jj-1)*v_ice(ji,jj-1) & 685 & ) & 686 & / area(ji,jj) 728 687 729 688 zdt(ji,jj) = ( ( u_ice(ji,jj)/e2u(ji,jj) & … … 747 706 & * tmi(ji+1,jj) * tmi(ji+1,jj+1) 748 707 749 zdst (ji,jj)= ( e2u( ji , jj ) * v_ice1(ji ,jj ) &708 zdst = ( e2u( ji , jj ) * v_ice1(ji ,jj ) & 750 709 & - e2u( ji-1, jj ) * v_ice1(ji-1,jj ) & 751 710 & + e1v( ji , jj ) * u_ice2(ji ,jj ) & 752 711 & - e1v( ji , jj-1 ) * u_ice2(ji ,jj-1) ) / area(ji,jj) 753 712 754 ! deltat(ji,jj) = SQRT( zdd(ji,jj)*zdd(ji,jj) & 755 ! & + ( zdt(ji,jj)*zdt(ji,jj) + zdst(ji,jj)*zdst(ji,jj) ) * usecc2 & 756 ! & ) + creepl 757 ! MV rewriting 758 delta = SQRT( zdd(ji,jj)*zdd(ji,jj) + ( zdt(ji,jj)*zdt(ji,jj) + zdst(ji,jj)*zdst(ji,jj) ) * usecc2 ) 759 deltat(ji,jj) = delta + creepl 760 ! END MV 713 delta = SQRT( divu_i(ji,jj)*divu_i(ji,jj) + ( zdt(ji,jj)*zdt(ji,jj) + zdst*zdst ) * usecc2 ) 714 delta_i(ji,jj) = delta + creepl 761 715 762 716 ENDIF ! zdummy … … 773 727 DO jj = k_j1+1, k_jpj-1 774 728 DO ji = fs_2, fs_jpim1 775 divu_i (ji,jj) = zdd (ji,jj)776 delta_i(ji,jj) = deltat(ji,jj)777 729 ! begin TECLIM change 778 zdst (ji,jj)= ( e2u( ji , jj ) * v_ice1(ji,jj) &730 zdst= ( e2u( ji , jj ) * v_ice1(ji,jj) & 779 731 & - e2u( ji-1, jj ) * v_ice1(ji-1,jj) & 780 732 & + e1v( ji , jj ) * u_ice2(ji,jj) & 781 733 & - e1v( ji , jj-1 ) * u_ice2(ji,jj-1) ) / area(ji,jj) 782 shear_i(ji,jj) = SQRT( zdt(ji,jj) * zdt(ji,jj) + zdst (ji,jj) * zdst(ji,jj))734 shear_i(ji,jj) = SQRT( zdt(ji,jj) * zdt(ji,jj) + zdst * zdst ) 783 735 ! end TECLIM change 784 736 END DO … … 834 786 ! 835 787 CALL wrk_dealloc( jpi,jpj, zpresh, zfrld1, zmass1, zcorl1, za1ct , zpreshc, zfrld2, zmass2, zcorl2, za2ct ) 836 CALL wrk_dealloc( jpi,jpj, zc1 , u_oce1, u_oce2, u_ice2, zusw, v_oce1 , v_oce2, v_ice1 )837 CALL wrk_dealloc( jpi,jpj, zf1 , deltat, zu_ice, zf2 , deltac, zv_ice , zdd , zdt , zds , zdst)838 CALL wrk_dealloc( jpi,jpj, zd d , zdt , zds , zs1 , zs2 , zs12 , zresr , zpice )788 CALL wrk_dealloc( jpi,jpj, u_oce1, u_oce2, u_ice2, v_oce1 , v_oce2, v_ice1 ) 789 CALL wrk_dealloc( jpi,jpj, zf1 , zu_ice, zf2 , zv_ice , zdt , zds ) 790 CALL wrk_dealloc( jpi,jpj, zdt , zds , zs1 , zs2 , zs12 , zresr , zpice ) 839 791 840 792 END SUBROUTINE lim_rhg
Note: See TracChangeset
for help on using the changeset viewer.