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/DYN/dynldf.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/DYN/dynldf.F90

    r2715 r3294  
    2626   USE lib_mpp        ! distribued memory computing library 
    2727   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
     28   USE wrk_nemo        ! Memory Allocation 
     29   USE timing          ! Timing 
     30 
    2831 
    2932   IMPLICIT NONE 
     
    5154      !! ** Purpose :   compute the lateral ocean dynamics physics. 
    5255      !!---------------------------------------------------------------------- 
    53       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    54       USE wrk_nemo, ONLY:   ztrdu => wrk_3d_1 , ztrdv => wrk_3d_2 
    5556      ! 
    5657      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    57       !!---------------------------------------------------------------------- 
    58  
    59       IF( wrk_in_use(3, 1,2) ) THEN 
    60          CALL ctl_stop('dyn_ldf: requested workspace arrays unavailable')   ;   RETURN 
    61       ENDIF 
     58      ! 
     59      REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
     60      !!---------------------------------------------------------------------- 
     61      ! 
     62      IF( nn_timing == 1 )  CALL timing_start('dyn_ldf') 
    6263      ! 
    6364      IF( l_trddyn )   THEN                      ! temporary save of ta and sa trends 
     65         CALL wrk_alloc( jpi, jpj, jpk, ztrdu, ztrdv ) 
    6466         ztrdu(:,:,:) = ua(:,:,:)  
    6567         ztrdv(:,:,:) = va(:,:,:)  
     
    105107         ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    106108         CALL trd_mod( ztrdu, ztrdv, jpdyn_trd_ldf, 'DYN', kt ) 
     109         CALL wrk_dealloc( jpi, jpj, jpk, ztrdu, ztrdv ) 
    107110      ENDIF 
    108111      !                                          ! print sum trends (used for debugging) 
     
    110113         &                       tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    111114      ! 
    112       IF( wrk_not_released(3, 1,2) )   CALL ctl_stop('dyn_ldf: failed to release workspace arrays') 
     115      IF( nn_timing == 1 )  CALL timing_stop('dyn_ldf') 
    113116      ! 
    114117   END SUBROUTINE dyn_ldf 
     
    147150      IF( ln_dynldf_hor   )   ioptio = ioptio + 1 
    148151      IF( ln_dynldf_iso   )   ioptio = ioptio + 1 
    149       IF( ioptio /= 1 ) CALL ctl_stop( '          use only ONE direction (level/hor/iso)' ) 
     152      IF( ioptio > 1 ) CALL ctl_stop( '          use only ONE direction (level/hor/iso)' ) 
    150153 
    151154      !                                   ! Set nldf, the type of lateral diffusion, from ln_dynldf_... logicals 
Note: See TracChangeset for help on using the changeset viewer.