Changeset 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90
- Timestamp:
- 2012-01-28T17:44:18+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90
r2715 r3294 32 32 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 33 33 #endif 34 USE wrk_nemo ! Memory Allocation 35 USE timing ! Timing 34 36 35 37 IMPLICIT NONE … … 49 51 CONTAINS 50 52 51 SUBROUTINE tra_ldf_iso( kt, cdtype, pgu, pgv, &53 SUBROUTINE tra_ldf_iso( kt, kit000, cdtype, pgu, pgv, & 52 54 & ptb, pta, kjpt, pahtb0 ) 53 55 !!---------------------------------------------------------------------- … … 90 92 !! ** Action : Update pta arrays with the before rotated diffusion 91 93 !!---------------------------------------------------------------------- 92 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released93 94 USE oce , ONLY: zftu => ua , zftv => va ! (ua,va) used as workspace 94 USE wrk_nemo, ONLY: zdkt => wrk_2d_1 , zdk1t => wrk_2d_2 , z2d => wrk_2d_3 ! 2D workspace95 USE wrk_nemo, ONLY: zdit => wrk_3d_6 , zdjt => wrk_3d_7 , ztfw => wrk_3d_8 ! 3D workspace96 95 ! 97 96 INTEGER , INTENT(in ) :: kt ! ocean time-step index 97 INTEGER , INTENT(in ) :: kit000 ! first time step index 98 98 CHARACTER(len=3) , INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 99 99 INTEGER , INTENT(in ) :: kjpt ! number of tracers … … 110 110 REAL(wp) :: zztmp ! local scalar 111 111 #endif 112 REAL(wp), POINTER, DIMENSION(:,: ) :: zdkt, zdk1t, z2d 113 REAL(wp), POINTER, DIMENSION(:,:,:) :: zdit, zdjt, ztfw 112 114 !!---------------------------------------------------------------------- 113 114 IF( wrk_in_use(3, 6,7,8) .OR. wrk_in_use(2, 1,2,3) ) THEN 115 CALL ctl_stop('tra_ldf_iso : requested workspace array unavailable') ; RETURN 116 ENDIF 117 118 IF( kt == nit000 ) THEN 115 ! 116 IF( nn_timing == 1 ) CALL timing_start('tra_ldf_iso') 117 ! 118 CALL wrk_alloc( jpi, jpj, zdkt, zdk1t, z2d ) 119 CALL wrk_alloc( jpi, jpj, jpk, zdit, zdjt, ztfw ) 120 ! 121 122 IF( kt == kit000 ) THEN 119 123 IF(lwp) WRITE(numout,*) 120 124 IF(lwp) WRITE(numout,*) 'tra_ldf_iso : rotated laplacian diffusion operator on ', cdtype … … 291 295 END DO 292 296 ! 293 IF( wrk_not_released(3, 6,7,8) .OR. & 294 wrk_not_released(2, 1,2,3) ) CALL ctl_stop('tra_ldf_iso: failed to release workspace arrays') 297 CALL wrk_dealloc( jpi, jpj, zdkt, zdk1t, z2d ) 298 CALL wrk_dealloc( jpi, jpj, jpk, zdit, zdjt, ztfw ) 299 ! 300 IF( nn_timing == 1 ) CALL timing_stop('tra_ldf_iso') 295 301 ! 296 302 END SUBROUTINE tra_ldf_iso … … 301 307 !!---------------------------------------------------------------------- 302 308 CONTAINS 303 SUBROUTINE tra_ldf_iso( kt, cdtype, pgu, pgv, ptb, pta, kjpt, pahtb0 ) ! Empty routine 309 SUBROUTINE tra_ldf_iso( kt, kit000,cdtype, pgu, pgv, ptb, pta, kjpt, pahtb0 ) ! Empty routine 310 INTEGER:: kt, kit000 304 311 CHARACTER(len=3) :: cdtype 305 312 REAL, DIMENSION(:,:,:) :: pgu, pgv ! tracer gradient at pstep levels 306 313 REAL, DIMENSION(:,:,:,:) :: ptb, pta 307 WRITE(*,*) 'tra_ldf_iso: You should not have seen this print! error?', kt, cdtype, pgu(1,1,1), pgv(1,1,1), &308 & 314 WRITE(*,*) 'tra_ldf_iso: You should not have seen this print! error?', kt, kit000, cdtype, & 315 & pgu(1,1,1), pgv(1,1,1), ptb(1,1,1,1), pta(1,1,1,1), kjpt, pahtb0 309 316 END SUBROUTINE tra_ldf_iso 310 317 #endif
Note: See TracChangeset
for help on using the changeset viewer.