Changeset 13237 for NEMO/trunk/src/OFF/dtadyn.F90
- Timestamp:
- 2020-07-03T11:12:53+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OFF/dtadyn.F90
r12489 r13237 23 23 USE c1d ! 1D configuration: lk_c1d 24 24 USE dom_oce ! ocean domain: variables 25 #if ! defined key_qco 25 26 USE domvvl ! variable volume 27 #else 28 USE domqco 29 #endif 26 30 USE zdf_oce ! ocean vertical physics: variables 27 31 USE sbc_oce ! surface module: variables … … 52 56 PUBLIC dta_dyn_sed ! called by nemo_gcm 53 57 PUBLIC dta_dyn_atf ! called by nemo_gcm 58 #if ! defined key_qco 54 59 PUBLIC dta_dyn_sf_interp ! called by nemo_gcm 60 #endif 55 61 56 62 CHARACTER(len=100) :: cn_dir !: Root directory for location of ssr files … … 149 155 emp_b (:,:) = sf_dyn(jf_empb)%fnow(:,:,1) * tmask(:,:,1) ! E-P 150 156 zemp (:,:) = ( 0.5_wp * ( emp(:,:) + emp_b(:,:) ) + rnf(:,:) + fwbcorr ) * tmask(:,:,1) 151 CALL dta_dyn_ssh( kt, zhdivtr, ssh(:,:,Kbb), zemp, ssh(:,:,Kaa), e3t(:,:,:,Kaa) ) != ssh, vertical scale factor & vertical transport 157 #if defined key_qco 158 CALL dta_dyn_ssh( kt, zhdivtr, ssh(:,:,Kbb), zemp, ssh(:,:,Kaa) ) 159 CALL dom_qco_r3c( ssh(:,:,Kaa), r3t(:,:,Kaa), r3u(:,:,Kaa), r3v(:,:,Kaa) ) 160 #else 161 CALL dta_dyn_ssh( kt, zhdivtr, ssh(:,:,Kbb), zemp, ssh(:,:,Kaa), e3t(:,:,:,Kaa) ) != ssh, vertical scale factor 162 #endif 152 163 DEALLOCATE( zemp , zhdivtr ) 153 164 ! Write in the tracer restart file … … 329 340 ENDIF 330 341 ! 342 #if defined key_qco 343 CALL dom_qco_r3c( ssh(:,:,Kbb), r3t(:,:,Kbb), r3u(:,:,Kbb), r3v(:,:,Kbb) ) 344 CALL dom_qco_r3c( ssh(:,:,Kmm), r3t(:,:,Kmm), r3u(:,:,Kmm), r3v(:,:,Kmm) ) 345 #else 331 346 DO jk = 1, jpkm1 332 e3t(:,:,jk,Kmm) = e3t_0(:,:,jk) * ( 1._wp + ssh(:,:,Kmm) * tmask(:,:,1) / ( ht_0(:,:) + 1.0 - tmask(:,:,1)) )347 e3t(:,:,jk,Kmm) = e3t_0(:,:,jk) * ( 1._wp + ssh(:,:,Kmm) * r1_ht_0(:,:) * tmask(:,:,jk) ) 333 348 ENDDO 334 349 e3t(:,:,jpk,Kaa) = e3t_0(:,:,jpk) … … 342 357 ! ------------------------------------ 343 358 CALL dom_vvl_interpol( e3t(:,:,:,Kmm), e3w(:,:,:,Kmm), 'W' ) 344 359 !!gm this should be computed from ssh(Kbb) 345 360 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 346 361 e3u(:,:,:,Kbb) = e3u(:,:,:,Kmm) … … 367 382 ! 368 383 ENDIF 384 #endif 369 385 ! 370 386 IF( ln_dynrnf .AND. ln_dynrnf_depth ) THEN ! read depht over which runoffs are distributed … … 389 405 ENDIF 390 406 END_2D 407 !!st pourquoi on n'utilise pas le gde3w ici plutôt que de faire une boucle ? 391 408 DO_2D_11_11 392 409 h_rnf(ji,jj) = 0._wp … … 413 430 END SUBROUTINE dta_dyn_init 414 431 432 415 433 SUBROUTINE dta_dyn_sed( kt, Kmm ) 416 434 !!---------------------------------------------------------------------- … … 529 547 END SUBROUTINE dta_dyn_sed_init 530 548 549 531 550 SUBROUTINE dta_dyn_atf( kt, Kbb, Kmm, Kaa ) 532 551 !!--------------------------------------------------------------------- … … 552 571 END SUBROUTINE dta_dyn_atf 553 572 573 574 #if ! defined key_qco 554 575 SUBROUTINE dta_dyn_sf_interp( kt, Kmm ) 555 576 !!--------------------------------------------------------------------- … … 588 609 ! 589 610 END SUBROUTINE dta_dyn_sf_interp 611 #endif 612 590 613 591 614 SUBROUTINE dta_dyn_ssh( kt, phdivtr, psshb, pemp, pssha, pe3ta ) … … 606 629 !! The boundary conditions are w=0 at the bottom (no flux) 607 630 !! 608 !! ** action : ssh(:,:,Kaa) / e3t(:,:, :,Kaa) / ww631 !! ** action : ssh(:,:,Kaa) / e3t(:,:,k,Kaa) / ww 609 632 !! 610 633 !! Reference : Leclair, M., and G. Madec, 2009, Ocean Modelling. … … 630 653 ! ! Sea surface elevation time-stepping 631 654 pssha(:,:) = ( psshb(:,:) - z2dt * ( r1_rho0 * pemp(:,:) + zhdiv(:,:) ) ) * ssmask(:,:) 632 ! !633 !! After acale factors at t-points ( z_star coordinate )655 ! 656 IF( PRESENT( pe3ta ) ) THEN ! After acale factors at t-points ( z_star coordinate ) 634 657 DO jk = 1, jpkm1 635 pe3ta(:,:,jk) = e3t_0(:,:,jk) * ( 1._wp + pssha(:,:) * tmask(:,:,1) / ( ht_0(:,:) + 1.0 - tmask(:,:,1)) )658 pe3ta(:,:,jk) = e3t_0(:,:,jk) * ( 1._wp + pssha(:,:) * r1_ht_0(:,:) * tmask(:,:,jk) ) 636 659 END DO 660 ENDIF 637 661 ! 638 662 END SUBROUTINE dta_dyn_ssh … … 657 681 !!---------------------------------------------------------------------- 658 682 ! 683 !!st code dupliqué même remarque que plus haut pourquoi ne pas utiliser gdepw ? 659 684 DO_2D_11_11 660 685 h_rnf(ji,jj) = 0._wp
Note: See TracChangeset
for help on using the changeset viewer.