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 5208 for branches/2014/dev_r4650_UKMO11_restart_functionality/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv.F90 – NEMO

Ignore:
Timestamp:
2015-04-13T15:08:59+02:00 (9 years ago)
Author:
davestorkey
Message:

Merge in changes from trunk up to 5021.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO11_restart_functionality/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv.F90

    r4624 r5208  
    3030   LOGICAL, PUBLIC ::   ln_dynadv_cen2  !: flux form - 2nd order centered scheme flag 
    3131   LOGICAL, PUBLIC ::   ln_dynadv_ubs   !: flux form - 3rd order UBS scheme flag 
     32   LOGICAL, PUBLIC ::   ln_dynzad_zts   !: vertical advection with sub-timestepping (requires vector form) 
    3233    
    3334   INTEGER ::   nadv   ! choice of the formulation and scheme for the advection 
     
    6465                      CALL dyn_keg     ( kt )    ! vector form : horizontal gradient of kinetic energy 
    6566                      CALL dyn_zad     ( kt )    ! vector form : vertical advection 
    66       CASE ( 1 )  
     67      CASE ( 1 )      
     68                      CALL dyn_keg     ( kt )    ! vector form : horizontal gradient of kinetic energy 
     69                      CALL dyn_zad_zts ( kt )    ! vector form : vertical advection with sub-timestepping 
     70      CASE ( 2 )  
    6771                      CALL dyn_adv_cen2( kt )    ! 2nd order centered scheme 
    68       CASE ( 2 )    
     72      CASE ( 3 )    
    6973                      CALL dyn_adv_ubs ( kt )    ! 3rd order UBS      scheme 
    7074      ! 
     
    9195      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    9296      !! 
    93       NAMELIST/namdyn_adv/ ln_dynadv_vec, ln_dynadv_cen2 , ln_dynadv_ubs 
     97      NAMELIST/namdyn_adv/ ln_dynadv_vec, ln_dynadv_cen2 , ln_dynadv_ubs, ln_dynzad_zts 
    9498      !!---------------------------------------------------------------------- 
    9599 
     
    111115         WRITE(numout,*) '          2nd order centred advection scheme ln_dynadv_cen2 = ', ln_dynadv_cen2 
    112116         WRITE(numout,*) '          3rd order UBS advection scheme     ln_dynadv_ubs  = ', ln_dynadv_ubs 
     117         WRITE(numout,*) '      Sub timestepping of vertical advection ln_dynzad_zts  = ', ln_dynzad_zts 
    113118      ENDIF 
    114119 
     
    120125 
    121126      IF( ioptio /= 1 )   CALL ctl_stop( 'Choose ONE advection scheme in namelist namdyn_adv' ) 
     127      IF( ln_dynzad_zts .AND. .NOT. ln_dynadv_vec )   & 
     128          CALL ctl_stop( 'Sub timestepping of vertical advection requires vector form; set ln_dynadv_vec = .TRUE.' ) 
    122129 
    123130      !                               ! Set nadv 
    124131      IF( ln_dynadv_vec  )   nadv =  0  
    125       IF( ln_dynadv_cen2 )   nadv =  1 
    126       IF( ln_dynadv_ubs  )   nadv =  2 
     132      IF( ln_dynzad_zts  )   nadv =  1 
     133      IF( ln_dynadv_cen2 )   nadv =  2 
     134      IF( ln_dynadv_ubs  )   nadv =  3 
    127135      IF( lk_esopa       )   nadv = -1 
    128136 
     
    130138         WRITE(numout,*) 
    131139         IF( nadv ==  0 )   WRITE(numout,*) '         vector form : keg + zad + vor is used' 
    132          IF( nadv ==  1 )   WRITE(numout,*) '         flux form   : 2nd order scheme is used' 
    133          IF( nadv ==  2 )   WRITE(numout,*) '         flux form   : UBS       scheme is used' 
     140         IF( nadv ==  1 )   WRITE(numout,*) '         vector form : keg + zad_zts + vor is used' 
     141         IF( nadv ==  2 )   WRITE(numout,*) '         flux form   : 2nd order scheme is used' 
     142         IF( nadv ==  3 )   WRITE(numout,*) '         flux form   : UBS       scheme is used' 
    134143         IF( nadv == -1 )   WRITE(numout,*) '         esopa test: use all advection formulation' 
    135144      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.