shxarray.shlib#

shlib is shxarray’s default binary Cython backend. Some of the heavy lifting such as synthesis and analysis operations, is done using this the functions of this shared library.

class shxarray.shlib.Analysis#

Bases: object

class shxarray.shlib.Pn#

Bases: object

Double precision Legendre polynomial wrapper

class shxarray.shlib.Pnm#

Bases: object

Double precision Legendre polynomial wrapper

idx(self, int n, int m)#
index(self)#
nm(self, size_t idx)#
nmax(self)#
class shxarray.shlib.SHComputeBackend#

Bases: SHComputeBackendBase

analysis(self, dain, nmax, **kwargs)#
gaunt(self, n2, n3, m2, m3)#
gauntReal(self, n2, n3, m2, m3)#
lonlat_grid(self, nmax=None, lon=None, lat=None, gtype='regular')#

Create a lon-lat grid compatible with the SHlib backend :param nmax: Maximum expected degree of the spherical harmonic expansion. :type nmax: int, optional :param gtype: Type of grid to create. Only ‘regular’,’regular_lon0’ and “point” are supported. The regular_lon0 option is a regular grid with the first longitude point at 0 degrees. :type gtype: str, optional

Return type:

An empty xarray.Dataset with CF-complying lon, lat coordinates variables

p2s(self, daobj)#
synthesis(self, dain, dslonlat, **kwargs)#
wigner3j(self, j2, j3, m2, m3)#
class shxarray.shlib.Synthesis#

Bases: object

class shxarray.shlib.Ynm#

Bases: object

Compute surface spherical harmonics in double precision

nmax#
shxarray.shlib.getGaunt(n2, n3, m2, m3)#

Compute non-zero Gaunt coefficients for valid values of n1 and m1

shxarray.shlib.getGauntReal(n2, n3, m2, m3)#

Compute non-zero Real Gaunt coefficients for valid values of n1 and m1

shxarray.shlib.getWigner3j(j2, j3, m2, m3)#

Compute non-zero Wigner3J symbols with their valid (j1,m1) for j2,j3,m2,m3 input

shxarray.shlib.getp2s(daobj)#