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 7988 for branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90 – NEMO

Ignore:
Timestamp:
2017-04-28T17:39:22+02:00 (7 years ago)
Author:
jchanut
Message:

Add AGRIF proper AGRIF bcs to GLS and TKE + vvl update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90

    r6204 r7988  
    3131   USE iom            ! I/O manager library 
    3232   USE timing         ! Timing 
    33    USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)   
     33   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)  
     34#if defined key_agrif 
     35   USE agrif_opa_interp ! Set bc on avm 
     36#endif  
    3437 
    3538   IMPLICIT NONE 
     
    204207         DO jj = 2, jpjm1 
    205208            DO ji = fs_2, fs_jpim1   ! vector opt. 
    206                avmu(ji,jj,jk) = avmu(ji,jj,jk) * ( un(ji,jj,jk-1) - un(ji,jj,jk) )   & 
    207                   &                            * ( ub(ji,jj,jk-1) - ub(ji,jj,jk) )   & 
    208                   &                            / (  fse3uw_n(ji,jj,jk)               & 
    209                   &                            *    fse3uw_b(ji,jj,jk) ) 
    210                avmv(ji,jj,jk) = avmv(ji,jj,jk) * ( vn(ji,jj,jk-1) - vn(ji,jj,jk) )   & 
    211                   &                            * ( vb(ji,jj,jk-1) - vb(ji,jj,jk) )   & 
    212                   &                            / (  fse3vw_n(ji,jj,jk)               & 
    213                   &                            *    fse3vw_b(ji,jj,jk) ) 
     209               avmu(ji,jj,jk) = 0.5 * ( avm(ji,jj,jk) + avm(ji+1,jj  ,jk) ) * ( un(ji,jj,jk-1) - un(ji,jj,jk) )   & 
     210                  &                                                         * ( ub(ji,jj,jk-1) - ub(ji,jj,jk) )   & 
     211                  &                                                         / (  fse3uw_n(ji,jj,jk)               & 
     212                  &                                                         *    fse3uw_b(ji,jj,jk) ) 
     213               avmv(ji,jj,jk) = 0.5 * ( avm(ji,jj,jk) + avm(ji  ,jj+1,jk) ) * ( vn(ji,jj,jk-1) - vn(ji,jj,jk) )   & 
     214                  &                                                         * ( vb(ji,jj,jk-1) - vb(ji,jj,jk) )   & 
     215                  &                                                         / (  fse3vw_n(ji,jj,jk)               & 
     216                  &                                                         *    fse3vw_b(ji,jj,jk) ) 
    214217               eps(ji,jj,jk)  = rc03 * en(ji,jj,jk) * SQRT(en(ji,jj,jk)) / mxln(ji,jj,jk) 
    215218            END DO 
     
    809812      ! 
    810813      ! Lateral boundary conditions (sign unchanged) 
     814#if defined key_agrif 
     815      CALL Agrif_avm 
     816#endif 
    811817      avt(:,:,1)  = 0._wp 
    812818      CALL lbc_lnk( avm, 'W', 1. )   ;   CALL lbc_lnk( avt, 'W', 1. ) 
Note: See TracChangeset for help on using the changeset viewer.