New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynkeg.F90 – NEMO

Ignore:
Timestamp:
2012-01-28T17:44:18+01:00 (12 years ago)
Author:
rblod
Message:

Merge of 3.4beta into the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynkeg.F90

    r2777 r3294  
    1919   USE lib_mpp         ! MPP library 
    2020   USE prtctl          ! Print control 
     21   USE wrk_nemo        ! Memory Allocation 
     22   USE timing          ! Timing 
    2123 
    2224   IMPLICIT NONE 
     
    5254      !!             - save this trends (l_trddyn=T) for post-processing 
    5355      !!---------------------------------------------------------------------- 
    54       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    55       USE oce     , ONLY:   ztrdu => ta       , ztrdv => sa   ! (ta,sa) used as 3D workspace    
    56       USE wrk_nemo, ONLY:   zhke  => wrk_3d_1                 ! 3D workspace 
    57       !! 
    5856      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
    5957      !! 
    6058      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    6159      REAL(wp) ::   zu, zv       ! temporary scalars 
     60      REAL(wp), POINTER, DIMENSION(:,:,:) :: zhke 
     61      REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdu, ztrdv  
    6262      !!---------------------------------------------------------------------- 
    63  
    64       IF( wrk_in_use(3,1) ) THEN 
    65          CALL ctl_stop('dyn_keg: requested workspace array is unavailable')   ;   RETURN 
    66       ENDIF 
    67  
     63      ! 
     64      IF( nn_timing == 1 )  CALL timing_start('dyn_keg') 
     65      ! 
     66      CALL wrk_alloc( jpi, jpj, jpk, zhke ) 
     67      ! 
    6868      IF( kt == nit000 ) THEN 
    6969         IF(lwp) WRITE(numout,*) 
     
    7373 
    7474      IF( l_trddyn ) THEN           ! Save ua and va trends 
     75         CALL wrk_alloc( jpi,jpj,jpk, ztrdu, ztrdv ) 
    7576         ztrdu(:,:,:) = ua(:,:,:)  
    7677         ztrdv(:,:,:) = va(:,:,:)  
     
    131132         ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    132133         CALL trd_mod( ztrdu, ztrdv, jpdyn_trd_keg, 'DYN', kt ) 
     134         CALL wrk_dealloc( jpi,jpj,jpk, ztrdu, ztrdv ) 
    133135      ENDIF 
    134136      ! 
     
    136138         &                       tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    137139      ! 
    138       IF( wrk_not_released(3, 1) )   CALL ctl_stop('dyn_keg: failed to release workspace array') 
     140      CALL wrk_dealloc( jpi, jpj, jpk, zhke ) 
     141      ! 
     142      IF( nn_timing == 1 )  CALL timing_stop('dyn_keg') 
    139143      ! 
    140144   END SUBROUTINE dyn_keg 
Note: See TracChangeset for help on using the changeset viewer.