Class PythonSeriesTerm
- java.lang.Object
-
- org.orekit.data.PythonSeriesTerm
-
public class PythonSeriesTerm extends Object
-
-
Constructor Summary
Constructors Constructor Description PythonSeriesTerm()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(int index, int degree, double sinID, double cosID)
Add a pair of values to existing term coefficients.double
argument(BodiesElements elements)
Compute the argument for the current date.<T extends CalculusFieldElement<T>>
Targument(FieldBodiesElements<T> elements)
Compute the argument for the current date.double
argumentDerivative(BodiesElements elements)
Compute the time derivative of the argument for the current date.<T extends CalculusFieldElement<T>>
TargumentDerivative(FieldBodiesElements<T> elements)
Compute the time derivative of the argument for the current date.static org.orekit.data.SeriesTerm
buildTerm(int cGamma, int cL, int cLPrime, int cF, int cD, int cOmega, int cMe, int cVe, int cE, int cMa, int cJu, int cSa, int cUr, int cNe, int cPa)
Factory method for building the appropriate object.double[]
derivative(BodiesElements elements)
Evaluate the time derivative of the series term.<T extends CalculusFieldElement<T>>
T[]derivative(FieldBodiesElements<T> elements)
Evaluate the time derivative of the series term.void
finalize()
Part of JCC Python interface to objectdouble
getCosCoeff(int index, int degree)
Get a coefficient for the cosine part.int
getDegree(int index)
Get the degree of the function component.double
getSinCoeff(int index, int degree)
Get a coefficient for the sine part.void
pythonDecRef()
Part of JCC Python interface to objectlong
pythonExtension()
Part of JCC Python interface to objectvoid
pythonExtension(long pythonObject)
Part of JCC Python interface to objectdouble[]
value(BodiesElements elements)
Evaluate the value of the series term.<T extends CalculusFieldElement<T>>
T[]value(FieldBodiesElements<T> elements)
Evaluate the value of the series term.
-
-
-
Method Detail
-
pythonExtension
public void pythonExtension(long pythonObject)
Part of JCC Python interface to object
-
pythonExtension
public long pythonExtension()
Part of JCC Python interface to object
-
finalize
public void finalize() throws Throwable
Part of JCC Python interface to object
-
pythonDecRef
public void pythonDecRef()
Part of JCC Python interface to object
-
argument
public double argument(BodiesElements elements)
Compute the argument for the current date.- Parameters:
elements
- luni-solar and planetary elements for the current date- Returns:
- current value of the argument
-
argumentDerivative
public double argumentDerivative(BodiesElements elements)
Compute the time derivative of the argument for the current date.- Parameters:
elements
- luni-solar and planetary elements for the current date- Returns:
- current time derivative of the argument
-
argument
public <T extends CalculusFieldElement<T>> T argument(FieldBodiesElements<T> elements)
Compute the argument for the current date.- Type Parameters:
T
- the type of the field elements- Parameters:
elements
- luni-solar and planetary elements for the current date- Returns:
- current value of the argument
-
argumentDerivative
public <T extends CalculusFieldElement<T>> T argumentDerivative(FieldBodiesElements<T> elements)
Compute the time derivative of the argument for the current date.- Type Parameters:
T
- the type of the field elements- Parameters:
elements
- luni-solar and planetary elements for the current date- Returns:
- current time derivative of the argument
-
getDegree
public int getDegree(int index)
Get the degree of the function component.- Parameters:
index
- index of the function component (must be less than dimension)- Returns:
- degree of the function component
-
add
public void add(int index, int degree, double sinID, double cosID)
Add a pair of values to existing term coefficients.Despite it would seem logical to simply set coefficients rather than add to them, this does not work for some IERS files. As an example in table 5.3a in IERS conventions 2003, the coefficients for luni-solar term for 2F+Ω with period 13.633 days appears twice with different coefficients, as well as term for 2(F+D+Ω)+l with period 5.643 days, term for 2(F+D+Ω)-l with period 9.557 days, term for 2(Ω-l') with period -173.318 days, term for 2D-l with period 31.812 days ... 35 different duplicated terms have been identified in the tables 5.3a and 5.3b in IERS conventions 2003. The coefficients read in lines duplicating a term must be added together.
- Parameters:
index
- index of the components (will automatically increase dimension if needed)degree
- degree of the coefficients, may be negative if the term does not contribute to component (will automatically increasedegree
of the component if needed)sinID
- coefficient for the sine part, at index and degreecosID
- coefficient for the cosine part, at index and degree
-
getSinCoeff
public double getSinCoeff(int index, int degree)
Get a coefficient for the sine part.- Parameters:
index
- index of the function component (must be less than dimension)degree
- degree of the coefficients (must be less thandegree
for the component)- Returns:
- coefficient for the sine part, at index and degree
-
getCosCoeff
public double getCosCoeff(int index, int degree)
Get a coefficient for the cosine part.- Parameters:
index
- index of the function component (must be less than dimension)degree
- degree of the coefficients (must be less thandegree
for the component)- Returns:
- coefficient for the cosine part, at index and degree
-
value
public double[] value(BodiesElements elements)
Evaluate the value of the series term.- Parameters:
elements
- bodies elements for nutation- Returns:
- value of the series term
-
derivative
public double[] derivative(BodiesElements elements)
Evaluate the time derivative of the series term.- Parameters:
elements
- bodies elements for nutation- Returns:
- time derivative of the series term
-
value
public <T extends CalculusFieldElement<T>> T[] value(FieldBodiesElements<T> elements)
Evaluate the value of the series term.- Type Parameters:
T
- the type of the field elements- Parameters:
elements
- bodies elements for nutation- Returns:
- value of the series term
-
derivative
public <T extends CalculusFieldElement<T>> T[] derivative(FieldBodiesElements<T> elements)
Evaluate the time derivative of the series term.- Type Parameters:
T
- the type of the field elements- Parameters:
elements
- bodies elements for nutation- Returns:
- time derivative of the series term
-
buildTerm
public static org.orekit.data.SeriesTerm buildTerm(int cGamma, int cL, int cLPrime, int cF, int cD, int cOmega, int cMe, int cVe, int cE, int cMa, int cJu, int cSa, int cUr, int cNe, int cPa)
Factory method for building the appropriate object.The method checks the null coefficients and build an instance of an appropriate type to avoid too many unnecessary multiplications by zero coefficients.
- Parameters:
cGamma
- coefficient for γ = GMST + π tide parametercL
- coefficient for mean anomaly of the MooncLPrime
- coefficient for mean anomaly of the SuncF
- coefficient for L - Ω where L is the mean longitude of the MooncD
- coefficient for mean elongation of the Moon from the SuncOmega
- coefficient for mean longitude of the ascending node of the MooncMe
- coefficient for mean Mercury longitudecVe
- coefficient for mean Venus longitudecE
- coefficient for mean Earth longitudecMa
- coefficient for mean Mars longitudecJu
- coefficient for mean Jupiter longitudecSa
- coefficient for mean Saturn longitudecUr
- coefficient for mean Uranus longitudecNe
- coefficient for mean Neptune longitudecPa
- coefficient for general accumulated precession in longitude- Returns:
- a nutation serie term instance well suited for the set of coefficients
-
-