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 5260 for branches/2014/dev_r4650_UKMO10_Tidally_Meaned_Diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90 – NEMO

Ignore:
Timestamp:
2015-05-12T12:37:15+02:00 (9 years ago)
Author:
deazer
Message:

Merged branch with Trunk at revision 5253.
Checked with SETTE, passes modified iodef.xml for AMM12 experiment

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO10_Tidally_Meaned_Diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90

    r4624 r5260  
    2626   USE cla             ! cross land advection      (cla_traadv     routine) 
    2727   USE ldftra_oce      ! lateral diffusion coefficient on tracers 
     28   ! 
    2829   USE in_out_manager  ! I/O manager 
    2930   USE iom             ! I/O module 
     
    3233   USE wrk_nemo        ! Memory Allocation 
    3334   USE timing          ! Timing 
     35   USE sbc_oce 
     36   USE diaptr          ! Poleward heat transport  
    3437 
    3538 
     
    4346   LOGICAL ::   ln_traadv_cen2     ! 2nd order centered scheme flag 
    4447   LOGICAL ::   ln_traadv_tvd      ! TVD scheme flag 
     48   LOGICAL ::   ln_traadv_tvd_zts  ! TVD scheme flag with vertical sub time-stepping 
    4549   LOGICAL ::   ln_traadv_muscl    ! MUSCL scheme flag 
    4650   LOGICAL ::   ln_traadv_muscl2   ! MUSCL2 scheme flag 
     
    109113      ! 
    110114      IF( ln_mle    )   CALL tra_adv_mle( kt, nit000, zun, zvn, zwn, 'TRA' )    ! add the mle transport (if necessary) 
     115      ! 
    111116      CALL iom_put( "uocetr_eff", zun )                                         ! output effective transport       
    112117      CALL iom_put( "vocetr_eff", zvn ) 
    113118      CALL iom_put( "wocetr_eff", zwn ) 
    114  
     119      ! 
     120      IF( ln_diaptr )   CALL dia_ptr( zvn )                                     ! diagnose the effective MSF  
     121      ! 
     122    
    115123      SELECT CASE ( nadv )                            !==  compute advection trend and add it to general trend  ==! 
    116       CASE ( 1 )   ;    CALL tra_adv_cen2  ( kt, nit000, 'TRA',         zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  2nd order centered 
    117       CASE ( 2 )   ;    CALL tra_adv_tvd   ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  TVD  
    118       CASE ( 3 )   ;    CALL tra_adv_muscl ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb,      tsa, jpts, ln_traadv_msc_ups )   !  MUSCL  
    119       CASE ( 4 )   ;    CALL tra_adv_muscl2( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  MUSCL2  
    120       CASE ( 5 )   ;    CALL tra_adv_ubs   ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  UBS  
    121       CASE ( 6 )   ;    CALL tra_adv_qck   ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  QUICKEST  
     124      CASE ( 1 )   ;    CALL tra_adv_cen2   ( kt, nit000, 'TRA',         zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  2nd order centered 
     125      CASE ( 2 )   ;    CALL tra_adv_tvd    ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  TVD  
     126      CASE ( 3 )   ;    CALL tra_adv_muscl  ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb,      tsa, jpts, ln_traadv_msc_ups )   !  MUSCL  
     127      CASE ( 4 )   ;    CALL tra_adv_muscl2 ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  MUSCL2  
     128      CASE ( 5 )   ;    CALL tra_adv_ubs    ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  UBS  
     129      CASE ( 6 )   ;    CALL tra_adv_qck    ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  QUICKEST  
     130      CASE ( 7 )   ;    CALL tra_adv_tvd_zts( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  TVD ZTS 
    122131      ! 
    123132      CASE (-1 )                                      !==  esopa: test all possibility with control print  ==! 
     
    166175         &                 ln_traadv_muscl, ln_traadv_muscl2,  & 
    167176         &                 ln_traadv_ubs  , ln_traadv_qck,     & 
    168          &                 ln_traadv_msc_ups 
     177         &                 ln_traadv_msc_ups, ln_traadv_tvd_zts 
    169178      !!---------------------------------------------------------------------- 
    170179 
     
    190199         WRITE(numout,*) '      QUICKEST advection scheme      ln_traadv_qck     = ', ln_traadv_qck 
    191200         WRITE(numout,*) '      upstream scheme within muscl   ln_traadv_msc_ups = ', ln_traadv_msc_ups 
     201         WRITE(numout,*) '      TVD advection scheme with zts  ln_traadv_tvd_zts = ', ln_traadv_tvd_zts 
    192202      ENDIF 
    193203 
     
    199209      IF( ln_traadv_ubs    )   ioptio = ioptio + 1 
    200210      IF( ln_traadv_qck    )   ioptio = ioptio + 1 
     211      IF( ln_traadv_tvd_zts)   ioptio = ioptio + 1 
    201212      IF( lk_esopa         )   ioptio =          1 
     213 
     214      IF( ( ln_traadv_muscl .OR. ln_traadv_muscl2 .OR. ln_traadv_ubs .OR. ln_traadv_qck .OR. ln_traadv_tvd_zts )   & 
     215         .AND. ln_isfcav )   CALL ctl_stop( 'Only traadv_cen2 and traadv_tvd is compatible with ice shelf cavity') 
    202216 
    203217      IF( ioptio /= 1 )   CALL ctl_stop( 'Choose ONE advection scheme in namelist namtra_adv' ) 
     
    210224      IF( ln_traadv_ubs    )   nadv =  5 
    211225      IF( ln_traadv_qck    )   nadv =  6 
     226      IF( ln_traadv_tvd_zts)   nadv =  7 
    212227      IF( lk_esopa         )   nadv = -1 
    213228 
     
    220235         IF( nadv ==  5 )   WRITE(numout,*) '         UBS       scheme is used' 
    221236         IF( nadv ==  6 )   WRITE(numout,*) '         QUICKEST  scheme is used' 
     237         IF( nadv ==  7 )   WRITE(numout,*) '         TVD ZTS   scheme is used' 
    222238         IF( nadv == -1 )   WRITE(numout,*) '         esopa test: use all advection scheme' 
    223239      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.