- Timestamp:
- 2010-10-12T20:49:32+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DEV_r2106_LOCEAN2010/NEMO/OPA_SRC/DYN/dynldf.F90
- Property svn:executable deleted
r2104 r2236 33 33 PUBLIC dyn_ldf_init ! called by opa module 34 34 35 INTEGER :: nldf = 0! type of lateral diffusion used defined from ln_dynldf_... namlist logicals)35 INTEGER :: nldf = -2 ! type of lateral diffusion used defined from ln_dynldf_... namlist logicals) 36 36 37 37 !! * Substitutions … … 41 41 !! NEMO/OPA 3.3 , LOCEAN-IPSL (2010) 42 42 !! $Id$ 43 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt)43 !! Software governed by the CeCILL licence (NEMOGCM/License_CeCILL.txt) 44 44 !!---------------------------------------------------------------------- 45 45 … … 68 68 CASE ( 2 ) ; CALL dyn_ldf_bilap ( kt ) ! iso-level bilaplacian 69 69 CASE ( 3 ) ; CALL dyn_ldf_bilapg ( kt ) ! s-coord. horizontal bilaplacian 70 CASE ( 4 ) ! iso-level laplacian + bilaplacian 71 CALL dyn_ldf_lap ( kt ) 72 CALL dyn_ldf_bilap ( kt ) 73 CASE ( 5 ) ! rotated laplacian + bilaplacian (s-coord) 74 CALL dyn_ldf_iso ( kt ) 75 CALL dyn_ldf_bilapg ( kt ) 70 76 ! 71 77 CASE ( -1 ) ! esopa: test all possibility with control print … … 82 88 CALL prt_ctl( tab3d_1=ua, clinfo1=' ldf3 - Ua: ', mask1=umask, & 83 89 & tab3d_2=va, clinfo2= ' Va: ', mask2=vmask, clinfo3='dyn' ) 90 ! 91 CASE ( -2 ) ! neither laplacian nor bilaplacian schemes used 92 IF( kt == nit000 ) THEN 93 IF(lwp) WRITE(numout,*) 94 IF(lwp) WRITE(numout,*) 'dyn_ldf : no lateral diffusion on momentum setup' 95 IF(lwp) WRITE(numout,*) '~~~~~~~ ' 96 ENDIF 84 97 END SELECT 85 98 … … 123 136 IF( ln_dynldf_lap ) ioptio = ioptio + 1 124 137 IF( ln_dynldf_bilap ) ioptio = ioptio + 1 125 IF( ioptio /= 1 ) CALL ctl_stop( ' use ONE of the 2 lap/bilap operator type ondynamics' )138 IF( ioptio < 1 ) CALL ctl_warn( ' neither laplacian nor bilaplacian operator set for dynamics' ) 126 139 ioptio = 0 127 140 IF( ln_dynldf_level ) ioptio = ioptio + 1 … … 143 156 IF ( ln_dynldf_iso ) nldf = 1 ! isoneutral ( rotation) 144 157 ENDIF 145 IF ( ln_sco ) THEN ! z-coordinate158 IF ( ln_sco ) THEN ! s-coordinate 146 159 IF ( ln_dynldf_level ) nldf = 0 ! iso-level (no rotation) 147 160 IF ( ln_dynldf_hor ) nldf = 1 ! horizontal ( rotation) … … 161 174 IF ( ln_dynldf_iso ) ierr = 2 ! isoneutral ( rotation) 162 175 ENDIF 163 IF ( ln_sco ) THEN ! z-coordinate176 IF ( ln_sco ) THEN ! s-coordinate 164 177 IF ( ln_dynldf_level ) nldf = 2 ! iso-level (no rotation) 165 178 IF ( ln_dynldf_hor ) nldf = 3 ! horizontal ( rotation) … … 168 181 ENDIF 169 182 183 IF( ln_dynldf_lap .AND. ln_dynldf_bilap ) THEN ! mixed laplacian and bilaplacian operators 184 IF ( ln_zco ) THEN ! z-coordinate 185 IF ( ln_dynldf_level ) nldf = 4 ! iso-level (no rotation) 186 IF ( ln_dynldf_hor ) nldf = 4 ! horizontal (no rotation) 187 IF ( ln_dynldf_iso ) ierr = 2 ! isoneutral ( rotation) 188 ENDIF 189 IF ( ln_zps ) THEN ! z-coordinate 190 IF ( ln_dynldf_level ) ierr = 1 ! iso-level not allowed 191 IF ( ln_dynldf_hor ) nldf = 4 ! horizontal (no rotation) 192 IF ( ln_dynldf_iso ) ierr = 2 ! isoneutral ( rotation) 193 ENDIF 194 IF ( ln_sco ) THEN ! s-coordinate 195 IF ( ln_dynldf_level ) nldf = 4 ! iso-level (no rotation) 196 IF ( ln_dynldf_hor ) nldf = 5 ! horizontal ( rotation) 197 IF ( ln_dynldf_iso ) ierr = 2 ! isoneutral ( rotation) 198 ENDIF 199 ENDIF 200 170 201 IF( lk_esopa ) nldf = -1 ! esopa test 171 202 … … 178 209 IF(lwp) THEN 179 210 WRITE(numout,*) 211 IF( nldf == -2 ) WRITE(numout,*) ' neither laplacian nor bilaplacian schemes used' 180 212 IF( nldf == -1 ) WRITE(numout,*) ' ESOPA test All scheme used' 181 213 IF( nldf == 0 ) WRITE(numout,*) ' laplacian operator' 182 IF( nldf == 1 ) WRITE(numout,*) ' Rotated laplacian operator'214 IF( nldf == 1 ) WRITE(numout,*) ' rotated laplacian operator' 183 215 IF( nldf == 2 ) WRITE(numout,*) ' bilaplacian operator' 184 IF( nldf == 3 ) WRITE(numout,*) ' Rotated bilaplacian' 216 IF( nldf == 3 ) WRITE(numout,*) ' rotated bilaplacian' 217 IF( nldf == 4 ) WRITE(numout,*) ' laplacian and bilaplacian operators' 218 IF( nldf == 5 ) WRITE(numout,*) ' rotated laplacian and bilaplacian operators' 185 219 ENDIF 186 220 !
Note: See TracChangeset
for help on using the changeset viewer.