Filters

This module contains the functions associated with filters needed for numerical stability.

SWAMPE.filters.diffusion(Ximn, sigma)

Applies the diffusion filter described in Gelb and Gleeson (eq. 12).

Parameters
  • Ximn (list) – the spectral coefficient data to be filtered

  • sigma (float) – the hyperviscosity coefficient

Return newXimn

filtered spectral coefficient

Return type

array of float

SWAMPE.filters.modal_splitting(Xidataslice, alpha)

Applies the modal splitting filter from Hack and Jacob (1992).

Parameters
  • Xidata (list) – data array to be filtered

  • alpha (float) – filter coefficient

Return newxi

filtered data slice

Return type

array of float

SWAMPE.filters.sigma(M, N, K4, a, dt)

Computes the coefficient for the fourth degree diffusion filter described in Gelb and Gleeson (eq. 12) for vorticity and divergence.

Parameters

param M

spectral dimension

type M

int

param N

highest degree of associated Legendre polynomials

type N

int

param K4

hyperviscosity coefficient

type K4

float

param a

planetary radius, m

type a

float

param dt

time step,s

type dt

float

Returns

return sigma

coefficient for the diffusion filter for geopotential

rtype

array of float

SWAMPE.filters.sigma6(M, N, K4, a, dt)

Computes the coefficient for the sixth degree diffusion filter for vorticity and divergence.

Parameters
  • M (int) – spectral dimension

  • N (int) – highest degree of associated Legendre polynomials

  • K4 (float64) – hyperviscosity coefficient

  • a (float64) – planetary radius, m

  • dt (float64) – time step,s

Return sigma

coefficient for the diffusion filter for geopotential

Return type

array of float64

SWAMPE.filters.sigma6Phi(M, N, K4, a, dt)

Computes the coefficient for the fourth degree diffusion Filter described in Gelb and Gleeson (eq. 12) for geopotential.

Parameters
  • M (int) – spectral dimension

  • N (int) – highest degree of associated Legendre polynomials

  • K4 (float) – hyperviscosity coefficient

  • a (float) – planetary radius, m

  • dt (float) – time step,s

Return sigma

coefficient for the diffusion filter for geopotential

Return type

array of float

SWAMPE.filters.sigmaPhi(M, N, K4, a, dt)

Computes the coefficient for the fourth degree diffusion Filter described in Gelb and Gleeson (eq. 12) for geopotential.

Parameters
  • M (int) – spectral dimension

  • N (int) – highest degree of associated Legendre polynomials

  • K4 (float) – hyperviscosity coefficient

  • a (float) – planetary radius, m

  • dt (float) – time step,s

Return sigma

coefficient for the diffusion filter for geopotential

Return type

array of float