Changeset 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynzad.F90
- Timestamp:
- 2012-01-28T17:44:18+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynzad.F90
r2715 r3294 21 21 USE lib_mpp ! MPP library 22 22 USE prtctl ! Print control 23 USE wrk_nemo ! Memory Allocation 24 USE timing ! Timing 23 25 24 26 IMPLICIT NONE … … 52 54 !! ** Action : - Update (ua,va) with the vert. momentum adv. trends 53 55 !! - Save the trends in (ztrdu,ztrdv) ('key_trddyn') 54 !!---------------------------------------------------------------------- 55 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 56 USE wrk_nemo, ONLY: zww => wrk_2d_1 ! 2D workspace 57 USE oce , ONLY: zwuw => ta , zwvw => sa ! (ta,sa) used as 3D workspace 58 USE wrk_nemo, ONLY: ztrdu => wrk_3d_1 , ztrdv => wrk_3d_2 ! 3D workspace 59 ! 56 !!---------------------------------------------------------------------- 60 57 INTEGER, INTENT(in) :: kt ! ocean time-step inedx 61 58 ! 62 59 INTEGER :: ji, jj, jk ! dummy loop indices 63 60 REAL(wp) :: zua, zva ! temporary scalars 61 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwuw , zwvw 62 REAL(wp), POINTER, DIMENSION(:,: ) :: zww 63 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv 64 64 !!---------------------------------------------------------------------- 65 66 IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 1,2) ) THEN 67 CALL ctl_stop('dyn_zad: requested workspace arrays unavailable') ; RETURN 68 ENDIF 69 65 ! 66 IF( nn_timing == 1 ) CALL timing_start('dyn_zad') 67 ! 68 CALL wrk_alloc( jpi,jpj, zww ) 69 CALL wrk_alloc( jpi,jpj,jpk, zwuw , zwvw ) 70 ! 70 71 IF( kt == nit000 ) THEN 71 72 IF(lwp)WRITE(numout,*) … … 74 75 75 76 IF( l_trddyn ) THEN ! Save ua and va trends 77 CALL wrk_alloc( jpi, jpj, jpk, ztrdu, ztrdv ) 76 78 ztrdu(:,:,:) = ua(:,:,:) 77 79 ztrdv(:,:,:) = va(:,:,:) … … 117 119 ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 118 120 CALL trd_mod(ztrdu, ztrdv, jpdyn_trd_zad, 'DYN', kt) 121 CALL wrk_dealloc( jpi, jpj, jpk, ztrdu, ztrdv ) 119 122 ENDIF 120 123 ! ! Control print … … 122 125 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 123 126 ! 124 IF( wrk_not_released(2, 1) .OR. & 125 wrk_not_released(3, 1,2) ) CALL ctl_stop('dyn_zad: failed to release workspace arrays') 127 CALL wrk_dealloc( jpi,jpj, zww ) 128 CALL wrk_dealloc( jpi,jpj,jpk, zwuw , zwvw ) 129 ! 130 IF( nn_timing == 1 ) CALL timing_stop('dyn_zad') 126 131 ! 127 132 END SUBROUTINE dyn_zad
Note: See TracChangeset
for help on using the changeset viewer.