clenshaw_summation

  • Returns the spatial field for a series of spherical harmonics at a sequence of ungridded points

  • Uses a Clenshaw summation to calculate the spherical harmonic summation

Calling Sequence

from gravity_toolkit.clenshaw_summation import clenshaw_summation
spatial = clenshaw_summation(clm,slm,lon,lat,UNITS=1,LMAX=60,LOVE=LOVE)

Source code

gravity_toolkit.clenshaw_summation(clm, slm, lon, lat, RAD=0, UNITS=0, LMAX=0, LOVE=None, ASTYPE=<class 'numpy.longdouble'>, SCALE=1e-280)[source]

Calculates the spatial field for a series of spherical harmonics for a sequence of ungridded points [26, 70]

Parameters:
clm: np.ndarray

cosine spherical harmonic coefficients

slm: np.ndarray

sine spherical harmonic coefficients

lon: np.ndarray

longitude of points

lat: np.ndarray

latitude of points

RAD: int or float, default 0

Gaussian smoothing radius (km)

UNITS: int, str, list or np.ndarray, default 0

Output data units

  • 1: cm water equivalent thickness (cm w.e., g/cm2)

  • 2: mm geoid height

  • 3: mm elastic crustal deformation [15]

  • 4: microGal gravitational perturbation

  • 5: mbar equivalent surface pressure

  • 6: cm viscoelastic crustal uplift (GIA) [76]

  • list: custom degree-dependent unit conversion factor

LMAX: int, default 0

Upper bound of Spherical Harmonic Degrees

LOVE: tuple or NoneType, default None

Load Love numbers up to degree LMAX (hl, kl, ll)

ASTYPE: np.dtype, default np.longdouble

floating point precision for calculating Clenshaw summation

SCALE: float, default 1e-280

scaling factor to prevent underflow in Clenshaw summation

Returns:
spatial: np.ndarray

calculated spatial field for latitude and longitude