Changeset 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90
- Timestamp:
- 2012-01-28T17:44:18+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90
r2715 r3294 50 50 USE iom ! I/O manager library 51 51 USE lib_mpp ! MPP library 52 USE wrk_nemo ! work arrays 53 USE timing ! Timing 52 54 53 55 IMPLICIT NONE … … 190 192 !! (= Kz dz[Ub] * dz[Un] ) 191 193 !! --------------------------------------------------------------------- 192 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released193 USE oce , ONLY: zdiag => ua , zd_up => va , zd_lw => ta ! (ua,va,ta) used as workspace194 USE wrk_nemo, ONLY: imlc => iwrk_2d_1 ! 2D INTEGER workspace195 USE wrk_nemo, ONLY: zhlc => wrk_2d_1 ! 2D REAL workspace196 USE wrk_nemo, ONLY: zpelc => wrk_3d_1 ! 3D REAL workspace197 !198 194 INTEGER :: ji, jj, jk ! dummy loop arguments 199 195 !!bfr INTEGER :: ikbu, ikbv, ikbum1, ikbvm1 ! temporary scalar … … 208 204 REAL(wp) :: zzd_up, zzd_lw ! - - 209 205 !!bfr REAL(wp) :: zebot ! - - 206 INTEGER , POINTER, DIMENSION(:,: ) :: imlc 207 REAL(wp), POINTER, DIMENSION(:,: ) :: zhlc 208 REAL(wp), POINTER, DIMENSION(:,:,:) :: zpelc, zdiag, zd_up, zd_lw 210 209 !!-------------------------------------------------------------------- 211 210 ! 212 IF( iwrk_in_use(2, 1) .OR. &213 wrk_in_use(2, 1) .OR. &214 wrk_in_use(3, 1) ) THEN215 CALL ctl_stop('tke_tke: requested workspace arrays unavailable') ; RETURN216 END IF217 211 IF( nn_timing == 1 ) CALL timing_start('tke_tke') 212 ! 213 CALL wrk_alloc( jpi,jpj, imlc ) ! integer 214 CALL wrk_alloc( jpi,jpj, zhlc ) 215 CALL wrk_alloc( jpi,jpj,jpk, zpelc, zdiag, zd_up, zd_lw ) 216 ! 218 217 zbbrau = rn_ebb / rau0 ! Local constant initialisation 219 218 zfact1 = -.5_wp * rdt … … 429 428 CALL lbc_lnk( en, 'W', 1. ) ! Lateral boundary conditions (sign unchanged) 430 429 ! 431 IF( iwrk_not_released(2 ,1) .OR. & 432 wrk_not_released(2, 1) .OR. & 433 wrk_not_released(3, 1) ) CALL ctl_stop( 'tke_tke: failed to release workspace arrays' ) 430 CALL wrk_dealloc( jpi,jpj, imlc ) ! integer 431 CALL wrk_dealloc( jpi,jpj, zhlc ) 432 CALL wrk_dealloc( jpi,jpj,jpk, zpelc, zdiag, zd_up, zd_lw ) 433 ! 434 IF( nn_timing == 1 ) CALL timing_stop('tke_tke') 434 435 ! 435 436 END SUBROUTINE tke_tke … … 471 472 !! - avmu, avmv : now vertical eddy viscosity at uw- and vw-points 472 473 !!---------------------------------------------------------------------- 473 USE oce, ONLY: zmpdl => ua , zmxlm => va , zmxld => ta ! (ua,va,ta) used as workspace474 !!475 474 INTEGER :: ji, jj, jk ! dummy loop indices 476 475 REAL(wp) :: zrn2, zraug, zcoef, zav ! local scalars 477 476 REAL(wp) :: zdku, zpdlr, zri, zsqen ! - - 478 477 REAL(wp) :: zdkv, zemxl, zemlm, zemlp ! - - 478 REAL(wp), POINTER, DIMENSION(:,:,:) :: zmpdl, zmxlm, zmxld 479 479 !!-------------------------------------------------------------------- 480 ! 481 IF( nn_timing == 1 ) CALL timing_start('tke_avn') 482 483 CALL wrk_alloc( jpi,jpj,jpk, zmpdl, zmxlm, zmxld ) 480 484 481 485 ! !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< … … 649 653 & tab3d_2=avmv, clinfo2= ' v: ', mask2=vmask, ovlap=1, kdim=jpk ) 650 654 ENDIF 655 ! 656 CALL wrk_dealloc( jpi,jpj,jpk, zmpdl, zmxlm, zmxld ) 657 ! 658 IF( nn_timing == 1 ) CALL timing_stop('tke_avn') 651 659 ! 652 660 END SUBROUTINE tke_avn
Note: See TracChangeset
for help on using the changeset viewer.