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 7837 for branches/UKMO/dev_r5785_SSS_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90 – NEMO

Ignore:
Timestamp:
2017-03-27T10:50:24+02:00 (7 years ago)
Author:
mattmartin
Message:

First version of generic obs oper which works at NEMO3.6 with other GO6 branches.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5785_SSS_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90

    r7773 r7837  
    174174      !!---------------------------------------------------------------------- 
    175175      ! 
    176 #if defined key_agrif  
    177       ! interpolation parent grid => child grid for avm_k ( ex : at west border: update column 1 and 2) 
    178       IF( .NOT.Agrif_Root() )   CALL Agrif_Tke 
    179 #endif 
    180       ! 
    181176      IF( kt /= nit000 ) THEN   ! restore before value to compute tke 
    182177         avt (:,:,:) = avt_k (:,:,:)  
     
    234229      INTEGER , POINTER, DIMENSION(:,:  ) :: imlc 
    235230      REAL(wp), POINTER, DIMENSION(:,:  ) :: zhlc 
    236       REAL(wp), POINTER, DIMENSION(:,:,:) :: zpelc, zdiag, zd_up, zd_lw, z3du, z3dv 
    237       REAL(wp)                            ::   zri  !   local Richardson number 
     231      REAL(wp), POINTER, DIMENSION(:,:,:) :: zpelc, zdiag, zd_up, zd_lw 
    238232      !!-------------------------------------------------------------------- 
    239233      ! 
     
    242236      CALL wrk_alloc( jpi,jpj, imlc )    ! integer 
    243237      CALL wrk_alloc( jpi,jpj, zhlc )  
    244       CALL wrk_alloc( jpi,jpj,jpk, zpelc, zdiag, zd_up, zd_lw, z3du, z3dv )  
     238      CALL wrk_alloc( jpi,jpj,jpk, zpelc, zdiag, zd_up, zd_lw )  
    245239      ! 
    246240      zbbrau = rn_ebb / rau0       ! Local constant initialisation 
     
    367361               zzd_lw = zcof * ( avm  (ji,jj,jk  ) + avm  (ji,jj,jk-1) )   &  ! lower diagonal 
    368362                  &          / ( fse3t(ji,jj,jk-1) * fse3w(ji,jj,jk  ) ) 
    369                !                                   ! shear prod. at w-point weightened by mask 
    370                zesh2  =  ( z3du(ji-1,jj,jk) + z3du(ji,jj,jk) ) / MAX( 1._wp , umask(ji-1,jj,jk) + umask(ji,jj,jk) )   & 
    371                   &    + ( z3dv(ji,jj-1,jk) + z3dv(ji,jj,jk) ) / MAX( 1._wp , vmask(ji,jj-1,jk) + vmask(ji,jj,jk) )     
    372                ! 
     363                  !                                                           ! shear prod. at w-point weightened by mask 
     364               zesh2  =  ( avmu(ji-1,jj,jk) + avmu(ji,jj,jk) ) / MAX( 1._wp , umask(ji-1,jj,jk) + umask(ji,jj,jk) )   & 
     365                  &    + ( avmv(ji,jj-1,jk) + avmv(ji,jj,jk) ) / MAX( 1._wp , vmask(ji,jj-1,jk) + vmask(ji,jj,jk) )     
     366                  ! 
    373367               zd_up(ji,jj,jk) = zzd_up            ! Matrix (zdiag, zd_up, zd_lw) 
    374368               zd_lw(ji,jj,jk) = zzd_lw 
     
    468462      CALL wrk_dealloc( jpi,jpj, imlc )    ! integer 
    469463      CALL wrk_dealloc( jpi,jpj, zhlc )  
    470       CALL wrk_dealloc( jpi,jpj,jpk, zpelc, zdiag, zd_up, zd_lw, z3du, z3dv )  
     464      CALL wrk_dealloc( jpi,jpj,jpk, zpelc, zdiag, zd_up, zd_lw )  
    471465      ! 
    472466      IF( nn_timing == 1 )  CALL timing_stop('tke_tke') 
     
    512506      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    513507      REAL(wp) ::   zrn2, zraug, zcoef, zav     ! local scalars 
    514       REAL(wp) ::   zdku, zri, zsqen     !   -      - 
     508      REAL(wp) ::   zdku, zpdlr, zri, zsqen     !   -      - 
    515509      REAL(wp) ::   zdkv, zemxl, zemlm, zemlp   !   -      - 
    516510      REAL(wp), POINTER, DIMENSION(:,:,:) :: zmpdl, zmxlm, zmxld 
Note: See TracChangeset for help on using the changeset viewer.