public class SphericalHarmonicGravityCoefficients extends Object
Constructor and Description |
---|
SphericalHarmonicGravityCoefficients(double[] zonalCoefficients,
double[][] cosineCoefficients,
double[][] sineCoefficients)
Initializes a new instance from the provided coefficients.
|
SphericalHarmonicGravityCoefficients(int degree,
int order)
Initializes a new instance according to the provided parameters.
|
Modifier and Type | Method and Description |
---|---|
static SphericalHarmonicGravityCoefficients |
createEarthPermanentTideCoefficients()
Creates a set of the default IERS 2003 permanent tide coefficients for Earth.
|
double[][] |
getCosineCoefficients()
Gets the list of cosine coefficients (m= [1, L])
|
int |
getDegree()
Gets the maximum degree of the gravitation coefficients.
|
int |
getOrder()
Gets the maximum order of the gravitation coefficients.
|
double[][] |
getSineCoefficients()
Gets the list of sine coefficients (m= [1, L])
|
double[] |
getZonalCoefficients()
Gets the list of zonal coefficients (the negative of the cosine coefficients for m=0; J2 = -C20, J3 = -C30, etc.).
|
public SphericalHarmonicGravityCoefficients(int degree, int order)
degree
- The degree of the coefficient set.order
- The order of the coefficient set.public SphericalHarmonicGravityCoefficients(@Nonnull double[] zonalCoefficients, @Nonnull double[][] cosineCoefficients, @Nonnull double[][] sineCoefficients)
An consistent gravity field of degree 2 and order 0 would be inferred from a zonalCoefficients array that is size double[3] with cosineCoefficients array that is size double[3][] with cosineCoefficients[0] a double[1], cosineCoefficients[1] a double[1], and cosineCoefficients[2] a double[1]. The sineCoefficients array must be the same size and shape as the cosineCoefficients array. All of the values inside the cosine and sine coefficient arrays should be 0.0 if the order is 0, but this is not enforced. The cosine coefficients are 0.0 because the zonal coefficients incorporate the order 0 terms as J2 = -C20, J3 = -C30, etc. The sine coefficients S20, S30, etc. are 0.0 by definition.
A consistent gravity field of degree 2 and order 1 would be inferred from a zonalCoefficients array that is size double[3] with cosineCoefficients array that is size double[3][] with cosineCoefficients[0] a double[1], cosineCoefficients[1] a double[2], and cosineCoefficients[2] a double[2]. The sineCoefficients array must be the same size and shape as the cosineCoefficients array. Any gravity field with degree greater than 2 and order 1 would have any cosineCoefficients[3] and higher as double[2] as well. The order 0 terms of the cosine and sine arrays should be 0.0 (e.g. sineCoefficients[2][0] == 0.0), but the higher-order terms are typically non-zero (e.g. cosineCoefficients[2][1] != 0.0).
A consistent gravity field of degree and order 2 would be inferred from a zonalCoefficients array that is size double[3] with cosineCoefficients array that is size double[3][] with cosineCoefficients[0] a double[1], cosineCoefficients[1] a double[2], and cosineCoefficients[2] a double[3]. The sineCoefficients array must be the same size and shape as the cosineCoefficients array. Any gravity field with equal degrees and orders would have linearly increasing sizes of the inner double arrays. For example, a gravity field of degree and order 3 would have its cosineCoefficient[3] a double[4].
zonalCoefficients
- The zonal gravity coefficients (J2 = -C20, J3 = -C30, etc.).cosineCoefficients
- The cosine gravity coefficients (C21, C22, C31, etc.).sineCoefficients
- The sine gravity coefficients (S21, S22, S31, etc.).ArgumentNullException
- Thrown when zonalCoefficients
, cosineCoefficients
,
or sineCoefficients
are null.ArgumentException
- Thrown when the input gravity coefficient arrays have inconsistent sizes or shapes with each other
or with the inferred degree and order of the gravity field.public final int getDegree()
public final int getOrder()
public final double[] getZonalCoefficients()
public final double[][] getCosineCoefficients()
public final double[][] getSineCoefficients()
@Nonnull public static SphericalHarmonicGravityCoefficients createEarthPermanentTideCoefficients()
PermanentSolidTideModel
.