Changeset 2528 for trunk/NEMOGCM/NEMO/OPA_SRC/DOM/dom_oce.F90
- Timestamp:
- 2010-12-27T18:33:53+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/DOM/dom_oce.F90
- Property svn:eol-style deleted
r1886 r2528 6 6 !!====================================================================== 7 7 !! History : 1.0 ! 2005-10 (A. Beckmann, G. Madec) reactivate s-coordinate 8 !!---------------------------------------------------------------------- 9 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 10 !! $Id$ 11 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 8 !! 3.3 ! 2010-11 (G. Madec) add mbk. arrays associated to the deepest ocean level 12 9 !!---------------------------------------------------------------------- 13 10 USE par_oce ! ocean parameters … … 21 18 !! ---------------------------- 22 19 ! !!* Namelist namdom : time & space domain * 23 INTEGER , PUBLIC :: nn_bathy = 0 !: = 0/1 ,compute/read the bathymetry file 24 REAL(wp), PUBLIC :: rn_e3zps_min = 5.0_wp !: miminum thickness for partial steps (meters) 25 REAL(wp), PUBLIC :: rn_e3zps_rat = 0.1_wp !: minimum thickness ration for partial steps 26 INTEGER , PUBLIC :: nn_msh = 0 !: = 1 create a mesh-mask file 27 INTEGER , PUBLIC :: nn_acc = 0 !: = 0/1 use of the acceleration of convergence technique 28 REAL(wp), PUBLIC :: rn_atfp = 0.1_wp !: asselin time filter parameter 20 INTEGER , PUBLIC :: nn_bathy = 0 !: = 0/1 ,compute/read the bathymetry file 21 REAL(wp), PUBLIC :: rn_hmin = -3.0_wp !: minimum ocean depth (>0) or minimum number of ocean levels (<0) 22 REAL(wp), PUBLIC :: rn_e3zps_min = 5.0_wp !: miminum thickness for partial steps (meters) 23 REAL(wp), PUBLIC :: rn_e3zps_rat = 0.1_wp !: minimum thickness ration for partial steps 24 INTEGER , PUBLIC :: nn_msh = 0 !: = 1 create a mesh-mask file 25 INTEGER , PUBLIC :: nn_acc = 0 !: = 0/1 use of the acceleration of convergence technique 26 REAL(wp), PUBLIC :: rn_atfp = 0.1_wp !: asselin time filter parameter 29 27 REAL(wp), PUBLIC :: rn_rdt = 3600._wp !: time step for the dynamics (and tracer if nacc=0) 30 28 REAL(wp), PUBLIC :: rn_rdtmin = 3600._wp !: minimum time step on tracers 31 29 REAL(wp), PUBLIC :: rn_rdtmax = 3600._wp !: maximum time step on tracers 32 30 REAL(wp), PUBLIC :: rn_rdth = 800._wp !: depth variation of tracer step 33 INTEGER , PUBLIC :: nn_baro = 64!: number of barotropic time steps (key_dynspg_ts)34 INTEGER , PUBLIC :: nn_closea = 0!: =0 suppress closed sea/lake from the ORCA domain or not (=1)35 36 ! 37 INTEGER , PUBLIC :: ntopo 38 REAL(wp), PUBLIC :: e3zps_min 39 REAL(wp), PUBLIC :: e3zps_rat 40 INTEGER , PUBLIC :: nmsh 41 INTEGER , PUBLIC :: nacc 42 REAL(wp), PUBLIC :: atfp 43 REAL(wp), PUBLIC :: rdt 44 REAL(wp), PUBLIC :: rdtmin 45 REAL(wp), PUBLIC :: rdtmax 46 REAL(wp), PUBLIC :: rdth 47 INTEGER , PUBLIC :: nclosea 48 49 50 ! !!! associated variables31 INTEGER , PUBLIC :: nn_baro = 64 !: number of barotropic time steps (key_dynspg_ts) 32 INTEGER , PUBLIC :: nn_closea = 0 !: =0 suppress closed sea/lake from the ORCA domain or not (=1) 33 34 ! !! old non-DOCTOR names still used in the model 35 INTEGER , PUBLIC :: ntopo !: = 0/1 ,compute/read the bathymetry file 36 REAL(wp), PUBLIC :: e3zps_min !: miminum thickness for partial steps (meters) 37 REAL(wp), PUBLIC :: e3zps_rat !: minimum thickness ration for partial steps 38 INTEGER , PUBLIC :: nmsh !: = 1 create a mesh-mask file 39 INTEGER , PUBLIC :: nacc !: = 0/1 use of the acceleration of convergence technique 40 REAL(wp), PUBLIC :: atfp !: asselin time filter parameter 41 REAL(wp), PUBLIC :: rdt !: time step for the dynamics (and tracer if nacc=0) 42 REAL(wp), PUBLIC :: rdtmin !: minimum time step on tracers 43 REAL(wp), PUBLIC :: rdtmax !: maximum time step on tracers 44 REAL(wp), PUBLIC :: rdth !: depth variation of tracer step 45 INTEGER , PUBLIC :: nclosea !: =0 suppress closed sea/lake from the ORCA domain or not (=1) 46 47 48 ! !!! associated variables 51 49 INTEGER , PUBLIC :: neuler = 0 !: restart euler forward option (0=Euler) 52 50 REAL(wp), PUBLIC :: atfp1 !: asselin time filter coeff. (atfp1= 1-2*atfp) … … 55 53 ! !!* Namelist namcla : cross land advection 56 54 INTEGER, PUBLIC :: nn_cla = 0 !: =1 cross land advection for exchanges through some straits (ORCA2) 57 58 ! ! old non-DOCTOR names still used in the model59 INTEGER, PUBLIC :: n_cla = 0 !: =1 cross land advection for exchanges through some straits (ORCA2)60 55 61 56 !!---------------------------------------------------------------------- … … 120 115 LOGICAL, PUBLIC :: ln_zps = .FALSE. !: z-coordinate - partial step 121 116 LOGICAL, PUBLIC :: ln_sco = .FALSE. !: s-coordinate or hybrid z-s coordinate 122 #if defined key_zco123 LOGICAL, PUBLIC, PARAMETER :: lk_zco = .TRUE. !: z-coordinate flag (1D arrays)124 #else125 LOGICAL, PUBLIC, PARAMETER :: lk_zco = .FALSE. !: z-coordinate flag (3D arrays)126 117 127 118 !! All coordinates … … 133 124 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: e3vw !: analytical vertical scale factors at VW-- 134 125 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: e3w , e3uw !: W--UW points (m) 135 #endif136 126 #if defined key_vvl 137 127 LOGICAL, PUBLIC, PARAMETER :: lk_vvl = .TRUE. !: variable grid flag … … 145 135 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: e3vw_1 !: analytical vertical scale factors at VW-- 146 136 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: e3w_1 , e3uw_1 !: W--UW points (m) 137 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: e3t_b !: before - - - - T points (m) 138 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: e3u_b , e3v_b !: - - - - - U--V points (m) 147 139 #else 148 140 LOGICAL, PUBLIC, PARAMETER :: lk_vvl = .FALSE. !: fixed grid flag … … 159 151 REAL(wp), PUBLIC, DIMENSION(jpk) :: gdept_0, gdepw_0 !: reference depth of t- and w-points (m) 160 152 REAL(wp), PUBLIC, DIMENSION(jpk) :: e3t_0 , e3w_0 !: reference vertical scale factors at T- and W-pts (m) 161 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hdept , hdepw !: ocean bottom depth at T and W points162 153 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: e3tp , e3wp !: ocean bottom level thickness at T and W points 163 154 … … 172 163 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: scosrf, scobot !: ocean surface and bottom topographies 173 164 ! ! (if deviating from coordinate surfaces in HYBRID) 174 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hifv , hiff !: interface depth between stretching 175 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hift , hifu !: and quasi-uniform spacing 165 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hifv , hiff !: interface depth between stretching at V--F 166 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hift , hifu !: and quasi-uniform spacing T--U points (m) 176 167 177 168 !!---------------------------------------------------------------------- 178 169 !! masks, bathymetry 179 170 !! --------------------------------------------------------------------- 180 INTEGER , PUBLIC, DIMENSION(jpi,jpj) :: mbathy !: number of ocean level (=0, 1, ... , jpk-1) 181 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: bathy !: ocean depth (meters) 182 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: tmask_i !: interior domain T-point mask 183 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: bmask !: land/ocean mask of barotropic stream function 184 185 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: tmask, umask, vmask, fmask !: land/ocean mask at T-, U-, V- and F-points 186 187 REAL(wp), PUBLIC, DIMENSION(jpiglo) :: tpol, fpol !: north fold mask (nperio= 3 or 4) 171 INTEGER , PUBLIC, DIMENSION(jpi,jpj) :: mbathy !: number of ocean level (=0, 1, ... , jpk-1) 172 INTEGER , PUBLIC, DIMENSION(jpi,jpj) :: mbkt !: vertical index of the bottom last T- ocean level 173 INTEGER , PUBLIC, DIMENSION(jpi,jpj) :: mbku, mbkv !: vertical index of the bottom last U- and W- ocean level 174 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: bathy !: ocean depth (meters) 175 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: tmask_i !: interior domain T-point mask 176 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: bmask !: land/ocean mask of barotropic stream function 177 178 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: tmask, umask, vmask, fmask !: land/ocean mask at T-, U-, V- and F-pts 179 180 REAL(wp), PUBLIC, DIMENSION(jpiglo) :: tpol, fpol !: north fold mask (jperio= 3 or 4) 188 181 189 182 #if defined key_noslip_accurate … … 195 188 !! calendar variables 196 189 !! --------------------------------------------------------------------- 197 INTEGER , PUBLIC :: nyear !: current year 198 INTEGER , PUBLIC :: nmonth !: current month 199 INTEGER , PUBLIC :: nday !: current day of the month 200 INTEGER , PUBLIC :: ndastp !: time step date in yyyymmdd format 201 INTEGER , PUBLIC :: nday_year !: current day counted from jan 1st of the current year 202 INTEGER , PUBLIC :: nsec_year !: current time step counted in second since 00h jan 1st of the current year 203 INTEGER , PUBLIC :: nsec_month !: current time step counted in second since 00h 1st day of the current month 204 INTEGER , PUBLIC :: nsec_day !: current time step counted in second since 00h of the current day 205 REAL(wp), PUBLIC :: fjulday !: julian day 206 REAL(wp), PUBLIC :: adatrj !: number of elapsed days since the begining of the whole simulation 207 ! !: (cumulative duration of previous runs that may have used different time-step size) 190 INTEGER , PUBLIC :: nyear !: current year 191 INTEGER , PUBLIC :: nmonth !: current month 192 INTEGER , PUBLIC :: nday !: current day of the month 193 INTEGER , PUBLIC :: ndastp !: time step date in yyyymmdd format 194 INTEGER , PUBLIC :: nday_year !: current day counted from jan 1st of the current year 195 INTEGER , PUBLIC :: nsec_year !: current time step counted in second since 00h jan 1st of the current year 196 INTEGER , PUBLIC :: nsec_month !: current time step counted in second since 00h 1st day of the current month 197 INTEGER , PUBLIC :: nsec_week !: current time step counted in second since 00h of last monday 198 INTEGER , PUBLIC :: nsec_day !: current time step counted in second since 00h of the current day 199 REAL(wp), PUBLIC :: fjulday !: current julian day 200 REAL(wp), PUBLIC :: fjulstartyear !: first day of the current year in julian days 201 REAL(wp), PUBLIC :: adatrj !: number of elapsed days since the begining of the whole simulation 202 ! !: (cumulative duration of previous runs that may have used different time-step size) 208 203 INTEGER , PUBLIC, DIMENSION(0: 1) :: nyear_len !: length in days of the previous/current year 209 204 INTEGER , PUBLIC, DIMENSION(0:13) :: nmonth_len !: length in days of the months of the current year … … 213 208 214 209 !!---------------------------------------------------------------------- 210 !! mpp reproducibility 211 !!---------------------------------------------------------------------- 212 #if defined key_mpp_rep 213 LOGICAL, PUBLIC, PARAMETER :: lk_mpp_rep = .TRUE. !: agrif flag 214 #else 215 LOGICAL, PUBLIC, PARAMETER :: lk_mpp_rep = .FALSE. !: agrif flag 216 #endif 217 !!---------------------------------------------------------------------- 215 218 !! agrif domain 216 219 !!---------------------------------------------------------------------- … … 229 232 END FUNCTION Agrif_CFixed 230 233 #endif 231 234 !!---------------------------------------------------------------------- 235 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 236 !! $Id$ 237 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 232 238 !!====================================================================== 233 239 END MODULE dom_oce
Note: See TracChangeset
for help on using the changeset viewer.