- Timestamp:
- 2017-12-13T15:58:53+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90
r7646 r9019 25 25 USE lbclnk ! ocean lateral boundary condition (or mpp link) 26 26 USE in_out_manager ! I/O manager 27 USE wrk_nemo ! Memory Allocation28 27 USE timing ! Timing 29 28 USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) … … 43 42 # include "vectopt_loop_substitute.h90" 44 43 !!---------------------------------------------------------------------- 45 !! NEMO/OPA 3.3 , NEMO Consortium (2010)44 !! NEMO/OPA 4.0 , NEMO Consortium (2017) 46 45 !! $Id$ 47 46 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 96 95 !!---------------------------------------------------------------------- 97 96 ! 98 IF( nn_timing == 1 )CALL timing_start('tra_adv_qck')97 IF( ln_timing ) CALL timing_start('tra_adv_qck') 99 98 ! 100 99 IF( kt == kit000 ) THEN … … 118 117 CALL tra_adv_cen2_k( kt, cdtype, pwn, ptn, pta, kjpt ) 119 118 ! 120 IF( nn_timing == 1 )CALL timing_stop('tra_adv_qck')119 IF( ln_timing ) CALL timing_stop('tra_adv_qck') 121 120 ! 122 121 END SUBROUTINE tra_adv_qck … … 138 137 INTEGER :: ji, jj, jk, jn ! dummy loop indices 139 138 REAL(wp) :: ztra, zbtr, zdir, zdx, zmsk ! local scalars 140 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwx, zfu, zfc, zfd139 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zwx, zfu, zfc, zfd 141 140 !---------------------------------------------------------------------- 142 141 ! 143 CALL wrk_alloc( jpi, jpj, jpk, zwx, zfu, zfc, zfd )144 142 ! ! =========== 145 143 DO jn = 1, kjpt ! tracer loop … … 230 228 END DO 231 229 ! ! trend diagnostics 232 IF( l_trd ) 230 IF( l_trd ) CALL trd_tra( kt, cdtype, jn, jptra_xad, zwx, pun, ptn(:,:,:,jn) ) 233 231 ! 234 232 END DO 235 !236 CALL wrk_dealloc( jpi, jpj, jpk, zwx, zfu, zfc, zfd )237 233 ! 238 234 END SUBROUTINE tra_adv_qck_i … … 252 248 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) :: pta ! tracer trend 253 249 !! 254 INTEGER :: ji, jj, jk, jn ! dummy loop indices250 INTEGER :: ji, jj, jk, jn ! dummy loop indices 255 251 REAL(wp) :: ztra, zbtr, zdir, zdx, zmsk ! local scalars 256 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwy, zfu, zfc, zfd252 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zwy, zfu, zfc, zfd ! 3D workspace 257 253 !---------------------------------------------------------------------- 258 !259 CALL wrk_alloc( jpi, jpj, jpk, zwy, zfu, zfc, zfd )260 254 ! 261 255 ! ! =========== … … 320 314 END DO 321 315 END DO 322 !--- Lateral boundary conditions 323 CALL lbc_lnk( zfu(:,:,:), 'T', 1. ) 316 CALL lbc_lnk( zfu(:,:,:), 'T', 1. ) !--- Lateral boundary conditions 324 317 ! 325 318 ! Tracer flux on the x-direction … … 353 346 END DO 354 347 ! ! trend diagnostics 355 IF( l_trd ) 348 IF( l_trd ) CALL trd_tra( kt, cdtype, jn, jptra_yad, zwy, pvn, ptn(:,:,:,jn) ) 356 349 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 357 IF( l_ptr ) 350 IF( l_ptr ) CALL dia_ptr_hst( jn, 'adv', zwy(:,:,:) ) 358 351 ! 359 352 END DO 360 !361 CALL wrk_dealloc( jpi, jpj, jpk, zwy, zfu, zfc, zfd )362 353 ! 363 354 END SUBROUTINE tra_adv_qck_j … … 377 368 ! 378 369 INTEGER :: ji, jj, jk, jn ! dummy loop indices 379 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwz 380 !!---------------------------------------------------------------------- 381 ! 382 CALL wrk_alloc( jpi,jpj,jpk, zwz ) 370 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zwz ! 3D workspace 371 !!---------------------------------------------------------------------- 383 372 ! 384 373 zwz(:,:, 1 ) = 0._wp ! surface & bottom values set to zero for all tracers … … 421 410 END DO 422 411 ! 423 CALL wrk_dealloc( jpi,jpj,jpk, zwz )424 !425 412 END SUBROUTINE tra_adv_cen2_k 426 413 … … 443 430 !---------------------------------------------------------------------- 444 431 ! 445 IF( nn_timing == 1 )CALL timing_start('quickest')432 IF( ln_timing ) CALL timing_start('quickest') 446 433 ! 447 434 DO jk = 1, jpkm1 … … 475 462 END DO 476 463 ! 477 IF( nn_timing == 1 )CALL timing_stop('quickest')464 IF( ln_timing ) CALL timing_stop('quickest') 478 465 ! 479 466 END SUBROUTINE quickest
Note: See TracChangeset
for help on using the changeset viewer.