New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
oce_trc.F90 in branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC – NEMO

source: branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90 @ 7806

Last change on this file since 7806 was 7806, checked in by cbricaud, 7 years ago

phaze dev_r5003_MERCATOR6_CRS branch with rev7805 of 3.6_stable branch

  • Property svn:keywords set to Id
File size: 26.1 KB
Line 
1MODULE oce_trc
2   !!======================================================================
3   !!                      ***  MODULE  oce_trc  ***
4   !! TOP :   variables shared between ocean and passive tracers
5   !!======================================================================
6   !! History :   1.0  !  2004-03  (C. Ethe)  original code
7   !!             2.0  !  2007-12 (C. Ethe, G. Madec)  rewritting
8   !!----------------------------------------------------------------------
9#if defined key_top
10   USE dom_oce    , ONLY : ndastp
11   USE dom_oce    , ONLY : nyear_len,nday,nyear,nday_year
12   USE dom_oce    , ONLY : gdepw_1d
13   USE dom_oce    , ONLY : rdttra
14   USE dom_oce    , ONLY : Agrif_Root      => Agrif_Root
15   USE sbc_oce    , ONLY : nn_ice_embd
16   USE sbc_oce    , ONLY : ln_cpl
17   USE sbc_oce    , ONLY : ln_rnf
18   USE sbc_oce    , ONLY : ncpl_qsr_freq
19
20   USE traqsr     , ONLY : ln_qsr_bio =>    ln_qsr_bio
21   USE traqsr     , ONLY : rn_si0     =>    rn_si0     !: very near surface depth of extinction
22   USE traqsr     , ONLY : rn_abs     =>    rn_abs     !: fraction absorbed in the very near surface
23
24   USE iom        , ONLY : iom_open , iom_get , iom_varid , iom_rstput , iom_close , iom_use, iom_gettime, iom_put
25   USE iom        , ONLY : lk_iomput ,jpdom_data,jpdom_autoglo
26
27   USE par_trc    , ONLY : jptra
28   USE par_cfc    , ONLY : lk_cfc   , jp_cfc0 , jp_cfc1
29   USE par_c14b   , ONLY : lk_c14b  , jp_c14b0, jp_c14b1
30   USE par_pisces , ONLY : lk_pisces, jp_pcs0 , jp_pcs1
31   USE par_my_trc , ONLY : lk_my_trc, jp_myt0 , jp_myt1
32   USE par_age    , ONLY : lk_age   , jp_age0 , jp_age1
33
34   USE trc_oce    , ONLY : lk_degrad, lk_offline, facvol, r_si2, trc_oce_ext_lev
35   USE trc_oce    , ONLY : nn_dttrc
36   USE trc_oce    , ONLY : etot3
37   USE trc        , ONLY : nittrc000,nn_rsttr
38   USE trc        , ONLY : trb,trn,tra
39   USE trc        , ONLY : trc2d,trc3d
40   USE trc        , ONLY : ctrcnm
41   USE trc        , ONLY : numrtr ,numrtw
42   USE trc        , ONLY : ln_diatrc,ln_rsttr,ln_top_euler,lrst_trc,ln_trcdmp,ln_trcdmp_clo
43   USE trc        , ONLY : gtru, gtrv,gtrui,gtrvi
44   USE trc        , ONLY : rdttrc
45   USE trc        , ONLY : areatot
46   USE trc        , ONLY : cvol
47   USE trc        , ONLY : l_trcdm2dc
48   USE trc        , ONLY : nn_ice_tr
49   USE trc        , ONLY : cn_trc_o
50   USE trc        , ONLY : trc_ice_ratio
51   USE trc        , ONLY : nn_ice_tr
52   USE trc        , ONLY : trc_ice_prescr
53   USE trc        , ONLY : qsr_mean ! in case of coarsening no no need to coarsene it because qsr_mean is already in crs space
54
55#if defined key_crs
56
57  !* Domain size *
58   USE par_oce , ONLY :   jpi      =>   jpi        !: first  dimension of grid --> i
59   USE par_oce , ONLY :   jpj      =>   jpj        !: second dimension of grid --> j 
60   USE par_oce , ONLY :   jpk      =>   jpk        !: number of levels 
61   USE par_oce , ONLY :   jpim1    =>   jpim1      !: jpi - 1
62   USE par_oce , ONLY :   jpjm1    =>   jpjm1      !: jpj - 1
63   USE par_oce , ONLY :   jpkm1    =>   jpkm1      !: jpk - 1 
64   USE par_oce , ONLY :   jpij     =>   jpij       !: jpi x jpj
65   USE par_oce , ONLY :   lk_esopa =>   lk_esopa   !: flag to activate the all option
66   USE par_oce , ONLY :   jp_tem   =>   jp_tem     !: indice for temperature
67   USE par_oce , ONLY :   jp_sal   =>   jp_sal     !: indice for salinity
68
69   !* IO manager *
70   USE in_out_manager
71
72   !* Memory Allocation *
73   USE wrk_nemo
74
75   !* Timing *
76   USE timing, ONLY : timing_start , timing_stop
77
78   !* MPP library                         
79   USE lib_mpp
80
81   !* Fortran utilities                         
82   USE lib_fortran_crs , ONLY : glob_sum => glob_sum_crs
83
84   !* Lateral boundary conditions                         
85   USE lbclnk
86
87   !* physical constants *
88   USE phycst
89
90   !* 1D configuration
91   USE c1d
92
93   !* model domain *
94   USE dom_oce , ONLY : narea => narea
95   USE dom_oce , ONLY : nproc => nproc
96   USE dom_oce , ONLY : nimpp => nimpp
97   USE dom_oce , ONLY : njmpp => njmpp
98   USE dom_oce , ONLY : nreci => nreci
99   USE dom_oce , ONLY : nrecj => nrecj
100   USE dom_oce , ONLY : nlci  => nlci
101   USE dom_oce , ONLY : nldi  => nldi
102   USE dom_oce , ONLY : nlei  => nlei
103   USE dom_oce , ONLY : nlcj  => nlcj
104   USE dom_oce , ONLY : nldj  => nldj
105   USE dom_oce , ONLY : nlej  => nlej
106   USE dom_oce , ONLY : nlcit  => nlcit
107   USE dom_oce , ONLY : nldit  => nldit
108   USE dom_oce , ONLY : nleit  => nleit
109   USE dom_oce , ONLY : nlcjt  => nlcjt
110   USE dom_oce , ONLY : nldjt  => nldjt
111   USE dom_oce , ONLY : nlejt  => nlejt
112   USE dom_oce , ONLY : nimppt => nimppt
113   USE dom_oce , ONLY : njmppt => njmppt
114   USE dom_oce , ONLY : ibonit => ibonit
115   USE dom_oce , ONLY : ibonjt => ibonjt
116   USE dom_oce , ONLY : lk_vvl => lk_vvl
117   USE dom_oce , ONLY : rdt => rdt
118   USE dom_oce , ONLY : ln_zco => ln_zco
119   USE dom_oce , ONLY : ln_zps => ln_zps
120   USE dom_oce , ONLY : ln_sco => ln_sco
121   USE dom_oce , ONLY : neuler => neuler
122   USE dom_oce , ONLY : mikt      => mikt          !: f-points (m)
123
124   USE crs,  ONLY : mi0 => mi0 
125   USE crs,  ONLY : mi1 => mi1 
126   USE crs,  ONLY : mj0 => mj0 
127   USE crs,  ONLY : mj1 => mj1 
128
129   USE dom_oce , ONLY :  lzoom => lzoom 
130   !USE dom_oce , ONLY :  =>
131
132   !* horizontal mesh *
133   USE crs , ONLY :   glamt      =>   glamt_crs      !: longitude of t-point (degre) 
134   USE crs , ONLY :   glamu      =>   glamu_crs      !: longitude of t-point (degre) 
135   USE crs , ONLY :   glamv      =>   glamv_crs      !: longitude of t-point (degre) 
136   USE crs , ONLY :   glamf      =>   glamf_crs      !: longitude of t-point (degre) 
137   USE crs , ONLY :   gphit      =>   gphit_crs      !: latitude  of t-point (degre)   
138   USE crs , ONLY :   gphiu      =>   gphiu_crs      !: latitude  of t-point (degre)   
139   USE crs , ONLY :   gphiv      =>   gphiv_crs      !: latitude  of t-point (degre)   
140   USE crs , ONLY :   gphif      =>   gphif_crs      !: latitude  of t-point (degre)   
141   USE crs , ONLY :   e1t        =>   e1t_crs        !: horizontal scale factors at t-point (m) 
142   USE crs , ONLY :   e2t        =>   e2t_crs        !: horizontal scale factors at t-point (m)   
143   USE crs , ONLY :   e1e2t      =>   e1e2t_crs      !: cell surface at t-point (m2)
144   USE crs , ONLY :   e1u        =>   e1u_crs        !: horizontal scale factors at u-point (m)
145   USE crs , ONLY :   e2u        =>   e2u_crs        !: horizontal scale factors at u-point (m)
146   USE crs , ONLY :   e1v        =>   e1v_crs        !: horizontal scale factors at v-point (m)
147   USE crs , ONLY :   e2v        =>   e2v_crs        !: horizontal scale factors at v-point (m) 
148
149#if defined key_vvl 
150   USE crs , ONLY :   e3t_b      =>  e3t_b_crs         !: vertical scale factors at t-
151   USE crs , ONLY :   e3t_n      =>  e3t_n_crs         !: vertical scale factors at t-
152   USE crs , ONLY :   e3u_n      =>  e3u_n_crs         !: vertical scale factors at u-
153   USE crs , ONLY :   e3v_n      =>  e3v_n_crs         !: vertical scale factors v-
154   USE crs , ONLY :   e3w_n      =>  e3w_n_crs         !: w-points (m)
155   USE crs , ONLY :   e3t_a      =>  e3t_a_crs         !: vertical scale factors at t-
156   USE crs , ONLY :   gdept_n    =>  gdept_n_crs       !: depth of t-points (m)
157   USE crs , ONLY :   gdepw_n    =>  gdepw_n_crs       !: depth of t-points (m)
158   USE crs , ONLY :   e3t_max_crs => e3t_max_n_crs
159   USE crs , ONLY :   e3w_max_crs => e3w_max_n_crs
160#else
161   USE crs , ONLY :   e3t        =>  e3t_0_crs         !: vertical scale factors at t-
162   USE crs , ONLY :   e3u        =>  e3u_0_crs         !: vertical scale factors at u-
163   USE crs , ONLY :   e3v        =>  e3v_0_crs         !: vertical scale factors v-
164   USE crs , ONLY :   e3w        =>  e3w_0_crs         !: w-points (m)
165   USE crs , ONLY :   e3t_b      =>  e3t_0_crs         !: vertical scale factors at t-
166   USE crs , ONLY :   e3u_b      =>  e3u_0_crs         !: vertical scale factors at u-
167   USE crs , ONLY :   e3v_b      =>  e3v_0_crs         !: vertical scale factors v-
168   USE crs , ONLY :   e3w_b      =>  e3w_0_crs         !: w-points (m)
169   USE crs , ONLY :   e3t_n      =>  e3t_0_crs         !: vertical scale factors at t-
170   USE crs , ONLY :   e3u_n      =>  e3u_0_crs         !: vertical scale factors at u-
171   USE crs , ONLY :   e3v_n      =>  e3v_0_crs         !: vertical scale factors v-
172   USE crs , ONLY :   e3w_n      =>  e3w_0_crs         !: w-points (m)
173   USE crs , ONLY :   e3t_a      =>  e3t_0_crs         !: vertical scale factors at t-
174   USE crs , ONLY :   e3u_a      =>  e3u_0_crs         !: vertical scale factors at u-
175   USE crs , ONLY :   e3v_a      =>  e3v_0_crs         !: vertical scale factors v-
176   USE crs , ONLY :   e3w_a      =>  e3w_0_crs         !: w-points (m)
177   USE crs , ONLY :   gdept      =>  gdept_0_crs       !: depth of t-points (m)
178   USE crs , ONLY :   gdepw      =>  gdepw_0_crs       !: depth of t-points (m)
179   USE crs , ONLY :   gdept_crs  =>  gdept_0_crs       !: depth of t-points (m)
180   USE crs , ONLY :   gdepw_crs  =>  gdepw_0_crs       !: depth of t-points (m)
181   USE crs , ONLY :   gdept_n    =>  gdept_0_crs       !: depth of t-points (m)
182   USE crs , ONLY :   gdepw_n    =>  gdepw_0_crs       !: depth of t-points (m)
183   USE crs , ONLY :   e3t_max_crs => e3t_max_0_crs
184   USE crs , ONLY :   e3u_max_crs => e3u_max_0_crs
185   USE crs , ONLY :   e3v_max_crs => e3v_max_0_crs
186   USE crs , ONLY :   e3w_max_crs => e3w_max_0_crs
187#endif
188   USE dom_oce , ONLY :   gdept_1d   =>  gdept_1d      !: depth of t-points (m)
189   USE crs , ONLY :   gdept_0    =>  gdept_0_crs       !: depth of t-points (m)
190   USE crs , ONLY :     e3t_0    =>    e3t_0_crs       !: depth of t-points (m)
191   USE crs , ONLY :   mbkt       =>   mbkt_crs       !: vertical index of the bottom last T- ocean level
192   USE crs , ONLY :   tmask_i    =>   tmask_i_crs    !: Interior mask at t-points
193   USE crs , ONLY :   tmask      =>   tmask_crs      !: land/ocean mask at t-points
194
195 !* ocean fields: here now and after fields *
196   USE crs , ONLY :   un      =>    un_crs      !: i-horizontal velocity (m s-1)
197   USE crs , ONLY :   vn      =>    vn_crs      !: j-horizontal velocity (m s-1)
198   USE crs , ONLY :   wn      =>    wn_crs      !: vertical velocity (m s-1) 
199   USE crs , ONLY :   tsn     =>    tsn_crs     !: 4D array contaning ( tn, sn )
200   USE crs , ONLY :   rhop    =>    rhop_crs    !: potential volumic mass (kg m-3)
201   USE crs , ONLY :   hdivn   =>    hdivn_crs   !: horizontal divergence (1/s)
202   USE crs , ONLY :   sshb    =>    sshb_crs    !: sea surface height at t-point [m]   
203   USE crs , ONLY :   sshn    =>    sshn_crs    !: sea surface height at t-point [m]   
204   USE crs , ONLY :   ssha    =>    ssha_crs    !: sea surface height at t-point [m]   
205
206   !* surface fluxes *
207   USE crs , ONLY :   qsr        =>    qsr_crs        !: penetrative solar radiation (w m-2) 
208   USE crs , ONLY :   emp        =>    emp_crs        !: freshwater budget: volume flux               [Kg/m2/s]
209   USE crs , ONLY :   emp_b      =>    emp_b_crs      !: freshwater budget: volume flux               [Kg/m2/s]
210   USE crs , ONLY :   fmmflx     =>    fmmflx_crs     !: freshwater budget: volume flux               [Kg/m2/s]
211   USE crs , ONLY :   wndm       =>    wndm_crs       !: 10m wind speed
212   USE crs , ONLY :   rnf        =>    rnf_crs        !: river runoff   [Kg/m2/s]
213   USE crs , ONLY :   h_rnf      =>    h_rnf_crs      !: river runoff   [Kg/m2/s]
214   USE crs , ONLY :   nk_rnf     =>    nk_rnf_crs     !: depth of runoff in model level
215   USE crs , ONLY :   fr_i       =>    fr_i_crs       !: ice fraction (between 0 to 1)
216
217   USE trcnam_trp , ONLY :  aht0     =>   rn_ahtrc_0        !: horizontal eddy diffusivity for tracers (m2/s)
218   USE crs , ONLY :  ahtu     =>   ahtu_crs        !: lateral diffusivity coef. at u-points
219   USE crs , ONLY :  ahtv     =>   ahtv_crs        !: lateral diffusivity coef. at v-points
220   USE crs , ONLY :  ahtw     =>   ahtw_crs        !: lateral diffusivity coef. at w-points
221   USE crs , ONLY :  ahtt     =>   ahtt_crs        !: lateral diffusivity coef. at t-points
222   USE crs , ONLY :  r_fact_lap     =>  r_fact_lap_crs        !: enhanced zonal diffusivity coefficient
223   USE ldftra_oce , ONLY :  rldf     =>   rldf
224
225   USE crs , ONLY :  trc_i => trc_i_crs
226   USE crs , ONLY :  trc_o => trc_o_crs
227
228   USE crs , ONLY :   avt        =>   avt_crs         !: vert. diffusivity coef. at w-point for temp 
229   USE crs , ONLY :   hmld        =>   hmld_crs        !: mixing layer depth (turbocline)
230   USE crs , ONLY :   hmlp        =>   hmlp_crs        !: mixed layer depth  (rho=rho0+zdcrit) (m)
231
232  !* direction of lateral diffusion *
233#if   defined key_ldfslp
234   USE crs , ONLY :   uslp       =>   uslp_crs         !: i-direction slope at u-, w-points
235   USE crs , ONLY :   vslp       =>   vslp_crs         !: j-direction slope at v-, w-points
236   USE crs , ONLY :   wslpi      =>   wslpi_crs        !: i-direction slope at u-, w-points
237   USE crs , ONLY :   wslpj      =>   wslpj_crs        !: j-direction slope at v-, w-points
238#endif
239
240#else
241
242   !!----------------------------------------------------------------------
243   !!   'key_top'                                                TOP models
244   !!----------------------------------------------------------------------
245
246   !* Domain size *
247   USE par_oce , ONLY :   jpi      =>   jpi        !: first  dimension of grid --> i
248   USE par_oce , ONLY :   jpj      =>   jpj        !: second dimension of grid --> j 
249   USE par_oce , ONLY :   jpk      =>   jpk        !: number of levels 
250   USE par_oce , ONLY :   jpim1    =>   jpim1      !: jpi - 1
251   USE par_oce , ONLY :   jpjm1    =>   jpjm1      !: jpj - 1
252   USE par_oce , ONLY :   jpkm1    =>   jpkm1      !: jpk - 1 
253   USE par_oce , ONLY :   jpij     =>   jpij       !: jpi x jpj
254   USE par_oce , ONLY :   lk_esopa =>   lk_esopa   !: flag to activate the all option
255   USE par_oce , ONLY :   jp_tem   =>   jp_tem     !: indice for temperature
256   USE par_oce , ONLY :   jp_sal   =>   jp_sal     !: indice for salinity
257
258  !* model domain *
259   USE dom_oce , ONLY : narea => narea
260   USE dom_oce , ONLY : nproc => nproc
261   USE dom_oce , ONLY : nimpp => nimpp
262   USE dom_oce , ONLY : njmpp => njmpp
263   USE dom_oce , ONLY : nreci => nreci
264   USE dom_oce , ONLY : nrecj => nrecj
265   USE dom_oce , ONLY : nlci  => nlci
266   USE dom_oce , ONLY : nldi  => nldi
267   USE dom_oce , ONLY : nlei  => nlei
268   USE dom_oce , ONLY : nlcj  => nlcj
269   USE dom_oce , ONLY : nldj  => nldj
270   USE dom_oce , ONLY : nlej  => nlej
271   USE dom_oce , ONLY : nlcit  => nlcit
272   USE dom_oce , ONLY : nldit  => nldit
273   USE dom_oce , ONLY : nleit  => nleit
274   USE dom_oce , ONLY : nlcjt  => nlcjt
275   USE dom_oce , ONLY : nldjt  => nldjt
276   USE dom_oce , ONLY : nlejt  => nlejt
277   USE dom_oce , ONLY : nimppt => nimppt
278   USE dom_oce , ONLY : njmppt => njmppt
279   USE dom_oce , ONLY : ibonit => ibonit
280   USE dom_oce , ONLY : ibonjt => ibonjt
281   USE dom_oce , ONLY : lk_vvl => lk_vvl
282   USE dom_oce , ONLY : rdt => rdt
283   USE dom_oce , ONLY : ln_zco => ln_zco
284   USE dom_oce , ONLY : ln_zps => ln_zps
285   USE dom_oce , ONLY : ln_sco => ln_sco
286   USE dom_oce , ONLY : neuler => neuler
287
288   USE dom_oce,  ONLY : mi0 => mi0
289   USE dom_oce,  ONLY : mi1 => mi1
290   USE dom_oce,  ONLY : mj0 => mj0
291   USE dom_oce,  ONLY : mj1 => mj1
292
293   USE dom_oce , ONLY :   glamt      =>   glamt      !: longitude of t-point (degre) 
294   USE dom_oce , ONLY :   glamu      =>   glamu      !: longitude of t-point (degre) 
295   USE dom_oce , ONLY :   glamv      =>   glamv      !: longitude of t-point (degre) 
296   USE dom_oce , ONLY :   glamf      =>   glamf      !: longitude of t-point (degre) 
297   USE dom_oce , ONLY :   gphit      =>   gphit      !: latitude  of t-point (degre)   
298   USE dom_oce , ONLY :   gphiu      =>   gphiu      !: latitude  of t-point (degre)   
299   USE dom_oce , ONLY :   gphiv      =>   gphiv      !: latitude  of t-point (degre)   
300   USE dom_oce , ONLY :   gphif      =>   gphif     !: latitude  of t-point (degre)   
301   USE dom_oce , ONLY :   e1t        =>   e1t        !: horizontal scale factors at t-point (m) 
302   USE dom_oce , ONLY :   e2t        =>   e2t        !: horizontal scale factors at t-point (m)   
303   USE dom_oce , ONLY :   e1e2t      =>   e1e2t      !: cell surface at t-point (m2)
304   USE dom_oce , ONLY :   e1u        =>   e1u        !: horizontal scale factors at u-point (m)
305   USE dom_oce , ONLY :   e2u        =>   e2u        !: horizontal scale factors at u-point (m)
306   USE dom_oce , ONLY :   e1v        =>   e1v        !: horizontal scale factors at v-point (m)
307   USE dom_oce , ONLY :   e2v        =>   e2v        !: horizontal scale factors at v-point (m) 
308#if defined key_vvl 
309   USE dom_oce , ONLY :     e3t_b    =>  e3t_b
310   USE dom_oce , ONLY :     e3t_n    =>  e3t_n
311   USE dom_oce , ONLY :     e3t_a    =>  e3t_a
312   USE dom_oce , ONLY :     e3u_n    =>  e3u_n
313   USE dom_oce , ONLY :     e3v_n    =>  e3v_n
314   USE dom_oce , ONLY :   e3u        =>  e3u_n         !: vertical scale factors at u-
315   USE dom_oce , ONLY :   e3v        =>  e3v_n         !: vertical scale factors v-
316   USE dom_oce , ONLY :   e3w_n      =>  e3w_n         !: w-points (m)
317   USE dom_oce , ONLY :   e3w        =>  e3w_n         !: w-points (m)
318   USE dom_oce , ONLY :   e3f        =>  e3f_n         !: f-points (m)
319   USE dom_oce , ONLY :   gdept_n    =>  gdept_n         !: f-points (m)
320   USE dom_oce , ONLY :   gdepw_n    =>  gdepw_n         !: f-points (m)
321#else
322   USE dom_oce , ONLY :   fse3t_n    =>  e3t_0
323   USE dom_oce , ONLY :   fse3t      =>  e3t_0
324   USE dom_oce , ONLY :   fse3u      =>  e3u_0
325   USE dom_oce , ONLY :   fse3v      =>  e3v_0
326   USE dom_oce , ONLY :   fse3w      =>  e3w_0
327   USE dom_oce , ONLY :   fse3t_b    =>  e3t_0
328   USE dom_oce , ONLY :   fse3t_a    =>  e3t_0
329   USE dom_oce , ONLY :     e3t_a    =>  e3t_0
330   USE dom_oce , ONLY :   e3t        =>  e3t_0         !: vertical scale factors at t-
331   USE dom_oce , ONLY :   e3u        =>  e3u_0         !: vertical scale factors at u-
332   USE dom_oce , ONLY :   e3v        =>  e3v_0         !: vertical scale factors v-
333   USE dom_oce , ONLY :   e3w        =>  e3w_0         !: w-points (m)
334   USE dom_oce , ONLY :   e3f        =>  e3f_0         !: f-points (m)
335#endif
336   USE dom_oce , ONLY :   ff         =>  ff         !: f-points (m)
337   USE dom_oce , ONLY :   e3t_0      =>  e3t_0         !: vertical scale factors at t-
338   USE dom_oce , ONLY :   e3u_0      =>  e3u_0         !: vertical scale factors at u-
339   USE dom_oce , ONLY :   e3v_0      =>  e3v_0         !: vertical scale factors v-
340   USE dom_oce , ONLY :   e3w_0      =>  e3w_0         !: w-points (m)
341   USE dom_oce , ONLY :   gdept_0    =>  gdept_0         !: f-points (m)
342   USE dom_oce , ONLY :   gdepw_0    =>  gdepw_0         !: f-points (m)
343   USE dom_oce , ONLY :   gdept_1d   => gdept_1d          !: f-points (m)
344   USE dom_oce , ONLY :   tmask      => tmask          !: f-points (m)
345   USE dom_oce , ONLY :   umask      => umask          !: f-points (m)
346   USE dom_oce , ONLY :   vmask      => vmask          !: f-points (m)
347   USE dom_oce , ONLY :   tmask_i      => tmask_i          !: f-points (m)
348   USE dom_oce , ONLY :   mbkt      => mbkt          !: f-points (m)
349   USE dom_oce , ONLY :   mbku      => mbku          !: f-points (m)
350   USE dom_oce , ONLY :   mbkv      => mbkv          !: f-points (m)
351   USE dom_oce , ONLY :   mikt      => mikt          !: f-points (m)
352
353   !* IO manager *
354   USE in_out_manager   
355 
356   !* Memory Allocation *
357   USE wrk_nemo     
358 
359   !* Timing *
360   USE timing   
361 
362   !* MPP library                         
363   USE lib_mpp 
364
365   !* Fortran utilities                         
366   USE lib_fortran , ONLY : glob_sum => glob_sum
367
368   !* Lateral boundary conditions                         
369   USE lbclnk
370
371   !* physical constants *
372   USE phycst           
373
374   !* 1D configuration
375   USE c1d                                         
376
377   !* model domain *
378   USE dom_oce , ONLY :  lzoom => lzoom 
379
380   USE domvvl, ONLY : un_td, vn_td          !: thickness diffusion transport
381   USE domvvl, ONLY : ln_vvl_ztilde         !: ztilde vertical coordinate
382   USE domvvl, ONLY : ln_vvl_layer          !: level  vertical coordinate
383
384   !* ocean fields: here now and after fields *
385   USE oce , ONLY :   ua      =>    ua      !: i-horizontal velocity (m s-1)
386   USE oce , ONLY :   va      =>    va      !: j-horizontal velocity (m s-1)
387   USE oce , ONLY :   un      =>    un      !: i-horizontal velocity (m s-1)
388   USE oce , ONLY :   vn      =>    vn      !: j-horizontal velocity (m s-1)
389   USE oce , ONLY :   wn      =>    wn      !: vertical velocity (m s-1) 
390   USE oce , ONLY :   tsn     =>    tsn     !: 4D array contaning ( tn, sn )
391   USE oce , ONLY :   tsb     =>    tsb     !: 4D array contaning ( tb, sb )
392   USE oce , ONLY :   tsa     =>    tsa     !: 4D array contaning ( ta, sa )
393   USE oce , ONLY :   rhop    =>    rhop    !: potential volumic mass (kg m-3)
394   USE oce , ONLY :   rhd     =>    rhd     !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units)
395   USE oce , ONLY :   rab_n     =>    rab_n   !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units)
396   USE oce , ONLY :   rn2b    =>    rn2b    !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units)
397   USE oce , ONLY :   hdivn   =>    hdivn   !: horizontal divergence (1/s)
398   USE oce , ONLY :   rotn    =>    rotn    !: relative vorticity    [s-1]
399   USE oce , ONLY :   hdivb   =>    hdivb   !: horizontal divergence (1/s)
400   USE oce , ONLY :   rotb    =>    rotb    !: relative vorticity    [s-1]
401   USE oce , ONLY :   sshn    =>    sshn    !: sea surface height at t-point [m]   
402   USE oce , ONLY :   sshb    =>    sshb    !: sea surface height at t-point [m]   
403   USE oce , ONLY :   ssha    =>    ssha    !: sea surface height at t-point [m]   
404   USE oce , ONLY :   l_traldf_rot => l_traldf_rot  !: rotated laplacian operator for lateral diffusion
405
406   !* surface fluxes *
407   USE sbc_oce , ONLY :   utau       =>    utau       !: i-surface stress component
408   USE sbc_oce , ONLY :   vtau       =>    vtau       !: j-surface stress component
409   USE sbc_oce , ONLY :   wndm       =>    wndm       !: 10m wind speed
410   USE sbc_oce , ONLY :   qsr        =>    qsr        !: penetrative solar radiation (w m-2)
411   USE sbc_oce , ONLY :   emp        =>    emp        !: freshwater budget: volume flux               [Kg/m2/s]
412   USE sbc_oce , ONLY :   emp_b      =>    emp_b      !: freshwater budget: volume flux               [Kg/m2/s]
413   USE sbc_oce , ONLY :   fmmflx     =>    fmmflx     !: freshwater budget: volume flux               [Kg/m2/s]
414   USE sbc_oce , ONLY :   rnf        =>    rnf        !: river runoff   [Kg/m2/s]
415   USE sbc_oce , ONLY :   ln_dm2dc   =>    ln_dm2dc   !: Diurnal Cycle
416   USE sbc_oce , ONLY :   fr_i       =>    fr_i       !: ice fraction (between 0 to 1)
417   USE sbcrnf  , ONLY :   rnfmsk     =>    rnfmsk     !: mixed adv scheme in runoffs vicinity (hori.)
418   USE sbcrnf  , ONLY :   rnfmsk_z   =>    rnfmsk_z   !: mixed adv scheme in runoffs vicinity (vert.)
419   USE sbcrnf  , ONLY :   h_rnf      =>    h_rnf      !: river runoff   [Kg/m2/s]
420   USE sbcrnf  , ONLY :   nk_rnf     =>    nk_rnf     !: depth of runoff in model level
421   USE trc , ONLY :  trc_i => trc_i
422   USE trc , ONLY :  trc_o => trc_o
423
424   !* lateral diffusivity (tracers) *
425   USE ldftra_oce , ONLY :  rldf     =>   rldf        !: multiplicative coef. for lateral diffusivity
426   USE ldftra_oce , ONLY :  rn_aht_0 =>   rn_aht_0    !: horizontal eddy diffusivity for tracers (m2/s)
427   USE ldftra_oce , ONLY :  aht0     =>   aht0        !: horizontal eddy diffusivity for tracers (m2/s)
428   USE ldftra_oce , ONLY :  ahtb0    =>   ahtb0       !: background eddy diffusivity for isopycnal diff. (m2/s)
429   USE ldftra_oce , ONLY :  ahtu     =>   ahtu        !: lateral diffusivity coef. at u-points
430   USE ldftra_oce , ONLY :  ahtv     =>   ahtv        !: lateral diffusivity coef. at v-points
431   USE ldftra_oce , ONLY :  ahtw     =>   ahtw        !: lateral diffusivity coef. at w-points
432   USE ldftra_oce , ONLY :  ahtt     =>   ahtt        !: lateral diffusivity coef. at t-points
433   USE ldftra_oce , ONLY :  aeiv0    =>   aeiv0       !: eddy induced velocity coefficient (m2/s)
434   USE ldftra_oce , ONLY :  aeiu     =>   aeiu        !: eddy induced velocity coef. at u-points (m2/s)   
435   USE ldftra_oce , ONLY :  aeiv     =>   aeiv        !: eddy induced velocity coef. at v-points (m2/s)
436   USE ldftra_oce , ONLY :  aeiw     =>   aeiw        !: eddy induced velocity coef. at w-points (m2/s)
437   USE ldftra_oce , ONLY :  lk_traldf_eiv  =>  lk_traldf_eiv     !: eddy induced velocity flag
438   USE ldftra_oce , ONLY :  r_fact_lap     =>  r_fact_lap        !: enhanced zonal diffusivity coefficient
439
440   !* vertical diffusion *
441   USE zdf_oce , ONLY :   avt        =>   avt         !: vert. diffusivity coef. at w-point for temp 
442# if defined key_zdfddm
443   USE zdfddm  , ONLY :   avs        =>   avs         !: salinity vertical diffusivity coeff. at w-point
444# endif
445
446   !* mixing & mixed layer depth *
447   USE zdfmxl , ONLY :   nmln        =>   nmln        !: number of level in the mixed layer
448   USE zdfmxl , ONLY :   hmld        =>   hmld        !: mixing layer depth (turbocline)
449   USE zdfmxl , ONLY :   hmlp        =>   hmlp        !: mixed layer depth  (rho=rho0+zdcrit) (m)
450   USE zdfmxl , ONLY :   hmlpt       =>   hmlpt       !: mixed layer depth at t-points (m)
451
452   !* direction of lateral diffusion *
453   USE ldfslp , ONLY :   lk_ldfslp  =>  lk_ldfslp     !: slopes flag
454# if   defined key_ldfslp
455   USE ldfslp , ONLY :   uslp       =>   uslp         !: i-direction slope at u-, w-points
456   USE ldfslp , ONLY :   vslp       =>   vslp         !: j-direction slope at v-, w-points
457   USE ldfslp , ONLY :   wslpi      =>   wslpi        !: i-direction slope at u-, w-points
458   USE ldfslp , ONLY :   wslpj      =>   wslpj        !: j-direction slope at v-, w-points
459# endif
460
461   USE diaar5 , ONLY :   lk_diaar5  =>   lk_diaar5
462
463#endif
464
465
466   USE dom_oce , ONLY : ndastp
467   USE sbc_oce , ONLY : nn_ice_embd
468   USE sbc_oce , ONLY : ln_cpl
469   USE sbc_oce , ONLY : ln_rnf
470   USE sbc_oce , ONLY : ncpl_qsr_freq
471
472#else
473   !!----------------------------------------------------------------------
474   !!  Empty module :                                     No passive tracer
475   !!----------------------------------------------------------------------
476#endif
477
478   !!----------------------------------------------------------------------
479   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
480   !! $Id$
481   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
482   !!======================================================================
483END MODULE oce_trc
Note: See TracBrowser for help on using the repository browser.