Changeset 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_lap.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_lap.F90
r2715 r3294 25 25 USE trc_oce ! share passive tracers/Ocean variables 26 26 USE lib_mpp ! MPP library 27 USE timing ! Timing 27 28 28 29 IMPLICIT NONE … … 44 45 CONTAINS 45 46 46 SUBROUTINE tra_ldf_lap( kt, cdtype, pgu, pgv, &47 SUBROUTINE tra_ldf_lap( kt, kit000, cdtype, pgu, pgv, & 47 48 & ptb, pta, kjpt ) 48 49 !!---------------------------------------------------------------------- … … 66 67 ! 67 68 INTEGER , INTENT(in ) :: kt ! ocean time-step index 69 INTEGER , INTENT(in ) :: kit000 ! first time step index 68 70 CHARACTER(len=3) , INTENT(in ) :: cdtype ! =TRA or TRC (tracer indicator) 69 71 INTEGER , INTENT(in ) :: kjpt ! number of tracers … … 76 78 REAL(wp) :: zabe1, zabe2, zbtr ! local scalars 77 79 !!---------------------------------------------------------------------- 78 79 IF( kt == nit000 ) THEN 80 ! 81 CALL timing_start('tra_ldf_lap') 82 ! 83 IF( kt == kit000 ) THEN 80 84 IF(lwp) WRITE(numout,*) 81 85 IF(lwp) WRITE(numout,*) 'tra_ldf_lap : iso-level laplacian diffusion on ', cdtype 82 86 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~ ' 83 87 ! 84 ALLOCATE( e1ur(jpi,jpj), e2vr(jpi,jpj), STAT=ierr ) 85 IF( lk_mpp ) CALL mpp_sum( ierr ) 86 IF( ierr /= 0 ) CALL ctl_stop( 'STOP', 'tra_ldf_lap : unable to allocate arrays' ) 87 ! 88 e1ur(:,:) = e2u(:,:) / e1u(:,:) 89 e2vr(:,:) = e1v(:,:) / e2v(:,:) 88 IF( .NOT. ALLOCATED( e1ur ) ) THEN 89 ! This routine may be called for both active and passive tracers. 90 ! Allocate and set saved arrays on first call only. 91 ALLOCATE( e1ur(jpi,jpj), e2vr(jpi,jpj), STAT=ierr ) 92 IF( lk_mpp ) CALL mpp_sum( ierr ) 93 IF( ierr /= 0 ) CALL ctl_stop( 'STOP', 'tra_ldf_lap : unable to allocate arrays' ) 94 ! 95 e1ur(:,:) = e2u(:,:) / e1u(:,:) 96 e2vr(:,:) = e1v(:,:) / e2v(:,:) 97 ENDIF 90 98 ENDIF 91 99 … … 145 153 END DO ! end of tracer loop 146 154 ! ! ================== 155 CALL timing_stop('tra_ldf_lap') 156 ! 147 157 END SUBROUTINE tra_ldf_lap 148 158
Note: See TracChangeset
for help on using the changeset viewer.