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

    r2715 r3294  
    3232   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    3333#endif 
     34   USE wrk_nemo        ! Memory Allocation 
     35   USE timing          ! Timing 
    3436 
    3537   IMPLICIT NONE 
     
    4951CONTAINS 
    5052 
    51    SUBROUTINE tra_ldf_iso( kt, cdtype, pgu, pgv,              & 
     53   SUBROUTINE tra_ldf_iso( kt, kit000, cdtype, pgu, pgv,              & 
    5254      &                                ptb, pta, kjpt, pahtb0 ) 
    5355      !!---------------------------------------------------------------------- 
     
    9092      !! ** Action :   Update pta arrays with the before rotated diffusion 
    9193      !!---------------------------------------------------------------------- 
    92       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    9394      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 
    9695      ! 
    9796      INTEGER                              , INTENT(in   ) ::   kt         ! ocean time-step index 
     97      INTEGER                              , INTENT(in   ) ::   kit000          ! first time step index 
    9898      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype     ! =TRA or TRC (tracer indicator) 
    9999      INTEGER                              , INTENT(in   ) ::   kjpt       ! number of tracers 
     
    110110      REAL(wp)                         ::   zztmp               ! local scalar 
    111111#endif 
     112      REAL(wp), POINTER, DIMENSION(:,:  ) ::  zdkt, zdk1t, z2d 
     113      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zdit, zdjt, ztfw  
    112114      !!---------------------------------------------------------------------- 
    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 
    117  
    118       IF( kt == nit000 )  THEN 
     115      ! 
     116      IF( nn_timing == 1 )  CALL timing_start('tra_ldf_iso') 
     117      ! 
     118      CALL wrk_alloc( jpi, jpj,      zdkt, zdk1t, z2d )  
     119      CALL wrk_alloc( jpi, jpj, jpk, zdit, zdjt, ztfw  )  
     120      ! 
     121 
     122      IF( kt == kit000 )  THEN 
    119123         IF(lwp) WRITE(numout,*) 
    120124         IF(lwp) WRITE(numout,*) 'tra_ldf_iso : rotated laplacian diffusion operator on ', cdtype 
     
    291295      END DO 
    292296      ! 
    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') 
     297      CALL wrk_dealloc( jpi, jpj,      zdkt, zdk1t, z2d )  
     298      CALL wrk_dealloc( jpi, jpj, jpk, zdit, zdjt, ztfw  )  
     299      ! 
     300      IF( nn_timing == 1 )  CALL timing_stop('tra_ldf_iso') 
    295301      ! 
    296302   END SUBROUTINE tra_ldf_iso 
     
    301307   !!---------------------------------------------------------------------- 
    302308CONTAINS 
    303    SUBROUTINE tra_ldf_iso( kt, cdtype, pgu, pgv, ptb, pta, kjpt, pahtb0 )      ! Empty routine 
     309   SUBROUTINE tra_ldf_iso( kt, kit000,cdtype, pgu, pgv, ptb, pta, kjpt, pahtb0 )      ! Empty routine 
     310      INTEGER:: kt, kit000 
    304311      CHARACTER(len=3) ::   cdtype 
    305312      REAL, DIMENSION(:,:,:) ::   pgu, pgv   ! tracer gradient at pstep levels 
    306313      REAL, DIMENSION(:,:,:,:) ::   ptb, pta 
    307       WRITE(*,*) 'tra_ldf_iso: You should not have seen this print! error?', kt, cdtype, pgu(1,1,1), pgv(1,1,1),   & 
    308          &                                                             ptb(1,1,1,1), pta(1,1,1,1), kjpt, pahtb0 
     314      WRITE(*,*) 'tra_ldf_iso: You should not have seen this print! error?', kt, kit000, cdtype,   & 
     315         &                       pgu(1,1,1), pgv(1,1,1), ptb(1,1,1,1), pta(1,1,1,1), kjpt, pahtb0 
    309316   END SUBROUTINE tra_ldf_iso 
    310317#endif 
Note: See TracChangeset for help on using the changeset viewer.