- Timestamp:
- 2016-11-03T11:18:03+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5936_INGV1_WAVE/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90
r6253 r7171 39 39 USE wrk_nemo ! Memory Allocation 40 40 USE timing ! Timing 41 USE sbcwave, ONLY: zusd2dt, zvsd2dt,wsd3d41 USE sbcwave, ONLY: usd3dt, vsd3dt,wsd3d 42 42 43 43 IMPLICIT NONE … … 162 162 REAL(wp), POINTER, DIMENSION(:,: ) :: z2d 163 163 REAL(wp), POINTER, DIMENSION(:,:,:) :: z3d, zhdiv 164 REAL(wp) , ALLOCATABLE, DIMENSION(:,: ) :: sshnu, sshnv,dsshnu, dsshnv164 REAL(wp) :: dsshnu, dsshnv 165 165 !!---------------------------------------------------------------------- 166 166 ! … … 210 210 ENDIF 211 211 ! 212 ! In case ln_wave and ln_sdw the surface vertical velocity is modified212 ! In case ln_wave and ln_sdw, the surface vertical velocity is modified 213 213 ! accounting for Sokes Drift velocity 214 ! 214 215 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 231 227 ENDDO 232 ! Compute d(ssh)/dx and d(ssh)/dy233 !---------------------------------234 DO jj = 1 , jpjm1235 DO ji = 1 , jpim1236 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 ENDDO239 ENDDO240 ! Compute the surface vertical velocity accounting for the Stokes Drift241 !---------------------------------------------------------------------242 wn(:,:,1) = wn(:,:,1) + zusd2dt(:,:) * dsshnu(:,:) &243 & + zvsd2dt(:,:) * dsshnv(:,:) &244 & - ( wsd3d (:,:,1) ) * tmask(:,:,1)245 228 ENDIF 246 229 !
Note: See TracChangeset
for help on using the changeset viewer.