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.
Diff from branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_lap.F90@8627 to trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_lap.F90@4990 – NEMO

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_lap.F90

    r8627 r4990  
    1717   USE oce             ! ocean dynamics and tracers 
    1818   USE dom_oce         ! ocean space and time domain 
    19    USE phycst          ! physical constants 
    2019   USE ldfdyn_oce      ! ocean dynamics: lateral physics 
    2120   USE zdf_oce         ! ocean vertical physics 
    2221   ! 
    2322   USE in_out_manager  ! I/O manager 
    24    USE iom             ! I/O library 
    2523   USE timing          ! Timing 
    2624 
     
    6462      INTEGER  ::   ji, jj, jk             ! dummy loop indices 
    6563      REAL(wp) ::   zua, zva, ze2u, ze1v   ! local scalars 
    66       REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   z2d   ! 2D workspace  
    6764      !!---------------------------------------------------------------------- 
    6865      ! 
     
    9693      END DO                                           !   End of slab 
    9794      !                                                ! =============== 
    98        
    99       IF( iom_use('dispkexyfo') ) THEN   ! ocean Kinetic Energy dissipation per unit area 
    100          !                               ! due to lateral friction (xy=lateral)  
    101          !   see NEMO_book appendix C, §C.7.2 (N.B. here averaged at t-points) 
    102          !   local dissipation of KE at t-point due to laplacian operator is given by : 
    103          !      - ahmt hdivb**2 - mi( mj(ahmf rotb**2 e1f*e2f*e3t) ) / (e1e2t*e3t) 
    104          ! 
    105          ALLOCATE( z2d(jpi,jpj) ) 
    106          z2d(:,:) = 0._wp 
    107          DO jk = 1, jpkm1 
    108             DO jj = 2, jpjm1 
    109                DO ji = 2, jpim1 
    110                   z2d(ji,jj) = z2d(ji,jj)          -   (                                                         & 
    111                      &   hdivb(ji,jj,jk)**2 * fsahmt(ji,jj,jk) * fse3t_n(ji,jj,jk)                               & 
    112                      & + 0.25_wp * (                                                                             & 
    113                      &   rotb (ji  ,jj  ,jk)**2 * fsahmf(ji  ,jj  ,jk) * e12f(ji  ,jj  ) * fse3f(ji  ,jj  ,jk)   & 
    114                      & + rotb (ji-1,jj  ,jk)**2 * fsahmf(ji-1,jj  ,jk) * e12f(ji-1,jj  ) * fse3f(ji-1,jj  ,jk)   & 
    115                      & + rotb (ji  ,jj-1,jk)**2 * fsahmf(ji  ,jj-1,jk) * e12f(ji  ,jj-1) * fse3f(ji  ,jj-1,jk)   & 
    116                      & + rotb (ji-1,jj-1,jk)**2 * fsahmf(ji-1,jj-1,jk) * e12f(ji-1,jj-1) * fse3f(ji-1,jj-1,jk)   & 
    117                      &             ) * r1_e12t(ji,jj)  ) * tmask(ji,jj,jk) 
    118                END DO 
    119             END DO 
    120          END DO 
    121          z2d(:,:) = rau0 * z2d(:,:)  
    122          CALL lbc_lnk( z2d,'T', 1. ) 
    123          CALL iom_put( 'dispkexyfo', z2d ) 
    124          DEALLOCATE( z2d ) 
    125       ENDIF 
    126  
    12795      IF( nn_timing == 1 )  CALL timing_stop('dyn_ldf_lap') 
    12896      ! 
Note: See TracChangeset for help on using the changeset viewer.