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 463 for trunk/NEMO/OPA_SRC/ZDF/zdfini.F90 – NEMO

Ignore:
Timestamp:
2006-05-10T19:26:55+02:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_update_054:RB: take into account tracers and dynamics reorganization, change atsk to jki

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/ZDF/zdfini.F90

    r297 r463  
    3131   !!---------------------------------------------------------------------- 
    3232   !!   OPA 9.0 , LOCEAN-IPSL (2005)  
    33    !! $Header$  
    34    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    3533   !!---------------------------------------------------------------------- 
    3634    
     
    5250      !! * Local declarations 
    5351      INTEGER ::   ioptio       ! temporary scalar 
    54       LOGICAL ::           & !!! namzdf: vertical diffusion 
    55          ln_zdfexp = .FALSE.   ! explicit vertical diffusion scheme flag 
    5652 
    5753      !! * Namelist 
    58       NAMELIST/namzdf/ ln_zdfevd, ln_zdfnpc,   & 
    59          &             avm0, avt0, avevd, nevdm, ln_zdfexp, n_zdfexp 
     54      NAMELIST/namzdf/ ln_zdfexp, n_zdfexp, ln_zdfevd, ln_zdfnpc,   & 
     55         &             avm0     , avt0    , avevd    , n_evdm 
    6056      !!---------------------------------------------------------------------- 
    6157      !!  OPA 9.0, LODYC-IPSL (2003) 
     
    7369         WRITE(numout,*) 'zdf_init: vertical physics' 
    7470         WRITE(numout,*) '~~~~~~~~' 
    75          WRITE(numout,*) '          Namelist namzdf : set vertical mixing mixing parameters' 
    76          WRITE(numout,*) '             enhanced vertical diffusion      ln_zdfevd = ', ln_zdfevd 
    77          WRITE(numout,*) '             non-penetrative convection       ln_zdfnpc = ', ln_zdfnpc 
    78          WRITE(numout,*) '             vertical eddy viscosity             avm0   = ', avm0 
    79          WRITE(numout,*) '             vertical eddy diffusivity           avt0   = ', avt0 
    80          WRITE(numout,*) '             vertical coefficient for evd        avevd  = ', avevd 
    81          WRITE(numout,*) '                applied on momentum (=1/0)       nevdm  = ', nevdm 
    82          WRITE(numout,*) '             time splitting / backward scheme ln_zdfexp = ', ln_zdfexp 
    83          WRITE(numout,*) '             number of time step               n_zdfexp = ', n_zdfexp 
     71         WRITE(numout,*) '   Namelist namzdf : set vertical mixing mixing parameters' 
     72         WRITE(numout,*) '      time splitting / backward scheme    ln_zdfexp = ', ln_zdfexp 
     73         WRITE(numout,*) '      number of time step                  n_zdfexp = ', n_zdfexp 
     74         WRITE(numout,*) '      enhanced vertical diffusion         ln_zdfevd = ', ln_zdfevd 
     75         WRITE(numout,*) '      non-penetrative convection          ln_zdfnpc = ', ln_zdfnpc 
     76         WRITE(numout,*) '      vertical eddy viscosity             avm0      = ', avm0 
     77         WRITE(numout,*) '      vertical eddy diffusivity           avt0      = ', avt0 
     78         WRITE(numout,*) '      vertical coefficient for evd        avevd     = ', avevd 
     79         WRITE(numout,*) '         applied on momentum (=1/0)       n_evdm    = ', n_evdm 
    8480      ENDIF 
    8581 
    8682      ! Parameter & logicals controls 
    8783      ! ----------------------------- 
    88       ! ... vertical mixing 
    89       ! time stepping scheme (N.B. TKE or KPP schemes => force the use of implicit scheme) 
    90       IF( ( ln_zdfexp .AND. .NOT.lk_zdftke ) .OR. ( ln_zdfexp .AND. .NOT.lk_zdfkpp ) ) THEN   
    91          l_trazdf_exp = .TRUE.           ! use explicit scheme 
    92          l_trazdf_imp = .FALSE. 
    93          l_dynzdf_exp = .TRUE.           ! use explicit scheme 
    94          l_dynzdf_imp = .FALSE. 
    95       ELSE 
    96          l_trazdf_exp = .FALSE.          ! use implicit scheme 
    97          l_trazdf_imp = .TRUE.  
    98          l_dynzdf_exp = .FALSE.          ! use implicit scheme 
    99          l_dynzdf_imp = .TRUE.  
    100       ENDIF 
    101       IF( l_trazdf_iso .OR. l_trazdf_iso_vo ) THEN   
    102          l_trazdf_exp = .FALSE.          ! iso-neutral diffusion :  
    103          l_trazdf_imp = .FALSE.          ! implicit scheme included in iso-neutral routine 
    104       ENDIF 
    105       IF( l_dynldf_iso ) THEN   
    106          l_dynzdf_exp = .FALSE.          ! iso-neutral diffusion : 
    107          l_dynzdf_imp = .FALSE.          ! implicit scheme included in iso-neutral routine 
    108       ENDIF 
    109 #if defined key_autotasking 
    110       IF( l_dynzdf_imp ) THEN 
    111          l_dynzdf_imp     = .FALSE. 
    112          l_dynzdf_imp_tsk = .TRUE. 
    113       ENDIF 
    114 #else 
    115       l_dynzdf_imp_tsk = .FALSE. 
    116 #endif 
    117       IF( lk_esopa  ) THEN 
    118          l_trazdf_exp = .TRUE.           ! esopa: use all options 
    119          l_trazdf_imp = .TRUE. 
    120          l_dynzdf_exp     = .TRUE.           ! esopa: use all options 
    121          l_dynzdf_imp     = .TRUE. 
    122          l_dynzdf_imp_tsk = .TRUE. 
    123       ENDIF 
     84      ! ... check of vertical mixing scheme on tracers 
     85      !           ==> will be done in trazdf module 
    12486 
     87      ! ... check of mixing coefficient 
    12588      IF(lwp) WRITE(numout,*) 
    12689      IF(lwp) WRITE(numout,*) '          vertical mixing option :' 
    12790      ioptio = 0 
    12891      IF( lk_zdfcst ) THEN 
    129          IF(lwp) WRITE(numout,*) '             constant eddy diffusion coef.' 
     92         IF(lwp) WRITE(numout,*) '             constant eddy diffusion coefficients' 
    13093         ioptio = ioptio+1 
    13194      ENDIF 
    13295      IF( lk_zdfric ) THEN 
    133          IF(lwp) WRITE(numout,*) '             Richardson dependent eddy coef.' 
     96         IF(lwp) WRITE(numout,*) '             Richardson dependent eddy coefficients' 
    13497         ioptio = ioptio+1 
    13598      ENDIF 
    13699      IF( lk_zdftke ) THEN 
    137          IF(lwp) WRITE(numout,*) '             TKE dependent eddy coef.' 
     100         IF(lwp) WRITE(numout,*) '             TKE dependent eddy coefficients' 
    138101         ioptio = ioptio+1 
    139102      ENDIF 
    140103      IF( lk_zdfkpp ) THEN 
    141          IF(lwp) WRITE(numout,*) '             KPP dependent eddy coef.' 
     104         IF(lwp) WRITE(numout,*) '             KPP dependent eddy coefficients' 
    142105         ioptio = ioptio+1 
    143106      ENDIF 
     
    176139          nstop = nstop + 1 
    177140      ENDIF 
    178       IF( ioptio == 0 .AND. .NOT. lk_zdftke ) THEN 
     141      IF( ioptio == 0 .AND. .NOT.( lk_zdftke .OR. lk_zdfkpp ) ) THEN 
    179142         IF(lwp) WRITE(numout,cform_err) 
    180          IF(lwp) WRITE(numout,*) ' except for TKE scheme, a convection scheme is' 
     143         IF(lwp) WRITE(numout,*) ' except for TKE sor KPP physics, a convection scheme is' 
    181144         IF(lwp) WRITE(numout,*) ' required: ln_zdfevd or ln_zdfnpc logicals' 
    182145         nstop = nstop + 1 
Note: See TracChangeset for help on using the changeset viewer.