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 3159 for branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90 – NEMO

Ignore:
Timestamp:
2011-11-18T22:41:44+01:00 (13 years ago)
Author:
cetlod
Message:

New dynamical allocation + timing on TRA/ routines

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90

    r3116 r3159  
    2626   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2727   USE lib_mpp         ! MPP library 
     28   USE wrk_nemo_2      ! Memory Allocation 
     29   USE timing          ! Timing 
     30 
    2831 
    2932   IMPLICIT NONE 
     
    8992      !! ** Action :   Update pta arrays with the before rotated diffusion 
    9093      !!---------------------------------------------------------------------- 
    91       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    9294      USE oce     , ONLY:   zftu => ua       , zftv => va            ! (ua,va) used as 3D workspace 
    93       USE wrk_nemo, ONLY:   zdit => wrk_3d_6 , zdjt => wrk_3d_7 , ztfw => wrk_3d_8   ! 3D workspace 
    94       USE wrk_nemo, ONLY:   z2d  => wrk_2d_1                                         ! 2D workspace 
    9595      ! 
    9696      INTEGER                              , INTENT(in   ) ::   kt         ! ocean time-step index 
     
    116116      REAL(wp) ::   zztmp              ! local scalar 
    117117#endif 
     118      REAL(wp), POINTER, DIMENSION(:,:  ) :: z2d 
     119      REAL(wp), POINTER, DIMENSION(:,:,:) :: zdit, zdjt, ztfw  
    118120      !!---------------------------------------------------------------------- 
    119  
    120       IF( wrk_in_use(3, 6,7,8) .OR. wrk_in_use(2, 1) ) THEN 
    121          CALL ctl_stop('tra_ldf_iso_grif: requested workspace arrays unavailable.')   ;   RETURN 
    122       ENDIF 
     121      ! 
     122      IF( nn_timing == 1 )  CALL timing_start('tra_ldf_iso_grif') 
     123      ! 
     124      CALL wrk_alloc( jpi, jpj,      z2d )  
     125      CALL wrk_alloc( jpi, jpj, jpk, zdit, zdjt, ztfw  )  
     126      ! 
    123127 
    124128      IF( kt == kit000 .AND. .NOT.ALLOCATED(ah_wslp2) )  THEN 
     
    394398      END DO 
    395399      ! 
    396       IF( wrk_not_released(3, 6,7,8) .OR.   & 
    397           wrk_not_released(2, 1)       )   CALL ctl_stop('tra_ldf_iso_grif: failed to release workspace arrays') 
     400      CALL wrk_dealloc( jpi, jpj,      z2d )  
     401      CALL wrk_dealloc( jpi, jpj, jpk, zdit, zdjt, ztfw  )  
     402      ! 
     403      IF( nn_timing == 1 )  CALL timing_stop('tra_ldf_iso_grif') 
    398404      ! 
    399405  END SUBROUTINE tra_ldf_iso_grif 
Note: See TracChangeset for help on using the changeset viewer.