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/trazdf_imp.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/trazdf_imp.F90

    r2602 r2715  
    3434   USE in_out_manager  ! I/O manager 
    3535   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
     36   USE lib_mpp         ! MPP library 
    3637 
    3738   IMPLICIT NONE 
     
    7374      !! ** Action  : - pta  becomes the after tracer 
    7475      !!--------------------------------------------------------------------- 
    75       USE oce    , ONLY :   zwd   => ua   ! ua used as workspace 
    76       USE oce    , ONLY :   zws   => va   ! va  -          - 
    77       !!  
     76      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
     77      USE oce     , ONLY:   zwd => ua       , zws => va         ! (ua,va) used as 3D workspace 
     78      USE wrk_nemo, ONLY:   zwi => wrk_3d_6 , zwt => wrk_3d_7   ! 3D workspace  
     79      ! 
    7880      INTEGER                              , INTENT(in   ) ::   kt       ! ocean time-step index 
    7981      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype   ! =TRA or TRC (tracer indicator) 
     
    8284      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb      ! before and now tracer fields 
    8385      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) ::   pta      ! tracer trend  
    84       !! 
    85       INTEGER  ::  ji, jj, jk, jn        ! dummy loop indices 
    86       REAL(wp) ::  zrhs                  ! local scalars 
    87       REAL(wp) ::  ze3tb, ze3tn, ze3ta   ! variable vertical scale factors 
    88       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zwi, zwt   ! workspace arrays 
     86      ! 
     87      INTEGER  ::  ji, jj, jk, jn   ! dummy loop indices 
     88      REAL(wp) ::  zrhs, ze3tb, ze3tn, ze3ta   ! local scalars 
    8989      !!--------------------------------------------------------------------- 
     90 
     91      IF( wrk_in_use(3, 6,7) ) THEN 
     92         CALL ctl_stop('tra_zdf_imp : requested workspace arrays unavailable.')   ;   RETURN 
     93      ENDIF 
    9094 
    9195      IF( kt == nit000 )  THEN 
     
    107111         ! Build matrix if temperature or salinity (only in double diffusion case) or first passive tracer 
    108112         ! 
    109          IF(  ( cdtype == 'TRA' .AND. ( ( jn == jp_tem ) .OR. ( jn == jp_sal .AND. lk_zdfddm ) ) ) .OR. & 
     113         IF(  ( cdtype == 'TRA' .AND. ( jn == jp_tem .OR. ( jn == jp_sal .AND. lk_zdfddm ) ) ) .OR.  & 
    110114            & ( cdtype == 'TRC' .AND. jn == 1 )  )  THEN 
    111115            ! 
     
    224228      !                                               ! ================= ! 
    225229      ! 
     230      IF( wrk_not_released(3, 6,7) )   CALL ctl_stop('tra_zdf_imp: failed to release workspace arrays') 
     231      ! 
    226232   END SUBROUTINE tra_zdf_imp 
    227233 
Note: See TracChangeset for help on using the changeset viewer.