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 6051 for branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90 – NEMO

Ignore:
Timestamp:
2015-12-15T10:46:14+01:00 (8 years ago)
Author:
lovato
Message:

Merge branches/2015/dev_r5056_CMCC4_simplification (see ticket #1456)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90

    r5836 r6051  
    3232 
    3333   PUBLIC   trc_adv        
    34    PUBLIC   trc_adv_alloc  
    3534   PUBLIC   trc_adv_ini   
    3635 
     
    5857   INTEGER ::              nadv             ! chosen advection scheme 
    5958   ! 
    60    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::   r2dt  ! vertical profile time-step, = 2 rdttra 
    61    !                                                    ! except at nitrrc000 (=rdttra) if neuler=0 
     59   REAL(wp) ::   r2dttrc  ! vertical profile time-step, = 2 rdt 
     60   !                                                    ! except at nitrrc000 (=rdt) if neuler=0 
    6261 
    6362   !! * Substitutions 
     
    7069   !!---------------------------------------------------------------------- 
    7170CONTAINS 
    72  
    73    INTEGER FUNCTION trc_adv_alloc() 
    74       !!---------------------------------------------------------------------- 
    75       !!                  ***  ROUTINE trc_adv_alloc  *** 
    76       !!---------------------------------------------------------------------- 
    77       ! 
    78       ALLOCATE( r2dt(jpk), STAT=trc_adv_alloc ) 
    79       ! 
    80       IF( trc_adv_alloc /= 0 ) CALL ctl_warn('trc_adv_alloc : failed to allocate array.') 
    81       ! 
    82    END FUNCTION trc_adv_alloc 
    83  
    8471 
    8572   SUBROUTINE trc_adv( kt ) 
     
    10390      ! 
    10491      IF( ( neuler == 0 .AND. kt == nittrc000 ) .OR. ln_top_euler ) THEN     ! at nittrc000 
    105          r2dt(:) =  rdttrc(:)           ! = rdttrc (use or restarting with Euler time stepping) 
     92         r2dttrc =  rdttrc           ! = rdttrc (use or restarting with Euler time stepping) 
    10693      ELSEIF( kt <= nittrc000 + nn_dttrc ) THEN          ! at nittrc000 or nittrc000+1 
    107          r2dt(:) = 2. * rdttrc(:)       ! = 2 rdttrc (leapfrog) 
     94         r2dttrc = 2. * rdttrc       ! = 2 rdttrc (leapfrog) 
    10895      ENDIF 
    10996      !                                               !==  effective transport  ==! 
     
    134121         CALL tra_adv_cen    ( kt, nittrc000,'TRC',       zun, zvn, zwn     , trn, tra, jptra, nn_cen_h, nn_cen_v ) 
    135122      CASE ( np_FCT )                                    ! FCT      : 2nd / 4th order 
    136          CALL tra_adv_fct    ( kt, nittrc000,'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra, nn_fct_h, nn_fct_v ) 
     123         CALL tra_adv_fct    ( kt, nittrc000,'TRC', r2dttrc, zun, zvn, zwn, trb, trn, tra, jptra, nn_fct_h, nn_fct_v ) 
    137124      CASE ( np_FCT_zts )                                ! 2nd order FCT with vertical time-splitting 
    138          CALL tra_adv_fct_zts( kt, nittrc000,'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra        , nn_fct_zts ) 
     125         CALL tra_adv_fct_zts( kt, nittrc000,'TRC', r2dttrc, zun, zvn, zwn, trb, trn, tra, jptra        , nn_fct_zts ) 
    139126      CASE ( np_MUS )                                    ! MUSCL 
    140          CALL tra_adv_mus    ( kt, nittrc000,'TRC', r2dt, zun, zvn, zwn, trb,      tra, jptra        , ln_mus_ups )  
     127         CALL tra_adv_mus    ( kt, nittrc000,'TRC', r2dttrc, zun, zvn, zwn, trb,      tra, jptra        , ln_mus_ups )  
    141128      CASE ( np_UBS )                                    ! UBS 
    142          CALL tra_adv_ubs    ( kt, nittrc000,'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra        , nn_ubs_v   ) 
     129         CALL tra_adv_ubs    ( kt, nittrc000,'TRC', r2dttrc, zun, zvn, zwn, trb, trn, tra, jptra        , nn_ubs_v   ) 
    143130      CASE ( np_QCK )                                    ! QUICKEST 
    144          CALL tra_adv_qck    ( kt, nittrc000,'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra                     ) 
     131         CALL tra_adv_qck    ( kt, nittrc000,'TRC', r2dttrc, zun, zvn, zwn, trb, trn, tra, jptra                     ) 
    145132      ! 
    146133      END SELECT 
Note: See TracChangeset for help on using the changeset viewer.