Changeset 5147 for trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90
- Timestamp:
- 2015-03-13T11:01:32+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90
r5120 r5147 110 110 REAL(wp) :: zmskv, zabe2, zcof2, zcoef4 ! - - 111 111 REAL(wp) :: zcoef0, zbtr, ztra ! - - 112 #if defined key_diaar5113 REAL(wp) :: zztmp ! local scalar114 #endif115 112 REAL(wp), POINTER, DIMENSION(:,: ) :: z2d 116 113 REAL(wp), POINTER, DIMENSION(:,:,:) :: zdkt, zdk1t, zdit, zdjt, ztfw … … 240 237 ! 241 238 ! "Poleward" diffusive heat or salt transports (T-S case only) 242 IF( cdtype == 'TRA' .AND. ln_diaptr .AND. ( MOD( kt, nn_fptr ) == 0 )) THEN239 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 243 240 ! note sign is reversed to give down-gradient diffusive transports (#1043) 244 IF( jn == jp_tem) htr_ldf(:) = ptr_ vj( -zftv(:,:,:) )245 IF( jn == jp_sal) str_ldf(:) = ptr_ vj( -zftv(:,:,:) )241 IF( jn == jp_tem) htr_ldf(:) = ptr_sj( -zftv(:,:,:) ) 242 IF( jn == jp_sal) str_ldf(:) = ptr_sj( -zftv(:,:,:) ) 246 243 ENDIF 247 244 248 #if defined key_diaar5 249 IF( cdtype == 'TRA' .AND. jn == jp_tem ) THEN250 z2d(:,:) = 0._wp251 ! note sign is reversed to give down-gradient diffusive transports (#1043)252 zztmp = -1.0_wp * rau0 * rcp253 DO jk = 1, jpkm1254 DO jj = 2, jpjm1255 DO ji = fs_2, fs_jpim1 ! vector opt.256 z2d(ji,jj) = z2d(ji,jj) + zftu(ji,jj,jk)245 IF( iom_use("udiff_heattr") .OR. iom_use("vdiff_heattr") ) THEN 246 ! 247 IF( cdtype == 'TRA' .AND. jn == jp_tem ) THEN 248 z2d(:,:) = 0._wp 249 DO jk = 1, jpkm1 250 DO jj = 2, jpjm1 251 DO ji = fs_2, fs_jpim1 ! vector opt. 252 z2d(ji,jj) = z2d(ji,jj) + zftu(ji,jj,jk) 253 END DO 257 254 END DO 258 255 END DO 259 END DO 260 z2d(:,:) = zztmp * z2d(:,:) 261 CALL lbc_lnk( z2d, 'U', -1. ) 262 CALL iom_put( "udiff_heattr", z2d ) ! heat transport in i-direction 263 z2d(:,:) = 0._wp 264 DO jk = 1, jpkm1 265 DO jj = 2, jpjm1 266 DO ji = fs_2, fs_jpim1 ! vector opt. 267 z2d(ji,jj) = z2d(ji,jj) + zftv(ji,jj,jk) 256 z2d(:,:) = - rau0_rcp * z2d(:,:) ! note sign is reversed to give down-gradient diffusive transports (#1043) 257 CALL lbc_lnk( z2d, 'U', -1. ) 258 CALL iom_put( "udiff_heattr", z2d ) ! heat transport in i-direction 259 ! 260 z2d(:,:) = 0._wp 261 DO jk = 1, jpkm1 262 DO jj = 2, jpjm1 263 DO ji = fs_2, fs_jpim1 ! vector opt. 264 z2d(ji,jj) = z2d(ji,jj) + zftv(ji,jj,jk) 265 END DO 268 266 END DO 269 267 END DO 270 END DO271 z2d(:,:) = zztmp * z2d(:,:)272 CALL lbc_lnk( z2d, 'V', -1. )273 CALL iom_put( "vdiff_heattr", z2d ) ! heat transport in i-direction274 END IF275 #endif 268 z2d(:,:) = - rau0_rcp * z2d(:,:) ! note sign is reversed to give down-gradient diffusive transports (#1043) 269 CALL lbc_lnk( z2d, 'V', -1. ) 270 CALL iom_put( "vdiff_heattr", z2d ) ! heat transport in i-direction 271 END IF 272 ! 273 ENDIF 276 274 277 275 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.