## 2.14.3. Numerical Solution[¶](#numerical-solution "Permalink to this headline")
-------------------------------------------------------------------------------

The numerical implementation of MOSART is mainly based on a subcycling scheme and a local time-stepping algorithm. There are two levels of subcycling. For convenience, we denote \\(T\_{inputs}\\) (s), \\(T\_{mosart}\\) (s), \\(T\_{hillslope}\\) (s) and \\(T\_{channel}\\) (s) as the time steps of runoff inputs (from CLM to MOSART via the flux coupler), MOSART routing, hillslope routing, and channel routing, respectively. The first level of subcycling is between the runoff inputs and MOSART routing. If \\(T\_{inputs}\\) is 10800s and \\(T\_{mosart}\\) is 3600s, three MOSART time steps will be invoked each time the runoff inputs are updated. The second level of subcycling is between the hillslope routing and channel routing. This is to account for the fact that the travel velocity of water across hillslopes is usually much slower than that in the channels. \\(T\_{hillslope}\\) is usually set as the same as \\(T\_{mosart}\\), but within each time step of hillslope routing there are a few time steps for channel routing, i.e., \\(T\_{hillslope} = D\_{levelH2R} \\cdot T\_{channel}\\). The local time-stepping algorithm is to account for the fact that the travel velocity of water is much faster in some river channels (e.g., with steeper bed slope, narrower channel width) than others. That is, for each channel (either a sub-network or main channel), the final time step of local channel routing is given as \\(T\_{local}=T\_{channel}/D\_{local}\\). \\(D\_{local}\\) is currently estimated empirically as a function of local channel slope, width, length and upstream drainage area. If MOSART crashes due to a numerical issue, we recommend increasing \\(D\_{levelH2R}\\) and, if the issue remains, reducing \\(T\_{mosart}\\).

