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/TRA/traadv_eiv.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/TRA/traadv_eiv.F90

    r2715 r3294  
    2727   USE diaar5, ONLY:   lk_diaar5 
    2828# endif   
     29   USE wrk_nemo        ! Memory Allocation 
     30   USE timing          ! Timing 
    2931 
    3032   IMPLICIT NONE 
     
    4547CONTAINS 
    4648 
    47    SUBROUTINE tra_adv_eiv( kt, pun, pvn, pwn, cdtype ) 
     49   SUBROUTINE tra_adv_eiv( kt, kit000, pun, pvn, pwn, cdtype ) 
    4850      !!---------------------------------------------------------------------- 
    4951      !!                  ***  ROUTINE tra_adv_eiv  *** 
     
    6365      !! ** Action  : - add to p.n the eiv component 
    6466      !!---------------------------------------------------------------------- 
    65       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    66       USE wrk_nemo, ONLY:   zu_eiv => wrk_2d_1 , zv_eiv => wrk_2d_2 , zw_eiv => wrk_2d_3   ! 2D workspace 
    67 # if defined key_diaeiv  
    68       USE wrk_nemo, ONLY:   z2d => wrk_2d_4   ! 2D workspace 
    69 #endif 
    7067      INTEGER                         , INTENT(in   ) ::   kt       ! ocean time-step index 
     68      INTEGER                         , INTENT(in   ) ::   kit000   ! first time step index 
    7169      CHARACTER(len=3)                , INTENT(in   ) ::   cdtype   ! =TRA or TRC (tracer indicator) 
    7270      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pun      ! in : 3 ocean velocity components  
     
    8078      REAL(wp) ::   zztmp                      ! local scalar 
    8179# endif   
     80      REAL(wp), POINTER, DIMENSION(:,:) :: zu_eiv, zv_eiv, zw_eiv, z2d 
    8281      !!---------------------------------------------------------------------- 
    83  
    84 # if defined key_diaeiv  
    85       IF( wrk_in_use(2, 1,2,3,4) ) THEN 
     82      ! 
     83      IF( nn_timing == 1 )  CALL timing_start( 'tra_adv_eiv') 
     84      ! 
     85# if defined key_diaeiv  
     86      CALL wrk_alloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv, z2d ) 
    8687# else 
    87       IF( wrk_in_use(2, 1,2,3)   ) THEN 
    88 # endif 
    89          CALL ctl_stop('tra_adv_eiv: requested workspace arrays are unavailable')   ;   RETURN 
    90       ENDIF 
    91  
    92       IF( kt == nit000 )  THEN 
     88      CALL wrk_alloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv ) 
     89# endif 
     90 
     91      IF( kt == kit000 )  THEN 
    9392         IF(lwp) WRITE(numout,*) 
    9493         IF(lwp) WRITE(numout,*) 'tra_adv_eiv : eddy induced advection on ', cdtype,' :' 
     
    191190      !  
    192191# if defined key_diaeiv  
    193       IF( wrk_not_released(2, 1,2,3,4) )   CALL ctl_stop('tra_adv_eiv: failed to release workspace arrays') 
     192      CALL wrk_dealloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv, z2d ) 
    194193# else 
    195       IF( wrk_not_released(2, 1,2,3)   )   CALL ctl_stop('tra_adv_eiv: failed to release workspace arrays') 
    196 # endif 
     194      CALL wrk_dealloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv ) 
     195# endif 
     196      ! 
     197      IF( nn_timing == 1 )  CALL timing_stop( 'tra_adv_eiv') 
    197198      ! 
    198199    END SUBROUTINE tra_adv_eiv 
     
    203204   !!---------------------------------------------------------------------- 
    204205CONTAINS 
    205    SUBROUTINE tra_adv_eiv( kt, pun, pvn, pwn, cdtype )              ! Empty routine 
     206   SUBROUTINE tra_adv_eiv( kt, kit000, pun, pvn, pwn, cdtype )              ! Empty routine 
    206207      INTEGER  ::   kt     
     208      INTEGER  ::   kit000     
    207209      CHARACTER(len=3) ::   cdtype 
    208210      REAL, DIMENSION(:,:,:) ::   pun, pvn, pwn 
Note: See TracChangeset for help on using the changeset viewer.