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 5457 for branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90 – NEMO

Ignore:
Timestamp:
2015-06-22T12:36:03+02:00 (9 years ago)
Author:
emanuelaclementi
Message:

#1544: Wave-current developments: Tracer advection & surface stress

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90

    r4624 r5457  
    77   !!            3.3  !  2010-09  (C. Ethe, G. Madec)  merge TRC-TRA + switch from velocity to transport 
    88   !!            4.0  !  2011-06  (G. Madec)  Addition of Mixed Layer Eddy parameterisation 
     9   !!            3.6  !  2015-06  (E. Clementi) Addition of Stokes drift in case of wave coupling 
    910   !!---------------------------------------------------------------------- 
    1011 
     
    3233   USE wrk_nemo        ! Memory Allocation 
    3334   USE timing          ! Timing 
    34  
     35   USE sbcwave         ! wave module 
     36   USE sbc_oce         ! surface boundary condition: ocean 
    3537 
    3638   IMPLICIT NONE 
     
    8082      ! 
    8183      CALL wrk_alloc( jpi, jpj, jpk, zun, zvn, zwn ) 
     84      ! 
     85      zun(:,:,:) = 0.0 
     86      zvn(:,:,:) = 0.0 
     87      zwn(:,:,:) = 0.0 
    8288      !                                          ! set time step 
    8389      IF( neuler == 0 .AND. kt == nit000 ) THEN     ! at nit000 
     
    8995      IF( nn_cla == 1 .AND. cp_cfg == 'orca' .AND. jp_cfg == 2 )   CALL cla_traadv( kt )       !==  Cross Land Advection  ==! (hor. advection) 
    9096      ! 
    91       !                                               !==  effective transport  ==! 
    92       DO jk = 1, jpkm1 
    93          zun(:,:,jk) = e2u(:,:) * fse3u(:,:,jk) * un(:,:,jk)                  ! eulerian transport only 
    94          zvn(:,:,jk) = e1v(:,:) * fse3v(:,:,jk) * vn(:,:,jk) 
    95          zwn(:,:,jk) = e1t(:,:) * e2t(:,:)      * wn(:,:,jk) 
    96       END DO 
     97      IF (ln_wave .AND. ln_sdw) THEN 
     98         DO jk = 1, jpkm1 
     99            zun(:,:,jk) = e2u(:,:) * fse3u(:,:,jk) *      & 
     100                        &  ( un(:,:,jk) + usd3d(:,:,jk) )                  !eulerian transport + Stokes Drift 
     101            zvn(:,:,jk) = e1v(:,:) * fse3v(:,:,jk) *      & 
     102                        &  ( vn(:,:,jk) + vsd3d(:,:,jk) )  
     103            zwn(:,:,jk) = e1t(:,:) * e2t(:,:)      *      & 
     104                        &  ( wn(:,:,jk) + wsd3d(:,:,jk) ) 
     105         END DO 
     106      ELSE 
     107         DO jk = 1, jpkm1 
     108            zun(:,:,jk) = e2u(:,:) * fse3u(:,:,jk) * un(:,:,jk)                  ! eulerian transport only 
     109            zvn(:,:,jk) = e1v(:,:) * fse3v(:,:,jk) * vn(:,:,jk) 
     110            zwn(:,:,jk) = e1t(:,:) * e2t(:,:)      * wn(:,:,jk) 
     111         END DO 
     112      ENDIF 
    97113      ! 
    98114      IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 
Note: See TracChangeset for help on using the changeset viewer.