Changeset 1559 for trunk/NEMO/OPA_SRC/ZDF/zdfini.F90
- Timestamp:
- 2009-07-29T16:03:14+02:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/ZDF/zdfini.F90
r1537 r1559 1 1 MODULE zdfini 2 2 !!====================================================================== 3 !! *** MODULE zdfini *** 4 !! Ocean physics : define vertical mixing variables 5 !!===================================================================== 3 !! *** MODULE zdfini *** 4 !! Ocean physics : read vertical mixing namelist and check consistancy 5 !!====================================================================== 6 !! History : 8.0 ! 1997-06 (G. Madec) Original code from inimix 7 !! 1.0 ! 2002-08 (G. Madec) F90 : free form 8 !! - ! 2005-06 (C. Ethe) KPP parameterization 9 !! - ! 2009-07 (G. Madec) add avmb, avtb in restart for cen2 advection 10 !!---------------------------------------------------------------------- 6 11 7 12 !!---------------------------------------------------------------------- 8 13 !! zdf_init : initialization, namelist read, and parameters control 9 14 !!---------------------------------------------------------------------- 10 !! * Modules used11 15 USE par_oce ! mesh and scale factors 12 16 USE ldftra_oce ! ocean active tracers: lateral physics … … 30 34 PRIVATE 31 35 32 !! * Routine accessibility33 PUBLIC zdf_init ! routine called by opa.F9036 PUBLIC zdf_init ! routine called by opa.F90 37 34 38 !!---------------------------------------------------------------------- 35 !! OPA 9.0 , LOCEAN-IPSL (2005)39 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 36 40 !! $Id$ 37 41 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) … … 47 51 !! 48 52 !! ** Method : Read namelist namzdf, control logicals 49 !!50 !! History :51 !! ! 97-06 (G. Madec) Original code from inimix52 !! 8.5 ! 02-08 (G. Madec) F90 : free form53 !! 9.0 ! 05-06 (C. Ethe) KPP parameterization54 53 !!---------------------------------------------------------------------- 55 54 INTEGER :: ioptio ! temporary scalar … … 59 58 !!---------------------------------------------------------------------- 60 59 61 REWIND( numnam ) !Read nam_zdf namelist : vertical mixing parameters60 REWIND( numnam ) !* Read nam_zdf namelist : vertical mixing parameters 62 61 READ ( numnam, nam_zdf ) 63 62 64 IF(lwp) THEN !Parameter print63 IF(lwp) THEN !* Parameter print 65 64 WRITE(numout,*) 66 65 WRITE(numout,*) 'zdf_init: vertical physics' … … 81 80 ENDIF 82 81 83 ! Parameter & logicals controls 84 ! ----------------------------- 85 ! ... check of vertical mixing scheme on tracers 86 ! ==> will be done in trazdf module 87 88 ! ... check of mixing coefficient 82 ! !* Parameter & logical controls 83 ! ! ---------------------------- 84 ! 85 ! ! ... check of vertical mixing scheme on tracers 86 ! ==> will be done in trazdf module 87 ! 88 ! ! ... check of mixing coefficient 89 89 IF(lwp) WRITE(numout,*) 90 IF(lwp) WRITE(numout,*) ' 90 IF(lwp) WRITE(numout,*) ' vertical mixing option :' 91 91 ioptio = 0 92 92 IF( lk_zdfcst ) THEN 93 IF(lwp) WRITE(numout,*) ' 93 IF(lwp) WRITE(numout,*) ' constant eddy diffusion coefficients' 94 94 ioptio = ioptio+1 95 95 ENDIF 96 96 IF( lk_zdfric ) THEN 97 IF(lwp) WRITE(numout,*) ' 97 IF(lwp) WRITE(numout,*) ' Richardson dependent eddy coefficients' 98 98 ioptio = ioptio+1 99 99 ENDIF 100 100 IF( lk_zdftke_old ) THEN 101 IF(lwp) WRITE(numout,*) ' 101 IF(lwp) WRITE(numout,*) ' TKE dependent eddy coefficients' 102 102 ioptio = ioptio+1 103 103 ENDIF 104 104 IF( lk_zdftke ) THEN 105 IF(lwp) WRITE(numout,*) ' 105 IF(lwp) WRITE(numout,*) ' TKE dependent eddy coefficients' 106 106 ioptio = ioptio+1 107 107 ENDIF 108 108 IF( lk_zdfkpp ) THEN 109 IF(lwp) WRITE(numout,*) ' 109 IF(lwp) WRITE(numout,*) ' KPP dependent eddy coefficients' 110 110 ioptio = ioptio+1 111 111 ENDIF 112 112 IF( ioptio == 0 .OR. ioptio > 1 .AND. .NOT. lk_esopa ) & 113 CALL ctl_stop( ' one and only one vertical diffusion option has to be defined ' )114 115 ! ... Convection113 & CALL ctl_stop( ' one and only one vertical diffusion option has to be defined ' ) 114 ! 115 ! ! ... Convection 116 116 IF(lwp) WRITE(numout,*) 117 IF(lwp) WRITE(numout,*) ' 117 IF(lwp) WRITE(numout,*) ' convection :' 118 118 ioptio = 0 119 119 IF( ln_zdfnpc ) THEN 120 IF(lwp) WRITE(numout,*) ' 120 IF(lwp) WRITE(numout,*) ' use non penetrative convective scheme' 121 121 ioptio = ioptio+1 122 122 ENDIF 123 123 IF( ln_zdfevd ) THEN 124 IF(lwp) WRITE(numout,*) ' 124 IF(lwp) WRITE(numout,*) ' use enhanced vertical dif. scheme' 125 125 ioptio = ioptio+1 126 126 ENDIF 127 127 IF( lk_zdftke_old .OR. lk_zdftke ) THEN 128 IF(lwp) WRITE(numout,*) ' 128 IF(lwp) WRITE(numout,*) ' use the 1.5 turbulent closure' 129 129 ENDIF 130 130 IF( lk_zdfkpp ) THEN 131 IF(lwp) WRITE(numout,*) ' 131 IF(lwp) WRITE(numout,*) ' use the KPP closure scheme' 132 132 IF(lk_mpp) THEN 133 133 IF(lwp) WRITE(numout,cform_err) 134 IF(lwp) WRITE(numout,*) ' 134 IF(lwp) WRITE(numout,*) 'The KPP scheme is not ready to run in MPI' 135 135 ENDIF 136 136 ENDIF 137 IF ( ioptio > 1 .AND. .NOT. lk_esopa ) & 138 CALL ctl_stop( ' chose between ln_zdfnpc', ' and ln_zdfevd' ) 137 IF ( ioptio > 1 .AND. .NOT. lk_esopa ) CALL ctl_stop( ' chose between ln_zdfnpc and ln_zdfevd' ) 139 138 IF( ioptio == 0 .AND. .NOT.( lk_zdftke_old .OR. lk_zdftke .OR. lk_zdfkpp ) ) & 140 139 CALL ctl_stop( ' except for TKE sor KPP physics, a convection scheme is', &
Note: See TracChangeset
for help on using the changeset viewer.