Presentation on theme: "Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite."— Presentation transcript:
Finite Difference Methods September 2012
Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite differences Applications of grid staggering Impacts of truncation error that arises from the finite difference approximations
Temporal Finite Differences Note: the temporal differencing methods to be discussed apply to grid-point and spectral models. Two types of time differencing schemes… – Explicit: all future time terms appear on one side of an equation – Implicit: future time terms appear on both sides of an equation – Hybrid explicit/implicit schemes also exist. Explicit differences can be solved directly; implicit differences must be solved iteratively.
Explicit Temporal Differences Two methods… – Single step (forward and centered differences) – Multiple step (predictor-corrector methods) Single step example, centered difference: where f is some dependent field (u, v, T, etc.) and F is the forcing on that field
Explicit Temporal Differences Single step example, forward-in-time difference: Let us consider these in the context of a real-world example, a one-dimensional advection equation…
Explicit Temporal Differences Centered difference: Forward-in-time difference: Note: in both cases, we applied a second- order centered finite difference in space. We’ll discuss this method further shortly.
Explicit Temporal Differences In predictor-corrector schemes, a prediction for the dependent field at some future time is first made using some finite difference approximation. From this, the forcing at that future time is obtained, whether from finite difference or spectral methods. That forcing is then used, often with a forward-in- time difference, to integrate to the next time.
Explicit Temporal Differences Example: Runge-Kutta type scheme… – Predict: – With f*, obtain F*. – Predict: – With f τ, obtain F τ. – Correct: Predictor-corrector methods provide superior accuracy at the expense of efficiency.
Explicit Temporal Differences Issue: acoustic and other fast-moving waves – These waves require small time steps to maintain computational stability in the advection terms (CFL) – If not filtered, how to handle need for a small time step? Potential method: split-explicit schemes – Small ∆t for terms representing fast-moving waves – Large ∆t for terms representing slower-moving waves – Reduces number of computations on short time steps – Commonly used with current mesoscale model systems
Implicit Temporal Differences In explicit schemes, the forcing terms (spatial derivatives) are evaluated only at the initial time t. In implicit schemes, these terms are evaluated at the future time t+1 and the initial time t. – In other words, they are valid at t+1/2. – Thus, terms at t+1 appear on both sides of the equation and the time derivative must be solved iteratively.
Implicit Temporal Differences Let us again consider the example of a one- dimensional advection equation… Explicit, forward-in-time approximation: Instead of representing the spatial derivative exclusively at t=t, let us represent it as the average of its values at the initial (t) and future (t+1) times…
Implicit Temporal Differences Spatial finite difference approximation: If we substitute and apply a second-order centered spatial finite difference, this gives us equation (3.21),
Implicit Temporal Differences Advantage: implicit schemes are typically unconditionally stable – CFL criterion for advection terms is thus not a concern – Enables us to use a longer time step to handle all waves Disadvantage: iterative nature requires more computations per time step than explicit schemes Longer time step savings < iterative computational expense
Implicit Temporal Differences To alleviate these issues, semi-implicit methods may be used. – Meteorological terms: handled explicitly – Non-meteorological terms: handled implicitly Alleviating the need for a small time step to maintain linear stability that arises with explicit methods. A common, long time step may be used for all terms because implicit terms are stable for all time steps. – Advantage over split-explicit schemes. – Iterative computational expense is still present, however.
Spatial Differencing We must first establish our frame of reference: fixed to the Earth or fixed to air parcels. Thus far, we have considered a frame of reference tied to the Earth, an Eulerian reference frame. – All terms are defined and computed on a fixed grid. – Example: 1-D advection equation… xx+1x-1 ∆x
Spatial Differencing But, as we’ve discussed before, the CFL criterion applies to the advection terms in this framework. Can we utilize a reference frame that encompasses the advection terms and eliminates this issue? Yes – if we use a reference frame tied to the motion (i.e., fixed to air parcels)!
Spatial Differencing Such a reference frame is known as a Lagrangian reference frame. Because Lagrangian methods follow air parcels, the spatial and vertical resolutions of the model are flow- dependent. – Finer resolution is found in convergent regions. – Coarser resolution is found in divergent regions. – This is not ideal.
Spatial Differencing Alternative: semi-Lagrangian methods – In a Lagrangian framework, only one set of parcels is followed, but is followed over all time steps. – In a semi-Lagrangian framework, a new set of parcels (defined by the chosen grid) is followed at each time step. Parcels are followed utilizing parcel trajectories. – Either forward or backward trajectories may be used. – The spatial derivatives (advection terms) are implicitly accounted for by the along-trajectory evolution.
Semi-Lagrangian Differencing Example: forward trajectories – Evenly-spaced grid (black) is defined at t=t. – Trajectories (red lines) are released from each grid point and followed forward in time to t=t+1 (red dots). – Non-advection terms in the primitive equations change the values of atmospheric fields along the trajectories. – The values of these fields at t=t+1 are then interpolated back to a uniform grid and the process repeated. xx+1x-1
Semi-Lagrangian Differencing Example: backward trajectories – Evenly-spaced grid (black) is defined at t=t+1. – Trajectories (red lines) are released from each grid point and followed backward in time to t=t (red dots). – Non-advection terms in the primitive equations change the values of atmospheric fields along the trajectories. Need to interpolate from evenly-spaced grid valid at t=t to obtain this forcing. But, no interpolation needed for t=t+1 – already on uniform grid! xx+1x-1
Semi-Lagrangian Differencing Backward trajectory methods are preferred. Easier to interpolate from evenly-spaced grids to non-gridded trajectory locations than the inverse. But, how can we represent the example on the previous slide numerically (and not just graphically)?
Semi-Lagrangian Differencing Imagine a two-dimensional grid, as below, at t=t+1. Our parcel location at this time is given by (i,j). (i,j)
Semi-Lagrangian Differencing The backward trajectory from (i,j) is given by the red line. The parcel locations at t=t-1 (x) and t=t (+) are noted in blue. (i,j) X +
Semi-Lagrangian Differencing Let the location of X be and the location of + be. (i,j) X +
Semi-Lagrangian Differencing Let the dependent variable in question be given by f and the forcing by F. We want f t+1 and know f t-1 and f t by interpolation between grid points at the previous times. F is computed locally using Eulerian finite difference methods and then interpolated between grid points. The finite difference can then be explicit or implicit.
Semi-Lagrangian Differencing Explicit: recall our centered-in-time difference... The values of f t+1, f t-1, and F t are taken at their locations along the trajectory, i.e.,
Semi-Lagrangian Differencing Implicit: a generic example can be expressed as... As for the explicit case, the values of f t+1, f t, F t+1, and F t are taken at their locations along the trajectory,
Semi-Lagrangian Differencing Advantages of semi-Lagrangian schemes... – Loss of advection terms eliminates CFL criterion, enabling the usage of a longer time step. – Can be used for either grid point or spectral methods. – Can also be used with semi-implicit differencing schemes. – Minimizes non-linear instability (to be discussed soon). Disadvantage of semi-Lagrangian schemes… – Not energy or mass conserving (a particular problem over long model integrations)
Grid Staggering For some applications, it can be useful to define our dependent variables on two slightly offset grids. This is known as grid staggering. – Both horizontal and vertical grid staggering are possible. – A typical staggering increment is ½ the grid interval. Which variables apply to each grid depends upon the desired computational characteristics.
Grid Staggering simple 1-D example for u and θ (a): must use θ j+1 and θ j-1 (over 2∆x) to compute a centered finite difference (b): can use θ j+½ and θ j-½ (over ∆x) to compute a centered finite difference Staggering halves the effective grid increment and minimizes the impacts of truncation error on the solution.
Grid Staggering There are many examples of staggered grids in current NWP models. Arakawa C-grid: mass variables staggered from kinematic variables; used in WRF-ARW model
Grid Staggering Other staggers… – Arakawa B-grid: akin to C grid, but with mass and kinematic variables staggered on grid centers and corners rather than grid centers and sides – Arakawa E-grid: akin to C grid, except rotated 45° These grids are used by the MM5/NMM-B and WRF- NMM mesoscale models, respectively.
Grid Staggering Grid staggering increases effective resolution but does not increase the number of grid points. Increase in effective resolution requires a smaller time step to meet CFL criterion. – Only if Eulerian differencing methods are used, however. – Recall: as ∆x decreases, Courant number increases. The benefit from reduced truncation error outweighs time step considerations, however.
Truncation Error Many of the primitive equations are differential equations with partial derivative terms. If we utilize grid point methods, these terms must be approximated with finite differences. These approximations introduce error, however, depending upon their complexity. This error is known as truncation error.
Finite Difference Approximations First, however, it is useful to revisit how finite difference approximations are obtained. Any function over an interval – i.e., a partial derivative – can be approximated by a Taylor series. Generally, for a function in x,
Finite Difference Approximations Expanded to several terms, we obtain (3.24), Here, a is our point of interest and x is some point of reference. R is a residual term representing the error.
Finite Difference Approximations This equation is used to obtain finite difference approximations for the function f. The accuracy of each approximation is dependent upon the highest power/order terms retained in the equation. – Retain higher order terms: increased accuracy. – Keep only lower order terms: decreased accuracy.
Finite Difference Approximations Example: first order / two point, forward in space – Let x = a+∆x and truncate 2 nd order and higher terms… – Solve for the derivative…
Finite Difference Approximations Example: first order / two point, backward in space – Let x = a-∆x and truncate 2 nd order and higher terms… – Solve for the derivative… First order schemes are typically not used, however, because they have large truncation errors.
Finite Difference Approximations Example: second order / three point, centered – Let x = a+∆x and truncate 3 nd order and higher terms… – Let x = a-∆x and truncate 3 nd order and higher terms…
Finite Difference Approximations – Subtract the 2 nd equation from the first… – Solve for the first derivative…
Finite Difference Approximations A five point / 4 th order approximation is given by… where the two closest points on each side of a are used in the calculation of the derivative. Any of these – or even higher-order – expressions may be used in numerical models to compute spatial derivatives in physical / grid-point space.
Truncation Error Example: let f be a function for which the derivative is exactly known and compare that result to the finite difference approximations. As in the text, let f = A cos kx, where k = 2π/L and L is the wavelength. Analytic Centered Difference
Truncation Error The ratio of the approximation to the exact value gives the truncation error, where a value of 1 indicates no error. As in the text, trig identities can be used to show: Since k = 2π/L, this ratio varies with ∆x and L.
Truncation Error How does this ratio vary with ∆x and L? – If L is fixed (e.g., depicting some meteorological feature), as ∆x -> 0, ∆x/L -> 0. – As ∆x/L -> 0, k∆x -> 0. – By identity, as k∆x -> 0, sin (k∆x) -> k∆x. Thus, for small ∆x (fine grid spacing), the ratio approaches 1 and the truncation error is small (i.e., the wave is well-resolved).
Truncation Error If n = # of grid points, then L = n∆x.
Truncation Error As ∆x gets smaller, n gets larger (for fixed L). – Ratio asymptotes to 1 as n increases.
Truncation Error As L gets smaller, n gets smaller (for fixed ∆x). – Ratio asymptotes to 1 (0) for very large (small) waves.
Truncation Error Let’s consider a practical example. Let f = A cos kx represent a ridge-trough pattern. If L = 1000 km, what ∆x is needed for n = 10 (i.e., fairly small truncation error)? Since L = n∆x, ∆x = L/n = 1000 km / 10 = 100 km. Similarly, if L = 50 km (e.g., mesohigh-wake low), we need ∆x = 5 km for n = 10.
Truncation Error Thus, to reasonably “resolve” a wave of length L, you need a horizontal grid spacing of at most L/10. Ideally, you want an even-finer grid spacing to better resolve the wave and minimize truncation error. Similar arguments can be made in the inverse to describe the wave(s) that can be resolved for a given horizontal grid spacing.
Grid Spacing Versus Resolution Grid spacing and resolution are NOT interchangeable! Resolution: defined by the wave that the model can resolve for a given grid spacing. The resolution depends upon the grid spacing, yes, but also upon the accuracy of the finite difference approximation used (if using grid point methods). – Better approximation -> less error -> finer resolution
Truncation Error Consider n=6… X X 4 th order 2 nd order
Truncation Error The ratio does not approach 0.96 for the 2 nd order scheme until beyond the limits of the chart. Thus, if simpler finite difference methods are desired, many more grid points n (smaller ∆x) are/is needed to achieve an acceptable truncation error!
Truncation Error With either 4 th or 2 nd order schemes, the error is still unacceptably large at small scales (n<5). We’ll discuss how we can deal with this later. Errors end up manifest in all fields that evolve depending upon gradients… – Geostrophic wind (pressure gradient) – Advection terms (kinematic gradients) – Vertical motion from continuity (kinematic gradients) …and grow upscale and with increasing time!
Truncation Error: Take-Home Points Must consider the length of feature to be resolved. Must consider the # of grid points (or grid spacing) needed to resolve that feature. Must consider the error inherent to the desired finite difference approximation to be used. Aside: this is partially why spectral modeling evolved, but that has its own unique issues that creep up…