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 455 for trunk/NEMO/OPA_SRC/DYN/dynldf_bilap.F90 – NEMO

Ignore:
Timestamp:
2006-05-10T18:53:54+02:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_update_048:RB: reorganization of dynamics part, in addition change atsk to jki, suppress dynhpg_atsk.F90 dynzdf_imp_atsk.F90 dynzdf_iso.F90

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DYN/dynldf_bilap.F90

    r258 r455  
    1717   USE trdmod_oce      ! ocean variables trends 
    1818   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    19    USE prtctl          ! Print control 
    2019 
    2120   IMPLICIT NONE 
     
    6160      !!              diffu = 1/e1u di[ zut ] - 1/(e2u*e3u) dj-1[ e3f zuf ] 
    6261      !!              diffv = 1/e2v dj[ zut ] + 1/(e1v*e3v) di-1[ e3f zuf ] 
    63       !!      If lk_sco=F and lk_zps=F, the vertical scale factors in the 
     62      !!      If ln_sco=F and ln_zps=F, the vertical scale factors in the 
    6463      !!      rotational part of the diffusion are simplified 
    6564      !!      Add this before trend to the general trend (ua,va): 
     
    7069      !! ** Action : - Update (ua,va) with the before iso-level biharmonic 
    7170      !!               mixing trend. 
    72       !!             - Save in (ztdua,ztdva) the trends ('key_trddyn') 
    7371      !! 
    7472      !! History : 
     
    8179      !!   9.0  !  04-08  (C. Talandier) New trends organization 
    8280      !!---------------------------------------------------------------------- 
    83       !! * Modules used      
    84       USE oce, ONLY :    ztdua => ta,      & ! use ta as 3D workspace    
    85                          ztdva => sa         ! use sa as 3D workspace    
    86  
    8781      !! * Arguments 
    8882      INTEGER, INTENT( in ) ::   kt           ! ocean time-step index 
     
    107101      zlv(:,:) = 0.e0 
    108102 
    109       ! Save ua and va trends 
    110       IF( l_trddyn )   THEN 
    111          ztdua(:,:,:) = ua(:,:,:)  
    112          ztdva(:,:,:) = va(:,:,:)  
    113       ENDIF 
    114103      !                                                ! =============== 
    115104      DO jk = 1, jpkm1                                 ! Horizontal slab 
     
    118107         ! --------- 
    119108 
    120          IF( lk_sco .OR. lk_zps ) THEN   ! s-coordinate or z-coordinate with partial steps 
     109         IF( ln_sco .OR. ln_zps ) THEN   ! s-coordinate or z-coordinate with partial steps 
    121110            zuf(:,:) = rotb(:,:,jk) * fse3f(:,:,jk) 
    122111            DO jj = 2, jpjm1 
     
    129118               END DO 
    130119            END DO 
    131          ELSE                            ! z-coordinate 
     120         ELSE                            ! z-coordinate - full step 
    132121            DO jj = 2, jpjm1 
    133122               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    162151               zuf(ji,jj) = fmask(ji,jj,jk) * (  zcv(ji+1,jj  ) - zcv(ji,jj)      & 
    163152                  &                            - zcu(ji  ,jj+1) + zcu(ji,jj)  )   & 
    164 #if defined key_s_coord || defined key_partial_steps 
     153#if defined key_zco 
     154                  &                         / ( e1f(ji,jj)*e2f(ji,jj) ) 
     155#else 
    165156                  &       * fse3f(ji,jj,jk) / ( e1f(ji,jj)*e2f(ji,jj) ) 
    166 #else 
    167                   &                         / ( e1f(ji,jj)*e2f(ji,jj) ) 
    168157#endif 
    169158            END DO   
     
    173162         DO jj = 1, jpjm1 
    174163            DO ji = 1, fs_jpim1   ! vector opt. 
    175 #if defined key_s_coord || defined key_partial_steps 
     164#if defined key_zco 
     165               zlu(ji,jj) = e2u(ji,jj) * zlu(ji,jj) 
     166               zlv(ji,jj) = e1v(ji,jj) * zlv(ji,jj) 
     167#else 
    176168               zlu(ji,jj) = e2u(ji,jj) * fse3u(ji,jj,jk) * zlu(ji,jj) 
    177169               zlv(ji,jj) = e1v(ji,jj) * fse3v(ji,jj,jk) * zlv(ji,jj) 
    178 #else 
    179                zlu(ji,jj) = e2u(ji,jj) * zlu(ji,jj) 
    180                zlv(ji,jj) = e1v(ji,jj) * zlv(ji,jj) 
    181170#endif 
    182171            END DO 
     
    186175         DO jj = 2, jpj 
    187176            DO ji = fs_2, jpi   ! vector opt. 
    188 #if defined key_s_coord || defined key_partial_steps 
     177#if defined key_zco 
     178               zbt = e1t(ji,jj) * e2t(ji,jj) 
     179#else 
    189180               zbt = e1t(ji,jj) * e2t(ji,jj) * fse3t(ji,jj,jk) 
    190 #else 
    191                zbt = e1t(ji,jj) * e2t(ji,jj) 
    192181#endif 
    193182               zut(ji,jj) = (  zlu(ji,jj) - zlu(ji-1,jj  )   & 
     
    207196         DO jj = 2, jpjm1 
    208197            DO ji = fs_2, fs_jpim1   ! vector opt. 
    209 #if defined key_s_coord || defined key_partial_steps 
     198#if defined key_zco 
     199               ze2u = e2u(ji,jj) 
     200               ze2v = e1v(ji,jj) 
     201#else 
    210202               ze2u = e2u(ji,jj) * fse3u(ji,jj,jk) 
    211203               ze2v = e1v(ji,jj) * fse3v(ji,jj,jk) 
    212 #else 
    213                ze2u = e2u(ji,jj) 
    214                ze2v = e1v(ji,jj) 
    215204#endif 
    216205               ! horizontal biharmonic diffusive trends 
     
    229218      END DO                                           !   End of slab 
    230219      !                                                ! =============== 
    231       ! save the lateral diffusion trends for diagnostic 
    232       ! momentum trends 
    233       IF( l_trddyn )   THEN 
    234          ztdua(:,:,:) = ua(:,:,:) - ztdua(:,:,:) 
    235          ztdva(:,:,:) = va(:,:,:) - ztdva(:,:,:) 
    236  
    237          CALL trd_mod(ztdua, ztdva, jpdtdldf, 'DYN', kt) 
    238       ENDIF 
    239  
    240       IF(ln_ctl) THEN         ! print sum trends (used for debugging) 
    241          CALL prt_ctl(tab3d_1=ua, clinfo1=' ldf  - Ua: ', mask1=umask, & 
    242             &         tab3d_2=va, clinfo2=' Va: ', mask2=vmask, clinfo3='dyn') 
    243       ENDIF 
    244220 
    245221   END SUBROUTINE dyn_ldf_bilap 
Note: See TracChangeset for help on using the changeset viewer.