- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_eiv.F90
r8627 r7494 165 165 CALL iom_put( "voce_eiv", v_eiv ) ! j-eiv current 166 166 CALL iom_put( "woce_eiv", w_eiv ) ! vert. eiv current 167 !168 167 IF( iom_use('weiv_masstr') ) THEN ! vertical mass transport & its square value 169 z2d(:,:) = rau0 * e12t(:,:) 170 DO jk = 1, jpk 171 z3d(:,:,jk) = w_eiv(:,:,jk) * z2d(:,:) 172 END DO 173 CALL iom_put( "weiv_masstr" , z3d ) 174 ENDIF 175 ! 168 z2d(:,:) = rau0 * e12t(:,:) 169 DO jk = 1, jpk 170 z3d(:,:,jk) = w_eiv(:,:,jk) * z2d(:,:) 171 END DO 172 CALL iom_put( "weiv_masstr" , z3d ) 173 ENDIF 176 174 IF( iom_use("ueiv_masstr") .OR. iom_use("ueiv_heattr") .OR. iom_use('ueiv_heattr3d') & 177 &.OR. iom_use("ueiv_salttr") .OR. iom_use('ueiv_salttr3d') ) THEN175 .OR. iom_use("ueiv_salttr") .OR. iom_use('ueiv_salttr3d') ) THEN 178 176 z3d(:,:,jpk) = 0.e0 179 177 z2d(:,:) = 0.e0 … … 184 182 CALL iom_put( "ueiv_masstr", z3d ) ! mass transport in i-direction 185 183 ENDIF 186 ! 184 187 185 IF( iom_use('ueiv_heattr') .OR. iom_use('ueiv_heattr3d') ) THEN 188 186 zztmp = 0.5 * rcp … … 206 204 ENDIF 207 205 ENDIF 208 ! 206 209 207 IF( iom_use('ueiv_salttr') .OR. iom_use('ueiv_salttr3d') ) THEN 210 208 zztmp = 0.5 * 0.001 … … 228 226 ENDIF 229 227 ENDIF 230 ! 228 231 229 IF( iom_use("veiv_masstr") .OR. iom_use("veiv_heattr") .OR. iom_use('veiv_heattr3d') & 232 230 .OR. iom_use("veiv_salttr") .OR. iom_use('veiv_salttr3d') ) THEN … … 237 235 CALL iom_put( "veiv_masstr", z3d ) ! mass transport in j-direction 238 236 ENDIF 239 !237 240 238 IF( iom_use('veiv_heattr') .OR. iom_use('veiv_heattr3d') ) THEN 241 239 zztmp = 0.5 * rcp … … 259 257 ENDIF 260 258 ENDIF 261 ! 259 262 260 IF( iom_use('veiv_salttr') .OR. iom_use('veiv_salttr3d') ) THEN 263 261 zztmp = 0.5 * 0.001 … … 281 279 ENDIF 282 280 ENDIF 283 ! 281 284 282 IF( iom_use('weiv_masstr') .OR. iom_use('weiv_heattr3d') .OR. iom_use('weiv_salttr3d')) THEN ! vertical mass transport & its square value 285 283 z2d(:,:) = rau0 * e12t(:,:) … … 289 287 CALL iom_put( "weiv_masstr" , z3d ) ! mass transport in k-direction 290 288 ENDIF 291 ! 289 292 290 IF( iom_use('weiv_heattr3d') ) THEN 293 291 zztmp = 0.5 * rcp … … 302 300 CALL iom_put( "weiv_heattr3d", zztmp * z3d_T ) ! 3D heat transport in k-direction 303 301 ENDIF 304 ! 302 305 303 IF( iom_use('weiv_salttr3d') ) THEN 306 304 zztmp = 0.5 * 0.001 … … 315 313 CALL iom_put( "weiv_salttr3d", zztmp * z3d_T ) ! 3D salt transport in k-direction 316 314 ENDIF 317 ! 318 IF( ln_diaptr ) THEN 319 z3d(:,:,:) = 0._wp 320 DO jk = 1, jpkm1 321 DO jj = 2, jpjm1 322 DO ji = fs_2, fs_jpim1 ! vector opt. 323 z3d(ji,jj,jk) = v_eiv(ji,jj,jk) * 0.5 * (tsn(ji,jj,jk,jp_tem)+tsn(ji,jj+1,jk,jp_tem)) & 324 & * e1v(ji,jj) * fse3v(ji,jj,jk) 325 END DO 326 END DO 327 END DO 328 CALL dia_ptr_ohst_components( jp_tem, 'eiv', z3d ) 329 z3d(:,:,:) = 0._wp 330 DO jk = 1, jpkm1 331 DO jj = 2, jpjm1 332 DO ji = fs_2, fs_jpim1 ! vector opt. 333 z3d(ji,jj,jk) = v_eiv(ji,jj,jk) * 0.5 * (tsn(ji,jj,jk,jp_sal)+tsn(ji,jj+1,jk,jp_sal)) & 334 & * e1v(ji,jj) * fse3v(ji,jj,jk) 335 END DO 336 END DO 337 END DO 338 CALL dia_ptr_ohst_components( jp_sal, 'eiv', z3d ) 339 ENDIF 340 ! 341 !!gm add CMIP6 diag here instead of been done in trdken.F90 342 ! 343 IF( iom_use('eketrd_eiv') ) THEN ! tendency of EKE from parameterized eddy advection 344 ! CMIP6 diagnostic tknebto = tendency of EKE from parameterized mesoscale eddy advection 345 ! = vertical_integral( k (N S)^2 ) rho dz where rho = rau0 and S = isoneutral slope. 346 z2d(:,:) = 0._wp 347 DO jk = 1, jpkm1 348 DO ji = 1, jpi 349 DO jj = 1,jpj 350 z2d(ji,jj) = z2d(ji,jj) + rau0 * fsaeiw(ji,jj,jk) & 351 & * rn2b(ji,jj,jk) * fse3w(ji,jj,jk) & 352 & * ( wslpi(ji,jj,jk) * wslpi(ji,jj,jk) & 353 & + wslpj(ji,jj,jk) * wslpj(ji,jj,jk) ) * wmask(ji,jj,jk) 354 END DO 355 END DO 356 END DO 357 CALL iom_put( "eketrd_eiv", z2d ) 358 ENDIF 359 ! 360 !!gm removed from trdken.F90 IF( ln_KE_trd ) CALL trd_dyn(u_eiv, v_eiv, jpdyn_eivke, kt ) 361 ! 362 ENDIF 315 316 END IF 317 ! 318 IF( ln_diaptr .AND. cdtype == 'TRA' ) THEN 319 z3d(:,:,:) = 0._wp 320 DO jk = 1, jpkm1 321 DO jj = 2, jpjm1 322 DO ji = fs_2, fs_jpim1 ! vector opt. 323 z3d(ji,jj,jk) = v_eiv(ji,jj,jk) * 0.5 * (tsn(ji,jj,jk,jp_tem)+tsn(ji,jj+1,jk,jp_tem)) & 324 & * e1v(ji,jj) * fse3v(ji,jj,jk) 325 END DO 326 END DO 327 END DO 328 CALL dia_ptr_ohst_components( jp_tem, 'eiv', z3d ) 329 z3d(:,:,:) = 0._wp 330 DO jk = 1, jpkm1 331 DO jj = 2, jpjm1 332 DO ji = fs_2, fs_jpim1 ! vector opt. 333 z3d(ji,jj,jk) = v_eiv(ji,jj,jk) * 0.5 * (tsn(ji,jj,jk,jp_sal)+tsn(ji,jj+1,jk,jp_sal)) & 334 & * e1v(ji,jj) * fse3v(ji,jj,jk) 335 END DO 336 END DO 337 END DO 338 CALL dia_ptr_ohst_components( jp_sal, 'eiv', z3d ) 339 ENDIF 340 341 IF( ln_KE_trd ) CALL trd_dyn(u_eiv, v_eiv, jpdyn_eivke, kt ) 363 342 # endif 364 343
Note: See TracChangeset
for help on using the changeset viewer.