avni.tools.bases module#
- avni.tools.bases.eval_vbspl(radius: Union[list, tuple, numpy.ndarray], knots: Union[str, list, tuple, float, numpy.int64, numpy.ndarray, bool])[source]#
 - Evaluate the cubic spline knot with second derivative as 0 at end points.
 In contrast to
eval_splrem(), this function distributes the spline knots unevenly at the specified depths or radii.
- Parameters
 - radiustp.Union[list,tuple,np.ndarray]
 A radius value or array of radii (or alternatively depths) queried in km
- knotstp.Union[str,list,tuple,float,np.int64,np.ndarray,bool]
 A numpy array or list of radii (or depths) of spline knots in km
- Returns
 - vercof, dvercof: float or np.ndarray
 value of the polynomial coefficients at each depth and derivative. Both arrays have size (Nradius, Nsplines).
- Authors
 Raj Moulik (moulik@caa.columbia.edu)
- Last Modified
 2023.02.16 5.00
- avni.tools.bases.eval_splrem(radius: Union[list, tuple, numpy.ndarray], radius_range: Union[list, tuple, numpy.ndarray], nsplines: int)[source]#
 - Evaluate the cubic spline knot with second derivative as 0 at end points.
 In contrast to
eval_vbspl(), this function distributes the spline knots evenly within the radius range.
- Parameters
 - radiustp.Union[list,tuple,np.ndarray]
 A radius value or array of radii (or alternatively depths) queried in km
- radius_rangetp.Union[list,tuple,np.ndarray]
 Limits of the radius (or depths) limits of the region
- nsplinesint
 number of splines within the range
- Returns
 - vercof, dvercof: float or np.ndarray
 value of the polynomial coefficients at each depth and derivative. Both arrays have size (Nradius, Nsplines).
- Authors
 Raj Moulik (moulik@caa.columbia.edu)
- Last Modified
 2023.02.16 5.00
- avni.tools.bases.eval_polynomial(radius: Union[list, tuple, numpy.ndarray], radius_range: Union[list, tuple, numpy.ndarray], rnorm: float, types: list = ['CONSTANT', 'LINEAR'])[source]#
 Evaluate a set of polynomial functions within a range of radii.
- Parameters
 - radiustp.Union[list,tuple,np.ndarray]
 A radius value or array of radii queried in km
- radius_rangetp.Union[list,tuple,np.ndarray]
 Limits of the radius limits of the region
- rnormfloat
 normalization for radius, usually the radius of the planet
- typeslist, optional
 polynomial coefficients to be used for calculation. Options are : TOP,BOTTOM, CONSTANT, LINEAR, QUADRATIC, CUBIC, by default [‘CONSTANT’,’LINEAR’]
- Returns
 - vercof, dvercof: float or np.ndarray
 value of the polynomial coefficients and derivative at each depth size (Nradius)
- Authors
 Raj Moulik (moulik@caa.columbia.edu)
- Last Modified
 2023.02.16 5.00
- avni.tools.bases.eval_splcon(latitude: Union[list, tuple, numpy.ndarray], longitude: Union[list, tuple, numpy.ndarray], xlaspl: numpy.ndarray, xlospl: numpy.ndarray, xraspl: numpy.ndarray)[source]#
 Evaluate spherical splines at a set of locations.
- Parameters
 - latitudetp.Union[list,tuple,np.ndarray]
 Latitudes of locations queried
- longitudetp.Union[list,tuple,np.ndarray]
 Longitudes of locations queried
- xlasplnp.ndarray
 Latitude locations of splines
- xlosplnp.ndarray
 Longitude locations of splines
- xrasplnp.ndarray
 Radius of splines
- Returns
 - horcofnp.ndarray
 Value of the horizontal coefficents at each location. Size of numpy array is [len(latitude) X ncoefhor]
- avni.tools.bases.splcon(lat: float, lon: float, ncoefhor: int, xlaspl: numpy.ndarray, xlospl: numpy.ndarray, xraspl: numpy.ndarray)[source]#
 Evaluate spherical splines at a given location. Modified from the Fortran code splcon.f that is based on Wang and Dahlen (1995) [WD95].
- Parameters
 - latfloat
 latitude query
- lonfloat
 longitude query
- ncoefhorint
 number of splines
- xlasplnp.ndarray
 spline latitudes
- xlosplnp.ndarray
 spline longitudes
- xrasplnp.ndarray
 spline radii
- Returns
 - ncon,icon,con
 number of splines, spline index, and value at each location
- Authors
 Raj Moulik (moulik@caa.columbia.edu)
- Last Modified
 2023.02.16 5.00
- avni.tools.bases.eval_ylm(latitude: Union[list, tuple, numpy.ndarray], longitude: Union[list, tuple, numpy.ndarray], lmaxhor: int, weights: Union[None, list, tuple, numpy.ndarray] = None, grid: bool = False, norm: str = 'ylm')[source]#
 Evaluate spherical harmonics with a specific normalization.
- Parameters
 - latitudetp.Union[list,tuple,np.ndarray]
 Latitudes of locations queried
- longitudetp.Union[list,tuple,np.ndarray]
 Longitudes of locations queried
- lmaxhorint
 Maximum spherical harmonic degree
- weightstp.Union[None,list,tuple,np.ndarray], optional
 Weights to multiply the bases with i.e. coefficients, by default None
- gridbool, optional
 Create a grid based on a combination of latitudes and longitudes, by default False
- normstr, optional
 Spherical harmonic normalization, by default ‘ylm’
- Returns
 - horcof
 Value of the horizontal coefficents at each location. Size of numpy array is [len(latitude) X ((lmaxhor+1)^2)]
- Authors
 Raj Moulik (moulik@caa.columbia.edu)
- Last Modified
 2023.02.16 5.00
- avni.tools.bases.eval_pixel(latitude: Union[list, tuple, numpy.ndarray], longitude: Union[list, tuple, numpy.ndarray], xlapix: Union[list, tuple, numpy.ndarray], xlopix: Union[list, tuple, numpy.ndarray], xsipix: Union[list, tuple, numpy.ndarray])[source]#
 Evaluate pixel values at a set of locations.
- Parameters
 - latitudetp.Union[list,tuple,np.ndarray]
 Latitudes of locations queried
- longitudetp.Union[list,tuple,np.ndarray]
 Longitudes of locations queried
- xlapixtp.Union[list,tuple,np.ndarray]
 Pixel center latitudes
- xlopixtp.Union[list,tuple,np.ndarray]
 Pixel center longitudes
- xsipixtp.Union[list,tuple,np.ndarray]
 Pixel sizes in degrees
- Returns
 - horcof
 Value of the horizontal coefficents at each location. Size of numpy array is [len(latitude) X len(xsipix)]
- Authors
 Raj Moulik (moulik@caa.columbia.edu)
- Last Modified
 2023.02.16 5.00