1 | [Compatibility] |
---|
2 | ibIGCM=1.0 |
---|
3 | |
---|
4 | [UserChoices] |
---|
5 | #============================================================== |
---|
6 | #-- Name of directory for COMMON ACCOUNT at idris or CCRT |
---|
7 | #-- available directories are: v3, v3_1, v3_2 |
---|
8 | #-- related to NEMO_tag_revision (nemo_v3, nemo_v3_1, nemo_v3_2_beta) |
---|
9 | #-- NOTE: if you use COMMON ACCOUNT you have to de-comment it |
---|
10 | OPA_version=v3.6_stable |
---|
11 | mesh_mask=n |
---|
12 | OutputLevel=1 |
---|
13 | # |
---|
14 | # On ADA |
---|
15 | #================================================================================================== |
---|
16 | #-- Surface Boundary Condition. For interannual run, needs 3 consecutives years for each forcing file |
---|
17 | #-- Structure : to simulate year 2000, needs u_10_y1999.nc, u_10_y2000.nc & u_10_y2001.nc |
---|
18 | #================================================================================================== |
---|
19 | forcing=jra |
---|
20 | R_FORCING=${R_IN}/OCE/NEMO/FORCINGS/MRI-JRA55-do-1-4-0 |
---|
21 | ListForcing=(u_10 v_10 t_10 q_10 rsds rlds rain snow) |
---|
22 | YearForcingInit=1958 |
---|
23 | YearForcingEnd=2018 |
---|
24 | #============================================================== |
---|
25 | |
---|
26 | [InitialStateFiles] |
---|
27 | List= (${SUBMIT_DIR}/PARAM/NAMELIST/EMPave_old.dat, EMPave_old.dat) |
---|
28 | |
---|
29 | [BoundaryFiles] |
---|
30 | List= (${opa9_UserChoices_R_FORCING}/weights_JRA55_eORCA1_bilinear.nc, weights_bilinear.nc), \ |
---|
31 | (${opa9_UserChoices_R_FORCING}/weights_JRA55_eORCA1_bicubic.nc , weights_bicubic.nc), \ |
---|
32 | (${R_IN}/CMIP6/${config_UserChoices_LongName}/${config_UserChoices_ModelName}/${config_UserChoices_ExperimentName}/${config_UserChoices_Member}/${year}/dr2xml_nemo.xml, dr2xml_opa9.xml) |
---|
33 | |
---|
34 | ListNonDel= (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/ahmcoef.nc, .), \ |
---|
35 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/bathy_meter.nc, .), \ |
---|
36 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/coordinates.nc, . ), \ |
---|
37 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/coordinates_xios.nc , . ), \ |
---|
38 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/maskMFO_opa_v2.nc, maskMFO_opa.nc ), \ |
---|
39 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/conservative_temperature_WOA13_decav_Reg1L75_clim.nc, .), \ |
---|
40 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/absolute_salinity_WOA13_decav_Reg1L75_clim.nc, .), \ |
---|
41 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/sali_ref_clim_monthly.nc, .), \ |
---|
42 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/sss_absolute_PHC2_salx_2004_08_03_clim-eORCA1.nc, sss_absolute_salinity.nc), \ |
---|
43 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/Goutorbe_ghflux.nc, .),\ |
---|
44 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/runoff-icb_DaiTrenberth_Depoorter_eORCA1_JD.nc, .),\ |
---|
45 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/subbasins_v10.nc , subbasins.nc ), \ |
---|
46 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/merged_ESACCI_BIOMER4V1R1_CHL_REG05.nc, .),\ |
---|
47 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/mixing_power_bot.nc, .),\ |
---|
48 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/mixing_power_pyc.nc, .),\ |
---|
49 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/mixing_power_cri.nc, .),\ |
---|
50 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/decay_scale_bot.nc, .),\ |
---|
51 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/decay_scale_cri.nc, .),\ |
---|
52 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/weights_WOA13d1_2_eorca1_bilinear.nc, .), \ |
---|
53 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/weights_3D_WOA13d1_2_eorca1_bilinear.nc, .), \ |
---|
54 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/weights_reg05_2_eorca1_bilinear.nc, .), \ |
---|
55 | (${R_IN}/OCE/NEMO/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/weights_Goutorbe1_2_eorca1_bilinear.nc, .) |
---|
56 | |
---|
57 | [ParametersFiles] |
---|
58 | List= (${MODIPSL}/modeles/NEMOGCM/CONFIG/SHARED/namelist_ref , namelist_ref ), \ |
---|
59 | (${MODIPSL}/modeles/NEMOGCM/CONFIG/ORCA1_LIM3_PISCES/EXP00/context_nemo.xml , context_nemo.xml ), \ |
---|
60 | (${MODIPSL}/modeles/NEMOGCM/CONFIG/ORCA1_LIM3_PISCES/EXP00/domain_def_nemo.xml , domain_def_nemo.xml ), \ |
---|
61 | (${MODIPSL}/modeles/NEMOGCM/CONFIG/ORCA1_LIM3_PISCES/EXP00/axis_def_nemo.xml , axis_def_nemo.xml ), \ |
---|
62 | (${MODIPSL}/modeles/NEMOGCM/CONFIG/ORCA1_LIM3_PISCES/EXP00/grids_def_nemo.xml , grids_def_nemo.xml ), \ |
---|
63 | (${MODIPSL}/modeles/NEMOGCM/CONFIG/ORCA1_LIM3_PISCES/EXP00/field_def_nemo-opa.xml , field_def_nemo-opa.xml ), \ |
---|
64 | (${SUBMIT_DIR}/PARAM/NAMELIST/${RESOL_OCE}/namelist_${opa9_UserChoices_forcing}_${exptype}_cfg, namelist_cfg), \ |
---|
65 | (${SUBMIT_DIR}/PARAM/XML/ping_nemo.xml , ping_nemo.xml ), \ |
---|
66 | (${SUBMIT_DIR}/PARAM/XML/iodef.xml , iodef.xml ), \ |
---|
67 | (${SUBMIT_DIR}/PARAM/XML/file_def_nemo-opa_cmip6.xml , file_def_nemo-opa.xml ) |
---|
68 | |
---|
69 | |
---|
70 | [RestartFiles] |
---|
71 | List= (${config_UserChoices_JobName}_${NEMO_END}_restart.nc, restart.nc, restart.nc), \ |
---|
72 | (EMPave.dat, EMPave.dat, EMPave_old.dat) |
---|
73 | |
---|
74 | [OutputText] |
---|
75 | List= (ocean.output, solver.stat, STRAIT.dat, namelist_ref, namelist_cfg ) |
---|
76 | |
---|
77 | [OutputFiles] |
---|
78 | List= (${config_UserChoices_JobName}_1y_scalar.nc , ${R_OUT_OCE_O_Y}/${PREFIX}_1Y_scalar.nc , NONE ),\ |
---|
79 | (${config_UserChoices_JobName}_1y_grid_T.nc , ${R_OUT_OCE_O_Y}/${PREFIX}_1Y_grid_T.nc , NONE ),\ |
---|
80 | (${config_UserChoices_JobName}_1y_grid_U.nc , ${R_OUT_OCE_O_Y}/${PREFIX}_1Y_grid_U.nc , NONE ),\ |
---|
81 | (${config_UserChoices_JobName}_1y_grid_V.nc , ${R_OUT_OCE_O_Y}/${PREFIX}_1Y_grid_V.nc , NONE ),\ |
---|
82 | (${config_UserChoices_JobName}_1y_grid_W.nc , ${R_OUT_OCE_O_Y}/${PREFIX}_1Y_grid_W.nc , NONE ),\ |
---|
83 | (${config_UserChoices_JobName}_1y_diaptr_T.nc , ${R_OUT_OCE_O_Y}/${PREFIX}_1Y_diaptr_T.nc , NONE ),\ |
---|
84 | (${config_UserChoices_JobName}_1y_diaptr_W.nc , ${R_OUT_OCE_O_Y}/${PREFIX}_1Y_diaptr_W.nc , NONE ),\ |
---|
85 | (${config_UserChoices_JobName}_1y_trdtra.nc , ${R_OUT_OCE_O_Y}/${PREFIX}_1Y_trdtra.nc , NONE ),\ |
---|
86 | (${config_UserChoices_JobName}_1m_scalar.nc , ${R_OUT_OCE_O_M}/${PREFIX}_1M_scalar.nc , Post_1M_scalar),\ |
---|
87 | (${config_UserChoices_JobName}_1m_grid_T.nc , ${R_OUT_OCE_O_M}/${PREFIX}_1M_grid_T.nc , Post_1M_grid_T),\ |
---|
88 | (${config_UserChoices_JobName}_1m_grid_U.nc , ${R_OUT_OCE_O_M}/${PREFIX}_1M_grid_U.nc , Post_1M_grid_U),\ |
---|
89 | (${config_UserChoices_JobName}_1m_grid_V.nc , ${R_OUT_OCE_O_M}/${PREFIX}_1M_grid_V.nc , Post_1M_grid_V),\ |
---|
90 | (${config_UserChoices_JobName}_1m_grid_W.nc , ${R_OUT_OCE_O_M}/${PREFIX}_1M_grid_W.nc , Post_1M_grid_W),\ |
---|
91 | (${config_UserChoices_JobName}_1m_diaptr_T.nc , ${R_OUT_OCE_O_M}/${PREFIX}_1M_diaptr_T.nc , NONE ),\ |
---|
92 | (${config_UserChoices_JobName}_1m_diaptr_W.nc , ${R_OUT_OCE_O_M}/${PREFIX}_1M_diaptr_W.nc , Post_1M_diaptr_W),\ |
---|
93 | (${config_UserChoices_JobName}_1m_trdtra.nc , ${R_OUT_OCE_O_M}/${PREFIX}_1M_trdtra.nc , NONE ),\ |
---|
94 | (${config_UserChoices_JobName}_5d_grid_T.nc , ${R_OUT_OCE_O_D}/${PREFIX}_5D_grid_T.nc , NONE ),\ |
---|
95 | (${config_UserChoices_JobName}_5d_grid_U.nc , ${R_OUT_OCE_O_D}/${PREFIX}_5D_grid_U.nc , NONE ),\ |
---|
96 | (${config_UserChoices_JobName}_5d_grid_V.nc , ${R_OUT_OCE_O_D}/${PREFIX}_5D_grid_V.nc , NONE ),\ |
---|
97 | (${config_UserChoices_JobName}_5d_grid_W.nc , ${R_OUT_OCE_O_D}/${PREFIX}_5D_grid_W.nc , NONE ),\ |
---|
98 | (${config_UserChoices_JobName}_5d_trdtra.nc , ${R_OUT_OCE_O_D}/${PREFIX}_5D_trdtra.nc , NONE ),\ |
---|
99 | (${config_UserChoices_JobName}_1d_grid_T.nc , ${R_OUT_OCE_O_D}/${PREFIX}_1D_grid_T.nc , NONE ),\ |
---|
100 | (${config_UserChoices_JobName}_1d_grid_U.nc , ${R_OUT_OCE_O_D}/${PREFIX}_1D_grid_U.nc , NONE ),\ |
---|
101 | (${config_UserChoices_JobName}_1d_grid_W.nc , ${R_OUT_OCE_O_D}/${PREFIX}_1D_grid_W.nc , NONE ),\ |
---|
102 | (${config_UserChoices_JobName}_1d_SBC.nc , ${R_OUT_OCE_O_D}/${PREFIX}_1D_SBC.nc , NONE ),\ |
---|
103 | (${config_UserChoices_JobName}_1d_diaptr_T.nc , ${R_OUT_OCE_O_D}/${PREFIX}_1D_diaptr_T.nc , NONE ),\ |
---|
104 | (${config_UserChoices_JobName}_1d_diaptr_W.nc , ${R_OUT_OCE_O_D}/${PREFIX}_1D_diaptr_W.nc , NONE ),\ |
---|
105 | (${config_UserChoices_JobName}_1d_scalar.nc , ${R_OUT_OCE_O_D}/${PREFIX}_1D_scalar.nc , NONE ),\ |
---|
106 | (mesh_mask.nc , ${R_OUT_OCE_O}/${config_UserChoices_JobName}_mesh_mask.nc , NONE ),\ |
---|
107 | (runoffs.nc , ${R_OUT_OCE_O}/${config_UserChoices_JobName}_runoffs.nc , NONE ),\ |
---|
108 | (damping.coeff.nc , ${R_OUT_OCE_O_D}/${PREFIX}_damping.coeff.nc , NONE ),\ |
---|
109 | (output.abort.nc , ${R_OUT_OCE_D}/${PREFIX}_output.abort.nc , NONE ),\ |
---|
110 | (output.init.nc , ${R_OUT_OCE_O_I}/${config_UserChoices_JobName}_${PeriodDateBegin}_output.init.nc,NONE ) |
---|
111 | |
---|
112 | # Monthly analysis |
---|
113 | |
---|
114 | [Post_1M_scalar] |
---|
115 | Patches = () |
---|
116 | GatherWithInternal = (time_counter, time_centered, time_centered_bounds) |
---|
117 | TimeSeriesVars2D = (scmastot, scvoltot, scsshtot, scsshste, scsshtst, sctemtot, scsaltot, ibgheat_tot, sbgheat_tot) |
---|
118 | ChunckJob2D = NONE |
---|
119 | TimeSeriesVars3D = () |
---|
120 | ChunckJob3D = NONE |
---|
121 | Seasonal=OFF |
---|
122 | |
---|
123 | [Post_1M_grid_T] |
---|
124 | Patches = () |
---|
125 | GatherWithInternal = (nav_lon, nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
126 | TimeSeriesVars2D = (zos, tos, sos, mldr10_1, nshfls, rsntds, friver, hc300, wfo) |
---|
127 | ChunckJob2D = NONE |
---|
128 | TimeSeriesVars3D = (thetao, so) |
---|
129 | ChunckJob3D = 100Y |
---|
130 | Seasonal=OFF |
---|
131 | |
---|
132 | [Post_1M_grid_U] |
---|
133 | Patches = () |
---|
134 | GatherWithInternal = (nav_lon, nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
135 | TimeSeriesVars2D = () |
---|
136 | ChunckJob2D = NONE |
---|
137 | TimeSeriesVars3D = () |
---|
138 | ChunckJob3D = 100Y |
---|
139 | Seasonal=OFF |
---|
140 | |
---|
141 | [Post_1M_grid_V] |
---|
142 | Patches = () |
---|
143 | GatherWithInternal = (nav_lon, nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
144 | TimeSeriesVars2D = () |
---|
145 | ChunckJob2D = NONE |
---|
146 | TimeSeriesVars3D = () |
---|
147 | ChunckJob3D = 100Y |
---|
148 | Seasonal=OFF |
---|
149 | |
---|
150 | [Post_1M_grid_W] |
---|
151 | Patches = () |
---|
152 | GatherWithInternal = (nav_lon, nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
153 | TimeSeriesVars2D = ( ) |
---|
154 | ChunckJob2D = NONE |
---|
155 | TimeSeriesVars3D = ( ) |
---|
156 | ChunckJob3D = 100Y |
---|
157 | Seasonal=OFF |
---|
158 | |
---|
159 | [Post_1M_diaptr_T] |
---|
160 | Patches = () |
---|
161 | GatherWithInternal = (nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
162 | TimeSeriesVars2D = (zotemglo, zotematl, zotempac, zotemind, zotemipc, zosalglo, zosalatl, zosalpac, zosalind, zosalipc, zosrfglo, zosrfatl, zosrfpac, zosrfind, zosrfipc, sophtadv, sophtldf, sopstadv, sopstldf) |
---|
163 | ChunckJob2D = NONE |
---|
164 | TimeSeriesVars3D = () |
---|
165 | ChunckJob3D = NONE |
---|
166 | Seasonal=OFF |
---|
167 | |
---|
168 | [Post_1M_diaptr_W] |
---|
169 | Patches = () |
---|
170 | GatherWithInternal = (nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
171 | TimeSeriesVars2D = (zomsfglo, zomsfatl, zomsfpac, zomsfind, zomsfipc) |
---|
172 | ChunckJob2D = NONE |
---|
173 | TimeSeriesVars3D = () |
---|
174 | ChunckJob3D = NONE |
---|
175 | Seasonal=OFF |
---|
176 | |
---|
177 | [Post_1M_trdtra] |
---|
178 | Patches = () |
---|
179 | GatherWithInternal = (nav_lon, nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
180 | TimeSeriesVars2D = NONE |
---|
181 | ChunckJob2D = NONE |
---|
182 | TimeSeriesVars3D = (ttrdtr_zdfp, ttrdtr_eivad, ttrdtr_iso, ttrdtr_totad, ttrdtr_tot, strdtr_zdfp, strdtr_eivad, strdtr_iso, strdtr_totad, strdtr_tot) |
---|
183 | ChunckJob3D = 100Y |
---|
184 | Seasonal=OFF |
---|
185 | |
---|
186 | # Daily analysis |
---|
187 | |
---|
188 | [Post_1D_grid_T] |
---|
189 | Patches = () |
---|
190 | GatherWithInternal = (nav_lon, nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
191 | TimeSeriesVars2D = (tos, tosstd, sos, zos, zosstd, sstdcy, mldr10_1, mldr10_1dcy, mldkz5) |
---|
192 | ChunckJob2D = OFF |
---|
193 | TimeSeriesVars3D = () |
---|
194 | ChunckJob3D = OFF |
---|
195 | Seasonal=OFF |
---|
196 | |
---|
197 | [Post_1D_grid_U] |
---|
198 | Patches = () |
---|
199 | GatherWithInternal = (nav_lon, nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
200 | TimeSeriesVars2D = () |
---|
201 | ChunckJob2D = 100Y |
---|
202 | TimeSeriesVars3D = () |
---|
203 | ChunckJob3D = OFF |
---|
204 | Seasonal=OFF |
---|
205 | |
---|
206 | [Post_1D_grid_V] |
---|
207 | Patches = () |
---|
208 | GatherWithInternal = (nav_lon, nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
209 | TimeSeriesVars2D = () |
---|
210 | ChunckJob2D = 200Y |
---|
211 | TimeSeriesVars3D = () |
---|
212 | ChunckJob3D = OFF |
---|
213 | Seasonal=OFF |
---|
214 | |
---|
215 | ## Yearly analysis |
---|
216 | |
---|
217 | [Post_1Y_scalar] |
---|
218 | Patches = () |
---|
219 | GatherWithInternal = (time_counter, time_centered, time_centered_bounds) |
---|
220 | TimeSeriesVars2D = (scmastot, scvoltot, scsshtot, scsshste, scsshtst, sctemtot, scsaltot, ibgheat_tot, sbgheat_tot) |
---|
221 | ChunckJob2D = NONE |
---|
222 | TimeSeriesVars3D = () |
---|
223 | ChunckJob3D = NONE |
---|
224 | Seasonal=OFF |
---|
225 | |
---|
226 | [Post_1Y_grid_T] |
---|
227 | Patches = () |
---|
228 | GatherWithInternal = (nav_lon, nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
229 | TimeSeriesVars2D = ( ) |
---|
230 | ChunckJob2D = NONE |
---|
231 | TimeSeriesVars3D = (thetao, so) |
---|
232 | ChunckJob3D = 50Y |
---|
233 | Seasonal=OFF |
---|
234 | |
---|
235 | [Post_1Y_grid_U] |
---|
236 | Patches = () |
---|
237 | GatherWithInternal = (nav_lon, nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
238 | TimeSeriesVars2D = (hfx, hfxba, hfxdiff, sozotaux) |
---|
239 | ChunckJob2D = NONE |
---|
240 | TimeSeriesVars3D = (umo, vozocrtx,vozoeivu) |
---|
241 | ChunckJob3D = 50Y |
---|
242 | Seasonal=OFF |
---|
243 | |
---|
244 | [Post_1Y_grid_V] |
---|
245 | Patches = () |
---|
246 | GatherWithInternal = (nav_lon, nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
247 | TimeSeriesVars2D = ( ) |
---|
248 | ChunckJob2D = NONE |
---|
249 | TimeSeriesVars3D = ( ) |
---|
250 | ChunckJob3D = 50Y |
---|
251 | Seasonal=OFF |
---|
252 | |
---|
253 | [Post_1Y_diaptr_T] |
---|
254 | Patches = () |
---|
255 | GatherWithInternal = (nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
256 | TimeSeriesVars2D = (zotemglo, zotematl, zotempac, zotemind, zotemipc, zosalglo, zosalatl, zosalpac, zosalind, zosalipc, zosrfglo, zosrfatl, zosrfpac, zosrfind, zosrfipc, sophtadv, sophtldf, sopstadv, sopstldf) |
---|
257 | ChunckJob2D = NONE |
---|
258 | TimeSeriesVars3D = () |
---|
259 | ChunckJob3D = NONE |
---|
260 | Seasonal=OFF |
---|
261 | |
---|
262 | [Post_1Y_diaptr_W] |
---|
263 | Patches = () |
---|
264 | GatherWithInternal = (nav_lat, olevel, time_counter, time_centered, time_centered_bounds) |
---|
265 | TimeSeriesVars2D = (zomsfglo, zomsfatl, zomsfpac, zomsfind, zomsfipc) |
---|
266 | ChunckJob2D = NONE |
---|
267 | TimeSeriesVars3D = () |
---|
268 | ChunckJob3D = NONE |
---|
269 | Seasonal=OFF |
---|
270 | |
---|