Changeset 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_eiv.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/traadv_eiv.F90
r2715 r3294 27 27 USE diaar5, ONLY: lk_diaar5 28 28 # endif 29 USE wrk_nemo ! Memory Allocation 30 USE timing ! Timing 29 31 30 32 IMPLICIT NONE … … 45 47 CONTAINS 46 48 47 SUBROUTINE tra_adv_eiv( kt, pun, pvn, pwn, cdtype )49 SUBROUTINE tra_adv_eiv( kt, kit000, pun, pvn, pwn, cdtype ) 48 50 !!---------------------------------------------------------------------- 49 51 !! *** ROUTINE tra_adv_eiv *** … … 63 65 !! ** Action : - add to p.n the eiv component 64 66 !!---------------------------------------------------------------------- 65 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released66 USE wrk_nemo, ONLY: zu_eiv => wrk_2d_1 , zv_eiv => wrk_2d_2 , zw_eiv => wrk_2d_3 ! 2D workspace67 # if defined key_diaeiv68 USE wrk_nemo, ONLY: z2d => wrk_2d_4 ! 2D workspace69 #endif70 67 INTEGER , INTENT(in ) :: kt ! ocean time-step index 68 INTEGER , INTENT(in ) :: kit000 ! first time step index 71 69 CHARACTER(len=3) , INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 72 70 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: pun ! in : 3 ocean velocity components … … 80 78 REAL(wp) :: zztmp ! local scalar 81 79 # endif 80 REAL(wp), POINTER, DIMENSION(:,:) :: zu_eiv, zv_eiv, zw_eiv, z2d 82 81 !!---------------------------------------------------------------------- 83 84 # if defined key_diaeiv 85 IF( wrk_in_use(2, 1,2,3,4) ) THEN 82 ! 83 IF( nn_timing == 1 ) CALL timing_start( 'tra_adv_eiv') 84 ! 85 # if defined key_diaeiv 86 CALL wrk_alloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv, z2d ) 86 87 # else 87 IF( wrk_in_use(2, 1,2,3) ) THEN 88 # endif 89 CALL ctl_stop('tra_adv_eiv: requested workspace arrays are unavailable') ; RETURN 90 ENDIF 91 92 IF( kt == nit000 ) THEN 88 CALL wrk_alloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv ) 89 # endif 90 91 IF( kt == kit000 ) THEN 93 92 IF(lwp) WRITE(numout,*) 94 93 IF(lwp) WRITE(numout,*) 'tra_adv_eiv : eddy induced advection on ', cdtype,' :' … … 191 190 ! 192 191 # if defined key_diaeiv 193 IF( wrk_not_released(2, 1,2,3,4) ) CALL ctl_stop('tra_adv_eiv: failed to release workspace arrays')192 CALL wrk_dealloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv, z2d ) 194 193 # else 195 IF( wrk_not_released(2, 1,2,3) ) CALL ctl_stop('tra_adv_eiv: failed to release workspace arrays') 196 # endif 194 CALL wrk_dealloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv ) 195 # endif 196 ! 197 IF( nn_timing == 1 ) CALL timing_stop( 'tra_adv_eiv') 197 198 ! 198 199 END SUBROUTINE tra_adv_eiv … … 203 204 !!---------------------------------------------------------------------- 204 205 CONTAINS 205 SUBROUTINE tra_adv_eiv( kt, pun, pvn, pwn, cdtype ) ! Empty routine206 SUBROUTINE tra_adv_eiv( kt, kit000, pun, pvn, pwn, cdtype ) ! Empty routine 206 207 INTEGER :: kt 208 INTEGER :: kit000 207 209 CHARACTER(len=3) :: cdtype 208 210 REAL, DIMENSION(:,:,:) :: pun, pvn, pwn
Note: See TracChangeset
for help on using the changeset viewer.