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

    r2528 r2715  
    11MODULE traadv_muscl2 
    2    !!============================================================================== 
     2   !!====================================================================== 
    33   !!                       ***  MODULE  traadv_muscl2  *** 
    44   !! Ocean  tracers:  horizontal & vertical advective trend 
    5    !!============================================================================== 
     5   !!====================================================================== 
    66   !! History :  1.0  !  2002-06  (G. Madec) from traadv_muscl 
    77   !!            3.2  !  2010-05  (C. Ethe, G. Madec)  merge TRC-TRA + switch from velocity to transport 
     
    5959      !!              IPSL, Sept. 2000 (http://www.lodyc.jussieu.fr/opa) 
    6060      !!---------------------------------------------------------------------- 
    61       USE oce         , zwx => ua   ! use ua as workspace 
    62       USE oce         , zwy => va   ! use va as workspace 
     61      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
     62      USE oce     , ONLY:   zwx   => ua       , zwy   => va         ! (ua,va) used as 3D workspace 
     63      USE wrk_nemo, ONLY:   zslpx => wrk_3d_1 , zslpy => wrk_3d_2   ! 3D workspace 
    6364      !! 
    6465      INTEGER                              , INTENT(in   ) ::   kt              ! ocean time-step index 
     
    7172      !! 
    7273      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
    73       REAL(wp) ::   zu, z0u, zzwx    ! local scalar 
    74       REAL(wp) ::   zv, z0v, zzwy    !   -      - 
    75       REAL(wp) ::   zw, z0w          !   -      - 
    76       REAL(wp) ::   ztra, zbtr, zdt, zalpha 
    77       REAL(wp), DIMENSION (jpi,jpj,jpk) ::  zslpx, zslpy   ! 3D workspace 
     74      REAL(wp) ::   zu, z0u, zzwx, zw         ! local scalars 
     75      REAL(wp) ::   zv, z0v, zzwy, z0w        !   -      - 
     76      REAL(wp) ::   ztra, zbtr, zdt, zalpha   !   -      - 
    7877      !!---------------------------------------------------------------------- 
     78 
     79      IF( wrk_in_use(3, 1,2) ) THEN 
     80         CALL ctl_stop('tra_adv_muscl2: requested workspace arrays are unavailable')   ;   RETURN 
     81      ENDIF 
    7982 
    8083      IF( kt == nit000 )  THEN 
     
    8487         ! 
    8588         l_trd = .FALSE. 
    86          IF( ( cdtype == 'TRA' .AND. l_trdtra ) .OR. ( cdtype == 'TRC' .AND. l_trdtrc ) ) l_trd = .TRUE. 
     89         IF( ( cdtype == 'TRA' .AND. l_trdtra ) .OR. ( cdtype == 'TRC' .AND. l_trdtrc ) )   l_trd = .TRUE. 
    8790      ENDIF 
    8891 
     
    282285      END DO 
    283286      ! 
     287      IF( wrk_not_released(3, 1,2) )   CALL ctl_stop('tra_adv_muscl2: failed to release workspace arrays') 
     288      ! 
    284289   END SUBROUTINE tra_adv_muscl2 
    285290 
Note: See TracChangeset for help on using the changeset viewer.