1 | \include{Preamble} |
---|
2 | |
---|
3 | \begin{document} |
---|
4 | |
---|
5 | \title{Draft description of NEMO wetting and drying scheme: 29 November 2017 } |
---|
6 | |
---|
7 | \author{ Enda O'Dea, Hedong Liu, Jason Holt, Andrew Coward and Michael J. Bell } |
---|
8 | |
---|
9 | %------------------------------------------------------------------------ |
---|
10 | % End of temporary latex header (to be removed) |
---|
11 | %------------------------------------------------------------------------ |
---|
12 | |
---|
13 | % ================================================================ |
---|
14 | % Chapter Ocean Dynamics (DYN) |
---|
15 | % ================================================================ |
---|
16 | \chapter{Ocean Dynamics (DYN)} |
---|
17 | \label{DYN} |
---|
18 | \minitoc |
---|
19 | |
---|
20 | % add a figure for dynvor ens, ene latices |
---|
21 | |
---|
22 | $\ $\newline % force a new ligne |
---|
23 | |
---|
24 | % ================================================================ |
---|
25 | % Wetting and drying |
---|
26 | % ================================================================ |
---|
27 | \section{Wetting and drying } |
---|
28 | \label{DYN_wetdry} |
---|
29 | |
---|
30 | There are two main options for wetting and drying code (wd): |
---|
31 | (a) an iterative limiter (il) and (b) a directional limiter (dl). |
---|
32 | The directional limiter is based on the scheme developed by \cite{WarnerEtal13} for ROMS |
---|
33 | which was in turn based on ideas developed for POM by \cite{Oey06}. The iterative |
---|
34 | limiter is a new scheme. The iterative limiter is activated by setting $\mathrm{ln\_wd\_il} = \mathrm{.true.}$ |
---|
35 | and $\mathrm{ln\_wd\_dl} = \mathrm{.false.}$. The directional limiter is activated |
---|
36 | by setting $\mathrm{ln\_wd\_dl} = \mathrm{.true.}$ and $\mathrm{ln\_wd\_il} = \mathrm{.false.}$. |
---|
37 | |
---|
38 | \namdisplay{nam_wad} |
---|
39 | |
---|
40 | The following terminology is used. The depth of the topography (positive downwards) |
---|
41 | at each $(i,j)$ point is the quantity stored in array $\mathrm{ht\_wd}$ in the NEMO code. |
---|
42 | The height of the free surface (positive upwards) is denoted by $ \mathrm{ssh}$. Given the sign |
---|
43 | conventions used, the water depth, $h$, is the height of the free surface plus the depth of the |
---|
44 | topography (i.e. $\mathrm{ssh} + \mathrm{ht\_wd}$). |
---|
45 | |
---|
46 | Both wd schemes take all points in the domain below a land elevation of $\mathrm{rn\_wdld}$ to be |
---|
47 | covered by water. They require the topography specified with a model |
---|
48 | configuration to have negative depths at points where the land is higher than the |
---|
49 | topography's reference sea-level. The vertical grid in NEMO is normally computed relative to an |
---|
50 | initial state with zero sea surface height elevation. |
---|
51 | The user can choose to compute the vertical grid and heights in the model relative to |
---|
52 | a non-zero reference height for the free surface. This choice affects the calculation of the metrics and depths |
---|
53 | (i.e. the $\mathrm{e3t\_0, ht\_0}$ etc. arrays). |
---|
54 | |
---|
55 | Points where the water depth is less than $\mathrm{rn\_wdmin1}$ are interpreted as ``dry''. |
---|
56 | $\mathrm{rn\_wdmin1}$ is usually chosen to be of order $0.05$m but extreme topographies |
---|
57 | with very steep slopes require larger values for normal choices of time-step. |
---|
58 | |
---|
59 | Both versions of the code have been tested in six test cases provided in the WAD\_TEST\_CASES configuration |
---|
60 | and in ``realistic'' configurations covering parts of the north-west European shelf. |
---|
61 | All these configurations have used pure sigma coordinates. It is expected that |
---|
62 | the wetting and drying code will work in domains with more general s-coordinates provided |
---|
63 | the coordinates are pure sigma in the region where wetting and drying actually occurs. |
---|
64 | |
---|
65 | The next sub-section descrbies the directional limiter and the following sub-section the iterative limiter. |
---|
66 | The final sub-section covers some additional considerations that are relevant to both schemes. |
---|
67 | |
---|
68 | %----------------------------------------------------------------------------------------- |
---|
69 | % Iterative limiters |
---|
70 | %----------------------------------------------------------------------------------------- |
---|
71 | \subsection [Directional limiter (\textit{wet\_dry})] |
---|
72 | {Directional limiter (\mdl{wet\_dry})} |
---|
73 | \label{DYN_wd_directional_limiter} |
---|
74 | |
---|
75 | The principal idea of the directional limiter is that |
---|
76 | water should not be allowed to flow out of a dry tracer cell (i.e. one whose water depth is less than rn\_wdmin1). |
---|
77 | |
---|
78 | All the changes associated with this option are made to the barotropic solver for the non-linear |
---|
79 | free surface code within dynspg\_ts. |
---|
80 | On each barotropic sub-step the scheme determines the direction of the flow across each face of all the tracer cells |
---|
81 | and sets the flux across the face to zero when the flux is from a dry tracer cell. This prevents cells |
---|
82 | whose depth is rn\_wdmin1 or less from drying out further. The scheme does not force $h$ (the water depth) at tracer cells |
---|
83 | to be at least the minimum depth and hence is able to conserve mass / volume. |
---|
84 | |
---|
85 | The flux across each $u$-face of a tracer cell is multiplied by a factor zuwdmask (an array which depends on ji and jj). |
---|
86 | If the user sets ln\_wd\_dl\_ramp = .False. then zuwdmask is 1 when the |
---|
87 | flux is from a cell with water depth greater than rn\_wdmin1 and 0 otherwise. If the user sets |
---|
88 | ln\_wd\_dl\_ramp = .True. the flux across the face is ramped down as the water depth decreases |
---|
89 | from 2 * rn\_wdmin1 to rn\_wdmin1. The use of this ramp reduced grid-scale noise in idealised test cases. |
---|
90 | |
---|
91 | At the point where the flux across a $u$-face is multiplied by zuwdmask , we have chosen |
---|
92 | also to multiply the corresponding velocity on the ``now'' step at that face by zuwdmask. We could have |
---|
93 | chosen not to do that and to allow fairly large velocities to occur in these ``dry'' cells. |
---|
94 | The rationale for setting the velocity to zero is that it is the momentum equations that are being solved |
---|
95 | and the total momentum of the upstream cell (treating it as a finite volume) should be considered |
---|
96 | to be its depth times its velocity. This depth is considered to be zero at ``dry'' $u$-points consistent with its |
---|
97 | treatment in the calculation of the flux of mass across the cell face. |
---|
98 | |
---|
99 | \cite{WarnerEtal13} state that in their scheme the velocity masks at the cell faces for the baroclinic |
---|
100 | timesteps are set to 0 or 1 depending on whether the average of the masks over the barotropic sub-steps is respectively less than |
---|
101 | or greater than 0.5. That scheme does not conserve tracers in integrations started from constant tracer |
---|
102 | fields (tracers independent of $x$, $y$ and $z$). Our scheme conserves constant tracers because |
---|
103 | the velocities used at the tracer cell faces on the baroclinic timesteps are carefully calculated by dynspg\_ts |
---|
104 | to equal their mean value during the barotropic steps. If the user sets ln\_wd\_dl\_bc = .True., the |
---|
105 | baroclinic velocities are also multiplied by a suitably weighted average of zuwdmask. |
---|
106 | |
---|
107 | %----------------------------------------------------------------------------------------- |
---|
108 | % Iterative limiters |
---|
109 | %----------------------------------------------------------------------------------------- |
---|
110 | \subsection [Iterative limiter (\textit{wet\_dry})] |
---|
111 | {Iterative limiter (\mdl{wet\_dry})} |
---|
112 | \label{DYN_wd_iterative_limiter} |
---|
113 | |
---|
114 | \subsubsection [Iterative flux limiter (\textit{wet\_dry})] |
---|
115 | {Iterative flux limiter (\mdl{wet\_dry})} |
---|
116 | \label{DYN_wd_il_spg_limiter} |
---|
117 | |
---|
118 | The iterative limiter modifies the fluxes across the faces of cells that are either already ``dry'' |
---|
119 | or may become dry within the next time-step using an iterative method. |
---|
120 | |
---|
121 | The flux limiter for the barotropic flow (devised by Hedong Liu) can be understood as follows: |
---|
122 | |
---|
123 | The continuity equation for the total water depth in a column |
---|
124 | \begin{equation} \label{dyn_wd_continuity} |
---|
125 | \frac{\partial h}{\partial t} + \mathbf{\nabla.}(h\mathbf{u}) = 0 . |
---|
126 | \end{equation} |
---|
127 | can be written in discrete form as |
---|
128 | |
---|
129 | \begin{align} \label{dyn_wd_continuity_2} |
---|
130 | \frac{e_1 e_2}{\Delta t} ( h_{i,j}(t_{n+1}) - h_{i,j}(t_e) ) |
---|
131 | &= - ( \mathrm{flxu}_{i+1,j} - \mathrm{flxu}_{i,j} + \mathrm{flxv}_{i,j+1} - \mathrm{flxv}_{i,j} ) \\ |
---|
132 | &= \mathrm{zzflx}_{i,j} . |
---|
133 | \end{align} |
---|
134 | |
---|
135 | In the above $h$ is the depth of the water in the column at point $(i,j)$, |
---|
136 | $\mathrm{flxu}_{i+1,j}$ is the flux out of the ``eastern'' face of the cell and |
---|
137 | $\mathrm{flxv}_{i,j+1}$ the flux out of the ``northern'' face of the cell; $t_{n+1}$ is |
---|
138 | the new timestep, $t_e$ is the old timestep (either $t_b$ or $t_n$) and $ \Delta t = |
---|
139 | t_{n+1} - t_e$; $e_1 e_2$ is the area of the tracer cells centred at $(i,j)$ and |
---|
140 | $\mathrm{zzflx}$ is the sum of the fluxes through all the faces. |
---|
141 | |
---|
142 | The flux limiter splits the flux $\mathrm{zzflx}$ into fluxes that are out of the cell |
---|
143 | (zzflxp) and fluxes that are into the cell (zzflxn). Clearly |
---|
144 | |
---|
145 | \begin{equation} \label{dyn_wd_zzflx_p_n_1} |
---|
146 | \mathrm{zzflx}_{i,j} = \mathrm{zzflxp}_{i,j} + \mathrm{zzflxn}_{i,j} . |
---|
147 | \end{equation} |
---|
148 | |
---|
149 | The flux limiter iteratively adjusts the fluxes $\mathrm{flxu}$ and $\mathrm{flxv}$ until |
---|
150 | none of the cells will ``dry out''. To be precise the fluxes are limited until none of the |
---|
151 | cells has water depth less than $\mathrm{rn\_wdmin1}$ on step $n+1$. |
---|
152 | |
---|
153 | Let the fluxes on the $m$th iteration step be denoted by $\mathrm{flxu}^{(m)}$ and |
---|
154 | $\mathrm{flxv}^{(m)}$. Then the adjustment is achieved by seeking a set of coefficients, |
---|
155 | $\mathrm{zcoef}_{i,j}^{(m)}$ such that: |
---|
156 | |
---|
157 | \begin{equation} \label{dyn_wd_continuity_coef} |
---|
158 | \begin{split} |
---|
159 | \mathrm{zzflxp}^{(m)}_{i,j} =& \mathrm{zcoef}_{i,j}^{(m)} \mathrm{zzflxp}^{(0)}_{i,j} \\ |
---|
160 | \mathrm{zzflxn}^{(m)}_{i,j} =& \mathrm{zcoef}_{i,j}^{(m)} \mathrm{zzflxn}^{(0)}_{i,j} |
---|
161 | \end{split} |
---|
162 | \end{equation} |
---|
163 | |
---|
164 | where the coefficients are $1.0$ generally but can vary between $0.0$ and $1.0$ around |
---|
165 | cells that would otherwise dry. |
---|
166 | |
---|
167 | The iteration is initialised by setting |
---|
168 | |
---|
169 | \begin{equation} \label{dyn_wd_zzflx_initial} |
---|
170 | \mathrm{zzflxp^{(0)}}_{i,j} = \mathrm{zzflxp}_{i,j} , \quad \mathrm{zzflxn^{(0)}}_{i,j} = \mathrm{zzflxn}_{i,j} . |
---|
171 | \end{equation} |
---|
172 | |
---|
173 | The fluxes out of cell $(i,j)$ are updated at the $m+1$th iteration if the depth of the |
---|
174 | cell on timestep $t_e$, namely $h_{i,j}(t_e)$, is less than the total flux out of the cell |
---|
175 | times the timestep divided by the cell area. Using (\ref{dyn_wd_continuity_2}) this |
---|
176 | condition is |
---|
177 | |
---|
178 | \begin{equation} \label{dyn_wd_continuity_if} |
---|
179 | h_{i,j}(t_e) - \mathrm{rn\_wdmin1} < \frac{\Delta t}{e_1 e_2} ( \mathrm{zzflxp}^{(m)}_{i,j} + \mathrm{zzflxn}^{(m)}_{i,j} ) . |
---|
180 | \end{equation} |
---|
181 | |
---|
182 | Rearranging (\ref{dyn_wd_continuity_if}) we can obtain an expression for the maximum |
---|
183 | outward flux that can be allowed and still maintain the minimum wet depth: |
---|
184 | |
---|
185 | \begin{equation} \label{dyn_wd_max_flux} |
---|
186 | \begin{split} |
---|
187 | \mathrm{zzflxp}^{(m+1)}_{i,j} = \Big[ (h_{i,j}(t_e) & - \mathrm{rn\_wdmin1} - \mathrm{rn\_wdmin2}) \frac{e_1 e_2}{\Delta t} \phantom{]} \\ |
---|
188 | \phantom{[} & - \mathrm{zzflxn}^{(m)}_{i,j} \Big] |
---|
189 | \end{split} |
---|
190 | \end{equation} |
---|
191 | |
---|
192 | Note a small tolerance ($\mathrm{rn\_wdmin2}$) has been introduced here {\it [Q: Why is |
---|
193 | this necessary/desirable?]}. Substituting from (\ref{dyn_wd_continuity_coef}) gives an |
---|
194 | expression for the coefficient needed to multiply the outward flux at this cell in order |
---|
195 | to avoid drying. |
---|
196 | |
---|
197 | \begin{equation} \label{dyn_wd_continuity_nxtcoef} |
---|
198 | \begin{split} |
---|
199 | \mathrm{zcoef}^{(m+1)}_{i,j} = \Big[ (h_{i,j}(t_e) & - \mathrm{rn\_wdmin1} - \mathrm{rn\_wdmin2}) \frac{e_1 e_2}{\Delta t} \phantom{]} \\ |
---|
200 | \phantom{[} & - \mathrm{zzflxn}^{(m)}_{i,j} \Big] \frac{1}{ \mathrm{zzflxp}^{(0)}_{i,j} } |
---|
201 | \end{split} |
---|
202 | \end{equation} |
---|
203 | |
---|
204 | Only the outward flux components are altered but, of course, outward fluxes from one cell |
---|
205 | are inward fluxes to adjacent cells and the balance in these cells may need subsequent |
---|
206 | adjustment; hence the iterative nature of this scheme. Note, for example, that the flux |
---|
207 | across the ``eastern'' face of the $(i,j)$th cell is only updated at the $m+1$th iteration |
---|
208 | if that flux at the $m$th iteration is out of the $(i,j)$th cell. If that is the case then |
---|
209 | the flux across that face is into the $(i+1,j)$ cell and that flux will not be updated by |
---|
210 | the calculation for the $(i+1,j)$th cell. In this sense the updates to the fluxes across |
---|
211 | the faces of the cells do not ``compete'' (they do not over-write each other) and one |
---|
212 | would expect the scheme to converge relatively quickly. The scheme is flux based so |
---|
213 | conserves mass. It also conserves constant tracers for the same reason that the |
---|
214 | directional limiter does. |
---|
215 | |
---|
216 | |
---|
217 | %---------------------------------------------------------------------------------------- |
---|
218 | % Surface pressure gradients |
---|
219 | %---------------------------------------------------------------------------------------- |
---|
220 | \subsubsection [Modification of surface pressure gradients (\textit{dynhpg})] |
---|
221 | {Modification of surface pressure gradients (\mdl{dynhpg})} |
---|
222 | \label{DYN_wd_il_spg} |
---|
223 | |
---|
224 | At ``dry'' points the water depth is usually close to $\mathrm{rn\_wdmin1}$. If the |
---|
225 | topography is sloping at these points the sea-surface will have a similar slope and there |
---|
226 | will hence be very large horizontal pressure gradients at these points. The WAD modifies |
---|
227 | the magnitude but not the sign of the surface pressure gradients (zhpi and zhpj) at such |
---|
228 | points by mulitplying them by positive factors (zcpx and zcpy respectively) that lie |
---|
229 | between $0$ and $1$. |
---|
230 | |
---|
231 | We describe how the scheme works for the ``eastward'' pressure gradient, zhpi, calculated |
---|
232 | at the $(i,j)$th $u$-point. The scheme uses the ht\_wd depths and surface heights at the |
---|
233 | neighbouring $(i+1,j)$ and $(i,j)$ tracer points. zcpx is calculated using two logicals |
---|
234 | variables, $\mathrm{ll\_tmp1}$ and $\mathrm{ll\_tmp2}$ which are evaluated for each grid |
---|
235 | column. The three possible combinations are illustrated in figure \ref{Fig_WAD_dynhpg}. |
---|
236 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
237 | \begin{figure}[!ht] \begin{center} |
---|
238 | \includegraphics[width=0.8\textwidth]{Fig_WAD_dynhpg} |
---|
239 | \caption{ \label{Fig_WAD_dynhpg} |
---|
240 | Illustrations of the three possible combinations of the logical variables controlling the |
---|
241 | limiting of the horizontal pressure gradient in wetting and drying regimes} |
---|
242 | \end{center}\end{figure} |
---|
243 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
244 | |
---|
245 | The first logical, $\mathrm{ll\_tmp1}$, is set to true if and only if the water depth at |
---|
246 | both neighbouring points is greater than $\mathrm{rn\_wdmin1} + \mathrm{rn\_wdmin2}$ and |
---|
247 | the minimum height of the sea surface at the two points is greater than the maximum height |
---|
248 | of the topography at the two points: |
---|
249 | |
---|
250 | \begin{equation} \label{dyn_ll_tmp1} |
---|
251 | \begin{split} |
---|
252 | \mathrm{ll\_tmp1} = & \mathrm{MIN(sshn(ji,jj), sshn(ji+1,jj))} > \\ |
---|
253 | & \quad \mathrm{MAX(-ht\_wd(ji,jj), -ht\_wd(ji+1,jj))\ .and.} \\ |
---|
254 | & \mathrm{MAX(sshn(ji,jj) + ht\_wd(ji,jj),} \\ |
---|
255 | & \mathrm{\phantom{MAX(}sshn(ji+1,jj) + ht\_wd(ji+1,jj))} >\\ |
---|
256 | & \quad\quad\mathrm{rn\_wdmin1 + rn\_wdmin2 } |
---|
257 | \end{split} |
---|
258 | \end{equation} |
---|
259 | |
---|
260 | The second logical, $\mathrm{ll\_tmp2}$, is set to true if and only if the maximum height |
---|
261 | of the sea surface at the two points is greater than the maximum height of the topography |
---|
262 | at the two points plus $\mathrm{rn\_wdmin1} + \mathrm{rn\_wdmin2}$ |
---|
263 | |
---|
264 | \begin{equation} \label{dyn_ll_tmp2} |
---|
265 | \begin{split} |
---|
266 | \mathrm{ ll\_tmp2 } = & \mathrm{( ABS( sshn(ji,jj) - sshn(ji+1,jj) ) > 1.E-12 )\ .AND.}\\ |
---|
267 | & \mathrm{( MAX(sshn(ji,jj), sshn(ji+1,jj)) > } \\ |
---|
268 | & \mathrm{\phantom{(} MAX(-ht\_wd(ji,jj), -ht\_wd(ji+1,jj)) + rn\_wdmin1 + rn\_wdmin2}) . |
---|
269 | \end{split} |
---|
270 | \end{equation} |
---|
271 | |
---|
272 | If $\mathrm{ll\_tmp1}$ is true then the surface pressure gradient, zhpi at the $(i,j)$ |
---|
273 | point is unmodified. If both logicals are false zhpi is set to zero. |
---|
274 | |
---|
275 | If $\mathrm{ll\_tmp1}$ is true and $\mathrm{ll\_tmp2}$ is false then the surface pressure |
---|
276 | gradient is multiplied through by zcpx which is the absolute value of the difference in |
---|
277 | the water depths at the two points divided by the difference in the surface heights at the |
---|
278 | two points. Thus the sign of the sea surface height gradient is retained but the magnitude |
---|
279 | of the pressure force is determined by the difference in water depths rather than the |
---|
280 | difference in surface height between the two points. Note that dividing by the difference |
---|
281 | between the sea surface heights can be problematic if the heights approach parity. An |
---|
282 | additional condition is applied to $\mathrm{ ll\_tmp2 }$ to ensure it is .false. in such |
---|
283 | conditions. |
---|
284 | |
---|
285 | \subsection [Additional considerations (\textit{usrdef\_zgr})] |
---|
286 | {Additional considerations (\mdl{usrdef\_zgr})} |
---|
287 | \label{WAD_additional} |
---|
288 | |
---|
289 | In the very shallow water where wetting and drying occurs the parametrisation of |
---|
290 | bottom drag is clearly very important. In order to promote stability |
---|
291 | it is sometimes useful to calculate the bottom drag using an implicit time-stepping approach. |
---|
292 | |
---|
293 | Suitable specifcation of the surface heat flux in wetting and drying domains in forced and |
---|
294 | coupled simulations needs further consideration. In order to prevent freezing or boiling |
---|
295 | in uncoupled integrations the net surface heat fluxes need to be appropriately limited. |
---|
296 | |
---|
297 | %---------------------------------------------------------------------------------------- |
---|
298 | % The WAD test cases |
---|
299 | %---------------------------------------------------------------------------------------- |
---|
300 | \subsection [The WAD test cases (\textit{usrdef\_zgr})] |
---|
301 | {The WAD test cases (\mdl{usrdef\_zgr})} |
---|
302 | \label{WAD_test_cases} |
---|
303 | |
---|
304 | This section contains details of the seven test cases that can be run as part of the |
---|
305 | WAD\_TEST\_CASES configuration. All the test cases are shallow (less than 10m deep), |
---|
306 | basins or channels with 4m high walls and some of topography that can wet and dry up to |
---|
307 | 2.5m above sea-level. The horizontal grid is uniform with a 1km resolution and measures |
---|
308 | 52km by 34km. These dimensions are determined by a combination of code in the |
---|
309 | \mdl{usrdef\_nam} module located in the WAD\_TEST\_CASES/MY\_SRC directory and setting |
---|
310 | read in from the namusr\_def namelist. The first six test cases are closed systems with no |
---|
311 | rotation or external forcing and motion is simply initiated by an initial ssh slope. The |
---|
312 | seventh test case introduces and open boundary at the right-hand end of the channel which |
---|
313 | is forced with sinousoidally varying ssh and barotropic velocities. |
---|
314 | |
---|
315 | \namdisplay{nam_wad_usr} |
---|
316 | |
---|
317 | The $\mathrm{nn\_wad\_test}$ parameter can takes values 1 to 7 and it is this parameter |
---|
318 | that determines which of the test cases will be run. Most cases can be run with the |
---|
319 | default settings but the simple linear slope cases (tests 1 and 5) can be run with lower |
---|
320 | values of $\mathrm{rn\_wdmin1}$. Any recommended changes to the default namelist settings |
---|
321 | will be stated in the individual subsections. |
---|
322 | |
---|
323 | Test case 7 requires additional {\tt namelist\_cfg} changes to activate the open boundary |
---|
324 | and lengthen the duration of the run (in order to demonstrate the full forcing cycle). |
---|
325 | There is also a simple python script which needs to be run in order to generate the |
---|
326 | boundary forcing files. Full details are given in subsection (\ref{WAD_test_case7}). |
---|
327 | |
---|
328 | \clearpage |
---|
329 | \subsubsection [WAD test case 1 : A simple linear slope] |
---|
330 | {WAD test case 1 : A simple linear slope} |
---|
331 | \label{WAD_test_case1} |
---|
332 | |
---|
333 | The first test case is a simple linear slope (in the x-direction, uniform in y) with an |
---|
334 | adverse SSH gradient that, when released, creates a surge up the slope. The parameters are |
---|
335 | chosen such that the surge rises above sea-level before falling back and oscillating |
---|
336 | towards an equilibrium position. This case can be run with $\mathrm{rn\_wdmin1}$ values as |
---|
337 | low as 0.075m. I.e. the following change may be made to the default values in {\tt |
---|
338 | namelist\_cfg} (for this test only): |
---|
339 | |
---|
340 | \namdisplay{nam_wad_tc1} |
---|
341 | |
---|
342 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
343 | \begin{figure}[htb] \begin{center} |
---|
344 | \includegraphics[width=0.8\textwidth]{Fig_WAD_TC1} |
---|
345 | \caption{ \label{Fig_WAD_TC1} |
---|
346 | The evolution of the sea surface height in WAD\_TEST\_CASE 1 from the initial state (t=0) |
---|
347 | over the first three hours of simulation. Note that in this time-frame the resultant surge |
---|
348 | reaches to nearly 2m above sea-level before retreating.} |
---|
349 | \end{center}\end{figure} |
---|
350 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
351 | |
---|
352 | \clearpage |
---|
353 | \subsubsection [WAD test case 2 : A parabolic channel ] |
---|
354 | {WAD test case 2 : A parabolic channel} |
---|
355 | \label{WAD_test_case2} |
---|
356 | |
---|
357 | The second and third test cases use a closed channel which is parabolic in x and uniform |
---|
358 | in y. Test case 2 uses a gentler initial SSH slope which nevertheless demonstrates the |
---|
359 | ability to wet and dry on both sides of the channel. This solution requires values of |
---|
360 | $\mathrm{rn\_wdmin1}$ at least 0.3m ({\it Q.: A function of the maximum topographic |
---|
361 | slope?}) |
---|
362 | |
---|
363 | \namdisplay{nam_wad_tc2} |
---|
364 | |
---|
365 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
366 | \begin{figure}[htb] \begin{center} |
---|
367 | \includegraphics[width=0.8\textwidth]{Fig_WAD_TC2} |
---|
368 | \caption{ \label{Fig_WAD_TC2} |
---|
369 | The evolution of the sea surface height in WAD\_TEST\_CASE 2 from the initial state (t=0) |
---|
370 | over the first three hours of simulation. Note that in this time-frame the resultant sloshing |
---|
371 | causes wetting and drying on both sides of the parabolic channel.} |
---|
372 | \end{center}\end{figure} |
---|
373 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
374 | |
---|
375 | \clearpage |
---|
376 | \subsubsection [WAD test case 3 : A parabolic channel (extreme slope) ] |
---|
377 | {WAD test case 3 : A parabolic channel (extreme slope)} |
---|
378 | \label{WAD_test_case3} |
---|
379 | |
---|
380 | Similar to test case 2 but with a steeper initial SSH slope. The solution is similar but more vigorous. |
---|
381 | |
---|
382 | \namdisplay{nam_wad_tc3} |
---|
383 | |
---|
384 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
385 | \begin{figure}[htb] \begin{center} |
---|
386 | \includegraphics[width=0.8\textwidth]{Fig_WAD_TC3} |
---|
387 | \caption{ \label{Fig_WAD_TC3} |
---|
388 | The evolution of the sea surface height in WAD\_TEST\_CASE 3 from the initial state (t=0) |
---|
389 | over the first three hours of simulation. Note that in this time-frame the resultant sloshing |
---|
390 | causes wetting and drying on both sides of the parabolic channel.} |
---|
391 | \end{center}\end{figure} |
---|
392 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
393 | |
---|
394 | \clearpage |
---|
395 | \subsubsection [WAD test case 4 : A parabolic bowl ] |
---|
396 | {WAD test case 4 : A parabolic bowl} |
---|
397 | \label{WAD_test_case4} |
---|
398 | |
---|
399 | Test case 4 includes variation in the y-direction in the form of a parabolic bowl. The |
---|
400 | initial condition is now a raised bulge centred over the bowl. Figure \ref{Fig_WAD_TC4} |
---|
401 | shows a cross-section of the SSH in the X-direction but features can be seen to propagate |
---|
402 | in all directions and interfere when return paths cross. |
---|
403 | |
---|
404 | \namdisplay{nam_wad_tc4} |
---|
405 | |
---|
406 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
407 | \begin{figure}[htb] \begin{center} |
---|
408 | \includegraphics[width=0.8\textwidth]{Fig_WAD_TC4} |
---|
409 | \caption{ \label{Fig_WAD_TC4} |
---|
410 | The evolution of the sea surface height in WAD\_TEST\_CASE 4 from the initial state (t=0) |
---|
411 | over the first three hours of simulation. Note that this test case is a parabolic bowl with |
---|
412 | variations occurring in the y-direction too (not shown here).} |
---|
413 | \end{center}\end{figure} |
---|
414 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
415 | |
---|
416 | \clearpage |
---|
417 | \subsubsection [WAD test case 5 : A double slope with shelf channel ] |
---|
418 | {WAD test case 5 : A double slope with shelf channel} |
---|
419 | \label{WAD_test_case5} |
---|
420 | |
---|
421 | Similar in nature to test case 1 but with a change in slope and a mid-depth shelf. |
---|
422 | |
---|
423 | \namdisplay{nam_wad_tc5} |
---|
424 | |
---|
425 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
426 | \begin{figure}[htb] \begin{center} |
---|
427 | \includegraphics[width=0.8\textwidth]{Fig_WAD_TC5} |
---|
428 | \caption{ \label{Fig_WAD_TC5} |
---|
429 | The evolution of the sea surface height in WAD\_TEST\_CASE 5 from the initial state (t=0) |
---|
430 | over the first three hours of simulation. The surge resulting in this case wets to the full |
---|
431 | depth permitted (2.5m above sea-level) and is only halted by the 4m high side walls.} |
---|
432 | \end{center}\end{figure} |
---|
433 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
434 | |
---|
435 | \clearpage |
---|
436 | \subsubsection [WAD test case 6 : A parabolic channel with central bar ] |
---|
437 | {WAD test case 6 : A parabolic channel with central bar} |
---|
438 | \label{WAD_test_case6} |
---|
439 | |
---|
440 | Test cases 1 to 5 have all used uniform T and S conditions. The dashed line in each plot |
---|
441 | shows the surface salinity along the y=17 line which remains satisfactorily constant. Test |
---|
442 | case 6 introduces variation in salinity by taking a parabolic channel divided by a central |
---|
443 | bar (gaussian) and using two different salinity values in each half of the channel. This |
---|
444 | step change in salinity is initially enforced by the central bar but the bar is |
---|
445 | subsequently over-topped after the initial SSH gradient is released. The time series in |
---|
446 | this case shows the SSH evolution with the water coloured according to local salinity |
---|
447 | values. Encroachment of the high salinity (red) waters into the low salinity (blue) basin |
---|
448 | can clearly be seen. |
---|
449 | |
---|
450 | \namdisplay{nam_wad_tc6} |
---|
451 | |
---|
452 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
453 | \begin{figure}[htb] \begin{center} |
---|
454 | \includegraphics[width=0.8\textwidth]{Fig_WAD_TC6} |
---|
455 | \caption{ \label{Fig_WAD_TC6} |
---|
456 | The evolution of the sea surface height in WAD\_TEST\_CASE 6 from the initial state (t=0) |
---|
457 | over the first three hours of simulation. Water is coloured according to local salinity |
---|
458 | values. Encroachment of the high salinity (red) waters into the low salinity (blue) basin |
---|
459 | can clearly be seen although the largest influx occurs early in the sequence between the |
---|
460 | frames shown.} |
---|
461 | \end{center}\end{figure} |
---|
462 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
463 | |
---|
464 | \clearpage |
---|
465 | \subsubsection [WAD test case 7 : A double slope with shelf, open-ended channel ] |
---|
466 | {WAD test case 7 : A double slope with shelf, open-ended channel} |
---|
467 | \label{WAD_test_case7} |
---|
468 | |
---|
469 | Similar in nature to test case 5 but with an open boundary forced with a sinusoidally |
---|
470 | varying ssh. This test case has been introduced to emulate a typical coastal application |
---|
471 | with a tidally forced open boundary. The bathymetry and setup is identical to test case 5 |
---|
472 | except the right hand end of the channel is now open and has simple ssh and barotropic |
---|
473 | velocity boundary conditions applied at the open boundary. Several additional steps and |
---|
474 | namelist changes are required to run this test. |
---|
475 | |
---|
476 | \namdisplay{nam_wad_tc7} |
---|
477 | |
---|
478 | In addition, the boundary condition files must be generated using the python script |
---|
479 | provided. |
---|
480 | |
---|
481 | \begin{verbatim} |
---|
482 | python ./makebdy_tc7.py |
---|
483 | \end{verbatim} |
---|
484 | |
---|
485 | will create the following boundary files for this test (assuming a suitably configured |
---|
486 | python environment: python2.7 with netCDF4 and numpy): |
---|
487 | |
---|
488 | \begin{verbatim} |
---|
489 | bdyssh_tc7_m12d30.nc bdyuv_tc7_m12d30.nc |
---|
490 | bdyssh_tc7_m01d01.nc bdyuv_tc7_m01d01.nc |
---|
491 | bdyssh_tc7_m01d02.nc bdyuv_tc7_m01d02.nc |
---|
492 | bdyssh_tc7_m01d03.nc bdyuv_tc7_m01d03.nc |
---|
493 | \end{verbatim} |
---|
494 | |
---|
495 | These are sufficient for up to a three day simulation; the script is easily adapted if |
---|
496 | longer periods are required. |
---|
497 | |
---|
498 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
499 | \begin{sidewaysfigure}[htb] \begin{center} |
---|
500 | \includegraphics[width=0.8\textwidth]{Fig_WAD_TC7} |
---|
501 | \caption{ \label{Fig_WAD_TC7} |
---|
502 | The evolution of the sea surface height in WAD\_TEST\_CASE 7 from the initial state (t=0) |
---|
503 | over the first 24 hours of simulation. After the initial surge the solution settles into a |
---|
504 | simulated tidal cycle with an amplitude of 5m. This is enough to repeatedly wet and dry |
---|
505 | both shelves.} |
---|
506 | |
---|
507 | \end{center}\end{sidewaysfigure} |
---|
508 | %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
---|
509 | |
---|
510 | |
---|
511 | % ================================================================ |
---|
512 | |
---|
513 | \bibliographystyle{wileyqj} |
---|
514 | \bibliography{references} |
---|
515 | |
---|
516 | \end{document} |
---|