Changeset 1756 for trunk/NEMO/OPA_SRC/TRA/traldf_iso.F90
- Timestamp:
- 2009-11-25T15:15:20+01:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/TRA/traldf_iso.F90
r1152 r1756 26 26 USE zdf_oce ! ocean vertical physics 27 27 USE in_out_manager ! I/O manager 28 USE iom ! 28 29 USE ldfslp ! iso-neutral slopes 29 30 USE diaptr ! poleward transport diagnostics 30 31 USE prtctl ! Print control 32 #if defined key_diaar5 33 USE phycst ! physical constants 34 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 35 #endif 31 36 32 37 IMPLICIT NONE … … 98 103 REAL(wp) :: zmskv, zabe2, zcof2, zcoef4, zsa ! " " 99 104 REAL(wp) :: zcoef0, zbtr ! " " 100 REAL(wp), DIMENSION(jpi,jpj) :: zdkt , zdk1t, zftu ! 2D workspace 101 REAL(wp), DIMENSION(jpi,jpj) :: zdks , zdk1s, zfsu ! " " 105 REAL(wp), DIMENSION(jpi,jpj) :: zdkt , zdk1t ! 2D workspace 106 REAL(wp), DIMENSION(jpi,jpj) :: zdks , zdk1s, zfsu ! " " 107 #if defined key_diaar5 108 REAL(wp), DIMENSION(jpi,jpj) :: z2d ! " " 109 REAL(wp) :: zztmp ! " " 110 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zftu ! 3D workspace 111 #else 112 REAL(wp), DIMENSION(jpi,jpj) :: zftu ! 2D workspace 113 #endif 102 114 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zdit, zdjt, ztfw ! 3D workspace 103 115 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zdis, zdjs, zsfw ! " " 116 # if defined key_diaar5 117 # endif 104 118 !!---------------------------------------------------------------------- 105 119 … … 149 163 !!---------------------------------------------------------------------- 150 164 165 #if defined key_diaar5 166 !CDIR PARALLEL DO PRIVATE( zdk1t, zdk1s, zfsu ) 167 #else 151 168 !CDIR PARALLEL DO PRIVATE( zdk1t, zdk1s, zftu, zfsu ) 169 #endif 152 170 ! ! =============== 153 171 DO jk = 1, jpkm1 ! Horizontal slab … … 186 204 zcof2 = -fsahtv(ji,jj,jk) * e1v(ji,jj) * vslp(ji,jj,jk) * zmskv 187 205 206 #if defined key_diaar5 207 zftu(ji,jj,jk) = ( zabe1 * zdit(ji,jj,jk) & 208 #else 188 209 zftu(ji,jj ) = ( zabe1 * zdit(ji,jj,jk) & 210 #endif 189 211 & + zcof1 * ( zdkt (ji+1,jj) + zdk1t(ji,jj) & 190 212 & + zdk1t(ji+1,jj) + zdkt (ji,jj) ) ) * umask(ji,jj,jk) … … 207 229 DO ji = fs_2, fs_jpim1 ! vector opt. 208 230 zbtr= 1. / ( e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,jk) ) 231 #if defined key_diaar5 232 zta = zbtr * ( zftu(ji,jj,jk) - zftu(ji-1,jj,jk) + zftv(ji,jj,jk) - zftv(ji,jj-1,jk) ) 233 #else 209 234 zta = zbtr * ( zftu(ji,jj ) - zftu(ji-1,jj ) + zftv(ji,jj,jk) - zftv(ji,jj-1,jk) ) 235 #endif 210 236 zsa = zbtr * ( zfsu(ji,jj ) - zfsu(ji-1,jj ) + zfsv(ji,jj,jk) - zfsv(ji,jj-1,jk) ) 211 237 ta (ji,jj,jk) = ta (ji,jj,jk) + zta … … 221 247 pst_ldf(:) = ptr_vj( zfsv(:,:,:) ) 222 248 ENDIF 249 #if defined key_diaar5 250 zztmp = 0.5 * rau0 * rcp 251 z2d(:,:) = 0.e0 252 DO jk = 1, jpkm1 253 DO jj = 2, jpjm1 254 DO ji = fs_2, fs_jpim1 ! vector opt. 255 z2d(ji,jj) = z2d(ji,jj) + zztmp * zftu(ji,jj,jk) * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) * e1u(ji,jj) * fse3u(ji,jj,jk) 256 END DO 257 END DO 258 END DO 259 CALL lbc_lnk( z2d, 'U', -1. ) 260 CALL iom_put( "udiff_heattr", z2d ) ! heat transport in i-direction 261 z2d(:,:) = 0.e0 262 DO jk = 1, jpkm1 263 DO jj = 2, jpjm1 264 DO ji = fs_2, fs_jpim1 ! vector opt. 265 z2d(ji,jj) = z2d(ji,jj) + zztmp * zftv(ji,jj,jk) * ( tn(ji,jj,jk) + tn(ji,jj+1,jk) ) * e2v(ji,jj) * fse3v(ji,jj,jk) 266 END DO 267 END DO 268 END DO 269 CALL lbc_lnk( z2d, 'V', -1. ) 270 CALL iom_put( "vdiff_heattr", z2d ) ! heat transport in i-direction 271 #endif 223 272 224 273 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.