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 5974 for branches/2015/dev_r5072_UKMO2_OBS_simplification/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_exp.F90 – NEMO

Ignore:
Timestamp:
2015-12-02T11:52:05+01:00 (8 years ago)
Author:
timgraham
Message:

Upgrade to head of trunk (r5936)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5072_UKMO2_OBS_simplification/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_exp.F90

    r3625 r5974  
    88   !!   NEMO     0.5  !  2002-08  (G. Madec)  F90: Free form and module 
    99   !!            3.3  !  2010-04  (M. Leclair, G. Madec)  Forcing averaged over 2 time steps 
     10   !!            3.7  !  2015-11  (J. Chanut) output velocities instead of trends 
    1011   !!---------------------------------------------------------------------- 
    1112 
     
    1819   USE phycst          ! physical constants 
    1920   USE zdf_oce         ! ocean vertical physics 
     21   USE dynadv, ONLY: ln_dynadv_vec ! Momentum advection form 
    2022   USE sbc_oce         ! surface boundary condition: ocean 
    2123   USE lib_mpp         ! MPP library 
     
    118120         ! 
    119121      END DO                           ! End of time splitting 
     122 
     123      ! Time step momentum here to be compliant with what is done in the implicit case 
     124      ! 
     125      IF( ln_dynadv_vec .OR. .NOT. lk_vvl ) THEN      ! applied on velocity 
     126         DO jk = 1, jpkm1 
     127            ua(:,:,jk) = ( ub(:,:,jk) + p2dt * ua(:,:,jk) ) * umask(:,:,jk) 
     128            va(:,:,jk) = ( vb(:,:,jk) + p2dt * va(:,:,jk) ) * vmask(:,:,jk) 
     129         END DO 
     130      ELSE                                            ! applied on thickness weighted velocity 
     131         DO jk = 1, jpkm1 
     132            ua(:,:,jk) = (          ub(:,:,jk) * fse3u_b(:,:,jk)      & 
     133               &           + p2dt * ua(:,:,jk) * fse3u_n(:,:,jk)  )   & 
     134               &         / fse3u_a(:,:,jk) * umask(:,:,jk) 
     135            va(:,:,jk) = (          vb(:,:,jk) * fse3v_b(:,:,jk)      & 
     136               &           + p2dt * va(:,:,jk) * fse3v_n(:,:,jk)  )   & 
     137               &         / fse3v_a(:,:,jk) * vmask(:,:,jk) 
     138         END DO 
     139      ENDIF 
    120140      ! 
    121141      CALL wrk_dealloc( jpi,jpj,jpk, zwx, zwy, zwz, zww )  
Note: See TracChangeset for help on using the changeset viewer.