Changeset 463 for trunk/NEMO/OPA_SRC/ZDF/zdfini.F90
- Timestamp:
- 2006-05-10T19:26:55+02:00 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/ZDF/zdfini.F90
r297 r463 31 31 !!---------------------------------------------------------------------- 32 32 !! OPA 9.0 , LOCEAN-IPSL (2005) 33 !! $Header$34 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt35 33 !!---------------------------------------------------------------------- 36 34 … … 52 50 !! * Local declarations 53 51 INTEGER :: ioptio ! temporary scalar 54 LOGICAL :: & !!! namzdf: vertical diffusion55 ln_zdfexp = .FALSE. ! explicit vertical diffusion scheme flag56 52 57 53 !! * Namelist 58 NAMELIST/namzdf/ ln_zdfe vd, ln_zdfnpc, &59 & avm0 , avt0, avevd, nevdm, ln_zdfexp, n_zdfexp54 NAMELIST/namzdf/ ln_zdfexp, n_zdfexp, ln_zdfevd, ln_zdfnpc, & 55 & avm0 , avt0 , avevd , n_evdm 60 56 !!---------------------------------------------------------------------- 61 57 !! OPA 9.0, LODYC-IPSL (2003) … … 73 69 WRITE(numout,*) 'zdf_init: vertical physics' 74 70 WRITE(numout,*) '~~~~~~~~' 75 WRITE(numout,*) ' 76 WRITE(numout,*) ' enhanced vertical diffusion ln_zdfevd = ', ln_zdfevd77 WRITE(numout,*) ' non-penetrative convection ln_zdfnpc = ', ln_zdfnpc78 WRITE(numout,*) ' vertical eddy viscosity avm0 = ', avm079 WRITE(numout,*) ' vertical eddy diffusivity avt0 = ', avt080 WRITE(numout,*) ' vertical coefficient for evd avevd = ', avevd81 WRITE(numout,*) ' applied on momentum (=1/0) nevdm = ', nevdm82 WRITE(numout,*) ' time splitting / backward scheme ln_zdfexp = ', ln_zdfexp83 WRITE(numout,*) ' number of time step n_zdfexp = ', n_zdfexp71 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 84 80 ENDIF 85 81 86 82 ! Parameter & logicals controls 87 83 ! ----------------------------- 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 124 86 87 ! ... check of mixing coefficient 125 88 IF(lwp) WRITE(numout,*) 126 89 IF(lwp) WRITE(numout,*) ' vertical mixing option :' 127 90 ioptio = 0 128 91 IF( lk_zdfcst ) THEN 129 IF(lwp) WRITE(numout,*) ' constant eddy diffusion coef .'92 IF(lwp) WRITE(numout,*) ' constant eddy diffusion coefficients' 130 93 ioptio = ioptio+1 131 94 ENDIF 132 95 IF( lk_zdfric ) THEN 133 IF(lwp) WRITE(numout,*) ' Richardson dependent eddy coef .'96 IF(lwp) WRITE(numout,*) ' Richardson dependent eddy coefficients' 134 97 ioptio = ioptio+1 135 98 ENDIF 136 99 IF( lk_zdftke ) THEN 137 IF(lwp) WRITE(numout,*) ' TKE dependent eddy coef .'100 IF(lwp) WRITE(numout,*) ' TKE dependent eddy coefficients' 138 101 ioptio = ioptio+1 139 102 ENDIF 140 103 IF( lk_zdfkpp ) THEN 141 IF(lwp) WRITE(numout,*) ' KPP dependent eddy coef .'104 IF(lwp) WRITE(numout,*) ' KPP dependent eddy coefficients' 142 105 ioptio = ioptio+1 143 106 ENDIF … … 176 139 nstop = nstop + 1 177 140 ENDIF 178 IF( ioptio == 0 .AND. .NOT. lk_zdftke) THEN141 IF( ioptio == 0 .AND. .NOT.( lk_zdftke .OR. lk_zdfkpp ) ) THEN 179 142 IF(lwp) WRITE(numout,cform_err) 180 IF(lwp) WRITE(numout,*) ' except for TKE s cheme, a convection scheme is'143 IF(lwp) WRITE(numout,*) ' except for TKE sor KPP physics, a convection scheme is' 181 144 IF(lwp) WRITE(numout,*) ' required: ln_zdfevd or ln_zdfnpc logicals' 182 145 nstop = nstop + 1
Note: See TracChangeset
for help on using the changeset viewer.