Changeset 1601 for trunk/NEMO/OPA_SRC/LDF/ldftra.F90
- Timestamp:
- 2009-08-11T12:09:19+02:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/LDF/ldftra.F90
r1152 r1601 4 4 !! Ocean physics: lateral diffusivity coefficient 5 5 !!===================================================================== 6 !! History : 7 !! ! 07-97 (G. Madec) from inimix.F split in 2 routines8 !! ! 08-97 (G. Madec) multi dimensional coefficients9 !! 8.5 ! 02-09 (G. Madec) F90: Free form and module10 !! 9.0 ! 05-11 (G. Madec) 6 !! History : ! 1997-07 (G. Madec) from inimix.F split in 2 routines 7 !! NEMO 1.0 ! 2002-09 (G. Madec) F90: Free form and module 8 !! 2.0 ! 2005-11 (G. Madec) 9 !!---------------------------------------------------------------------- 10 11 11 !!---------------------------------------------------------------------- 12 12 !! ldf_tra_init : initialization, namelist read, and parameters control … … 15 15 !! ldf_tra_c1d : 1D eddy viscosity coefficient initialization 16 16 !!---------------------------------------------------------------------- 17 !! * Modules used18 17 USE oce ! ocean dynamics and tracers 19 18 USE dom_oce ! ocean space and time domain … … 22 21 USE ldfslp ! ??? 23 22 USE in_out_manager ! I/O manager 23 USE ioipsl 24 24 USE lib_mpp ! distribued memory computing library 25 25 USE lbclnk ! ocean lateral boundary conditions (or mpp link) … … 28 28 PRIVATE 29 29 30 !! * Routine accessibility 31 PUBLIC ldf_tra_init ! called by opa.F90 30 PUBLIC ldf_tra_init ! called by opa.F90 32 31 33 32 !! * Substitutions 34 33 # include "domzgr_substitute.h90" 35 34 # include "vectopt_loop_substitute.h90" 36 !!---------------------------------------------------------------------- -----------37 !! OPA 9.0 , LOCEAN-IPSL (2005)35 !!---------------------------------------------------------------------- 36 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 38 37 !! $Id$ 39 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt40 !!---------------------------------------------------------------------- -----------38 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 39 !!---------------------------------------------------------------------- 41 40 42 41 CONTAINS … … 62 61 !! coefficients are initialized to a hyperbolic tangent vertical 63 62 !! profile. 64 !!65 63 !!---------------------------------------------------------------------- 66 USE ioipsl 67 68 INTEGER :: ioptio ! ??? 64 INTEGER :: ioptio ! temporary integer 69 65 LOGICAL :: ll_print = .FALSE. ! =T print eddy coef. in numout 70 71 NAMELIST/nam _traldf/ ln_traldf_lap , ln_traldf_bilap,&72 & ln_traldf_level, ln_traldf_hor , ln_traldf_iso, &73 & aht0, ahtb0, aeiv066 !! 67 NAMELIST/namtra_ldf/ ln_traldf_lap , ln_traldf_bilap, & 68 & ln_traldf_level, ln_traldf_hor , ln_traldf_iso, & 69 & rn_aht_0 , rn_ahtb_0 , rn_aeiv_0 74 70 !!---------------------------------------------------------------------- 75 71 … … 77 73 ! ============================================= 78 74 79 ! Read Namelist nam_traldf : Lateral physics on tracers 80 REWIND( numnam ) 81 READ ( numnam, nam_traldf ) 75 REWIND( numnam ) ! Read Namelist namtra_ldf : Lateral physics on tracers 76 READ ( numnam, namtra_ldf ) 82 77 83 IF(lwp) THEN 78 IF(lwp) THEN ! control print 84 79 WRITE(numout,*) 85 80 WRITE(numout,*) 'ldf_tra_init : lateral tracer physics' 86 81 WRITE(numout,*) '~~~~~~~~~~~~ ' 87 WRITE(numout,*) ' Namelist nam_traldf : lateral mixing coefficients'88 WRITE(numout,*) ' laplacian operatorln_traldf_lap = ', ln_traldf_lap89 WRITE(numout,*) ' bilaplacian operatorln_traldf_bilap = ', ln_traldf_bilap90 WRITE(numout,*) ' lateral eddy diffusivity aht0 = ', aht091 WRITE(numout,*) ' background hor. diffusivity ahtb0 = ', ahtb092 WRITE(numout,*) ' eddy induced velocity coef. aeiv0 = ', aeiv082 WRITE(numout,*) ' Namelist namtra_ldf : lateral mixing coefficients' 83 WRITE(numout,*) ' laplacian operator ln_traldf_lap = ', ln_traldf_lap 84 WRITE(numout,*) ' bilaplacian operator ln_traldf_bilap = ', ln_traldf_bilap 85 WRITE(numout,*) ' lateral eddy diffusivity rn_aht_0 = ', rn_aht_0 86 WRITE(numout,*) ' background hor. diffusivity rn_ahtb_0 = ', rn_ahtb_0 87 WRITE(numout,*) ' eddy induced velocity coef. rn_aeiv_0 = ', rn_aeiv_0 93 88 WRITE(numout,*) 94 89 ENDIF 95 90 96 ! Parameter control 91 ! ! convert DOCTOR namelist names into OLD names 92 aht0 = rn_aht_0 93 ahtb0 = rn_ahtb_0 94 aeiv0 = rn_aeiv_0 95 96 ! ! Parameter control 97 97 98 98 ! ... Check consistency for type and direction : … … 112 112 IF(lwp) WRITE(numout,*) ' tracer mixing coef. = F( depth )' 113 113 ioptio = ioptio + 1 114 IF( .NOT. ln_zco ) & 115 & CALL ctl_stop( ' key_traldf_c1d can only be used in z-coordinate - full step' ) 114 IF( .NOT. ln_zco ) CALL ctl_stop( 'key_traldf_c1d can only be used in z-coordinate - full step' ) 116 115 #endif 117 116 IF( ioptio == 0 ) THEN … … 124 123 IF( ln_traldf_bilap ) THEN 125 124 IF(lwp) WRITE(numout,*) ' biharmonic tracer diffusion' 126 IF( aht0 > 0 .AND. .NOT. lk_esopa ) & 127 & CALL ctl_stop( ' The horizontal diffusivity coef. aht0 must be negative' ) 125 IF( aht0 > 0 .AND. .NOT. lk_esopa ) CALL ctl_stop( 'The horizontal diffusivity coef. aht0 must be negative' ) 128 126 ELSE 129 127 IF(lwp) WRITE(numout,*) ' harmonic tracer diffusion (default)' 130 IF( aht0 < 0 .AND. .NOT. lk_esopa ) & 131 & CALL ctl_stop(' The horizontal diffusivity coef. aht0 must be positive' ) 128 IF( aht0 < 0 .AND. .NOT. lk_esopa ) CALL ctl_stop('The horizontal diffusivity coef. aht0 must be positive' ) 132 129 ENDIF 133 130 … … 135 132 ! Lateral eddy diffusivity and eddy induced velocity coefficients 136 133 ! ================================================================ 137 138 134 #if defined key_traldf_c3d 139 135 CALL ldf_tra_c3d( ll_print ) ! aht = 3D coef. = F( longitude, latitude, depth ) … … 145 141 ! Constant coefficients 146 142 IF(lwp)WRITE(numout,*) 147 IF(lwp)WRITE(numout,*) ' 143 IF(lwp)WRITE(numout,*) ' constant eddy diffusivity coef. ahtu = ahtv = ahtw = aht0 = ', aht0 148 144 IF( lk_traldf_eiv ) THEN 149 145 IF(lwp)WRITE(numout,*) 150 IF(lwp)WRITE(numout,*) ' 146 IF(lwp)WRITE(numout,*) ' constant eddy induced velocity coef. aeiu = aeiv = aeiw = aeiv0 = ', aeiv0 151 147 ENDIF 152 148 #endif 153 149 ! 154 150 END SUBROUTINE ldf_tra_init 155 151
Note: See TracChangeset
for help on using the changeset viewer.