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 7471 for branches/UKMO/r6232_INGV1_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90 – NEMO

Ignore:
Timestamp:
2016-12-07T13:15:34+01:00 (7 years ago)
Author:
jcastill
Message:

Version as merged to the trunk during the Nov-2016 merge party, equivalent to branches/UKMO/r5936_INGV1_WAVE-coupling@7360

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/r6232_INGV1_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90

    r7470 r7471  
    66   !! History :  2.0  !  2005-11  (G. Madec)  Original code 
    77   !!            3.3  !  2010-09  (C. Ethe, G. Madec)  merge TRC-TRA + switch from velocity to transport 
     8   !!            3.6  !  2015-06  (E. Clementi) Addition of Stokes drift in case of wave coupling 
    89   !!            4.0  !  2011-06  (G. Madec)  Addition of Mixed Layer Eddy parameterisation 
    910   !!---------------------------------------------------------------------- 
     
    3435   USE timing          ! Timing 
    3536   USE sbc_oce 
    36    USE diaptr          ! Poleward heat transport  
    37  
     37   USE sbcwave        ! wave module  
     38   USE sbc_oce        ! surface boundary condition: ocean  
     39   USE diaptr         ! Poleward heat transport 
    3840 
    3941   IMPLICIT NONE 
     
    8587      CALL wrk_alloc( jpi, jpj, jpk, zun, zvn, zwn ) 
    8688      !                                          ! set time step 
     89      zun(:,:,:) = 0.0  
     90      zvn(:,:,:) = 0.0  
     91      zwn(:,:,:) = 0.0  
     92      !      
    8793      IF( neuler == 0 .AND. kt == nit000 ) THEN     ! at nit000 
    8894         r2dtra(:) =  rdttra(:)                          ! = rdtra (restarting with Euler time stepping) 
     
    94100      ! 
    95101      !                                               !==  effective transport  ==! 
    96       DO jk = 1, jpkm1 
    97          zun(:,:,jk) = e2u(:,:) * fse3u(:,:,jk) * un(:,:,jk)                  ! eulerian transport only 
    98          zvn(:,:,jk) = e1v(:,:) * fse3v(:,:,jk) * vn(:,:,jk) 
    99          zwn(:,:,jk) = e1t(:,:) * e2t(:,:)      * wn(:,:,jk) 
    100       END DO 
     102      IF(ln_wave .AND. ln_sdw) THEN  
     103         DO jk = 1, jpkm1  
     104            zun(:,:,jk) = e2u(:,:) * fse3u(:,:,jk) *      &  
     105                        &  ( un(:,:,jk) + usd3d(:,:,jk) )                     !eulerian transport + Stokes Drift  
     106            zvn(:,:,jk) = e1v(:,:) * fse3v(:,:,jk) *      &  
     107                        &  ( vn(:,:,jk) + vsd3d(:,:,jk) )  
     108            zwn(:,:,jk) = e1e2t(:,:) *                    &  
     109                        &  ( wn(:,:,jk) + wsd3d(:,:,jk) )  
     110         END DO  
     111      ELSE  
     112         DO jk = 1, jpkm1  
     113            zun(:,:,jk) = e2u  (:,:) * fse3u(:,:,jk) * un(:,:,jk)             ! eulerian transport only  
     114            zvn(:,:,jk) = e1v  (:,:) * fse3v(:,:,jk) * vn(:,:,jk)  
     115            zwn(:,:,jk) = e1e2t(:,:)                 * wn(:,:,jk)  
     116         END DO  
     117      ENDIF  
    101118      ! 
    102119      IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 
Note: See TracChangeset for help on using the changeset viewer.