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 @ 7805

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

correc bug in crs branch

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