finite difference methods 18-20 september 2012. thematic outline methods for computing temporal...

55
Finite Difference Methods 18-20 September 2012

Upload: essence-letchworth

Post on 15-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Finite Difference Methods

18-20 September 2012

Page 2: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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

Page 3: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

Page 4: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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

11

11

2

2

ttt

ttt

ftFf

Ft

ff

Page 5: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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…

x

uu

t

u

ttt

ttt

ftFf

Ft

ff

1

1

Page 6: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Explicit Temporal Differences

• Centered difference:

• Forward-in-time difference:

1111

1111

22

ttx

txtt

tx

txt

tt

ux

uutuu

x

uuu

t

uu

ttx

txtt

tx

txt

tt

ux

uutuu

x

uuu

t

uu

2

2

111

111

Note: in both cases, we applied a second-order centered finite

difference in space. We’ll discuss this

method further shortly.

Page 7: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

Page 8: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

tt fFt

f

3

*

tfFt

f

*

2

tt ftFf 1

Page 9: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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

Page 10: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

Page 11: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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…

ttx

txtt u

x

uutuu

2111

Page 12: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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),

tt x

u

x

u

x

u

12

1

ttx

tx

tx

tx

tt u

x

uu

x

uutuu

22211

11

111

Page 13: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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

Page 14: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

Page 15: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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…

x x+1x-1

∆x ∆x

t

uu

t

u

x

uuu

x

uu

x

uu

x

u

xx

x

xxxx

xxx

tt

2

2

2

11

11

11

Page 16: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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)!

Page 17: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

Page 18: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

Page 19: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

x x+1x-1

Page 20: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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!

x x+1x-1

Page 21: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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)?

Page 22: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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)

Page 23: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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

+

Page 24: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Semi-Lagrangian Differencing

Let the location of X be and the location of + be .

(i,j)

X

+

)ˆ,ˆ( ji

)ˆ,ˆ( ji

)~,~( ji

)~,~( ji

Page 25: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Semi-Lagrangian Differencing

• Let the dependent variable in question be given by f and the forcing by F.

• We want ft+1 and know ft-1 and ft 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.

Page 26: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Semi-Lagrangian Differencing

• Explicit: recall our centered-in-time difference...

• The values of ft+1, ft-1, and Ft are taken at their locations along the trajectory, i.e.,

ttt

Ft

ff

2

11

tji

tji

tji

Ft

ff~,~

1ˆ,ˆ

1,

2

Page 27: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Semi-Lagrangian Differencing

• Implicit: a generic example can be expressed as...

• As for the explicit case, the values of ft+1, ft, Ft+1, and Ft are taken at their locations along the trajectory,

)(2

11 tttt FFt

ff

)(2

~,~

1,~

,~

1,

tji

tji

tji

tji FF

tff

Page 28: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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)

Page 29: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

Page 30: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

)(x

u

Page 31: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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

Page 32: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

Page 33: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

Page 34: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

Page 35: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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,

N

nn

nn

xNRx

af

n

axafxf

1

),())(

!

)(()()(

Page 36: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

),()(

!

)(...

)(

6

)()(

2

)()()()()(

3

33

2

22

xNRx

af

N

ax

x

afax

x

afax

x

afaxafxf

N

NN

Page 37: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

Page 38: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Finite Difference Approximations

• Example: first order / two point, forward in space– Let x = a+∆x and truncate 2nd order and higher terms…

– Solve for the derivative…

x

afaxaafxaf

)(

)()()(

x

afxaf

x

af

)()()(

Page 39: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Finite Difference Approximations

• Example: first order / two point, backward in space– Let x = a-∆x and truncate 2nd order and higher terms…

– Solve for the derivative…

• First order schemes are typically not used, however, because they have large truncation errors.

x

afaxaafxaf

)(

)()()(

x

xafaf

x

afxaf

x

af

)()()()()(

Page 40: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Finite Difference Approximations

• Example: second order / three point, centered– Let x = a+∆x and truncate 3nd order and higher terms…

– Let x = a-∆x and truncate 3nd order and higher terms…

2

22 )(

2

)()()()()(

x

afaxa

x

afaxaafxaf

2

22 )(

2

)()()()()(

x

afaxa

x

afaxaafxaf

Page 41: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Finite Difference Approximations

– Subtract the 2nd equation from the first…

– Solve for the first derivative…

x

afxxafxaf

)(

2)()(

x

xafxaf

x

af

2

)()()(

Page 42: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Finite Difference Approximations

• A five point / 4th 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.

))]2()2((12

1))()((

3

2[

1)(xafxafxafxaf

xx

af

Page 43: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

x

xxkAxxkA

x

f

x

f

kxkAx

f

2

)(cos)(cos

sin Analytic

Centered Difference

Page 44: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

xk

xk

kxkAx

xxkAxxkA

xfxf

sin

sin2

)(cos)(cos

Page 45: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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).

Page 46: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Truncation Error

• If n = # of grid points, then L = n∆x.

Page 47: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Truncation Error

• As ∆x gets smaller, n gets larger (for fixed L).– Ratio asymptotes to 1 as n increases.

Page 48: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Truncation Error

• As L gets smaller, n gets smaller (for fixed ∆x).– Ratio asymptotes to 1 (0) for very large (small) waves.

Page 49: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

Page 50: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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.

Page 51: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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

Page 52: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Truncation Error

• Consider n=6…

XX

8.0

96.0

xfxf

xfxf

4th order

2nd order

Page 53: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Truncation Error

• The ratio does not approach 0.96 for the 2nd 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!

Page 54: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

Truncation Error

• With either 4th or 2nd 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!

Page 55: Finite Difference Methods 18-20 September 2012. Thematic Outline Methods for computing temporal finite differences Methods for computing spatial finite

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…