Changeset 770 for branches/dev_001_GM
- Timestamp:
- 2007-12-16T18:17:36+01:00 (16 years ago)
- Location:
- branches/dev_001_GM/NEMO/TOP_SRC
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_001_GM/NEMO/TOP_SRC/TRP/trctrp_lec.F90
r719 r770 4 4 !! Ocean passive tracers: namelist read options for transport 5 5 !!============================================================================== 6 !! History : 1.0 ! 2004-03 (C. Ethe) Original code 7 !! 2.0 ! 2007-12 (C. Ethe, G. Madec) revised architecture 8 !!---------------------------------------------------------------------- 6 9 #if defined key_passivetrc 7 10 !!---------------------------------------------------------------------- 11 !! 'key_passivetrc' TOP model 12 !!---------------------------------------------------------------------- 8 13 !! trc_trp_lec : read the passive tracer namelist for transport 9 14 !!---------------------------------------------------------------------- 10 !! * Modules used11 15 USE oce_trc ! ocean dynamics and active tracers variables 12 16 USE trc ! ocean passive tracers variables … … 15 19 PRIVATE 16 20 17 !! * Accessibility 18 PUBLIC trc_trp_lec ! routine called by step module 21 PUBLIC trc_trp_lec ! routine called by step module 19 22 20 !! * Share module variables 21 22 !! Advection 23 LOGICAL, PUBLIC :: & 24 ln_trcadv_cen2 = .FALSE. , & !!: 2nd order centered scheme flag 25 ln_trcadv_tvd = .FALSE. , & !: TVD scheme flag 26 ln_trcadv_muscl = .FALSE. , & !: MUSCL scheme flag 27 ln_trcadv_muscl2 = .FALSE. , & !: MUSCL2 scheme flag 28 ln_trcadv_smolar = .TRUE. !: Smolarkiewicz scheme flag 29 30 !! Bottom boundary layer 31 REAL(wp), PUBLIC :: & 32 atrcbbl = 1.e+3 ! lateral coeff. for bottom boundary layer scheme (m2/s) 33 34 !! Lateral diffusion 35 LOGICAL , PUBLIC :: & !!: ** lateral mixing namelist (nam_trcldf) ** 36 ln_trcldf_diff = .FALSE. , & !: flag of perform or not the lateral diff. 37 ln_trcldf_lap = .TRUE. , & !: laplacian operator 38 ln_trcldf_bilap = .FALSE. , & !: bilaplacian operator 39 ln_trcldf_level = .FALSE. , & !: iso-level direction 40 ln_trcldf_hor = .FALSE. , & !: horizontal (geopotential) direction 41 ln_trcldf_iso = .TRUE. !: iso-neutral direction 42 43 LOGICAL , PUBLIC :: & !!: flag of the lateral diff. scheme used 44 l_trcldf_lap , & !: iso-level laplacian operator 45 l_trcldf_bilap , & !: iso-level bilaplacian operator 46 l_trcldf_bilapg , & !: geopotential bilap. (s-coord) 47 l_trcldf_iso , & !: iso-neutral laplacian or horizontal lapacian (s-coord) 48 l_trczdf_iso , & !: idem for the vertical component 49 l_trczdf_iso_vo , & !: idem with vectopt_memory 50 l_trcldf_iso_zps !: iso-neutral laplacian (partial steps) 51 52 !! Vertical diffusion 53 LOGICAL , PUBLIC :: & !!: nam_trczdf: vertical diffusion 54 ln_trczdf_exp = .FALSE. !: explicit vertical diffusion scheme flag 55 56 INTEGER, PUBLIC :: & !!: namzdf: vertical diffusion 57 n_trczdf_exp = 3 !: number of sub-time step (explicit time stepping) 58 59 LOGICAL, PUBLIC :: & !: 60 l_trczdf_exp = .FALSE. , & !: explicit vertical diffusion 61 l_trczdf_imp = .FALSE. !: implicit vertical diffusion 23 ! !!: ** Advection (nam_traadv) ** 24 LOGICAL , PUBLIC :: ln_trcadv_cen2 = .FALSE. !: 2nd order centered scheme flag 25 LOGICAL , PUBLIC :: ln_trcadv_tvd = .FALSE. !: TVD scheme flag 26 LOGICAL , PUBLIC :: ln_trcadv_muscl = .FALSE. !: MUSCL scheme flag 27 LOGICAL , PUBLIC :: ln_trcadv_muscl2 = .FALSE. !: MUSCL2 scheme flag 28 LOGICAL , PUBLIC :: ln_trcadv_smolar = .TRUE. !: Smolarkiewicz scheme flag 29 30 ! !!: ** bottom boundary layer (nambbl) ** 31 REAL(wp), PUBLIC :: atrcbbl = 1.e+3 ! lateral coeff. for bottom boundary layer scheme (m2/s) 32 33 ! !!: ** lateral mixing namelist (nam_trcldf) ** 34 LOGICAL , PUBLIC :: ln_trcldf_diff = .FALSE. !: flag of perform or not the lateral diff. 35 LOGICAL , PUBLIC :: ln_trcldf_lap = .TRUE. !: laplacian operator 36 LOGICAL , PUBLIC :: ln_trcldf_bilap = .FALSE. !: bilaplacian operator 37 LOGICAL , PUBLIC :: ln_trcldf_level = .FALSE. !: iso-level direction 38 LOGICAL , PUBLIC :: ln_trcldf_hor = .FALSE. !: horizontal (geopotential) direction 39 LOGICAL , PUBLIC :: ln_trcldf_iso = .TRUE. !: iso-neutral direction 40 41 ! !!: flag of the lateral diff. scheme used 42 LOGICAL , PUBLIC :: l_trcldf_lap !: iso-level laplacian operator 43 LOGICAL , PUBLIC :: l_trcldf_bilap !: iso-level bilaplacian operator 44 LOGICAL , PUBLIC :: l_trcldf_bilapg !: geopotential bilap. (s-coord) 45 LOGICAL , PUBLIC :: l_trcldf_iso !: iso-neutral laplacian or horizontal lapacian (s-coord) 46 LOGICAL , PUBLIC :: l_trczdf_iso !: idem for the vertical component 47 LOGICAL , PUBLIC :: l_trczdf_iso_vo !: idem with vectopt_memory 48 LOGICAL , PUBLIC :: l_trcldf_iso_zps !: iso-neutral laplacian (partial steps) 49 50 ! !!: ** Vertical diffusion (nam_trczdf) ** 51 LOGICAL , PUBLIC :: ln_trczdf_exp = .FALSE. !: explicit vertical diffusion scheme flag 52 53 ! !!: ** vertical diffusion (namzdf) ** 54 INTEGER , PUBLIC :: n_trczdf_exp = 3 !: number of sub-time step (explicit time stepping) 55 56 LOGICAL , PUBLIC :: l_trczdf_exp = .FALSE. !: explicit vertical diffusion 57 LOGICAL , PUBLIC :: l_trczdf_imp = .FALSE. !: implicit vertical diffusion 62 58 63 59 #if defined key_trcdmp 64 !! Newtonian damping 65 INTEGER , PUBLIC :: & !!: * newtonian damping namelist (nam_trcdmp) * 66 ndmptr = -1 , & !: = 0/-1/'latitude' for damping over tracers 67 ndmpftr = 2 , & !: = 1 create a damping.coeff NetCDF file 68 nmldmptr = 0 !: = 0/1/2 flag for damping in the mixed layer 69 70 REAL(wp) , PUBLIC :: & !!: * newtonian damping namelist * 71 sdmptr = 50., & !: surface time scale for internal damping (days) 72 bdmptr = 360., & !: bottom time scale for internal damping (days) 73 hdmptr = 800. !: depth of transition between sdmp and bdmp (meters) 74 #endif 75 !!---------------------------------------------------------------------- 76 !! TOP 1.0 , LOCEAN-IPSL (2005) 77 !! $Header$ 78 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 60 ! !!: ** newtonian damping namelist (nam_trcdmp) ** 61 INTEGER , PUBLIC :: ndmptr = -1 !: = 0/-1/'latitude' for damping over tracers 62 INTEGER , PUBLIC :: ndmpftr = 2 !: = 1 create a damping.coeff NetCDF file 63 INTEGER , PUBLIC :: nmldmptr = 0 !: = 0/1/2 flag for damping in the mixed layer 64 65 ! !!: ** newtonian damping (namdmp) ** 66 REAL(wp) , PUBLIC :: sdmptr = 50. !: surface time scale for internal damping (days) 67 REAL(wp) , PUBLIC :: bdmptr = 360. !: bottom time scale for internal damping (days) 68 REAL(wp) , PUBLIC :: hdmptr = 800. !: depth of transition between sdmp and bdmp (meters) 69 #endif 70 !!---------------------------------------------------------------------- 71 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) 72 !! $Id$ 73 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 79 74 !!---------------------------------------------------------------------- 80 75 … … 82 77 83 78 SUBROUTINE trc_trp_lec 84 !!--------------------------------------------------------------------- 79 !!---------------------------------------------------------------------- 85 80 !! *** ROUTINE trc_trp_lec *** 86 81 !! 87 82 !! ** Purpose : Read Namelist for tracer transport option 88 !!89 !! History :90 !! 9.0 ! 04-03 (C. Ethe)91 83 !!---------------------------------------------------------------------- 92 !! * Local declarations93 94 84 NAMELIST/namtrcadv/ ln_trcadv_cen2 , ln_trcadv_tvd, & 95 85 & ln_trcadv_muscl, ln_trcadv_muscl2, ln_trcadv_smolar 96 97 86 #if defined key_trcbbl_dif || defined key_trcbbl_adv 98 87 NAMELIST/namtrcbbl/ atrcbbl 99 88 #endif 100 101 89 NAMELIST/namtrcldf/ ln_trcldf_diff , ln_trcldf_lap , ln_trcldf_bilap, & 102 90 & ln_trcldf_level, ln_trcldf_hor, ln_trcldf_iso, & 103 91 & ahtrc0, ahtrb0, aeivtr0, trcrat 104 105 92 NAMELIST/namtrczdf/ ln_trczdf_exp, n_trczdf_exp 106 107 93 #if defined key_trcdmp 108 94 NAMELIST/namtrcdmp/ ndmptr, ndmpftr, nmldmptr, sdmptr, bdmptr, hdmptr … … 112 98 ! Read Namelist namtrcadv : tracer advection scheme 113 99 ! ------------------------- 114 REWIND 115 READ 100 REWIND( numnat ) 101 READ ( numnat, namtrcadv ) 116 102 117 103 ! Parameter control and print … … 134 120 ! Read Namelist namtrcbbl : Bottom boundary layer coef 135 121 ! -------------------------------------------------- 136 REWIND 137 READ 122 REWIND( numnat ) 123 READ ( numnat, namtrcbbl ) 138 124 139 125 ! Parameter control and print … … 144 130 WRITE(numout,*) ' bottom boundary layer coef. atrcbbl = ', atrcbbl 145 131 # if defined key_trcbbl_adv 146 132 WRITE(numout,*) ' * Advective Bottom Boundary Layer' 147 133 # endif 148 134 WRITE(numout,*) … … 193 179 ! Read Namelist namtdp : passive tracres damping term 194 180 ! -------------------- 195 REWIND ( numnat ) 196 READ ( numnat, namtrcdmp ) 197 IF( lzoom ) THEN 198 nmldmptr = 0 ! restoring to climatology at closed north or south boundaries 199 ENDIF 181 REWIND( numnat ) 182 READ ( numnat, namtrcdmp ) 183 IF( lzoom ) nmldmptr = 0 ! restoring to climatology at closed north or south boundaries 200 184 201 185 ! Parameter control and print … … 206 190 WRITE(numout,*) '~~~~~~~' 207 191 WRITE(numout,*) ' Namelist namtrcdmp : set damping parameter' 208 WRITE(numout,*)209 192 WRITE(numout,*) ' tracers damping option ndmptr = ', ndmptr 210 193 WRITE(numout,*) ' create a damping.coeff file ndmpftr = ', ndmpftr … … 215 198 WRITE(numout,*) 216 199 ENDIF 217 218 #endif 219 200 #endif 201 ! 220 202 END SUBROUTINE trc_trp_lec 203 221 204 #else 222 205 !!---------------------------------------------------------------------- 223 !! Dummy module : NO passive tracer206 !! Dummy module : No TOP model 224 207 !!---------------------------------------------------------------------- 225 208 CONTAINS … … 227 210 END SUBROUTINE trc_trp_lec 228 211 #endif 212 229 213 !!====================================================================== 230 214 END MODULE trctrp_lec -
branches/dev_001_GM/NEMO/TOP_SRC/oce_trc.F90
r763 r770 13 13 #if defined key_passivetrc 14 14 !!---------------------------------------------------------------------- 15 !! 'key_passivetrc' Passive tracers15 !! 'key_passivetrc' TOP model 16 16 !!---------------------------------------------------------------------- 17 17
Note: See TracChangeset
for help on using the changeset viewer.