# geocat.comp.spherical.decomposition#

geocat.comp.spherical.decomposition(data, scale, theta, phi, max_harm=23, chunk_size='auto')#

Calculate the spherical harmonics of a dataset.

Parameters
• data (`numpy.ndarray`, `xarray.DataArray`) – 2-dimensional dataset

• scale (`numpy.ndarray`, `xarray.DataArray`) – 2-dimensional array containing the weighting of each point in the data. This is usually the area of the voronoi cell centered on the corresponding datapoint. the `geocat.comp.spherical.scale_voronoi(theta,phi)` function can provide a scale array.

• theta (`numpy.ndarray`, `xarray.DataArray`) – 2-dimensional array containing the theta (longitude in radians) values for each datapoint in data.

• phi (`numpy.ndarray`, `xarray.DataArray`) – 2-dimensional array containing the `theta` (latitude in radians) values for each datapoint in data. `Phi` is zero at the top of the sphere and `pi` at the bottom, `phi = (lat_degrees-90)*(-1)*pi/180`

• max_harm (`int`, optional) – The maximum harmonic value for both m and n. The total of harmonics calculated is `(max_harm+1)*(max_harm+2)/2` Defaults to 23, for 300 total harmonics.

• chunk_size (`int`, optional) – The size of each edge of the dask chunks if using xarray.DataArray inputs. Some arrays will be 2d, and others 1d, and the final calculation operates on a 3d array. thus the chunks used in the largest calculation scale at `chunk_size^3` A chunk size of 256 is recommended. Defaults to ‘auto’

Returns

decomposition (`numpy.ndarray`, `xarray.DataArray`) – The spherical harmonic decomposition of the input data