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 2715 for trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90 – NEMO

Ignore:
Timestamp:
2011-03-30T17:58:35+02:00 (13 years ago)
Author:
rblod
Message:

First attempt to put dynamic allocation on the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r2528 r2715  
    9090      !! ** Action :   Update pta arrays with the before rotated diffusion 
    9191      !!---------------------------------------------------------------------- 
    92       USE oce         , zftu => ua   ! use ua as workspace 
    93       USE oce         , zftv => va   ! use va as workspace 
    94       !! 
     92      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
     93      USE oce     , ONLY:   zftu => ua       , zftv  => va         ! (ua,va) used as workspace 
     94      USE wrk_nemo, ONLY:   zdkt => wrk_2d_1 , zdk1t => wrk_2d_2 , z2d  => wrk_2d_3   ! 2D workspace 
     95      USE wrk_nemo, ONLY:   zdit => wrk_3d_6 , zdjt  => wrk_3d_7 , ztfw => wrk_3d_8   ! 3D workspace 
     96      ! 
    9597      INTEGER                              , INTENT(in   ) ::   kt         ! ocean time-step index 
    9698      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype     ! =TRA or TRC (tracer indicator) 
     
    100102      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) ::   pta        ! tracer trend  
    101103      REAL(wp)                             , INTENT(in   ) ::   pahtb0     ! background diffusion coef 
    102       !! 
     104      ! 
    103105      INTEGER  ::  ji, jj, jk, jn   ! dummy loop indices 
    104106      REAL(wp) ::  zmsku, zabe1, zcof1, zcoef3   ! local scalars 
    105107      REAL(wp) ::  zmskv, zabe2, zcof2, zcoef4   !   -      - 
    106108      REAL(wp) ::  zcoef0, zbtr, ztra            !   -      - 
    107       REAL(wp), DIMENSION(jpi,jpj)     ::   zdkt, zdk1t         ! 2D workspace 
    108       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zdit, zdjt, ztfw    ! 3D workspace 
    109109#if defined key_diaar5 
    110       REAL(wp), DIMENSION(jpi,jpj)     ::   z2d                 ! 2D workspace 
    111110      REAL(wp)                         ::   zztmp               ! local scalar 
    112111#endif 
    113112      !!---------------------------------------------------------------------- 
     113 
     114      IF( wrk_in_use(3, 6,7,8) .OR. wrk_in_use(2, 1,2,3) ) THEN 
     115          CALL ctl_stop('tra_ldf_iso : requested workspace array unavailable')   ;   RETURN 
     116      ENDIF 
    114117 
    115118      IF( kt == nit000 )  THEN 
     
    288291      END DO 
    289292      ! 
     293      IF( wrk_not_released(3, 6,7,8) .OR.   & 
     294          wrk_not_released(2, 1,2,3) )   CALL ctl_stop('tra_ldf_iso: failed to release workspace arrays') 
     295      ! 
    290296   END SUBROUTINE tra_ldf_iso 
    291297 
Note: See TracChangeset for help on using the changeset viewer.