Time Advance¶
Compressible Advance¶
To advance the fully compressible solution in time, ERF uses a 3rd order Runge-Kutta method. By default, acoustic substepping which solves the perturbational equations implicitly in the vertical direction is used in each Runge-Kutta stage, following the approach of Klemp, Skamarock and Dudhia (2007) However, there is a run-time option to turn off the substepping completely.
Specifically, the 3rd order Runge-Kutta method solves
where \(\mathbf{S}\) is the solution vector, in the following three steps:
Anelastic Advance¶
When solving the anelastic rather than fully compressible equations, ERF uses a 2nd order Runge-Kutta method (with no substepping):
Specifically, the 2nd order Runge-Kutta method solves
where \(\mathbf{S}\) is the solution vector, in the following two steps:
Acoustic Sub-stepping¶
When solving the fully compressible equation set, by default we substep the acoustic modes within each Runge-Kutta stage.
Recall the equations in the following form, here defining \(\mathbf{R}\) for each equation to include all additional terms that contribute to the time evolution.
where we have defined \(\mathbf{U} = (U,V,W) = \rho \mathbf{u} = (\rho u, \rho v, \rho w)\) , \(\Theta = \rho \theta\) and \(\mathbf{F}_\mathbf{U} = (F_U, F_V, F_W) = \rho^\prime \mathbf{g} + \nabla \cdot \tau + \mathbf{F}\)
Using the relation \(\nabla p = \gamma R_d \pi \nabla \Theta,\) where the Exner function \(\pi = (p/p_0)^\kappa\) with \(\kappa = R_d / c_p,\) we can re-write the unapproximated momentum equations
We then define new perturbational quantities, e.g., \(\mathbf{U}^{\prime \prime} = \mathbf{U} - \mathbf{U}^t\) where \(\mathbf{U}^t\) is the momentum at the most recent time reached by the “large” time step, which could be \(t^{n}\) or one of the intermediate Runge-Kutta steps. Then the acoustic substepping evolves the equations in the form
where \(\beta_1 = 0.5 (1 - \beta_s)\) and \(\beta_2 = 0.5 (1 + \beta_s)\).
\(\beta_s\) is the acoustic step off-centering coefficient. When we do implicit substepping, we use
the typical WRF value of 0.1. This off-centering is intended to provide damping of both horizontally
and vertically propagating sound waves by biasing the time average toward the future time step.
This may be controlled with the erf.beta_s parameter.
To solve the coupled system, we first evolve the equations for \(U^{\prime \prime, \tau + \delta \tau}\) and \(V^{\prime \prime, \tau + \delta \tau}\) explicitly using \(\Theta^{\prime \prime, \tau}\) which is already known. We then solve a tridiagonal system for \(W^{\prime \prime, \tau + \delta \tau}\), and once \(W^{\prime \prime, \tau + \delta \tau}\) is known, we update \(\rho^{\prime \prime, \tau + \delta \tau}\) and \(\Theta^{\prime \prime, \tau + \delta \tau}.\)
In addition to the acoustic off-centering, divergence damping is also applied to control horizontally propagating sound waves.
where \(\tau*\) is the forward projected value used in RHS of the acoustic substepping equations for horizontal momentum. According to Skamarock et al, this is equivalent to including a horizontal diffusion term in the continuity equation. A typical damping coefficient of \(\beta_d = 0.1\) is used, as in WRF.