1 | MODULE 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 | !!---------------------------------------------------------------------- |
---|
11 | !! 'key_top' TOP models |
---|
12 | !!---------------------------------------------------------------------- |
---|
13 | ! |
---|
14 | ! !* Domain size * |
---|
15 | USE par_oce , ONLY : jpi => jpi !: first dimension of grid --> i |
---|
16 | USE par_oce , ONLY : jpj => jpj !: second dimension of grid --> j |
---|
17 | USE par_oce , ONLY : jpk => jpk !: number of levels |
---|
18 | USE par_oce , ONLY : jpim1 => jpim1 !: jpi - 1 |
---|
19 | USE par_oce , ONLY : jpjm1 => jpjm1 !: jpj - 1 |
---|
20 | USE par_oce , ONLY : jpkm1 => jpkm1 !: jpk - 1 |
---|
21 | USE par_oce , ONLY : jpij => jpij !: jpi x jpj |
---|
22 | USE par_oce , ONLY : jp_tem => jp_tem !: indice for temperature |
---|
23 | USE par_oce , ONLY : jp_sal => jp_sal !: indice for salinity |
---|
24 | |
---|
25 | USE in_out_manager !* IO manager * |
---|
26 | USE wrk_nemo !* Memory Allocation * |
---|
27 | USE timing !* Timing * |
---|
28 | USE lib_mpp !* MPP library |
---|
29 | USE lib_fortran !* Fortran utilities |
---|
30 | USE lbclnk !* Lateral boundary conditions |
---|
31 | USE phycst !* physical constants * |
---|
32 | USE c1d !* 1D configuration |
---|
33 | USE dom_oce !* model domain * |
---|
34 | |
---|
35 | USE domvvl, ONLY : un_td, vn_td !: thickness diffusion transport |
---|
36 | USE domvvl, ONLY : ln_vvl_ztilde !: ztilde vertical coordinate |
---|
37 | USE domvvl, ONLY : ln_vvl_layer !: level vertical coordinate |
---|
38 | |
---|
39 | !* ocean fields: here now and after fields * |
---|
40 | USE oce , ONLY : un => un !: i-horizontal velocity (m s-1) |
---|
41 | USE oce , ONLY : vn => vn !: j-horizontal velocity (m s-1) |
---|
42 | USE oce , ONLY : wn => wn !: vertical velocity (m s-1) |
---|
43 | USE oce , ONLY : tsn => tsn !: 4D array contaning ( tn, sn ) |
---|
44 | USE oce , ONLY : tsb => tsb !: 4D array contaning ( tb, sb ) |
---|
45 | USE oce , ONLY : tsa => tsa !: 4D array contaning ( ta, sa ) |
---|
46 | USE oce , ONLY : rhop => rhop !: potential volumic mass (kg m-3) |
---|
47 | USE oce , ONLY : rhd => rhd !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) |
---|
48 | USE oce , ONLY : hdivn => hdivn !: horizontal divergence (1/s) |
---|
49 | USE oce , ONLY : sshn => sshn !: sea surface height at t-point [m] |
---|
50 | USE oce , ONLY : sshb => sshb !: sea surface height at t-point [m] |
---|
51 | USE oce , ONLY : ssha => ssha !: sea surface height at t-point [m] |
---|
52 | #if defined key_offline |
---|
53 | USE oce , ONLY : rab_n => rab_n !: local thermal/haline expension ratio at T-points |
---|
54 | #endif |
---|
55 | |
---|
56 | !* surface fluxes * |
---|
57 | USE sbc_oce , ONLY : utau => utau !: i-surface stress component |
---|
58 | USE sbc_oce , ONLY : vtau => vtau !: j-surface stress component |
---|
59 | USE sbc_oce , ONLY : wndm => wndm !: 10m wind speed |
---|
60 | USE sbc_oce , ONLY : qsr => qsr !: penetrative solar radiation (w m-2) |
---|
61 | USE sbc_oce , ONLY : emp => emp !: freshwater budget: volume flux [Kg/m2/s] |
---|
62 | USE sbc_oce , ONLY : emp_b => emp_b !: freshwater budget: volume flux [Kg/m2/s] |
---|
63 | USE sbc_oce , ONLY : fmmflx => fmmflx !: freshwater budget: volume flux [Kg/m2/s] |
---|
64 | USE sbc_oce , ONLY : rnf => rnf !: river runoff [Kg/m2/s] |
---|
65 | USE sbc_oce , ONLY : ln_dm2dc => ln_dm2dc !: Diurnal Cycle |
---|
66 | USE sbc_oce , ONLY : ncpl_qsr_freq => ncpl_qsr_freq !: qsr coupling frequency per days from atmospher |
---|
67 | USE sbc_oce , ONLY : ln_rnf => ln_rnf !: runoffs / runoff mouths |
---|
68 | USE sbc_oce , ONLY : fr_i => fr_i !: ice fraction (between 0 to 1) |
---|
69 | USE sbc_oce , ONLY : nn_ice_embd => nn_ice_embd !: flag for levitating/embedding sea-ice in the ocean |
---|
70 | USE traqsr , ONLY : rn_abs => rn_abs !: fraction absorbed in the very near surface |
---|
71 | USE traqsr , ONLY : rn_si0 => rn_si0 !: very near surface depth of extinction |
---|
72 | USE traqsr , ONLY : ln_qsr_bio => ln_qsr_bio !: flag to use or not the biological fluxes for light |
---|
73 | USE sbcrnf , ONLY : rnfmsk => rnfmsk !: mixed adv scheme in runoffs vicinity (hori.) |
---|
74 | USE sbcrnf , ONLY : rnfmsk_z => rnfmsk_z !: mixed adv scheme in runoffs vicinity (vert.) |
---|
75 | USE sbcrnf , ONLY : h_rnf => h_rnf !: river runoff [Kg/m2/s] |
---|
76 | USE sbcrnf , ONLY : nk_rnf => nk_rnf !: depth of runoff in model level |
---|
77 | |
---|
78 | USE trc_oce |
---|
79 | |
---|
80 | !!gm : I don't understand this as ldftra (where everything is defined) is used by TRC in all cases (ON/OFF-line) |
---|
81 | !!gm so the following lines should be removed.... logical should be the one of TRC namelist |
---|
82 | !!gm In case off coarsening.... the ( ahtu, ahtv, aeiu, aeiv) arrays are needed that's all. |
---|
83 | !* lateral diffusivity (tracers) * |
---|
84 | USE ldftra , ONLY : rn_aht_0 => rn_aht_0 !: laplacian lateral eddy diffusivity [m2/s] |
---|
85 | USE ldftra , ONLY : rn_bht_0 => rn_bht_0 !: bilaplacian lateral eddy diffusivity [m4/s] |
---|
86 | USE ldftra , ONLY : ahtu => ahtu !: lateral diffusivity coef. at u-points |
---|
87 | USE ldftra , ONLY : ahtv => ahtv !: lateral diffusivity coef. at v-points |
---|
88 | USE ldftra , ONLY : rn_aeiv_0 => rn_aeiv_0 !: eddy induced velocity coefficient (m2/s) |
---|
89 | USE ldftra , ONLY : aeiu => aeiu !: eddy induced velocity coef. at u-points (m2/s) |
---|
90 | USE ldftra , ONLY : aeiv => aeiv !: eddy induced velocity coef. at v-points (m2/s) |
---|
91 | USE ldftra , ONLY : ln_ldfeiv => ln_ldfeiv !: eddy induced velocity flag |
---|
92 | |
---|
93 | !!gm this should be : ln_trcldf_triad (TRC namelist) |
---|
94 | USE ldfslp , ONLY : ln_traldf_triad => ln_traldf_triad !: triad scheme (Griffies et al.) |
---|
95 | |
---|
96 | !* direction of lateral diffusion * |
---|
97 | USE ldfslp , ONLY : l_ldfslp => l_ldfslp !: slopes flag |
---|
98 | USE ldfslp , ONLY : uslp => uslp !: i-slope at u-point |
---|
99 | USE ldfslp , ONLY : vslp => vslp !: j-slope at v-point |
---|
100 | USE ldfslp , ONLY : wslpi => wslpi !: i-slope at w-point |
---|
101 | USE ldfslp , ONLY : wslpj => wslpj !: j-slope at w-point |
---|
102 | !!gm end |
---|
103 | |
---|
104 | !* vertical diffusion * |
---|
105 | USE zdf_oce , ONLY : avt => avt !: vert. diffusivity coef. at w-point for temp |
---|
106 | # if defined key_zdfddm |
---|
107 | USE zdfddm , ONLY : avs => avs !: salinity vertical diffusivity coeff. at w-point |
---|
108 | # endif |
---|
109 | |
---|
110 | !* mixing & mixed layer depth * |
---|
111 | USE zdfmxl , ONLY : nmln => nmln !: number of level in the mixed layer |
---|
112 | USE zdfmxl , ONLY : hmld => hmld !: mixing layer depth (turbocline) |
---|
113 | USE zdfmxl , ONLY : hmlp => hmlp !: mixed layer depth (rho=rho0+zdcrit) (m) |
---|
114 | USE zdfmxl , ONLY : hmlpt => hmlpt !: mixed layer depth at t-points (m) |
---|
115 | |
---|
116 | USE diaar5 , ONLY : lk_diaar5 => lk_diaar5 |
---|
117 | #else |
---|
118 | !!---------------------------------------------------------------------- |
---|
119 | !! Empty module : No passive tracer |
---|
120 | !!---------------------------------------------------------------------- |
---|
121 | #endif |
---|
122 | |
---|
123 | !!---------------------------------------------------------------------- |
---|
124 | !! NEMO/TOP 3.3 , NEMO Consortium (2010) |
---|
125 | !! $Id$ |
---|
126 | !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) |
---|
127 | !!====================================================================== |
---|
128 | END MODULE oce_trc |
---|