- Timestamp:
- 2018-07-29T11:23:51+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2018/dev_r9838_ENHANCE04_RK3/src/OCE/DOM/domvvl.F90
r10001 r10009 135 135 IF( dom_vvl_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'dom_vvl_init : unable to allocate arrays' ) 136 136 ! 137 ! ! Read or initialize e3t_(b/n), ssh(b/n)137 ! ! Read or initialize ssh(Nbb) & ssh(Nnn) 138 138 CALL dom_vvl_rst( nit000, 'READ' ) 139 139 ! … … 142 142 ! !* BEFORE fields : 143 143 CALL ssh2e3_before ! set: hu , hv , r1_hu, r1_hv 144 ! ! e3t, e3w, e3u, e3uw, e3v, e3vw145 ! 146 ! ! set one for all last level to the e3._0 value144 ! ! e3t, e3w, e3u, e3uw, e3v, e3vw (from 1 to jpkm1) 145 ! 146 ! ! set jpk level one to the e3._0 values 147 147 e3t_b(:,:,jpk) = e3t_0(:,:,jpk) ; e3u_b(:,:,jpk) = e3w_0(:,:,jpk) ; e3v_b(:,:,jpk) = e3v_0(:,:,jpk) 148 148 e3w_b(:,:,jpk) = e3w_0(:,:,jpk) ; e3uw_b(:,:,jpk) = e3uw_0(:,:,jpk) ; e3vw_b(:,:,jpk) = e3vw_0(:,:,jpk) … … 150 150 ! !* NOW fields : 151 151 CALL ssh2e3_now ! set: ht , hu , hv , r1_hu, r1_hv 152 ! ! e3t, e3w, e3u, e3uw, e3v, e3vw, e3f 152 ! ! e3t, e3w, e3u, e3uw, e3v, e3vw, e3f (from 1 to jpkm1) 153 153 ! ! gdept_n, gdepw_n, gde3w_n 154 !!gm issue? gdept_n, gdepw_n, gde3w_n never defined at jpk 154 155 ! 155 156 ! ! set one for all last level to the e3._0 value … … 230 231 ! !== after ssh ==! (u- and v-points) 231 232 DO jj = 2, jpjm1 ; DO ji = 2, jpim1 232 zsshu_h(ji,jj) = 0.5_wp * ( ssh a(ji,jj) + ssha(ji+1,jj) ) * ssumask(ji,jj)233 zsshv_h(ji,jj) = 0.5_wp * ( ssh a(ji,jj) + ssha(ji,jj+1) ) * ssvmask(ji,jj)233 zsshu_h(ji,jj) = 0.5_wp * ( ssh(ji,jj,Naa) + ssh(ji+1,jj,Naa) ) * ssumask(ji,jj) 234 zsshv_h(ji,jj) = 0.5_wp * ( ssh(ji,jj,Naa) + ssh(ji,jj+1,Naa) ) * ssvmask(ji,jj) 234 235 END DO ; END DO 235 236 CALL lbc_lnk_multi( zsshu_h(:,:), 'U', 1._wp , zsshv_h(:,:), 'V', 1._wp ) … … 242 243 ! 243 244 ! !== after scale factors ==! (e3t , e3u , e3v) 244 zssht_h(:,:) = ssh a (:,:) * r1_ht_0(:,:)! t-point245 zsshu_h(:,:) = zsshu_h(:,:) * r1_hu_0(:,:)! u-point246 zsshv_h(:,:) = zsshv_h(:,:) * r1_hv_0(:,:)! v-point245 zssht_h(:,:) = ssh (:,:,Naa) * r1_ht_0(:,:) ! t-point 246 zsshu_h(:,:) = zsshu_h(:,:) * r1_hu_0(:,:) ! u-point 247 zsshv_h(:,:) = zsshv_h(:,:) * r1_hv_0(:,:) ! v-point 247 248 DO jk = 1, jpkm1 248 249 e3t_a(:,:,jk) = e3t_0(:,:,jk) * ( 1._wp + zssht_h(:,:) * tmask(:,:,jk) ) … … 318 319 e3v_n (:,:,jk) = e3v_a (:,:,jk) 319 320 END DO 320 ht_n(:,:) = ht_0(:,:) + ssh n(:,:) ! ocean thickness321 ht_n(:,:) = ht_0(:,:) + ssh(:,:,Nnn) ! ocean thickness 321 322 ! 322 323 hu_n(:,:) = hu_a(:,:) ; r1_hu_n(:,:) = r1_hu_a(:,:) … … 326 327 ! !* ssh at u- and v-points) 327 328 DO jj = 2, jpjm1 ; DO ji = 2, jpim1 328 zsshu_h(ji,jj) = 0.5_wp * ( ssh b(ji ,jj) + sshb(ji+1,jj) ) * ssumask(ji,jj)329 zsshv_h(ji,jj) = 0.5_wp * ( ssh b(ji ,jj) + sshb(ji ,jj+1) ) * ssvmask(ji,jj)329 zsshu_h(ji,jj) = 0.5_wp * ( ssh(ji,jj,Nbb) + ssh(ji+1,jj ,Nbb) ) * ssumask(ji,jj) 330 zsshv_h(ji,jj) = 0.5_wp * ( ssh(ji,jj,Nbb) + ssh(ji ,jj+1,Nbb) ) * ssvmask(ji,jj) 330 331 END DO ; END DO 331 332 CALL lbc_lnk_multi( zsshu_h(:,:),'U', 1._wp , zsshv_h(:,:),'V', 1._wp ) 332 333 ! 333 334 ! !* e3w_b , e3uw_b , e3vw_b 334 zssht_h(:,:) = ssh b (:,:) * r1_ht_0(:,:)! w-point335 zsshu_h(:,:) = zsshu_h(:,:) * r1_hu_0(:,:)! uw-point336 zsshv_h(:,:) = zsshv_h(:,:) * r1_hv_0(:,:)! vw-point335 zssht_h(:,:) = ssh (:,:,Nbb) * r1_ht_0(:,:) ! w-point 336 zsshu_h(:,:) = zsshu_h(:,:) * r1_hu_0(:,:) ! uw-point 337 zsshv_h(:,:) = zsshv_h(:,:) * r1_hv_0(:,:) ! vw-point 337 338 DO jk = 1, jpkm1 338 e3w_b(:,:,jk) = e3w_0(:,:,jk) * ( 1._wp + zssht_h(:,:) * tmask(:,:,jk) )339 e3w_b(:,:,jk) = e3w_0(:,:,jk) * ( 1._wp + zssht_h(:,:) * MAX( tmask(:,:,jk) , tmask(:,:,jk+1) ) ) 339 340 e3uw_b(:,:,jk) = e3uw_0(:,:,jk) * ( 1._wp + zsshu_h(:,:) * umask(:,:,jk) ) 340 341 e3vw_b(:,:,jk) = e3vw_0(:,:,jk) * ( 1._wp + zsshv_h(:,:) * vmask(:,:,jk) ) … … 344 345 ! !* ssh at u- and v-points) 345 346 DO jj = 1, jpjm1 ; DO ji = 1, jpim1 ! start from 1 for f-point 346 zsshu_h(ji,jj) = 0.50_wp * ( ssh n(ji ,jj) + sshn(ji+1,jj) ) * ssumask(ji,jj)347 zsshv_h(ji,jj) = 0.50_wp * ( ssh n(ji ,jj) + sshn(ji ,jj+1) ) * ssvmask(ji,jj)348 zsshf_h(ji,jj) = 0.25_wp * ( ssh n(ji ,jj) + sshn(ji ,jj+1) &349 & + ssh n(ji+1,jj) + sshn(ji+1,jj+1) ) * ssfmask(ji,jj)347 zsshu_h(ji,jj) = 0.50_wp * ( ssh(ji ,jj,Nnn) + ssh(ji+1,jj ,Nnn) ) * ssumask(ji,jj) 348 zsshv_h(ji,jj) = 0.50_wp * ( ssh(ji ,jj,Nnn) + ssh(ji ,jj+1,Nnn) ) * ssvmask(ji,jj) 349 zsshf_h(ji,jj) = 0.25_wp * ( ssh(ji ,jj,Nnn) + ssh(ji ,jj+1,Nnn) & 350 & + ssh(ji+1,jj,Nnn) + ssh(ji+1,jj+1,Nnn) ) * ssfmask(ji,jj) 350 351 END DO ; END DO 351 352 CALL lbc_lnk_multi( zsshu_h(:,:),'U', 1._wp , zsshv_h(:,:),'V', 1._wp , zsshf_h(:,:),'F', 1._wp ) 352 353 ! 353 354 ! !* e3w_n , e3uw_n , e3vw_n, e3f_n 354 zssht_h(:,:) = ssh n (:,:) * r1_ht_0(:,:)! t- & w-point355 zsshu_h(:,:) = zsshu_h(:,:) * r1_hu_0(:,:)! uw-point356 zsshv_h(:,:) = zsshv_h(:,:) * r1_hv_0(:,:)! vw-point357 zsshf_h(:,:) = zsshf_h(:,:) * r1_hf_0(:,:)! f-point355 zssht_h(:,:) = ssh (:,:,Nnn) * r1_ht_0(:,:) ! t- & w-point 356 zsshu_h(:,:) = zsshu_h(:,:) * r1_hu_0(:,:) ! uw-point 357 zsshv_h(:,:) = zsshv_h(:,:) * r1_hv_0(:,:) ! vw-point 358 zsshf_h(:,:) = zsshf_h(:,:) * r1_hf_0(:,:) ! f-point 358 359 DO jk = 1, jpkm1 359 e3w_n(:,:,jk) = e3w_0(:,:,jk) * ( 1._wp + zssht_h(:,:) * tmask(:,:,jk) )360 e3w_n(:,:,jk) = e3w_0(:,:,jk) * ( 1._wp + zssht_h(:,:) * MAX( tmask(:,:,jk) , tmask(:,:,jk+1) ) ) 360 361 e3uw_n(:,:,jk) = e3uw_0(:,:,jk) * ( 1._wp + zsshu_h(:,:) * wumask(:,:,jk) ) 361 362 e3vw_n(:,:,jk) = e3vw_0(:,:,jk) * ( 1._wp + zsshv_h(:,:) * wvmask(:,:,jk) ) … … 363 364 END DO 364 365 ! 365 zssht_h(:,:) = 1._wp + sshn (:,:) * r1_ht_0(:,:)! t-point366 zssht_h(:,:) = 1._wp + zssht_h(:,:) ! t-point 366 367 ! 367 368 IF( ln_isfcav ) THEN ! ISF cavities : ssh scaling not applied over the iceshelf thickness … … 369 370 gdept_n(:,:,jk) = ( gdept_0(:,:,jk) - risfdep(:,:) ) * zssht_h(:,:) + risfdep(:,:) 370 371 gdepw_n(:,:,jk) = ( gdepw_0(:,:,jk) - risfdep(:,:) ) * zssht_h(:,:) + risfdep(:,:) 371 gde3w_n(:,:,jk) = gdept_n(:,:,jk) - ssh n (:,:)372 gde3w_n(:,:,jk) = gdept_n(:,:,jk) - ssh (:,:,Nnn) 372 373 END DO 373 374 ELSE ! no ISF cavities … … 375 376 gdept_n(:,:,jk) = gdept_0(:,:,jk) * zssht_h(:,:) 376 377 gdepw_n(:,:,jk) = gdepw_0(:,:,jk) * zssht_h(:,:) 377 gde3w_n(:,:,jk) = gdept_n(:,:,jk) - ssh n(:,:)378 gde3w_n(:,:,jk) = gdept_n(:,:,jk) - ssh (:,:,Nnn) 378 379 END DO 379 380 ENDIF … … 420 421 !!gm Question: use jpdom_data above to read data over jpi x jpj (like is dom_hgr_read and dom_zgr_read) 421 422 !! so that it will work with land processor suppression 422 ! CALL iom_get( numror, jpdom_autoglo, 'sshn' , ssh n, ldxios = lrxios )423 ! CALL iom_get( numror, jpdom_autoglo, 'sshb' , ssh b, ldxios = lrxios )423 ! CALL iom_get( numror, jpdom_autoglo, 'sshn' , ssh(:,:,Nnn), ldxios = lrxios ) 424 ! CALL iom_get( numror, jpdom_autoglo, 'sshb' , ssh(:,:,Nbb), ldxios = lrxios ) 424 425 !!gm 425 CALL iom_get( numror, jpdom_data, 'sshn' , ssh n, ldxios = lrxios )426 CALL iom_get( numror, jpdom_data, 'sshb' , ssh b, ldxios = lrxios )426 CALL iom_get( numror, jpdom_data, 'sshn' , ssh(:,:,Nnn), ldxios = lrxios ) 427 CALL iom_get( numror, jpdom_data, 'sshb' , ssh(:,:,Nbb), ldxios = lrxios ) 427 428 !!gm end 428 IF( l_1st_euler ) THEN 429 sshb(:,:) = sshn(:,:) 430 ENDIF 429 IF( l_1st_euler ) ssh(:,:,Nbb) = ssh(:,:,Nnn) 431 430 ELSE IF( id1 > 0 ) THEN 432 431 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : sshn not found in restart files' 433 IF(lwp) write(numout,*) ' set ssh n = sshband force l_1st_euler = true'432 IF(lwp) write(numout,*) ' set ssh(Nnn) = ssh(Nbb) and force l_1st_euler = true' 434 433 !!gm CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:), ldxios = lrxios ) 435 CALL iom_get( numror, jpdom_data, 'sshb', ssh b, ldxios = lrxios )436 ssh n(:,:) = sshb(:,:)434 CALL iom_get( numror, jpdom_data, 'sshb', ssh(:,:,Nbb), ldxios = lrxios ) 435 ssh(:,:,Nnn) = ssh(:,:,Nbb) 437 436 l_1st_euler = .TRUE. 438 437 ELSE IF( id2 > 0 ) THEN 439 438 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : sshb not found in restart files' 440 IF(lwp) write(numout,*) 'set ssh b = sshnand force l_1st_euler = true'441 CALL iom_get( numror, jpdom_data, 'sshn', ssh b, ldxios = lrxios )442 ssh b(:,:) = sshn(:,:)439 IF(lwp) write(numout,*) 'set ssh(Nbb) = ssh(Nnn) and force l_1st_euler = true' 440 CALL iom_get( numror, jpdom_data, 'sshn', ssh(:,:,Nnn), ldxios = lrxios ) 441 ssh(:,:,Nbb) = ssh(:,:,Nnn) 443 442 l_1st_euler = .TRUE. 444 443 ELSE 445 444 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : sshb and sshn not found in restart file' 446 IF(lwp) write(numout,*) 'set ssh b = sshn= 0 and force l_1st_euler = true'447 ssh b(:,:) = 0._wp448 ssh n(:,:) = 0._wp445 IF(lwp) write(numout,*) 'set ssh(Nbb) = ssh(Nnn) = 0 and force l_1st_euler = true' 446 ssh(:,:,Nbb) = 0._wp 447 ssh(:,:,Nnn) = 0._wp 449 448 l_1st_euler = .TRUE. 450 449 ENDIF … … 454 453 ! 455 454 IF( cn_cfg == 'wad' ) THEN ! Wetting and drying test case 456 CALL usr_def_istate( gdept_b, tmask, tsb, ub, vb, ssh b)457 tsn (:,:,:,:) = tsb(:,:,:,:) ! set now values from to before ones458 ssh n (:,:) = sshb(:,:)459 un (:,:,:) = ub(:,:,:)460 vn (:,:,:) = vb(:,:,:)455 CALL usr_def_istate( gdept_b, tmask, tsb, ub, vb, ssh(:,:,Nbb) ) 456 tsn(:,:,:,:) = tsb(:,:,:,:) ! set now values from to before ones 457 ssh(:,:,Nnn) = ssh(:,:,Nbb) 458 un (:,:,:) = ub (:,:,:) 459 vn (:,:,:) = vb (:,:,:) 461 460 ELSE ! Not the test case 462 ssh n(:,:) = -ssh_ref463 ssh b(:,:) = -ssh_ref461 ssh(:,:,Nnn) = -ssh_ref 462 ssh(:,:,Nbb) = -ssh_ref 464 463 ! 465 464 DO jj = 1, jpj 466 465 DO ji = 1, jpi 467 466 IF( ht_0(ji,jj)-ssh_ref < rn_wdmin1 ) THEN ! if total depth is less than min depth 468 ssh b(ji,jj) = rn_wdmin1 - (ht_0(ji,jj) )469 ssh n(ji,jj) = rn_wdmin1 - (ht_0(ji,jj) )470 ssh a(ji,jj) = rn_wdmin1 - (ht_0(ji,jj) )467 ssh(ji,jj,Nbb) = rn_wdmin1 - (ht_0(ji,jj) ) 468 ssh(ji,jj,Nnn) = rn_wdmin1 - (ht_0(ji,jj) ) 469 ssh(ji,jj,Naa) = rn_wdmin1 - (ht_0(ji,jj) ) 471 470 ENDIF 472 471 END DO … … 485 484 ! 486 485 ! Just to read set ssh in fact, called latter once vertical grid is set up: 487 ! CALL usr_def_istate( gdept_0, tmask, tsb, ub, vb, ssh b)488 ssh n(:,:) = 0._wp489 ssh b(:,:) = 0._wp486 ! CALL usr_def_istate( gdept_0, tmask, tsb, ub, vb, ssh(:,:,Nbb) ) 487 ssh(:,:,Nnn) = 0._wp 488 ssh(:,:,Nbb) = 0._wp 490 489 ! 491 490 END IF … … 496 495 ! ! =================== 497 496 498 !!gm DO NOTHING, ssh b and sshnare written in restart.F90497 !!gm DO NOTHING, ssh(Nbb) and ssh(Nnn) are written in restart.F90 499 498 500 499 ENDIF … … 594 593 DO jj = 1, jpjm1 ! start from 1 due to f-point 595 594 DO ji = 1, jpim1 596 zsshu_h(ji,jj) = 0.50_wp * ( ssh n(ji ,jj) + sshn(ji+1,jj) ) * ssumask(ji,jj)597 zsshv_h(ji,jj) = 0.50_wp * ( ssh n(ji ,jj) + sshn(ji ,jj+1) ) * ssvmask(ji,jj)598 zsshf_h(ji,jj) = 0.25_wp * ( ssh n(ji ,jj) + sshn(ji ,jj+1) &599 & + ssh n(ji+1,jj) + sshn(ji+1,jj+1) ) * ssfmask(ji,jj)595 zsshu_h(ji,jj) = 0.50_wp * ( ssh(ji ,jj,Nnn) + ssh(ji+1,jj ,Nnn) ) * ssumask(ji,jj) 596 zsshv_h(ji,jj) = 0.50_wp * ( ssh(ji ,jj,Nnn) + ssh(ji ,jj+1,Nnn) ) * ssvmask(ji,jj) 597 zsshf_h(ji,jj) = 0.25_wp * ( ssh(ji ,jj,Nnn) + ssh(ji ,jj+1,Nnn) & 598 & + ssh(ji+1,jj,Nnn) + ssh(ji+1,jj+1,Nnn) ) * ssfmask(ji,jj) 600 599 END DO 601 600 END DO … … 604 603 ! !== ht, hu and hv == ! (and their inverse) 605 604 ! 606 ht_n (:,:) = ht_0(:,:) + ssh n (:,:)605 ht_n (:,:) = ht_0(:,:) + ssh (:,:,Nnn) 607 606 hu_n (:,:) = hu_0(:,:) + zsshu_h(:,:) 608 607 hv_n (:,:) = hv_0(:,:) + zsshv_h(:,:) … … 612 611 ! !== ssh / h factor at t-, u- ,v- & f-points ==! 613 612 ! 614 zssht_h(:,:) = ssh n (:,:) * r1_ht_0(:,:)615 zsshu_h(:,:) = zsshu_h(:,:) * r1_hu_0(:,:)616 zsshv_h(:,:) = zsshv_h(:,:) * r1_hv_0(:,:)617 zsshf_h(:,:) = zsshf_h(:,:) * r1_hf_0(:,:)613 zssht_h(:,:) = ssh (:,:,Nnn) * r1_ht_0(:,:) 614 zsshu_h(:,:) = zsshu_h(:,:) * r1_hu_0(:,:) 615 zsshv_h(:,:) = zsshv_h(:,:) * r1_hv_0(:,:) 616 zsshf_h(:,:) = zsshf_h(:,:) * r1_hf_0(:,:) 618 617 ! 619 618 ! !== e3t, e3w , e3u, e3uw , e3v, e3vw , and e3f ==! 620 619 ! 621 620 DO jk = 1, jpkm1 622 e3t_n(:,:,jk) = e3t_0(:,:,jk) * ( 1._wp + zssht_h(:,:) * tmask(:,:,jk))623 e3w_n(:,:,jk) = e3w_0(:,:,jk) * ( 1._wp + zssht_h(:,:) * tmask(:,:,jk) )621 e3t_n(:,:,jk) = e3t_0(:,:,jk) * ( 1._wp + zssht_h(:,:) * tmask(:,:,jk) ) 622 e3w_n(:,:,jk) = e3w_0(:,:,jk) * ( 1._wp + zssht_h(:,:) * MAX( tmask(:,:,jk) , tmask(:,:,jk+1) ) ) 624 623 ! 625 624 e3u_n(:,:,jk) = e3u_0(:,:,jk) * ( 1._wp + zsshu_h(:,:) * umask(:,:,jk) ) … … 634 633 ! !== depth of t- and w-points ==! 635 634 ! 636 zssht_h(:,:) = 1._wp + zssht_h(:,:) ! = 1 + ssh n/ ht_0635 zssht_h(:,:) = 1._wp + zssht_h(:,:) ! = 1 + ssh(Nnn) / ht_0 637 636 ! 638 637 IF( ln_isfcav ) THEN ! ISF cavities : ssh scaling not applied over the iceshelf thickness … … 640 639 gdept_n(:,:,jk) = ( gdept_0(:,:,jk) - risfdep(:,:) ) * zssht_h(:,:) + risfdep(:,:) 641 640 gdepw_n(:,:,jk) = ( gdepw_0(:,:,jk) - risfdep(:,:) ) * zssht_h(:,:) + risfdep(:,:) 642 gde3w_n(:,:,jk) = gdept_n(:,:,jk) - ssh n(:,:)641 gde3w_n(:,:,jk) = gdept_n(:,:,jk) - ssh(:,:,Nnn) 643 642 END DO 644 643 ELSE ! no ISF cavities 644 !!gm BUG ??? gdept should be updated down to the ocean floor ! ===>> jpk NOT jpkm1 !!! 645 645 DO jk = 1, jpkm1 646 646 gdept_n(:,:,jk) = gdept_0(:,:,jk) * zssht_h(:,:) 647 647 gdepw_n(:,:,jk) = gdepw_0(:,:,jk) * zssht_h(:,:) 648 gde3w_n(:,:,jk) = gdept_n(:,:,jk) - ssh n(:,:)648 gde3w_n(:,:,jk) = gdept_n(:,:,jk) - ssh(:,:,Nnn) 649 649 END DO 650 650 ENDIF … … 664 664 DO jj = 2, jpjm1 665 665 DO ji = 2, jpim1 666 zsshu_h(ji,jj) = 0.5_wp * ( ssh b(ji ,jj) + sshb(ji+1,jj) ) * ssumask(ji,jj)667 zsshv_h(ji,jj) = 0.5_wp * ( ssh b(ji ,jj) + sshb(ji ,jj+1) ) * ssvmask(ji,jj)666 zsshu_h(ji,jj) = 0.5_wp * ( ssh(ji,jj,Nbb) + ssh(ji+1,jj ,Nbb) ) * ssumask(ji,jj) 667 zsshv_h(ji,jj) = 0.5_wp * ( ssh(ji,jj,Nbb) + ssh(ji ,jj+1,Nbb) ) * ssvmask(ji,jj) 668 668 END DO 669 669 END DO … … 678 678 ! 679 679 ! !== ssh / h factor at t-, u- ,v- & f-points ==! 680 zssht_h(:,:) = ssh b (:,:) * r1_ht_0(:,:)681 zsshu_h (:,:) = zsshu_h(:,:)* r1_hu_0(:,:)682 zsshv_h (:,:) = zsshv_h(:,:)* r1_hv_0(:,:)680 zssht_h(:,:) = ssh (:,:,Nbb) * r1_ht_0(:,:) 681 zsshu_h(:,:) = zsshu_h(:,:) * r1_hu_0(:,:) 682 zsshv_h(:,:) = zsshv_h(:,:) * r1_hv_0(:,:) 683 683 ! 684 684 ! !== e3t, e3w , e3u, e3uw , and e3v, e3vw ==! 685 685 DO jk = 1, jpkm1 686 e3t_b(:,:,jk) = e3t_0(:,:,jk) * ( 1._wp + zssht_h(:,:) * tmask(:,:,jk))687 e3w_b(:,:,jk) = e3w_0(:,:,jk) * ( 1._wp + zssht_h(:,:) * tmask(:,:,jk) )686 e3t_b(:,:,jk) = e3t_0(:,:,jk) * ( 1._wp + zssht_h(:,:) * tmask(:,:,jk) ) 687 e3w_b(:,:,jk) = e3w_0(:,:,jk) * ( 1._wp + zssht_h(:,:) * MAX( tmask(:,:,jk) , tmask(:,:,jk+1) ) ) 688 688 ! 689 689 e3u_b(:,:,jk) = e3u_0(:,:,jk) * ( 1._wp + zsshu_h (:,:) * umask(:,:,jk) )
Note: See TracChangeset
for help on using the changeset viewer.