- Timestamp:
- 2016-11-04T15:23:32+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/r5936_INGV1_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90
r7168 r7193 56 56 REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) :: usd2d, vsd2d 57 57 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: usd3d, vsd3d, wsd3d 58 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: usd3dt, vsd3dt 58 59 REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:) :: zusd2dt, zvsd2dt 59 60 … … 94 95 ztransp = 2.0_wp*rpi*swh(ji,jj)**2.0_wp/(16.0_wp*MAX(wmp(ji,jj),0.0000001_wp)) 95 96 ! Stokes surface speed 96 zsp0 = SQRT( sf_sd(jp_usd)%fnow(ji,jj,1)**2 + sf_sd(jp_vsd)%fnow(ji,jj,1)**2)97 zsp0 = SQRT( zusd2dt(ji,jj)**2 + zvsd2dt(ji,jj)**2) 97 98 ! Wavenumber scale 98 99 zk = ABS(zsp0)/MAX(ABS(5.97_wp*ztransp),0.0000001_wp) … … 101 102 END DO 102 103 END DO 103 104 ! 105 DO jj = 1, jpj 106 DO ji = 1, jpi 107 usd3dt(ji,jj,jk) = zfac(ji,jj) * zusd2dt(ji,jj) * tmask(ji,jj,jk) 108 vsd3dt(ji,jj,jk) = zfac(ji,jj) * zvsd2dt (ji,jj) * tmask(ji,jj,jk) 109 END DO 110 END DO 111 END DO 112 ! Into the U and V Grid 113 DO jk = 1, jpkm1 104 114 DO jj = 1, jpjm1 105 115 DO ji = 1, jpim1 106 ! Into the U and V Grid 107 zus = 0.5 * ( 2. - umask(ji,jj,1) ) * ( zfac(ji,jj) * tmask(ji,jj,1) & 108 & + zfac(ji+1,jj) * tmask(ji+1,jj,1) ) 109 zvs = 0.5 * ( 2. - vmask(ji,jj,1) ) * ( zfac(ji,jj) * tmask(ji,jj,1) & 110 & + zfac(ji,jj+1) * tmask(ji,jj+1,1) ) 111 usd2d(ji,jj) = 0.5 * ( 2. - umask(ji,jj,1) ) * ( zusd2dt(ji,jj) * tmask(ji,jj,1) & 112 & + zusd2dt(ji+1,jj) * tmask(ji+1,jj,1) ) 113 vsd2d(ji,jj) = 0.5 * ( 2. - vmask(ji,jj,1) ) * ( zvsd2dt(ji,jj) * tmask(ji,jj,1) & 114 & + zvsd2dt(ji,jj+1) * tmask(ji,jj+1,1) ) 115 usd3d(ji,jj,jk) = usd2d(ji,jj) * zus 116 vsd3d(ji,jj,jk) = vsd2d(ji,jj) * zvs 116 usd3d(ji,jj,jk) = 0.5 * umask(ji,jj,jk) * & 117 & (usd3dt(ji,jj,jk) + usd3dt(ji+1,jj,jk)) 118 vsd3d(ji,jj,jk) = 0.5 * vmask(ji,jj,jk) * & 119 & (vsd3dt(ji,jj,jk) + vsd3dt(ji,jj+1,jk)) 117 120 END DO 118 121 END DO … … 170 173 DO jj = 1, jpj 171 174 DO ji = 1, jpi 172 tsd2d(ji,jj) = ((zusd2dt(ji,jj) * tmask(ji,jj,1))**2.0 + & 173 & (zvsd2dt(ji,jj) * tmask(ji,jj,1))**2.0)**0.5 175 tsd2d(ji,jj) = SQRT( zusd2dt(ji,jj)**2 + zvsd2dt(ji,jj)**2) 174 176 END DO 175 177 END DO … … 287 289 ALLOCATE( usd2d(jpi,jpj),vsd2d(jpi,jpj) ) 288 290 ALLOCATE( usd3d(jpi,jpj,jpk),vsd3d(jpi,jpj,jpk),wsd3d(jpi,jpj,jpk) ) 291 ALLOCATE( usd3dt(jpi,jpj,jpk),vsd3dt(jpi,jpj,jpk) ) 289 292 ALLOCATE( swh(jpi,jpj), wmp(jpi,jpj) ) 290 293 ALLOCATE( zusd2dt(jpi,jpj), zvsd2dt(jpi,jpj) ) … … 292 295 vsd3d(:,:,:) = 0._wp ; vsd2d(:,:) = 0._wp ; 293 296 wsd3d(:,:,:) = 0._wp ; 297 usd3dt(:,:,:) = 0._wp ; vsd3dt(:,:,:) = 0._wp ; 294 298 swh (:,:) = 0._wp ; wmp (:,:) = 0._wp ; 295 299 IF ( ln_zdfqiao ) THEN !== Vertical mixing enhancement using Qiao,2010 ==!
Note: See TracChangeset
for help on using the changeset viewer.