New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 10061 for NEMO/branches/2018/dev_r10057_ENHANCE03_ZTILDE/src – NEMO

Ignore:
Timestamp:
2018-08-22T13:45:14+02:00 (6 years ago)
Author:
jchanut
Message:

ztilde update (2): #2126
Possibly remove the use of diffusive fluxes in vertical velocity computation - first call only

Location:
NEMO/branches/2018/dev_r10057_ENHANCE03_ZTILDE/src/OCE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r10057_ENHANCE03_ZTILDE/src/OCE/DYN/sshwzv.F90

    r9598 r10061  
    125125 
    126126    
    127    SUBROUTINE wzv( kt ) 
     127   SUBROUTINE wzv( kt, kcall ) 
    128128      !!---------------------------------------------------------------------- 
    129129      !!                ***  ROUTINE wzv  *** 
     
    141141      !!---------------------------------------------------------------------- 
    142142      INTEGER, INTENT(in) ::   kt   ! time step 
     143      INTEGER, INTENT( in ), OPTIONAL     :: kcall   ! optional argument 
    143144      ! 
    144145      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
     146      LOGICAL  ::   ll_use_totflx 
    145147      REAL(wp) ::   z1_2dt       ! local scalars 
    146148      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   zhdiv 
     
    156158         wn(:,:,jpk) = 0._wp                  ! bottom boundary condition: w=0 (set once for all) 
    157159      ENDIF 
     160      ! 
     161      ! With lagrangian coordinates, consider additionnal diffusive/upstream fluxes only for   
     162      ! the second call to vertical velocity computation 
     163      ll_use_totflx = .FALSE. 
     164      IF (( PRESENT(kcall) ).AND.(ln_vvl_ztilde .OR. ln_vvl_layer)) THEN 
     165         IF ( kcall==2 ) ll_use_totflx=.TRUE. 
     166      ENDIF 
    158167      !                                           !------------------------------! 
    159168      !                                           !     Now Vertical Velocity    ! 
     
    162171      IF( neuler == 0 .AND. kt == nit000 )   z1_2dt = 1. / rdt 
    163172      ! 
    164       IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN      ! z_tilde and layer cases 
     173      IF (( ln_vvl_ztilde .OR. ln_vvl_layer ).AND.ll_use_totflx) THEN      ! z_tilde and layer cases 
    165174         ALLOCATE( zhdiv(jpi,jpj,jpk) )  
    166175         ! 
  • NEMO/branches/2018/dev_r10057_ENHANCE03_ZTILDE/src/OCE/step.F90

    r9780 r10061  
    197197                            CALL div_hor    ( kstp )              ! Horizontal divergence  (2nd call in time-split case) 
    198198         IF(.NOT.ln_linssh) CALL dom_vvl_sf_nxt( kstp, kcall=2 )  ! after vertical scale factors (update depth average component) 
    199                             CALL wzv        ( kstp )              ! now cross-level velocity  
     199                            CALL wzv        ( kstp, kcall=2 )     ! now cross-level velocity  
    200200      ENDIF 
    201201       
Note: See TracChangeset for help on using the changeset viewer.