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 2034 for branches/DEV_r2006_merge_TRA_TRC/NEMO/OPA_SRC/TRA/trazdf_exp.F90 – NEMO

Ignore:
Timestamp:
2010-07-29T17:05:35+02:00 (14 years ago)
Author:
cetlod
Message:

cosmetic changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DEV_r2006_merge_TRA_TRC/NEMO/OPA_SRC/TRA/trazdf_exp.F90

    r2024 r2034  
    4040#  include "vectopt_loop_substitute.h90" 
    4141   !!---------------------------------------------------------------------- 
    42    !! NEMO/OPA  3.2 , LOCEAN-IPSL (2009)  
     42   !! NEMO/OPA  3.3 , LOCEAN-IPSL (2010)  
    4343   !! $Id$  
    4444   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     
    4747CONTAINS 
    4848 
    49    SUBROUTINE tra_zdf_exp( kt    , cdtype, p2dt, kn_zdfexp,  & 
    50       &                    ptrab , ptraa , kjpt              ) 
     49   SUBROUTINE tra_zdf_exp( kt, cdtype, p2dt, kn_zdfexp,  & 
     50      &                                ptb , pta      , kjpt ) 
    5151      !!---------------------------------------------------------------------- 
    5252      !!                  ***  ROUTINE tra_zdf_exp  *** 
     
    5757      !! ** Method  : - The after tracer fields due to the vertical diffusion 
    5858      !!      of tracers alone is given by: 
    59       !!                zwx = ptrab + p2dt difft 
    60       !!      where difft = dz( avt dz(ptrab) ) = 1/e3t dk+1( avt/e3w dk(ptrab) ) 
     59      !!                zwx = ptb + p2dt difft 
     60      !!      where difft = dz( avt dz(ptb) ) = 1/e3t dk+1( avt/e3w dk(ptb) ) 
    6161      !!           (if lk_zdfddm=T use avs on salinity and passive tracers instead of avt) 
    6262      !!      difft is evaluated with an Euler split-explit scheme using a 
     
    6565      !!              - the after tracer fields due to the whole trend is  
    6666      !!      obtained in leap-frog environment by : 
    67       !!          ptraa = zwx + p2dt ptraa 
     67      !!          pta = zwx + p2dt pta 
    6868      !!              - in case of variable level thickness (lk_vvl=T) the  
    6969      !!     the leap-frog is applied on thickness weighted tracer. That is: 
    70       !!          ptraa = [ ptrab*e3tb + e3tn*( zwx - ptrab + p2dt ptraa ) ] / e3tn 
     70      !!          pta = [ ptb*e3tb + e3tn*( zwx - ptb + p2dt pta ) ] / e3tn 
    7171      !! 
    7272      !! ** Action : - after tracer fields pta 
    7373      !!--------------------------------------------------------------------- 
    74       !! * Arguments 
     74      !!  
    7575      INTEGER         , INTENT(in   )                                ::   kt          ! ocean time-step index 
    7676      CHARACTER(len=3), INTENT(in   )                                ::   cdtype      ! =TRA or TRC (tracer indicator) 
     
    7878      INTEGER         , INTENT(in   )                                ::   kn_zdfexp   ! number of sub-time step 
    7979      REAL(wp)        , INTENT(in   ), DIMENSION(jpk)                ::   p2dt        ! vertical profile of tracer time-step 
    80       REAL(wp)        , INTENT(in   ), DIMENSION(jpi,jpj,jpk,kjpt)   ::   ptrab       ! before and now tracer fields 
    81       REAL(wp)        , INTENT(inout), DIMENSION(jpi,jpj,jpk,kjpt)   ::   ptraa       ! tracer trend  
    82       !! * Local declarations 
     80      REAL(wp)        , INTENT(in   ), DIMENSION(jpi,jpj,jpk,kjpt)   ::   ptb       ! before and now tracer fields 
     81      REAL(wp)        , INTENT(inout), DIMENSION(jpi,jpj,jpk,kjpt)   ::   pta       ! tracer trend  
     82      !!  
    8383      INTEGER  ::  ji, jj, jk, jn, jl        ! dummy loop indices 
    8484      REAL(wp) ::  zlavmr, zave3r, ze3tr     ! temporary scalars 
     
    103103         zwy(:,:,jpk) = 0.e0     ! bottom  boundary conditions: no flux 
    104104         ! 
    105          zwx(:,:,:)   = ptrab(:,:,:,jn)  ! zwx array set to before tracer values 
     105         zwx(:,:,:)   = ptb(:,:,:,jn)  ! zwx array set to before tracer values 
    106106 
    107107         ! Split-explicit loop  (after tracer due to the vertical diffusion alone) 
     
    141141                  DO ji = fs_2, fs_jpim1   ! vector opt. 
    142142                     ze3tb = fse3t_b(ji,jj,jk) / fse3t(ji,jj,jk)                          ! before e3t 
    143                      ztra  = zwx(ji,jj,jk) - ptrab(ji,jj,jk,jn) + p2dt(jk) * ptraa(ji,jj,jk,jn)       ! total trends * 2*rdt  
    144                      ptraa(ji,jj,jk,jn) = ( ze3tb * ptrab(ji,jj,jk,jn) + ztra ) * tmask(ji,jj,jk) 
     143                     ztra  = zwx(ji,jj,jk) - ptb(ji,jj,jk,jn) + p2dt(jk) * pta(ji,jj,jk,jn)       ! total trends * 2*rdt  
     144                     pta(ji,jj,jk,jn) = ( ze3tb * ptb(ji,jj,jk,jn) + ztra ) * tmask(ji,jj,jk) 
    145145                  END DO 
    146146               END DO 
     
    150150               DO jj = 2, jpjm1  
    151151                  DO ji = fs_2, fs_jpim1   ! vector opt. 
    152                      ptraa(ji,jj,jk,jn) = ( zwx(ji,jj,jk) + p2dt(jk) * ptraa(ji,jj,jk,jn) ) * tmask(ji,jj,jk) 
     152                     pta(ji,jj,jk,jn) = ( zwx(ji,jj,jk) + p2dt(jk) * pta(ji,jj,jk,jn) ) * tmask(ji,jj,jk) 
    153153                  END DO 
    154154               END DO 
Note: See TracChangeset for help on using the changeset viewer.