Changeset 1601 for trunk/NEMO/OPA_SRC/DOM/dom_oce.F90
- Timestamp:
- 2009-08-11T12:09:19+02:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DOM/dom_oce.F90
r1577 r1601 1 1 MODULE dom_oce 2 !! ----------------------------------------------------------------------2 !!====================================================================== 3 3 !! *** MODULE dom_oce *** 4 4 !! 5 5 !! ** Purpose : Define in memory all the ocean space domain variables 6 !!---------------------------------------------------------------------- 7 !! History : 8 !! 9.0 ! 05-10 (A. Beckmann, G. Madec) reactivate s-coordinate 9 !!---------------------------------------------------------------------- 10 !! OPA 9.0 , LOCEAN-IPSL (2006) 6 !!====================================================================== 7 !! History : 1.0 ! 2005-10 (A. Beckmann, G. Madec) reactivate s-coordinate 8 !!---------------------------------------------------------------------- 9 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 11 10 !! $Id$ 12 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 13 !!---------------------------------------------------------------------- 14 !! * Modules used 11 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 12 !!---------------------------------------------------------------------- 15 13 USE par_oce ! ocean parameters 16 14 … … 20 18 21 19 !!---------------------------------------------------------------------- 20 !! time & space domain namelist 21 !! ---------------------------- 22 ! !!* 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 29 REAL(wp), PUBLIC :: rn_rdt = 3600._wp !: time step for the dynamics (and tracer if nacc=0) 30 REAL(wp), PUBLIC :: rn_rdtmin = 3600._wp !: minimum time step on tracers 31 REAL(wp), PUBLIC :: rn_rdtmax = 3600._wp !: maximum time step on tracers 32 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 ! ! old non-DOCTOR names still used in the model 37 INTEGER , PUBLIC :: ntopo !: = 0/1 ,compute/read the bathymetry file 38 REAL(wp), PUBLIC :: e3zps_min !: miminum thickness for partial steps (meters) 39 REAL(wp), PUBLIC :: e3zps_rat !: minimum thickness ration for partial steps 40 INTEGER , PUBLIC :: nmsh !: = 1 create a mesh-mask file 41 INTEGER , PUBLIC :: nacc !: = 0/1 use of the acceleration of convergence technique 42 REAL(wp), PUBLIC :: atfp !: asselin time filter parameter 43 REAL(wp), PUBLIC :: rdt !: time step for the dynamics (and tracer if nacc=0) 44 REAL(wp), PUBLIC :: rdtmin !: minimum time step on tracers 45 REAL(wp), PUBLIC :: rdtmax !: maximum time step on tracers 46 REAL(wp), PUBLIC :: rdth !: depth variation of tracer step 47 INTEGER , PUBLIC :: nclosea !: =0 suppress closed sea/lake from the ORCA domain or not (=1) 48 49 50 ! !!! associated variables 51 INTEGER , PUBLIC :: neuler = 0 !: restart euler forward option (0=Euler) 52 REAL(wp), PUBLIC :: atfp1 !: asselin time filter coeff. (atfp1= 1-2*atfp) 53 REAL(wp), PUBLIC, DIMENSION(jpk) :: rdttra !: vertical profile of tracer time step 54 55 ! !!* Namelist namcla : cross land advection 56 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 model 59 INTEGER, PUBLIC :: n_cla = 0 !: =1 cross land advection for exchanges through some straits (ORCA2) 60 61 !!---------------------------------------------------------------------- 22 62 !! space domain parameters 23 63 !! ----------------------- 24 LOGICAL, PUBLIC :: & !: 25 lzoom = .FALSE. , & !: zoom flag 26 lzoom_e = .FALSE. , & !: East zoom type flag 27 lzoom_w = .FALSE. , & !: West zoom type flag 28 lzoom_s = .FALSE. , & !: South zoom type flag 29 lzoom_n = .FALSE. , & !: North zoom type flag 30 lzoom_arct = .FALSE. , & !: ORCA arctic zoom flag 31 lzoom_anta = .FALSE. !: ORCA antarctic zoom flag 32 33 INTEGER, PUBLIC :: & !!: namdom : space domain (bathymetry, mesh) 34 ntopo = 0 , & !: = 0/1 ,compute/read the bathymetry file 35 nmsh = 0 !: = 1 create a mesh-mask file 36 37 INTEGER, PUBLIC :: & !: 38 ! domain parameters linked to mpp 39 nperio, & !: type of lateral boundary condition 40 nimpp, njmpp, & !: i- & j-indexes for mpp-subdomain left bottom 41 nreci, nrecj, & !: overlap region in i and j 42 nproc, & !: number for local processor 43 narea, & !: number for local area 44 nbondi, nbondj, & !: mark of i- and j-direction local boundaries 45 npolj, & !: north fold mark (0, 3 or 4) 46 nlci, nlcj, & !: i- & j-dimensions of the local subdomain 47 nldi, nlei, & !: first and last indoor i- and j-indexes 48 nldj, nlej, & !: 49 noea, nowe, & !: index of the local neighboring processors in 50 noso, nono, & !: east, west, south and north directions 51 npne, npnw, & !: index of north east and north west processor 52 npse, npsw, & !: index of south east and south west processor 53 nbne, nbnw, & !: logical of north east & north west processor 54 nbse, nbsw, & !: logical of south east & south west processor 55 nidom !: ??? 56 57 INTEGER, PUBLIC, DIMENSION(jpi) :: & !: 58 mig !: local ==> global domain i-indice 59 INTEGER, PUBLIC, DIMENSION(jpj) :: & !: 60 mjg !: local ==> global domain j-indice 61 INTEGER, PUBLIC, DIMENSION( jpidta ) :: & !: !!bug ==> other solution? 62 mi0, mi1 !: global ==> local domain i-indice 63 ! ! (mi0=1 and mi1=0 if the global indice is not in the local domain) 64 INTEGER, PUBLIC, DIMENSION( jpjdta ) :: & !: 65 mj0, mj1 !: global ==> local domain j-indice 66 ! ! (mi0=1 and mi1=0 if the global indice is not in the local domain) 67 68 INTEGER, PUBLIC, DIMENSION(jpnij) :: & !: 69 nimppt, njmppt, & !: i-, j-indexes for each processor 70 ibonit, ibonjt, & !: i-, j- processor neighbour existence 71 nlcit , nlcjt, & !: dimensions of every subdomain 72 nldit , nldjt, & !: first, last indoor index for each i-domain 73 nleit , nlejt !: first, last indoor index for each j-domain 64 LOGICAL, PUBLIC :: lzoom = .FALSE. !: zoom flag 65 LOGICAL, PUBLIC :: lzoom_e = .FALSE. !: East zoom type flag 66 LOGICAL, PUBLIC :: lzoom_w = .FALSE. !: West zoom type flag 67 LOGICAL, PUBLIC :: lzoom_s = .FALSE. !: South zoom type flag 68 LOGICAL, PUBLIC :: lzoom_n = .FALSE. !: North zoom type flag 69 LOGICAL, PUBLIC :: lzoom_arct = .FALSE. !: ORCA arctic zoom flag 70 LOGICAL, PUBLIC :: lzoom_anta = .FALSE. !: ORCA antarctic zoom flag 71 72 ! !!! domain parameters linked to mpp 73 INTEGER, PUBLIC :: nperio !: type of lateral boundary condition 74 INTEGER, PUBLIC :: nimpp, njmpp !: i- & j-indexes for mpp-subdomain left bottom 75 INTEGER, PUBLIC :: nreci, nrecj !: overlap region in i and j 76 INTEGER, PUBLIC :: nproc !: number for local processor 77 INTEGER, PUBLIC :: narea !: number for local area 78 INTEGER, PUBLIC :: nbondi, nbondj !: mark of i- and j-direction local boundaries 79 INTEGER, PUBLIC :: npolj !: north fold mark (0, 3 or 4) 80 INTEGER, PUBLIC :: nlci, nldi, nlei !: i-dimensions of the local subdomain and its first and last indoor indices 81 INTEGER, PUBLIC :: nlcj, nldj, nlej !: i-dimensions of the local subdomain and its first and last indoor indices 82 INTEGER, PUBLIC :: noea, nowe !: index of the local neighboring processors in 83 INTEGER, PUBLIC :: noso, nono !: east, west, south and north directions 84 INTEGER, PUBLIC :: npne, npnw !: index of north east and north west processor 85 INTEGER, PUBLIC :: npse, npsw !: index of south east and south west processor 86 INTEGER, PUBLIC :: nbne, nbnw !: logical of north east & north west processor 87 INTEGER, PUBLIC :: nbse, nbsw !: logical of south east & south west processor 88 INTEGER, PUBLIC :: nidom !: ??? 89 90 INTEGER, PUBLIC, DIMENSION(jpi) :: mig !: local ==> global domain i-index 91 INTEGER, PUBLIC, DIMENSION(jpj) :: mjg !: local ==> global domain j-index 92 INTEGER, PUBLIC, DIMENSION(jpidta) :: mi0, mi1 !: global ==> local domain i-index !!bug ==> other solution? 93 ! ! (mi0=1 and mi1=0 if the global index is not in the local domain) 94 INTEGER, PUBLIC, DIMENSION(jpjdta) :: mj0, mj1 !: global ==> local domain j-index !!bug ==> other solution? 95 ! ! (mi0=1 and mi1=0 if the global index is not in the local domain) 96 INTEGER, PUBLIC, DIMENSION(jpnij) :: nimppt, njmppt !: i-, j-indexes for each processor 97 INTEGER, PUBLIC, DIMENSION(jpnij) :: ibonit, ibonjt !: i-, j- processor neighbour existence 98 INTEGER, PUBLIC, DIMENSION(jpnij) :: nlcit , nlcjt !: dimensions of every subdomain 99 INTEGER, PUBLIC, DIMENSION(jpnij) :: nldit , nldjt !: first, last indoor index for each i-domain 100 INTEGER, PUBLIC, DIMENSION(jpnij) :: nleit , nlejt !: first, last indoor index for each j-domain 74 101 75 102 !!---------------------------------------------------------------------- 76 103 !! horizontal curvilinear coordinate and scale factors 77 104 !! --------------------------------------------------------------------- 78 79 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: 80 glamt, glamu, & !: longitude of t-, u-, v- and f-points (degre) 81 glamv, glamf, & !: 82 gphit, gphiu, & !: latitude of t-, u-, v- and f-points (degre) 83 gphiv, gphif, & !: 84 e1t, e2t, & !: horizontal scale factors at t-point (m) 85 e1u, e2u, & !: horizontal scale factors at u-point (m) 86 e1v, e2v, & !: horizontal scale factors at v-point (m) 87 e1f, e2f, & !: horizontal scale factors at f-point (m) 88 ff !: coriolis factor (2.*omega*sin(yphi) ) (s-1) 105 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: glamt, glamu !: longitude of t-, u-, v- and f-points (degre) 106 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: glamv, glamf !: 107 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: gphit, gphiu !: latitude of t-, u-, v- and f-points (degre) 108 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: gphiv, gphif !: 109 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: e1t, e2t !: horizontal scale factors at t-point (m) 110 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: e1u, e2u !: horizontal scale factors at u-point (m) 111 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: e1v, e2v !: horizontal scale factors at v-point (m) 112 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: e1f, e2f !: horizontal scale factors at f-point (m) 113 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: ff !: coriolis factor (2.*omega*sin(yphi) ) (s-1) 89 114 90 115 !!---------------------------------------------------------------------- 91 116 !! vertical coordinate and scale factors 92 117 !! -------------------------------------- 93 94 LOGICAL, PUBLIC :: & !!: namzgr : vertical coordinate 95 ln_zco = .TRUE. , & !: z-coordinate - full step 96 ln_zps = .FALSE. , & !: z-coordinate - partial step 97 ln_sco = .FALSE. !: s-coordinate or hybrid z-s coordinate 98 118 ! !!* Namelist namzgr : vertical coordinate * 119 LOGICAL, PUBLIC :: ln_zco = .TRUE. !: z-coordinate - full step 120 LOGICAL, PUBLIC :: ln_zps = .FALSE. !: z-coordinate - partial step 121 LOGICAL, PUBLIC :: ln_sco = .FALSE. !: s-coordinate or hybrid z-s coordinate 99 122 #if defined key_zco 100 123 LOGICAL, PUBLIC, PARAMETER :: lk_zco = .TRUE. !: z-coordinate flag (1D arrays) … … 104 127 !! All coordinates 105 128 !! --------------- 106 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: & !: 107 gdep3w , & !: depth of T-points (sum of e3w) (m) 108 gdept , gdepw , & !: analytical depth at T-W points (m) 109 e3v , e3f , & !: analytical vertical scale factors at V--F 110 e3t , e3u , & !: T--U points (m) 111 e3vw , & !: analytical vertical scale factors at VW-- 112 e3w , e3uw !: W--UW points (m) 129 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: gdep3w !: depth of T-points (sum of e3w) (m) 130 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: gdept , gdepw !: analytical depth at T-W points (m) 131 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: e3v , e3f !: analytical vertical scale factors at V--F 132 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: e3t , e3u !: T--U points (m) 133 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: e3vw !: analytical vertical scale factors at VW-- 134 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: e3w , e3uw !: W--UW points (m) 113 135 #endif 114 136 #if defined key_vvl 115 137 LOGICAL, PUBLIC, PARAMETER :: lk_vvl = .TRUE. !: variable grid flag 138 116 139 !! All coordinates 117 140 !! --------------- … … 125 148 LOGICAL, PUBLIC, PARAMETER :: lk_vvl = .FALSE. !: fixed grid flag 126 149 #endif 127 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: 128 hur, hvr, & !: inverse of u and v-points ocean depth (1/m) 129 hu , hv, & !: depth at u- and v-points (meters) 130 hu_0 , hv_0 !: refernce depth at u- and v-points (meters) 131 132 INTEGER, PUBLIC :: nla10 !: deepest W level Above ~10m (nlb10 - 1) 133 INTEGER, PUBLIC :: nlb10 !: shallowest W level Bellow ~10m (nla10 + 1) 150 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hur , hvr !: inverse of u and v-points ocean depth (1/m) 151 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hu , hv !: depth at u- and v-points (meters) 152 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hu_0 , hv_0 !: refernce depth at u- and v-points (meters) 153 154 INTEGER, PUBLIC :: nla10 !: deepest W level Above ~10m (nlb10 - 1) 155 INTEGER, PUBLIC :: nlb10 !: shallowest W level Bellow ~10m (nla10 + 1) 134 156 135 157 !! z-coordinate with full steps (also used in the other cases as reference z-coordinate) 136 158 !! =-----------------====------ 137 REAL(wp), PUBLIC, DIMENSION(jpk) :: & !: 138 gdept_0, gdepw_0, & !: reference depth of t- and w-points (m) 139 e3t_0 , e3w_0 !: reference vertical scale factors at T- and W-pts (m) 140 141 !! z-coordinate with partial steps 142 !! =-----------------=======------ 143 REAL(wp), PUBLIC :: & !!: * namelist namdom * 144 e3zps_min = 5.0_wp, & !: miminum thickness for partial steps (meters) 145 e3zps_rat = 0.1_wp !: minimum thickness ration for partial steps 146 147 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: 148 hdept, hdepw, e3tp, e3wp !: bottom depth and thickness at T and W points 159 REAL(wp), PUBLIC, DIMENSION(jpk) :: gdept_0, gdepw_0 !: reference depth of t- and w-points (m) 160 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 points 162 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: e3tp , e3wp !: ocean bottom level thickness at T and W points 149 163 150 164 !! s-coordinate and hybrid z-s-coordinate 151 165 !! =----------------======--------------- 152 REAL(wp), PUBLIC, DIMENSION(jpk) :: & !: 153 gsigt, gsigw , & !: model level depth coefficient at t-, w-levels (analytic) 154 gsi3w , & !: model level depth coefficient at w-level (sum of gsigw) 155 esigt, esigw !: vertical scale factor coef. at t-, w-levels 156 157 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: 158 hbatv , hbatf , & !: ocean depth at the vertical of V--F 159 hbatt , hbatu , & !: T--U points (m) 160 scosrf, scobot, & !: ocean surface and bottom topographies (if deviating from coordinate surfaces in HYBRID) 161 hifv , hiff , & !: interface depth between stretching at V--F 162 hift , hifu !: and quasi-uniform spacing T--U points (m) 166 REAL(wp), PUBLIC, DIMENSION(jpk) :: gsigt, gsigw !: model level depth coefficient at t-, w-levels (analytic) 167 REAL(wp), PUBLIC, DIMENSION(jpk) :: gsi3w !: model level depth coefficient at w-level (sum of gsigw) 168 REAL(wp), PUBLIC, DIMENSION(jpk) :: esigt, esigw !: vertical scale factor coef. at t-, w-levels 169 170 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hbatv , hbatf !: ocean depth at the vertical of V--F 171 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hbatt , hbatu !: T--U points (m) 172 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: scosrf, scobot !: ocean surface and bottom topographies 173 ! ! (if deviating from coordinate surfaces in HYBRID) 174 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hifv , hiff !: interface depth between stretching at V--F 175 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: hift , hifu !: and quasi-uniform spacing T--U points (m) 163 176 164 177 !!---------------------------------------------------------------------- 165 178 !! masks, bathymetry 166 179 !! ----------------- 167 168 INTEGER , PUBLIC, DIMENSION(jpi,jpj) :: & !: 169 mbathy !: number of ocean level (=0, 1, ... , jpk-1) 170 171 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: & !: 172 bathy , & !: ocean depth (meters) 173 tmask_i, & !: interior domain T-point mask 174 bmask !: land/ocean mask of barotropic stream function 175 176 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: & !: 177 tmask, umask, & !: land/ocean mask at T-, U-, V- and F-points 178 vmask, fmask !: 179 180 REAL(wp), PUBLIC, DIMENSION(jpiglo) :: & !: 181 tpol, fpol !: north fold mask (nperio= 3 or 4) 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) 182 188 183 189 #if defined key_noslip_accurate 184 INTEGER, PUBLIC, DIMENSION(4,jpk) :: & !: 185 npcoa !: ??? 186 INTEGER, PUBLIC, DIMENSION(2*(jpi+jpj),4,jpk) :: & !: 187 nicoa, & !: ??? 188 njcoa !: ??? 190 INTEGER, PUBLIC, DIMENSION (4,jpk) :: npcoa !: ??? 191 INTEGER, PUBLIC, DIMENSION(2*(jpi+jpj),4,jpk) :: nicoa, njcoa !: ??? 189 192 #endif 190 193 … … 198 201 #endif 199 202 200 201 !!---------------------------------------------------------------------- 202 !! time domain 203 !!---------------------------------------------------------------------- 204 INTEGER, PUBLIC :: & !!: * Namelist * ??? 205 nacc = 0 , & !: = 0/1 use of the acceleration of convergence technique 206 neuler , & !: restart euler forward option (0=Euler) 207 nn_baro = 64 !: number of barotropic time steps (key_dynspg_ts) 208 209 REAL(wp), PUBLIC :: & !!: * Namelist ??? * 210 rdt = 3600._wp , & !: time step for the dynamics (and tracer if nacc=0) 211 rdtmin = 3600._wp , & !: minimum time step on tracers 212 rdtmax = 3600._wp , & !: maximum time step on tracers 213 rdth = 800._wp , & !: depth variation of tracer step 214 atfp = 0.1_wp , & !: asselin time filter parameter 215 atfp1 !: asselin time filter coeff. (atfp1= 1-2*atfp) 216 217 REAL(wp), PUBLIC, DIMENSION(jpk) :: & !: 218 rdttra !: vertical profile of tracer time step 219 220 !!---------------------------------------------------------------------- 221 !! cross land advection 222 !!---------------------------------------------------------------------- 223 224 INTEGER, PUBLIC :: & !!: namelist ??? 225 n_cla !: flag (0/1) for cross land advection to 226 ! ! parameterize exchanges through straits 227 203 !!====================================================================== 228 204 END MODULE dom_oce
Note: See TracChangeset
for help on using the changeset viewer.