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 4825 for branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90 – NEMO

Ignore:
Timestamp:
2014-10-24T18:28:42+02:00 (10 years ago)
Author:
poddo
Message:

#1404: NEMO-wave coupling WG

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90

    r4486 r4825  
    99   !!             -   !  2010-09  (D.Storkey and E.O'Dea) bug fixes for BDY module 
    1010   !!            3.3  !  2011-10  (M. Leclair) split former ssh_wzv routine and remove all vvl related work 
     11   !!            3.6  !  2014-10  (E. Clementi, P. Oddo) add wave contribution to surface vertical velocity  
    1112   !!---------------------------------------------------------------------- 
    1213 
     
    4243   USE wrk_nemo        ! Memory Allocation 
    4344   USE timing          ! Timing 
     45   USE sbcwave,  ONLY: usd2dt, vsd2dt,wsd3d 
    4446 
    4547   IMPLICIT NONE 
     
    172174      INTEGER             ::   ji, jj, jk   ! dummy loop indices 
    173175      REAL(wp)            ::   z1_2dt       ! local scalars 
     176      ! 
     177      REAL(wp), ALLOCATABLE, DIMENSION(:,:  ) ::  sshnu, sshnv, dsshnu,dsshnv 
    174178      !!---------------------------------------------------------------------- 
    175179       
     
    220224         END DO 
    221225      ENDIF 
     226! 
     227!     In case ln_wave and ln_sdw the surface vertical velocity is modified 
     228!     accounting for Sokes Drift velocity 
     229      IF ( ln_sdw )  THEN 
     230       ALLOCATE(sshnu(jpi,jpj),sshnv(jpi,jpj),dsshnu(jpi,jpj),dsshnv(jpi,jpj)) 
     231       sshnu (:,:) = 0._wp 
     232       sshnv (:,:) = 0._wp 
     233       dsshnu(:,:) = 0._wp 
     234       dsshnv(:,:) = 0._wp 
     235       ! sshn interpolated on U-V grid 
     236       !--------------------------------- 
     237       DO jj = 1 , jpjm1 
     238         DO ji = 1 , jpim1 
     239           sshnu(ji,jj) =  0.5 * ( 2. - umask(ji,jj,1) ) *               & 
     240                        &        ( sshn(ji  ,jj) * tmask(ji  ,jj,1)      & 
     241                        &        + sshn(ji+1,jj) * tmask(ji+1,jj,1) ) 
     242           sshnv(ji,jj) =  0.5 * ( 2. - vmask(ji,jj,1) ) *               & 
     243                        &        ( sshn(ji,jj  ) * tmask(ji,jj  ,1)      & 
     244                        &        + sshn(ji,jj+1) * tmask(ji,jj+1,1) ) 
     245         ENDDO 
     246       ENDDO 
     247       ! Compute d(ssh)/dx  and d(ssh)/dy   
     248       !--------------------------------- 
     249       DO jj = 1 , jpjm1 
     250         DO ji = 1 , jpim1 
     251           dsshnu(ji,jj) = ( sshnu(ji+1,jj) - sshnu(ji,jj) ) / e1u(ji,jj) 
     252           dsshnv(ji,jj) = ( sshnv(ji,jj+1) - sshnv(ji,jj) ) / e2v(ji,jj) 
     253         ENDDO 
     254       ENDDO 
     255       ! Compute the surface vertical velocity accounting for the Stokes Drift  
     256       !--------------------------------------------------------------------- 
     257       wn(:,:,1) = wn(:,:,1) + usd2dt(:,:) * dsshnu(:,:)     & 
     258                 &           + vsd2dt(:,:) * dsshnv(:,:)      & 
     259                 &           - ( wsd3d (:,:,1) ) * tmask(:,:,1) 
     260      ENDIF 
     261! 
    222262 
    223263#if defined key_bdy 
Note: See TracChangeset for help on using the changeset viewer.