Changeset 1695 for trunk/NEMO/LIM_SRC_2/limsbc_2.F90
- Timestamp:
- 2009-10-30T17:42:38+01:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/LIM_SRC_2/limsbc_2.F90
r1694 r1695 90 90 REAL(wp), DIMENSION(jpi,jpj,1) :: zalb ! albedo of ice under overcast sky 91 91 REAL(wp), DIMENSION(jpi,jpj,1) :: zalbp ! albedo of ice under clear sky 92 REAL(wp) :: zsang, zmod, zfm 93 REAL(wp), DIMENSION(jpi,jpj) :: ztio_u, ztio_v ! ocean stress below sea-ice 92 REAL(wp) :: zsang, zmod, zztmp, zfm 93 REAL(wp), DIMENSION(jpi,jpj) :: ztio_u, ztio_v ! component of ocean stress below sea-ice at I-point 94 REAL(wp), DIMENSION(jpi,jpj) :: ztiomi ! module of ocean stress below sea-ice at I-point 94 95 REAL(wp), DIMENSION(jpi,jpj) :: zqnsoce ! save qns before its modification by ice model 95 96 … … 249 250 zu_io = u_ice(ji,jj) - u_oce(ji,jj) 250 251 zv_io = v_ice(ji,jj) - v_oce(ji,jj) 251 zmod = rhoco * SQRT( zu_io * zu_io + zv_io * zv_io ) 252 ! ... ice stress over ocean with a ice-ocean rotation angle (at I-point) 253 ztio_u(ji,jj) = zmod * ( cangvg * zu_io - zsang * zv_io ) 254 ztio_v(ji,jj) = zmod * ( cangvg * zv_io + zsang * zu_io ) 252 zmod = SQRT( zu_io * zu_io + zv_io * zv_io ) 253 zztmp = rhoco * zmod 254 ! ... components of ice stress over ocean with a ice-ocean rotation angle (at I-point) 255 ztio_u(ji,jj) = zztmp * ( cangvg * zu_io - zsang * zv_io ) 256 ztio_v(ji,jj) = zztmp * ( cangvg * zv_io + zsang * zu_io ) 257 ! ... module of ice stress over ocean (at I-point) 258 ztiomi(ji,jj) = zztmp * zmod 255 259 ! 256 260 END DO … … 259 263 DO jj = 2, jpjm1 260 264 DO ji = 2, jpim1 ! NO vector opt. 261 ! ... ice-cover wheightedice-ocean stress at U and V-points (from I-point values)265 ! ... components of ice-ocean stress at U and V-points (from I-point values) 262 266 zutau = 0.5 * ( ztio_u(ji+1,jj) + ztio_u(ji+1,jj+1) ) 263 267 zvtau = 0.5 * ( ztio_v(ji,jj+1) + ztio_v(ji+1,jj+1) ) 264 268 ! ... open-ocean (lead) fraction at U- & V-points (from T-point values) 265 zfrldu = 0.5 * ( frld (ji,jj) + frld(ji+1,jj ) )266 zfrldv = 0.5 * ( frld (ji,jj) + frld(ji ,jj+1) )267 ! update surface ocean stress269 zfrldu = 0.5 * ( frld(ji,jj) + frld(ji+1,jj ) ) 270 zfrldv = 0.5 * ( frld(ji,jj) + frld(ji ,jj+1) ) 271 ! ... update components of surface ocean stress (ice-cover wheighted) 268 272 utau(ji,jj) = zfrldu * utau(ji,jj) + ( 1. - zfrldu ) * zutau 269 273 vtau(ji,jj) = zfrldv * vtau(ji,jj) + ( 1. - zfrldv ) * zvtau 274 ! ... module of ice-ocean stress at T-points (from I-point values) 275 zztmp = 0.25 * ( ztiomi(ji,jj) + ztiomi(ji+1,jj) + ztiomi(ji,jj+1) + ztiomi(ji+1,jj+1) ) 276 ! ... update module of surface ocean stress (ice-cover wheighted) 277 taum(ji,jj) = frld(ji,jj) * taum(ji,jj) + ( 1. - frld(ji,jj) ) * zztmp 270 278 ! 271 279 END DO 272 280 END DO 273 281 274 ! boundary condition on the stress (utau,vtau )282 ! boundary condition on the stress (utau,vtau,taum) 275 283 CALL lbc_lnk( utau, 'U', -1. ) 276 284 CALL lbc_lnk( vtau, 'V', -1. ) 285 CALL lbc_lnk( taum, 'T', 1. ) 277 286 278 287 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.