- Timestamp:
- 2015-07-21T13:25:36+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5151_UKMO_ISF/NEMOGCM/NEMO/LIM_SRC_3/limitd_th.F90
r5134 r5621 91 91 !!------------------------------------------------------------------ 92 92 93 CALL wrk_alloc( jpi,jpj, zremap_flag ) ! integer94 CALL wrk_alloc( jpi,jpj,jpl-1, zdonor ) ! integer93 CALL wrk_alloc( jpi,jpj, zremap_flag ) 94 CALL wrk_alloc( jpi,jpj,jpl-1, zdonor ) 95 95 CALL wrk_alloc( jpi,jpj,jpl, zdhice, g0, g1, hL, hR, zht_i_b, dummy_es ) 96 96 CALL wrk_alloc( jpi,jpj,jpl-1, zdaice, zdvice ) 97 97 CALL wrk_alloc( jpi,jpj,jpl+1, zhbnew, kkstart = 0 ) 98 98 CALL wrk_alloc( (jpi+1)*(jpj+1), zvetamin, zvetamax ) 99 CALL wrk_alloc( (jpi+1)*(jpj+1), nind_i, nind_j ) ! integer99 CALL wrk_alloc( (jpi+1)*(jpj+1), nind_i, nind_j ) 100 100 CALL wrk_alloc( jpi,jpj, zhb0,zhb1,vt_i_init,vt_i_final,vt_s_init,vt_s_final,et_i_init,et_i_final,et_s_init,et_s_final ) 101 101 … … 128 128 rswitch = MAX( 0.0, SIGN( 1.0, a_i(ji,jj,jl) - epsi10 ) ) !0 if no ice and 1 if yes 129 129 ht_i(ji,jj,jl) = v_i(ji,jj,jl) / MAX( a_i(ji,jj,jl), epsi10 ) * rswitch 130 rswitch = MAX( 0.0, SIGN( 1.0, a_i_b(ji,jj,jl) - epsi10) ) !0 if no ice and 1 if yes130 rswitch = MAX( 0.0, SIGN( 1.0, a_i_b(ji,jj,jl) - epsi10) ) 131 131 zht_i_b(ji,jj,jl) = v_i_b(ji,jj,jl) / MAX( a_i_b(ji,jj,jl), epsi10 ) * rswitch 132 !clem IF( a_i(ji,jj,jl) > epsi10 ) zdhice(ji,jj,jl) = ht_i(ji,jj,jl) - zht_i_b(ji,jj,jl) 133 zdhice(ji,jj,jl) = ht_i(ji,jj,jl) - zht_i_b(ji,jj,jl) 132 IF( a_i(ji,jj,jl) > epsi10 ) zdhice(ji,jj,jl) = ht_i(ji,jj,jl) - zht_i_b(ji,jj,jl) ! clem: useless IF statement? 134 133 END DO 135 134 END DO … … 173 172 ! 174 173 zhbnew(ii,ij,jl) = hi_max(jl) 175 IF ( a_i_b(ii,ij,jl) > epsi10 .AND. a_i_b(ii,ij,jl+1) > epsi10 ) THEN174 IF ( a_i_b(ii,ij,jl) > epsi10 .AND. a_i_b(ii,ij,jl+1) > epsi10 ) THEN 176 175 !interpolate between adjacent category growth rates 177 176 zslope = ( zdhice(ii,ij,jl+1) - zdhice(ii,ij,jl) ) / ( zht_i_b(ii,ij,jl+1) - zht_i_b(ii,ij,jl) ) 178 177 zhbnew(ii,ij,jl) = hi_max(jl) + zdhice(ii,ij,jl) + zslope * ( hi_max(jl) - zht_i_b(ii,ij,jl) ) 179 ELSEIF 178 ELSEIF( a_i_b(ii,ij,jl) > epsi10) THEN 180 179 zhbnew(ii,ij,jl) = hi_max(jl) + zdhice(ii,ij,jl) 181 ELSEIF 180 ELSEIF( a_i_b(ii,ij,jl+1) > epsi10) THEN 182 181 zhbnew(ii,ij,jl) = hi_max(jl) + zdhice(ii,ij,jl+1) 183 182 ENDIF … … 188 187 ii = nind_i(ji) 189 188 ij = nind_j(ji) 190 IF( a_i(ii,ij,jl) > epsi10 .AND. ht_i(ii,ij,jl) >= zhbnew(ii,ij,jl) ) THEN 189 190 ! clem: we do not want ht_i to be too close to either HR or HL otherwise a division by nearly 0 is possible 191 ! in lim_itd_fitline in the case (HR-HL) = 3(Hice - HL) or = 3(HR - Hice) 192 IF ( a_i(ii,ij,jl ) > epsi10 .AND. ht_i(ii,ij,jl ) > ( zhbnew(ii,ij,jl) - epsi10 ) ) THEN 191 193 zremap_flag(ii,ij) = 0 192 ELSEIF( a_i(ii,ij,jl+1) > epsi10 .AND. ht_i(ii,ij,jl+1) < = zhbnew(ii,ij,jl) ) THEN194 ELSEIF( a_i(ii,ij,jl+1) > epsi10 .AND. ht_i(ii,ij,jl+1) < ( zhbnew(ii,ij,jl) + epsi10 ) ) THEN 193 195 zremap_flag(ii,ij) = 0 194 196 ENDIF 195 197 196 198 !- 4.3 Check that each zhbnew does not exceed maximal values hi_max 199 IF( zhbnew(ii,ij,jl) < hi_max(jl-1) ) zremap_flag(ii,ij) = 0 197 200 IF( zhbnew(ii,ij,jl) > hi_max(jl+1) ) zremap_flag(ii,ij) = 0 198 IF( zhbnew(ii,ij,jl) < hi_max(jl-1) ) zremap_flag(ii,ij) = 0 201 ! clem bug: why is not the following instead? 202 !!IF( zhbnew(ii,ij,jl) < hi_max(jl-1) ) zremap_flag(ii,ij) = 0 203 !!IF( zhbnew(ii,ij,jl) > hi_max(jl ) ) zremap_flag(ii,ij) = 0 204 199 205 END DO 200 206 … … 220 226 DO jj = 1, jpj 221 227 DO ji = 1, jpi 222 zhb0(ji,jj) = hi_max(0) ! 0eme 223 zhb1(ji,jj) = hi_max(1) ! 1er 224 225 zhbnew(ji,jj,klbnd-1) = 0._wp 228 zhb0(ji,jj) = hi_max(0) 229 zhb1(ji,jj) = hi_max(1) 226 230 227 231 IF( a_i(ji,jj,kubnd) > epsi10 ) THEN 228 232 zhbnew(ji,jj,kubnd) = MAX( hi_max(kubnd-1), 3._wp * ht_i(ji,jj,kubnd) - 2._wp * zhbnew(ji,jj,kubnd-1) ) 229 233 ELSE 230 zhbnew(ji,jj,kubnd) = hi_max(kubnd) 231 !!? clem bug: since hi_max(jpl)=99, this limit is very high 232 !!? but I think it is erased in fitline subroutine 234 !clem bug zhbnew(ji,jj,kubnd) = hi_max(kubnd) 235 zhbnew(ji,jj,kubnd) = hi_max(kubnd-1) ! not used anyway 236 ENDIF 237 238 ! clem: we do not want ht_i_b to be too close to either HR or HL otherwise a division by nearly 0 is possible 239 ! in lim_itd_fitline in the case (HR-HL) = 3(Hice - HL) or = 3(HR - Hice) 240 IF ( zht_i_b(ji,jj,klbnd) < ( zhb0(ji,jj) + epsi10 ) ) THEN 241 zremap_flag(ji,jj) = 0 242 ELSEIF( zht_i_b(ji,jj,klbnd) > ( zhb1(ji,jj) - epsi10 ) ) THEN 243 zremap_flag(ji,jj) = 0 233 244 ENDIF 234 245 … … 249 260 250 261 IF( a_i(ii,ij,klbnd) > epsi10 ) THEN 262 251 263 zdh0 = zdhice(ii,ij,klbnd) !decrease of ice thickness in the lower category 252 IF( zdh0 < 0.0 ) THEN !remove area from category 1 264 265 IF( zdh0 < 0.0 ) THEN !remove area from category 1 253 266 zdh0 = MIN( -zdh0, hi_max(klbnd) ) 254 255 267 !Integrate g(1) from 0 to dh0 to estimate area melted 256 268 zetamax = MIN( zdh0, hR(ii,ij,klbnd) ) - hL(ii,ij,klbnd) 269 257 270 IF( zetamax > 0.0 ) THEN 258 zx1 = zetamax 259 zx2 = 0.5 * zetamax * zetamax 260 zda0 = g1(ii,ij,klbnd) * zx2 + g0(ii,ij,klbnd) * zx1 !ice area removed 261 ! Constrain new thickness <= ht_i 262 zdamax = a_i(ii,ij,klbnd) * (1.0 - ht_i(ii,ij,klbnd) / zht_i_b(ii,ij,klbnd) ) ! zdamax > 0 263 !ice area lost due to melting of thin ice 264 zda0 = MIN( zda0, zdamax ) 265 271 zx1 = zetamax 272 zx2 = 0.5 * zetamax * zetamax 273 zda0 = g1(ii,ij,klbnd) * zx2 + g0(ii,ij,klbnd) * zx1 ! ice area removed 274 zdamax = a_i(ii,ij,klbnd) * (1.0 - ht_i(ii,ij,klbnd) / zht_i_b(ii,ij,klbnd) ) ! Constrain new thickness <= ht_i 275 zda0 = MIN( zda0, zdamax ) ! ice area lost due to melting 276 ! of thin ice (zdamax > 0) 266 277 ! Remove area, conserving volume 267 278 ht_i(ii,ij,klbnd) = ht_i(ii,ij,klbnd) * a_i(ii,ij,klbnd) / ( a_i(ii,ij,klbnd) - zda0 ) … … 270 281 ENDIF 271 282 272 ELSE ! if ice accretion ! a_i > epsi10; zdh0 > 0 283 ELSE ! if ice accretion zdh0 > 0 284 ! zhbnew was 0, and is shifted to the right to account for thin ice growth in openwater (F0 = f1) 273 285 zhbnew(ii,ij,klbnd-1) = MIN( zdh0, hi_max(klbnd) ) 274 ! zhbnew was 0, and is shifted to the right to account for thin ice 275 ! growth in openwater (F0 = f1) 276 ENDIF ! zdh0 277 278 ENDIF ! a_i > epsi10 286 ENDIF 287 288 ENDIF 279 289 280 290 END DO … … 304 314 305 315 IF (zhbnew(ii,ij,jl) > hi_max(jl)) THEN ! transfer from jl to jl+1 306 307 316 ! left and right integration limits in eta space 308 317 zvetamin(ji) = MAX( hi_max(jl), hL(ii,ij,jl) ) - hL(ii,ij,jl) 309 zvetamax(ji) = MIN (zhbnew(ii,ij,jl), hR(ii,ij,jl) ) - hL(ii,ij,jl)318 zvetamax(ji) = MIN( zhbnew(ii,ij,jl), hR(ii,ij,jl) ) - hL(ii,ij,jl) 310 319 zdonor(ii,ij,jl) = jl 311 320 312 ELSE ! zhbnew(jl) <= hi_max(jl) ; transfer from jl+1 to jl 313 321 ELSE ! zhbnew(jl) <= hi_max(jl) ; transfer from jl+1 to jl 314 322 ! left and right integration limits in eta space 315 323 zvetamin(ji) = 0.0 … … 317 325 zdonor(ii,ij,jl) = jl + 1 318 326 319 ENDIF ! zhbnew(jl) > hi_max(jl)327 ENDIF 320 328 321 329 zetamax = MAX( zvetamax(ji), zvetamin(ji) ) ! no transfer if etamax < etamin … … 334 342 335 343 END DO 336 END DO ! jl klbnd -> kubnd - 1344 END DO 337 345 338 346 !!---------------------------------------------------------------------------------------------- … … 376 384 ENDIF 377 385 378 CALL wrk_dealloc( jpi,jpj, zremap_flag ) ! integer379 CALL wrk_dealloc( jpi,jpj,jpl-1, zdonor ) ! integer386 CALL wrk_dealloc( jpi,jpj, zremap_flag ) 387 CALL wrk_dealloc( jpi,jpj,jpl-1, zdonor ) 380 388 CALL wrk_dealloc( jpi,jpj,jpl, zdhice, g0, g1, hL, hR, zht_i_b, dummy_es ) 381 389 CALL wrk_dealloc( jpi,jpj,jpl-1, zdaice, zdvice ) 382 390 CALL wrk_dealloc( jpi,jpj,jpl+1, zhbnew, kkstart = 0 ) 383 391 CALL wrk_dealloc( (jpi+1)*(jpj+1), zvetamin, zvetamax ) 384 CALL wrk_dealloc( (jpi+1)*(jpj+1), nind_i, nind_j ) ! integer392 CALL wrk_dealloc( (jpi+1)*(jpj+1), nind_i, nind_j ) 385 393 CALL wrk_dealloc( jpi,jpj, zhb0,zhb1,vt_i_init,vt_i_final,vt_s_init,vt_s_final,et_i_init,et_i_final,et_s_init,et_s_final ) 386 394 … … 407 415 INTEGER , DIMENSION(jpi,jpj), INTENT(in ) :: zremap_flag ! 408 416 ! 409 INTEGER :: ji,jj! horizontal indices417 INTEGER :: ji,jj ! horizontal indices 410 418 REAL(wp) :: zh13 ! HbL + 1/3 * (HbR - HbL) 411 419 REAL(wp) :: zh23 ! HbL + 2/3 * (HbR - HbL) … … 414 422 !!------------------------------------------------------------------ 415 423 ! 416 !417 424 DO jj = 1, jpj 418 425 DO ji = 1, jpi 419 426 ! 420 427 IF( zremap_flag(ji,jj) == 1 .AND. a_i(ji,jj,num_cat) > epsi10 & 421 & .AND. hice(ji,jj) > 0._wp )THEN428 & .AND. hice(ji,jj) > 0._wp ) THEN 422 429 423 430 ! Initialize hL and hR 424 425 431 hL(ji,jj) = HbL(ji,jj) 426 432 hR(ji,jj) = HbR(ji,jj) 427 433 428 434 ! Change hL or hR if hice falls outside central third of range 429 430 435 zh13 = 1.0 / 3.0 * ( 2.0 * hL(ji,jj) + hR(ji,jj) ) 431 436 zh23 = 1.0 / 3.0 * ( hL(ji,jj) + 2.0 * hR(ji,jj) ) … … 436 441 437 442 ! Compute coefficients of g(eta) = g0 + g1*eta 438 439 443 zdhr = 1._wp / (hR(ji,jj) - hL(ji,jj)) 440 444 zwk1 = 6._wp * a_i(ji,jj,num_cat) * zdhr … … 443 447 g1(ji,jj) = 2._wp * zdhr * zwk1 * ( zwk2 - 0.5 ) 444 448 ! 445 ELSE 449 ELSE ! remap_flag = .false. or a_i < epsi10 446 450 hL(ji,jj) = 0._wp 447 451 hR(ji,jj) = 0._wp 448 452 g0(ji,jj) = 0._wp 449 453 g1(ji,jj) = 0._wp 450 ENDIF ! a_i > epsi10454 ENDIF 451 455 ! 452 456 END DO … … 472 476 473 477 INTEGER :: ji, jj, jl, jl2, jl1, jk ! dummy loop indices 474 INTEGER :: ii, ij ! indices when changing from 2D-1D is done478 INTEGER :: ii, ij ! indices when changing from 2D-1D is done 475 479 476 480 REAL(wp), POINTER, DIMENSION(:,:,:) :: zaTsfn … … 485 489 INTEGER, POINTER, DIMENSION(:) :: nind_i, nind_j ! compressed indices for i/j directions 486 490 487 INTEGER :: nbrem ! number of cells with ice to transfer 488 489 LOGICAL :: zdaice_negative ! true if daice < -puny 490 LOGICAL :: zdvice_negative ! true if dvice < -puny 491 LOGICAL :: zdaice_greater_aicen ! true if daice > aicen 492 LOGICAL :: zdvice_greater_vicen ! true if dvice > vicen 491 INTEGER :: nbrem ! number of cells with ice to transfer 493 492 !!------------------------------------------------------------------ 494 493 495 494 CALL wrk_alloc( jpi,jpj,jpl, zaTsfn ) 496 495 CALL wrk_alloc( jpi,jpj, zworka ) 497 CALL wrk_alloc( (jpi+1)*(jpj+1), nind_i, nind_j ) ! integer496 CALL wrk_alloc( (jpi+1)*(jpj+1), nind_i, nind_j ) 498 497 499 498 !---------------------------------------------------------------------------------------------- … … 505 504 END DO 506 505 507 !clem: I think the following is wrong (if enabled, it creates negative concentration/volume around -epsi10)508 ! !----------------------------------------------------------------------------------------------509 ! ! 2) Check for daice or dvice out of range, allowing for roundoff error510 ! !----------------------------------------------------------------------------------------------511 ! ! Note: zdaice < 0 or zdvice < 0 usually happens when category jl512 ! ! has a small area, with h(n) very close to a boundary. Then513 ! ! the coefficients of g(h) are large, and the computed daice and514 ! ! dvice can be in error. If this happens, it is best to transfer515 ! ! either the entire category or nothing at all, depending on which516 ! ! side of the boundary hice(n) lies.517 ! !-----------------------------------------------------------------518 ! DO jl = klbnd, kubnd-1519 !520 ! zdaice_negative = .false.521 ! zdvice_negative = .false.522 ! zdaice_greater_aicen = .false.523 ! zdvice_greater_vicen = .false.524 !525 ! DO jj = 1, jpj526 ! DO ji = 1, jpi527 !528 ! IF (zdonor(ji,jj,jl) > 0) THEN529 ! jl1 = zdonor(ji,jj,jl)530 !531 ! IF (zdaice(ji,jj,jl) < 0.0) THEN532 ! IF (zdaice(ji,jj,jl) > -epsi10) THEN533 ! IF ( ( jl1 == jl .AND. ht_i(ji,jj,jl1) > hi_max(jl) ) .OR. &534 ! ( jl1 == jl+1 .AND. ht_i(ji,jj,jl1) <= hi_max(jl) ) ) THEN535 ! zdaice(ji,jj,jl) = a_i(ji,jj,jl1) ! shift entire category536 ! zdvice(ji,jj,jl) = v_i(ji,jj,jl1)537 ! ELSE538 ! zdaice(ji,jj,jl) = 0.0 ! shift no ice539 ! zdvice(ji,jj,jl) = 0.0540 ! ENDIF541 ! ELSE542 ! zdaice_negative = .true.543 ! ENDIF544 ! ENDIF545 !546 ! IF (zdvice(ji,jj,jl) < 0.0) THEN547 ! IF (zdvice(ji,jj,jl) > -epsi10 ) THEN548 ! IF ( ( jl1 == jl .AND. ht_i(ji,jj,jl1) > hi_max(jl) ) .OR. &549 ! ( jl1 == jl+1 .AND. ht_i(ji,jj,jl1) <= hi_max(jl) ) ) THEN550 ! zdaice(ji,jj,jl) = a_i(ji,jj,jl1) ! shift entire category551 ! zdvice(ji,jj,jl) = v_i(ji,jj,jl1)552 ! ELSE553 ! zdaice(ji,jj,jl) = 0.0 ! shift no ice554 ! zdvice(ji,jj,jl) = 0.0555 ! ENDIF556 ! ELSE557 ! zdvice_negative = .true.558 ! ENDIF559 ! ENDIF560 !561 ! ! If daice is close to aicen, set daice = aicen.562 ! IF (zdaice(ji,jj,jl) > a_i(ji,jj,jl1) - epsi10 ) THEN563 ! IF (zdaice(ji,jj,jl) < a_i(ji,jj,jl1)+epsi10) THEN564 ! zdaice(ji,jj,jl) = a_i(ji,jj,jl1)565 ! zdvice(ji,jj,jl) = v_i(ji,jj,jl1)566 ! ELSE567 ! zdaice_greater_aicen = .true.568 ! ENDIF569 ! ENDIF570 !571 ! IF (zdvice(ji,jj,jl) > v_i(ji,jj,jl1)-epsi10) THEN572 ! IF (zdvice(ji,jj,jl) < v_i(ji,jj,jl1)+epsi10) THEN573 ! zdaice(ji,jj,jl) = a_i(ji,jj,jl1)574 ! zdvice(ji,jj,jl) = v_i(ji,jj,jl1)575 ! ELSE576 ! zdvice_greater_vicen = .true.577 ! ENDIF578 ! ENDIF579 !580 ! ENDIF ! donor > 0581 ! END DO582 ! END DO583 !584 ! END DO585 !clem586 506 !------------------------------------------------------------------------------- 587 ! 3) Transfer volume and energy between categories507 ! 2) Transfer volume and energy between categories 588 508 !------------------------------------------------------------------------------- 589 509 … … 605 525 606 526 jl1 = zdonor(ii,ij,jl) 607 rswitch = MAX( 0._wp , SIGN( 1._wp , v_i(ii,ij,jl1) - epsi 20 ) )608 zworka(ii,ij) = zdvice(ii,ij,jl) / MAX( v_i(ii,ij,jl1), epsi 20 ) * rswitch527 rswitch = MAX( 0._wp , SIGN( 1._wp , v_i(ii,ij,jl1) - epsi10 ) ) 528 zworka(ii,ij) = zdvice(ii,ij,jl) / MAX( v_i(ii,ij,jl1), epsi10 ) * rswitch 609 529 IF( jl1 == jl) THEN ; jl2 = jl1+1 610 530 ELSE ; jl2 = jl … … 614 534 ! Ice areas 615 535 !-------------- 616 617 536 a_i(ii,ij,jl1) = a_i(ii,ij,jl1) - zdaice(ii,ij,jl) 618 537 a_i(ii,ij,jl2) = a_i(ii,ij,jl2) + zdaice(ii,ij,jl) … … 621 540 ! Ice volumes 622 541 !-------------- 623 624 542 v_i(ii,ij,jl1) = v_i(ii,ij,jl1) - zdvice(ii,ij,jl) 625 543 v_i(ii,ij,jl2) = v_i(ii,ij,jl2) + zdvice(ii,ij,jl) … … 628 546 ! Snow volumes 629 547 !-------------- 630 631 548 zdvsnow = v_s(ii,ij,jl1) * zworka(ii,ij) 632 549 v_s(ii,ij,jl1) = v_s(ii,ij,jl1) - zdvsnow … … 636 553 ! Snow heat content 637 554 !-------------------- 638 639 555 zdesnow = e_s(ii,ij,1,jl1) * zworka(ii,ij) 640 556 e_s(ii,ij,1,jl1) = e_s(ii,ij,1,jl1) - zdesnow … … 644 560 ! Ice age 645 561 !-------------- 646 647 562 zdo_aice = oa_i(ii,ij,jl1) * zdaice(ii,ij,jl) 648 563 oa_i(ii,ij,jl1) = oa_i(ii,ij,jl1) - zdo_aice … … 652 567 ! Ice salinity 653 568 !-------------- 654 655 569 zdsm_vice = smv_i(ii,ij,jl1) * zworka(ii,ij) 656 570 smv_i(ii,ij,jl1) = smv_i(ii,ij,jl1) - zdsm_vice … … 660 574 ! Surface temperature 661 575 !--------------------- 662 663 576 zdaTsf = t_su(ii,ij,jl1) * zdaice(ii,ij,jl) 664 577 zaTsfn(ii,ij,jl1) = zaTsfn(ii,ij,jl1) - zdaTsf … … 711 624 CALL wrk_dealloc( jpi,jpj,jpl, zaTsfn ) 712 625 CALL wrk_dealloc( jpi,jpj, zworka ) 713 CALL wrk_dealloc( (jpi+1)*(jpj+1), nind_i, nind_j ) ! integer626 CALL wrk_dealloc( (jpi+1)*(jpj+1), nind_i, nind_j ) 714 627 ! 715 628 END SUBROUTINE lim_itd_shiftice … … 737 650 REAL(wp), POINTER, DIMENSION(:,:) :: vt_s_init, vt_s_final ! snow volume summed over categories 738 651 !!------------------------------------------------------------------ 739 !! clem 2014/04: be carefull, rebining does not conserve salt(maybe?) => the difference is taken into account in limupdate740 652 741 653 CALL wrk_alloc( jpi,jpj,jpl, zdonor ) ! interger … … 845 757 ENDIF 846 758 847 ! ! clem-change begin: why not doing that?848 ! DO jj = 1, jpj849 ! DO ji = 1, jpi850 ! IF( a_i(ji,jj,jl+1) > epsi10 .AND. ht_i(ji,jj,jl+1) <= hi_max(jl) ) THEN851 ! ht_i(ji,jj,jl+1) = hi_max(jl) + epsi10852 ! a_i (ji,jj,jl+1) = v_i(ji,jj,jl+1) / ht_i(ji,jj,jl+1)853 ! ENDIF854 ! END DO855 ! END DO856 ! clem-change end857 858 759 END DO 859 760 … … 872 773 ENDIF 873 774 ! 874 CALL wrk_dealloc( jpi,jpj,jpl, zdonor ) ! interger775 CALL wrk_dealloc( jpi,jpj,jpl, zdonor ) 875 776 CALL wrk_dealloc( jpi,jpj,jpl, zdaice, zdvice ) 876 777 CALL wrk_dealloc( jpi,jpj, vt_i_init, vt_i_final, vt_s_init, vt_s_final )
Note: See TracChangeset
for help on using the changeset viewer.