\, \mbox{is small} \\
1 & \mbox{when} \, x \, \mbox{is large.} 
\end{array} 
\right.$$ Multiple choices are available, as shown in Figure \[fig:regularizers\]. We want a straight line with slope 1 when $x$ is small, then a smooth but rapid cut-off when $x = \frac{u^{\star}}{\mathcal{K}}$ gets too large. Some suitable choices are $(1-\exp{(-x^{\beta})})^{1/\beta}$, or just as cheap to compute, $$g(x) = \left( \tanh{(x^{\beta})} \right)^{1/\beta},
\label{eq:regularizer0}$$ or any variant shown in Figure \[fig:regularizers\]. We choose $g(x)$ with $\beta=4$. The regularization (\[eq:regularizer0\]) to be used in (\[eq:badeulerterm\]) and thus (\[eq:godunovwithKC\]) (likewise (\[eq:godunovwithKTC\]) in the next section) is then modified to $$\frac{u^{\star}}{\mathcal{K}} \mapsto \frac{1}{h}
g(h \frac{u^{\star}}{\mathcal{K}})
\label{eq:regularizer1}$$ where $h$ is the step-size. In the desert test presented above, using the regularizer yields the same results as decreasing $h$ tenfold.

One alternative to the above regularization (\[eq:regularizer1\]) is to use smoothing by a low pass filter which weights a center pixel (map coordinate $i,j$) and its nearest $(2L-1) \times (2L-1) - 1$ neighbors. A neighboring pixel with $X,Y$ distances $i_{x}, j_{y}$ from $(i,j)$, has weight $$w(i_{x},j_{y}) = \left( 1 - (i_{x}/L)^{2} \right)
\left( 1 - (j_{y}/L)^{2} \right)
\label{eq:weightfunction}$$ for all $-L < i_{x} < L$ and $-L < j_{y} < L$, including center at 