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 7171 for branches/2015/dev_r5936_INGV1_WAVE/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90 – NEMO

Ignore:
Timestamp:
2016-11-03T11:18:03+01:00 (7 years ago)
Author:
emanuelaclementi
Message:

#1643 Updates and bug fix on development branch 2015/dev_r5936_INGV1_WAVE

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5936_INGV1_WAVE/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90

    r6253 r7171  
    3939   USE wrk_nemo        ! Memory Allocation 
    4040   USE timing          ! Timing 
    41    USE sbcwave,  ONLY:  zusd2dt, zvsd2dt,wsd3d 
     41   USE sbcwave,  ONLY:  usd3dt, vsd3dt,wsd3d 
    4242 
    4343   IMPLICIT NONE 
     
    162162      REAL(wp), POINTER, DIMENSION(:,:  ) ::  z2d 
    163163      REAL(wp), POINTER, DIMENSION(:,:,:) ::  z3d, zhdiv 
    164       REAL(wp), ALLOCATABLE, DIMENSION(:,:  ) ::  sshnu, sshnv, dsshnu, dsshnv 
     164      REAL(wp) :: dsshnu, dsshnv 
    165165      !!---------------------------------------------------------------------- 
    166166      ! 
     
    210210      ENDIF 
    211211! 
    212 !     In case ln_wave and ln_sdw the surface vertical velocity is modified 
     212!     In case ln_wave and ln_sdw, the surface vertical velocity is modified 
    213213!     accounting for Sokes Drift velocity 
     214! 
    214215      IF ( ln_wave .AND. ln_sdw )  THEN 
    215        ALLOCATE(sshnu(jpi,jpj),sshnv(jpi,jpj),dsshnu(jpi,jpj),dsshnv(jpi,jpj)) 
    216        sshnu (:,:) = 0._wp 
    217        sshnv (:,:) = 0._wp 
    218        dsshnu(:,:) = 0._wp 
    219        dsshnv(:,:) = 0._wp 
    220        ! sshn interpolated on U-V grid 
    221        !--------------------------------- 
    222        DO jj = 1 , jpjm1 
    223          DO ji = 1 , jpim1 
    224            sshnu(ji,jj) =  0.5 * ( 2. - umask(ji,jj,1) ) *               & 
    225                         &        ( sshn(ji  ,jj) * tmask(ji  ,jj,1)      & 
    226                         &        + sshn(ji+1,jj) * tmask(ji+1,jj,1) ) 
    227            sshnv(ji,jj) =  0.5 * ( 2. - vmask(ji,jj,1) ) *               & 
    228                         &        ( sshn(ji,jj  ) * tmask(ji,jj  ,1)      & 
    229                         &        + sshn(ji,jj+1) * tmask(ji,jj+1,1) ) 
    230          ENDDO 
     216      ! Compute d(ssh)/dx  and d(ssh)/dy   
     217      ! Compute the surface vertical velocity accounting for the Stokes Drift 
     218      !--------------------------------- 
     219       DO jj = 2 , jpjm1 
     220        DO ji = 2 , jpim1 
     221          dsshnu = ( ssha(ji+1,jj) - ssha(ji,jj) ) / e1u(ji,jj) 
     222          dsshnv = ( ssha(ji,jj+1) - ssha(ji,jj) ) / e2v(ji,jj) 
     223          wn(ji,jj,1) = wn(ji,jj,1) +( usd3dt(ji,jj,1) * dsshnu     & 
     224                &     + vsd3dt(ji,jj,1) * dsshnv                    & 
     225                &     - ( wsd3d (ji,jj,1) )) * tmask(ji,jj,1) 
     226        ENDDO 
    231227       ENDDO 
    232        ! Compute d(ssh)/dx  and d(ssh)/dy   
    233        !--------------------------------- 
    234        DO jj = 1 , jpjm1 
    235          DO ji = 1 , jpim1 
    236            dsshnu(ji,jj) = ( sshnu(ji+1,jj) - sshnu(ji,jj) ) / e1u(ji,jj) 
    237            dsshnv(ji,jj) = ( sshnv(ji,jj+1) - sshnv(ji,jj) ) / e2v(ji,jj) 
    238          ENDDO 
    239        ENDDO 
    240        ! Compute the surface vertical velocity accounting for the Stokes Drift  
    241        !--------------------------------------------------------------------- 
    242        wn(:,:,1) = wn(:,:,1) + zusd2dt(:,:) * dsshnu(:,:)     & 
    243                  &           + zvsd2dt(:,:) * dsshnv(:,:)      & 
    244                  &           - ( wsd3d (:,:,1) ) * tmask(:,:,1) 
    245228      ENDIF 
    246229      ! 
Note: See TracChangeset for help on using the changeset viewer.