- Timestamp:
- 2020-07-03T20:46:53+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OFF/dtadyn.F90
r12960 r13248 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 … … 333 344 ENDIF 334 345 ! 346 #if defined key_qco 347 CALL dom_qco_r3c( ssh(:,:,Kbb), r3t(:,:,Kbb), r3u(:,:,Kbb), r3v(:,:,Kbb) ) 348 CALL dom_qco_r3c( ssh(:,:,Kmm), r3t(:,:,Kmm), r3u(:,:,Kmm), r3v(:,:,Kmm) ) 349 #else 335 350 DO jk = 1, jpkm1 336 e3t(:,:,jk,Kmm) = e3t_0(:,:,jk) * ( 1._wp + ssh(:,:,Kmm) * tmask(:,:,1) / ( ht_0(:,:) + 1.0 - tmask(:,:,1)) )351 e3t(:,:,jk,Kmm) = e3t_0(:,:,jk) * ( 1._wp + ssh(:,:,Kmm) * r1_ht_0(:,:) * tmask(:,:,jk) ) 337 352 ENDDO 338 353 e3t(:,:,jpk,Kaa) = e3t_0(:,:,jpk) … … 346 361 ! ------------------------------------ 347 362 CALL dom_vvl_interpol( e3t(:,:,:,Kmm), e3w(:,:,:,Kmm), 'W' ) 348 363 !!gm this should be computed from ssh(Kbb) 349 364 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 350 365 e3u(:,:,:,Kbb) = e3u(:,:,:,Kmm) … … 371 386 ! 372 387 ENDIF 388 #endif 373 389 ! 374 390 IF( ln_dynrnf .AND. ln_dynrnf_depth ) THEN ! read depht over which runoffs are distributed … … 393 409 ENDIF 394 410 END_2D 411 !!st pourquoi on n'utilise pas le gde3w ici plutôt que de faire une boucle ? 395 412 DO_2D_11_11 396 413 h_rnf(ji,jj) = 0._wp … … 417 434 END SUBROUTINE dta_dyn_init 418 435 436 419 437 SUBROUTINE dta_dyn_sed( kt, Kmm ) 420 438 !!---------------------------------------------------------------------- … … 533 551 END SUBROUTINE dta_dyn_sed_init 534 552 553 535 554 SUBROUTINE dta_dyn_atf( kt, Kbb, Kmm, Kaa ) 536 555 !!--------------------------------------------------------------------- … … 556 575 END SUBROUTINE dta_dyn_atf 557 576 577 578 #if ! defined key_qco 558 579 SUBROUTINE dta_dyn_sf_interp( kt, Kmm ) 559 580 !!--------------------------------------------------------------------- … … 592 613 ! 593 614 END SUBROUTINE dta_dyn_sf_interp 615 #endif 616 594 617 595 618 SUBROUTINE dta_dyn_ssh( kt, phdivtr, psshb, pemp, pssha, pe3ta ) … … 610 633 !! The boundary conditions are w=0 at the bottom (no flux) 611 634 !! 612 !! ** action : ssh(:,:,Kaa) / e3t(:,:, :,Kaa) / ww635 !! ** action : ssh(:,:,Kaa) / e3t(:,:,k,Kaa) / ww 613 636 !! 614 637 !! Reference : Leclair, M., and G. Madec, 2009, Ocean Modelling. … … 634 657 ! ! Sea surface elevation time-stepping 635 658 pssha(:,:) = ( psshb(:,:) - z2dt * ( r1_rho0 * pemp(:,:) + zhdiv(:,:) ) ) * ssmask(:,:) 636 ! !637 !! After acale factors at t-points ( z_star coordinate )659 ! 660 IF( PRESENT( pe3ta ) ) THEN ! After acale factors at t-points ( z_star coordinate ) 638 661 DO jk = 1, jpkm1 639 pe3ta(:,:,jk) = e3t_0(:,:,jk) * ( 1._wp + pssha(:,:) * tmask(:,:,1) / ( ht_0(:,:) + 1.0 - tmask(:,:,1)) )662 pe3ta(:,:,jk) = e3t_0(:,:,jk) * ( 1._wp + pssha(:,:) * r1_ht_0(:,:) * tmask(:,:,jk) ) 640 663 END DO 664 ENDIF 641 665 ! 642 666 END SUBROUTINE dta_dyn_ssh … … 661 685 !!---------------------------------------------------------------------- 662 686 ! 687 !!st code dupliqué même remarque que plus haut pourquoi ne pas utiliser gdepw ? 663 688 DO_2D_11_11 664 689 h_rnf(ji,jj) = 0._wp
Note: See TracChangeset
for help on using the changeset viewer.