Class PythonSeriesTerm


  • public class PythonSeriesTerm
    extends Object
    • Constructor Detail

      • PythonSeriesTerm

        public PythonSeriesTerm()
    • 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
      • 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 increase degree of the component if needed)
        sinID - coefficient for the sine part, at index and degree
        cosID - 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 than degree 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 than degree 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 parameter
        cL - coefficient for mean anomaly of the Moon
        cLPrime - coefficient for mean anomaly of the Sun
        cF - coefficient for L - Ω where L is the mean longitude of the Moon
        cD - coefficient for mean elongation of the Moon from the Sun
        cOmega - coefficient for mean longitude of the ascending node of the Moon
        cMe - coefficient for mean Mercury longitude
        cVe - coefficient for mean Venus longitude
        cE - coefficient for mean Earth longitude
        cMa - coefficient for mean Mars longitude
        cJu - coefficient for mean Jupiter longitude
        cSa - coefficient for mean Saturn longitude
        cUr - coefficient for mean Uranus longitude
        cNe - coefficient for mean Neptune longitude
        cPa - coefficient for general accumulated precession in longitude
        Returns:
        a nutation serie term instance well suited for the set of coefficients