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 9019 for branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRA/traldf.F90 – NEMO

Ignore:
Timestamp:
2017-12-13T15:58:53+01:00 (6 years ago)
Author:
timgraham
Message:

Merge of dev_CNRS_2017 into branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRA/traldf.F90

    r7765 r9019  
    3030   USE lib_mpp        ! distribued memory computing library 
    3131   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    32    USE wrk_nemo       ! Memory allocation 
    3332   USE timing         ! Timing 
    3433 
     
    5857      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
    5958      !! 
    60       REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdt, ztrds 
    61       !!---------------------------------------------------------------------- 
    62       ! 
    63       IF( nn_timing == 1 )   CALL timing_start('tra_ldf') 
     59      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   ztrdt, ztrds 
     60      !!---------------------------------------------------------------------- 
     61      ! 
     62      IF( ln_timing )   CALL timing_start('tra_ldf') 
    6463      ! 
    6564      IF( l_trdtra )   THEN                    !* Save ta and sa trends 
    66          CALL wrk_alloc( jpi,jpj,jpk,   ztrdt, ztrds )  
     65         ALLOCATE( ztrdt(jpi,jpj,jpk) , ztrds(jpi,jpj,jpk) )  
    6766         ztrdt(:,:,:) = tsa(:,:,:,jp_tem)  
    6867         ztrds(:,:,:) = tsa(:,:,:,jp_sal) 
     
    8584         CALL trd_tra( kt, 'TRA', jp_tem, jptra_ldf, ztrdt ) 
    8685         CALL trd_tra( kt, 'TRA', jp_sal, jptra_ldf, ztrds ) 
    87          CALL wrk_dealloc( jpi,jpj,jpk,  ztrdt, ztrds )  
     86         DEALLOCATE( ztrdt, ztrds )  
    8887      ENDIF 
    8988      !                                        !* print mean trends (used for debugging) 
     
    9190         &                       tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    9291      ! 
    93       IF( nn_timing == 1 )   CALL timing_stop('tra_ldf') 
     92      IF( ln_timing )   CALL timing_stop('tra_ldf') 
    9493      ! 
    9594   END SUBROUTINE tra_ldf 
     
    107106      !!---------------------------------------------------------------------- 
    108107      ! 
    109       IF(lwp) THEN                     ! Namelist print 
     108      IF(lwp) THEN                     !==  Namelist print  ==! 
    110109         WRITE(numout,*) 
    111110         WRITE(numout,*) 'tra_ldf_init : lateral tracer diffusive operator' 
     
    114113         WRITE(numout,*) '      see ldf_tra_init report for lateral mixing parameters' 
    115114      ENDIF 
    116       !                                   ! use of lateral operator or not 
     115      !                                !==  use of lateral operator or not  ==! 
    117116      nldf   = np_ERROR 
    118117      ioptio = 0 
    119       IF( ln_traldf_lap )   ioptio = ioptio + 1 
    120       IF( ln_traldf_blp )   ioptio = ioptio + 1 
    121       IF( ioptio >  1   )   CALL ctl_stop( 'tra_ldf_init: use ONE or NONE of the 2 lap/bilap operator type on tracer' ) 
    122       IF( ioptio == 0   )   nldf = np_no_ldf     ! No lateral diffusion 
    123       ! 
    124       IF( nldf /= np_no_ldf ) THEN        ! direction ==>> type of operator   
     118      IF( ln_traldf_NONE ) THEN   ;   nldf = np_no_ldf   ;   ioptio = ioptio + 1   ;   ENDIF 
     119      IF( ln_traldf_lap  ) THEN   ;                          ioptio = ioptio + 1   ;   ENDIF 
     120      IF( ln_traldf_blp  ) THEN   ;                          ioptio = ioptio + 1   ;   ENDIF 
     121      IF( ioptio /=  1   )   CALL ctl_stop( 'tra_ldf_init: use ONE of the 3 operator options (NONE/lap/blp)' ) 
     122      ! 
     123      IF( .NOT.ln_traldf_NONE ) THEN   !==  direction ==>> type of operator  ==! 
    125124         ioptio = 0 
    126125         IF( ln_traldf_lev )   ioptio = ioptio + 1 
    127126         IF( ln_traldf_hor )   ioptio = ioptio + 1 
    128127         IF( ln_traldf_iso )   ioptio = ioptio + 1 
    129          IF( ioptio >  1 )   CALL ctl_stop( 'tra_ldf_init: use only ONE direction (level/hor/iso)' ) 
     128         IF( ioptio /=  1  )   CALL ctl_stop( 'tra_ldf_init: use ONE direction (level/hor/iso)' ) 
    130129         ! 
    131130         !                                ! defined the type of lateral diffusion from ln_traldf_... logicals 
Note: See TracChangeset for help on using the changeset viewer.