# What are the differences between implicit and explicit methods when applied to modelling Earth systems?

I am struggling to understand the difference between implicit methods and explicit methods in numerical modelling of Earth processes, particularly when applied to modelling Earth systems in 2 or more dimensions, such as in NWP (Numerical Weather Prediction), for example.

I understand the basic principle for the explicit method: that an explicit model would calculate the new value of each grid square independently for each time step, for example. The application of the implicit method puzzles me though – it seems to require knowledge of both the current state of a system and the latter state, before the latter state is even calculated? Is it somehow extrapolating the outcome?

The answer by @IsopycnalOscillation explains some implications of using explicit and implicit schemes and in what applications one is preferred over the other. Here, I describe how these two methods actually work, and how does the implicit scheme uses knowledge of the later state.

Take the ordinary differential equation:

$$\dfrac{\partial u}{\partial t} = f(u,t)$$

and for simplicity, let $f(u,t) = -cu$, where $c$ is a positive constant and $u = u(t)$. The equation is then:

$$\dfrac{\partial u}{\partial t} = -cu$$

often called the linear drag equation.

Again, for simplicity, we consider the simplest two schemes, a first order forward Euler differencing (explicit), and a first order Euler backward differencing (implicit). As you know, forward Euler differencing yieds:

$$u_{n+1}=u_n-c\Delta tu_{n}=u_n(1-c\Delta t)$$

This method is called explicit because the future state is evaluated as function of the present state. From the von Neumann stability method where the growth factor is defined as:

$$\lambda = \dfrac{u_{n+1}}{u_n} = 1-c\Delta t,$$

the scheme is stable when $|\lambda|<1$, neutral when $|\lambda|=1$, and unstable when $|\lambda|>1$. We see that the forward Euler method applied to the linear drag equation may be unstable.

With the implicit Euler backward differencing, we have:

$$u_{n+1}=u_n-c\Delta t u_{n+1}$$

Rearranging the terms leads us to:

$$u_{n+1} = \dfrac{u_n}{1+c\Delta t}$$

Notice that the $u_{n+1}$ is not found on the right-hand side anymore. Here, the growth factor is:

$$\lambda = \dfrac{1}{1+c\Delta t}$$

We see that, in this case, $|\lambda|<1$ holds for any value of $c$ and $\Delta t$.

Thus, if one is concerned about stability, an implicit method is advantageous for solving this equation. However, notice that the implicit method is more computationally heavy, even in this simple case, because a division is significantly more expensive operation than multiplication. This is especially true in larger and more complex systems of equations where $f(u,t)$ may be a large matrix that need to be inverted.

A good introductory text on these methods and there applications in atmosphere and ocean modeling can be found here: Mesinger and Arakawa: Numerical Methods Used in Atmospheric Models (1976). For more references, see the answer to this question.

Implicit and explicit methods have the same differences no matter what context. The building blocks from which these methods are constructed are the same, they all use Taylor series expansion of a function. Of course, there are many different numerical methods, explicit and implicit, with different degrees of numerical accuracy, consistency and stability.

The choice of using implicit or explicit methods is really dependent on the scales involved, the type of accuracy desired, etc. But practically speaking, the most important factor is computational cost. Although implicit methods are unconditionally stable, they are very costly compared to explicit methods. To try to address some of those issues, a lot of atmospheric and oceanic solvers employ hybrid methods. These are called semi-implicit methods where some terms are implicit and others are explicit in order to reduce the computer time required to solve the equations.

Essentially, if time accuracy is important, explicit methods are more accurate and less computationally expensive. On the other hand, if the goal is forecasting to a reasonable degree of accuracy then an implicit method is best because, even though it is computationally expensive, one can use very large time steps and get to the answer quickly.

Here are some excerpts from my answer here at scicomp ...

"You have to solve a linear system of the type Ax=b in the implicit scheme where as in the explicit scheme you do not,

Your time step in the explicit scheme is limited by the CFL criteria for stability. Implicit schemes are unconditionally stable (though in practice you still need a reasonable time step for accurary)

Typically problems where inertial effects are important are solved by explicit schemes where as quasi-static problems usually use an implicit scheme. However there are exceptions."