Enum Class IERSConventions

java.lang.Object
java.lang.Enum<IERSConventions>
org.orekit.utils.IERSConventions
All Implemented Interfaces:
Serializable, Comparable<IERSConventions>, Constable

public enum IERSConventions extends Enum<IERSConventions>
Supported IERS conventions.
Since:
6.0
Author:
Luc Maisonobe
  • Enum Constant Details

    • IERS_1996

      public static final IERSConventions IERS_1996
      Constant for IERS 1996 conventions.
    • IERS_2003

      public static final IERSConventions IERS_2003
      Constant for IERS 2003 conventions.
    • IERS_2010

      public static final IERSConventions IERS_2010
      Constant for IERS 2010 conventions.
  • Method Details

    • values

      public static IERSConventions[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static IERSConventions valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getNutationReferenceEpoch

      @DefaultDataContext public AbsoluteDate getNutationReferenceEpoch()
      Get the reference epoch for fundamental nutation arguments.

      This method uses the default data context.

      Returns:
      reference epoch for fundamental nutation arguments
      Since:
      6.1
      See Also:
    • getNutationReferenceEpoch

      public AbsoluteDate getNutationReferenceEpoch(TimeScales timeScales)
      Get the reference epoch for fundamental nutation arguments.
      Parameters:
      timeScales - to use for the reference epoch.
      Returns:
      reference epoch for fundamental nutation arguments
      Since:
      10.1
    • evaluateTC

      @DefaultDataContext public double evaluateTC(AbsoluteDate date)
      Evaluate the date offset between the current date and the reference date.

      This method uses the default data context.

      Parameters:
      date - current date
      Returns:
      date offset in Julian centuries
      Since:
      6.1
      See Also:
    • evaluateTC

      public double evaluateTC(AbsoluteDate date, TimeScales timeScales)
      Evaluate the date offset between the current date and the reference date.
      Parameters:
      date - current date
      timeScales - used in the evaluation.
      Returns:
      date offset in Julian centuries
      Since:
      10.1
    • evaluateTC

      @DefaultDataContext public <T extends CalculusFieldElement<T>> T evaluateTC(FieldAbsoluteDate<T> date)
      Evaluate the date offset between the current date and the reference date.

      This method uses the default data context.

      Type Parameters:
      T - type of the field elements
      Parameters:
      date - current date
      Returns:
      date offset in Julian centuries
      Since:
      9.0
      See Also:
    • evaluateTC

      public <T extends CalculusFieldElement<T>> T evaluateTC(FieldAbsoluteDate<T> date, TimeScales timeScales)
      Evaluate the date offset between the current date and the reference date.
      Type Parameters:
      T - type of the field elements
      Parameters:
      date - current date
      timeScales - used in the evaluation.
      Returns:
      date offset in Julian centuries
      Since:
      10.1
    • getNutationArguments

      protected FundamentalNutationArguments getNutationArguments(TimeScales timeScales)
      Get the fundamental nutation arguments. Does not compute GMST based values: gamma, gammaDot.
      Parameters:
      timeScales - other time scales used in the computation including TAI and TT.
      Returns:
      fundamental nutation arguments
      Since:
      10.1
      See Also:
    • getNutationArguments

      @DefaultDataContext public FundamentalNutationArguments getNutationArguments(TimeScale timeScale)
      Get the fundamental nutation arguments.

      This method uses the default data context.

      Parameters:
      timeScale - time scale for computing Greenwich Mean Sidereal Time (typically UT1)
      Returns:
      fundamental nutation arguments
      Since:
      6.1
      See Also:
    • getNutationArguments

      public abstract FundamentalNutationArguments getNutationArguments(TimeScale timeScale, TimeScales timeScales)
      Get the fundamental nutation arguments.
      Parameters:
      timeScale - time scale for computing Greenwich Mean Sidereal Time (typically UT1)
      timeScales - other time scales used in the computation including TAI and TT.
      Returns:
      fundamental nutation arguments
      Since:
      10.1
    • getMeanObliquityFunction

      @DefaultDataContext public TimeScalarFunction getMeanObliquityFunction()
      Get the function computing mean obliquity of the ecliptic.

      This method uses the default data context.

      Returns:
      function computing mean obliquity of the ecliptic
      Since:
      6.1
      See Also:
    • getMeanObliquityFunction

      public abstract TimeScalarFunction getMeanObliquityFunction(TimeScales timeScales)
      Get the function computing mean obliquity of the ecliptic.
      Parameters:
      timeScales - used in computing the function.
      Returns:
      function computing mean obliquity of the ecliptic
      Since:
      10.1
    • getXYSpXY2Function

      @DefaultDataContext public TimeVectorFunction getXYSpXY2Function()
      Get the function computing the Celestial Intermediate Pole and Celestial Intermediate Origin components.

      The returned function computes the two X, Y components of CIP and the S+XY/2 component of the non-rotating CIO.

      This method uses the default data context.

      Returns:
      function computing the Celestial Intermediate Pole and Celestial Intermediate Origin components
      Since:
      6.1
      See Also:
    • getXYSpXY2Function

      public abstract TimeVectorFunction getXYSpXY2Function(TimeScales timeScales)
      Get the function computing the Celestial Intermediate Pole and Celestial Intermediate Origin components.

      The returned function computes the two X, Y components of CIP and the S+XY/2 component of the non-rotating CIO.

      Parameters:
      timeScales - used to define the function.
      Returns:
      function computing the Celestial Intermediate Pole and Celestial Intermediate Origin components
      Since:
      10.1
    • getEarthOrientationAngleFunction

      @DefaultDataContext public TimeScalarFunction getEarthOrientationAngleFunction(TimeScale ut1)
      Get the function computing the raw Earth Orientation Angle.

      This method uses the default data context.

      The raw angle does not contain any correction. If for example dTU1 correction due to tidal effect is desired, it must be added afterward by the caller. The returned value contain the angle as the value and the angular rate as the first derivative.

      Parameters:
      ut1 - UT1 time scale
      Returns:
      function computing the rawEarth Orientation Angle, in the non-rotating origin paradigm
      Since:
      6.1
      See Also:
    • getEarthOrientationAngleFunction

      public TimeScalarFunction getEarthOrientationAngleFunction(TimeScale ut1, TimeScale tai)
      Get the function computing the raw Earth Orientation Angle.

      The raw angle does not contain any correction. If for example dTU1 correction due to tidal effect is desired, it must be added afterward by the caller. The returned value contain the angle as the value and the angular rate as the first derivative.

      Parameters:
      ut1 - UT1 time scale
      tai - TAI time scale
      Returns:
      function computing the rawEarth Orientation Angle, in the non-rotating origin paradigm
      Since:
      10.1
    • getPrecessionFunction

      @DefaultDataContext public TimeVectorFunction getPrecessionFunction()
      Get the function computing the precession angles.

      The function returned computes the three precession angles ψA (around Z axis), ωA (around X axis) and χA (around Z axis). The constant angle ε₀ for the fourth rotation (around X axis) can be retrieved by evaluating the function returned by getMeanObliquityFunction() at nutation reference epoch.

      This method uses the default data context.

      Returns:
      function computing the precession angle
      Since:
      6.1
      See Also:
    • getPrecessionFunction

      public abstract TimeVectorFunction getPrecessionFunction(TimeScales timeScales)
      Get the function computing the precession angles.

      The function returned computes the three precession angles ψA (around Z axis), ωA (around X axis) and χA (around Z axis). The constant angle ε₀ for the fourth rotation (around X axis) can be retrieved by evaluating the function returned by getMeanObliquityFunction() at nutation reference epoch.

      Parameters:
      timeScales - used to define the function.
      Returns:
      function computing the precession angle
      Since:
      10.1
    • getNutationFunction

      @DefaultDataContext public TimeVectorFunction getNutationFunction()
      Get the function computing the nutation angles.

      This method uses the default data context.

      The function returned computes the two classical angles ΔΨ and Δε, and the correction to the equation of equinoxes introduced since 1997-02-27 by IAU 1994 resolution C7 (the correction is forced to 0 before this date)

      Returns:
      function computing the nutation in longitude ΔΨ and Δε and the correction of equation of equinoxes
      Since:
      6.1
    • getNutationFunction

      public abstract TimeVectorFunction getNutationFunction(TimeScales timeScales)
      Get the function computing the nutation angles.

      The function returned computes the two classical angles ΔΨ and Δε, and the correction to the equation of equinoxes introduced since 1997-02-27 by IAU 1994 resolution C7 (the correction is forced to 0 before this date)

      Parameters:
      timeScales - used in the computation including TAI and TT.
      Returns:
      function computing the nutation in longitude ΔΨ and Δε and the correction of equation of equinoxes
      Since:
      10.1
    • getGMSTFunction

      @DefaultDataContext public TimeScalarFunction getGMSTFunction(TimeScale ut1)
      Get the function computing Greenwich mean sidereal time, in radians.

      This method uses the default data context.

      Parameters:
      ut1 - UT1 time scale
      Returns:
      function computing Greenwich mean sidereal time
      Since:
      6.1
      See Also:
    • getGMSTFunction

      public abstract TimeScalarFunction getGMSTFunction(TimeScale ut1, TimeScales timeScales)
      Get the function computing Greenwich mean sidereal time, in radians.
      Parameters:
      ut1 - UT1 time scale
      timeScales - other time scales used in the computation including TAI and TT.
      Returns:
      function computing Greenwich mean sidereal time
      Since:
      10.1
    • getGMSTRateFunction

      @DefaultDataContext public TimeScalarFunction getGMSTRateFunction(TimeScale ut1)
      Get the function computing Greenwich mean sidereal time rate, in radians per second.

      This method uses the default data context.

      Parameters:
      ut1 - UT1 time scale
      Returns:
      function computing Greenwich mean sidereal time rate
      Since:
      9.0
      See Also:
    • getGMSTRateFunction

      public abstract TimeScalarFunction getGMSTRateFunction(TimeScale ut1, TimeScales timeScales)
      Get the function computing Greenwich mean sidereal time rate, in radians per second.
      Parameters:
      ut1 - UT1 time scale
      timeScales - other time scales used in the computation including TAI and TT.
      Returns:
      function computing Greenwich mean sidereal time rate
      Since:
      10.1
    • getGASTFunction

      @DefaultDataContext public TimeScalarFunction getGASTFunction(TimeScale ut1, EOPHistory eopHistory)
      Get the function computing Greenwich apparent sidereal time, in radians.

      This method uses the default data context if eopHistory == null.

      Parameters:
      ut1 - UT1 time scale
      eopHistory - EOP history. If null then no nutation correction is applied for EOP.
      Returns:
      function computing Greenwich apparent sidereal time
      Since:
      6.1
      See Also:
    • getGASTFunction

      public abstract TimeScalarFunction getGASTFunction(TimeScale ut1, EOPHistory eopHistory, TimeScales timeScales)
      Get the function computing Greenwich apparent sidereal time, in radians.
      Parameters:
      ut1 - UT1 time scale
      eopHistory - EOP history. If null then no nutation correction is applied for EOP.
      timeScales - TAI time scale.
      Returns:
      function computing Greenwich apparent sidereal time
      Since:
      10.1
    • getEOPTidalCorrection

      @DefaultDataContext public TimeVectorFunction getEOPTidalCorrection()
      Get the function computing tidal corrections for Earth Orientation Parameters.

      This method uses the default data context.

      Returns:
      function computing tidal corrections for Earth Orientation Parameters, for xp, yp, ut1 and lod respectively
      Since:
      6.1
      See Also:
    • getEOPTidalCorrection

      public abstract TimeVectorFunction getEOPTidalCorrection(TimeScales timeScales)
      Get the function computing tidal corrections for Earth Orientation Parameters.
      Parameters:
      timeScales - used in the computation. The TT and TAI scales are used.
      Returns:
      function computing tidal corrections for Earth Orientation Parameters, for xp, yp, ut1 and lod respectively
      Since:
      10.1
    • getLoveNumbers

      public abstract LoveNumbers getLoveNumbers()
      Get the Love numbers.
      Returns:
      Love numbers
      Since:
      6.1
    • getTideFrequencyDependenceFunction

      @DefaultDataContext public TimeVectorFunction getTideFrequencyDependenceFunction(TimeScale ut1)
      Get the function computing frequency dependent terms (ΔC₂₀, ΔC₂₁, ΔS₂₁, ΔC₂₂, ΔS₂₂).

      This method uses the default data context.

      Parameters:
      ut1 - UT1 time scale
      Returns:
      frequency dependence model for tides computation (ΔC₂₀, ΔC₂₁, ΔS₂₁, ΔC₂₂, ΔS₂₂).
      Since:
      6.1
      See Also:
    • getTideFrequencyDependenceFunction

      public abstract TimeVectorFunction getTideFrequencyDependenceFunction(TimeScale ut1, TimeScales timeScales)
      Get the function computing frequency dependent terms (ΔC₂₀, ΔC₂₁, ΔS₂₁, ΔC₂₂, ΔS₂₂).
      Parameters:
      ut1 - UT1 time scale
      timeScales - other time scales used in the computation including TAI and TT.
      Returns:
      frequency dependence model for tides computation (ΔC₂₀, ΔC₂₁, ΔS₂₁, ΔC₂₂, ΔS₂₂).
      Since:
      10.1
    • getPermanentTide

      public abstract double getPermanentTide()
      Get the permanent tide to be removed from ΔC₂₀ when zero-tide potentials are used.
      Returns:
      permanent tide to remove
    • getSolidPoleTide

      public abstract TimeVectorFunction getSolidPoleTide(EOPHistory eopHistory)
      Get the function computing solid pole tide (ΔC₂₁, ΔS₂₁).
      Parameters:
      eopHistory - EOP history
      Returns:
      model for solid pole tide (ΔC₂₀, ΔC₂₁, ΔS₂₁, ΔC₂₂, ΔS₂₂).
      Since:
      6.1
    • getOceanPoleTide

      public abstract TimeVectorFunction getOceanPoleTide(EOPHistory eopHistory)
      Get the function computing ocean pole tide (ΔC₂₁, ΔS₂₁).
      Parameters:
      eopHistory - EOP history
      Returns:
      model for ocean pole tide (ΔC₂₀, ΔC₂₁, ΔS₂₁, ΔC₂₂, ΔS₂₂).
      Since:
      6.1
    • getNominalTidalDisplacement

      public abstract double[] getNominalTidalDisplacement()
      Get the nominal values of the displacement numbers.
      Returns:
      an array containing h⁽⁰⁾, h⁽²⁾, h₃, hI diurnal, hI semi-diurnal, l⁽⁰⁾, l⁽¹⁾ diurnal, l⁽¹⁾ semi-diurnal, l⁽²⁾, l₃, lI diurnal, lI semi-diurnal, H₀ permanent deformation amplitude
      Since:
      9.1
    • getTidalDisplacementFrequencyCorrectionDiurnal

      public abstract PoissonSeries.CompiledSeries getTidalDisplacementFrequencyCorrectionDiurnal()
      Get the correction function for tidal displacement for diurnal tides.
      • f[0]: radial correction, longitude cosine part
      • f[1]: radial correction, longitude sine part
      • f[2]: North correction, longitude cosine part
      • f[3]: North correction, longitude sine part
      • f[4]: East correction, longitude cosine part
      • f[5]: East correction, longitude sine part
      Returns:
      correction function for tidal displacement
      Since:
      9.1
    • getTidalDisplacementFrequencyCorrectionDiurnal

      protected static PoissonSeries.CompiledSeries getTidalDisplacementFrequencyCorrectionDiurnal(String tableName, int cols, int rIp, int rOp, int tIp, int tOp)
      Get the correction function for tidal displacement for diurnal tides.
      • f[0]: radial correction, longitude cosine part
      • f[1]: radial correction, longitude sine part
      • f[2]: North correction, longitude cosine part
      • f[3]: North correction, longitude sine part
      • f[4]: East correction, longitude cosine part
      • f[5]: East correction, longitude sine part
      Parameters:
      tableName - name for the diurnal tides table
      cols - total number of columns of the diurnal tides table
      rIp - column holding ∆Rf(ip) in the diurnal tides table, counting from 1
      rOp - column holding ∆Rf(op) in the diurnal tides table, counting from 1
      tIp - column holding ∆Tf(ip) in the diurnal tides table, counting from 1
      tOp - column holding ∆Tf(op) in the diurnal tides table, counting from 1
      Returns:
      correction function for tidal displacement for diurnal tides
      Since:
      9.1
    • getTidalDisplacementFrequencyCorrectionZonal

      public abstract PoissonSeries.CompiledSeries getTidalDisplacementFrequencyCorrectionZonal()
      Get the correction function for tidal displacement for zonal tides.
      • f[0]: radial correction
      • f[1]: North correction
      Returns:
      correction function for tidal displacement
      Since:
      9.1
    • getTidalDisplacementFrequencyCorrectionZonal

      protected static PoissonSeries.CompiledSeries getTidalDisplacementFrequencyCorrectionZonal(String tableName, int cols, int rIp, int rOp, int tIp, int tOp)
      Get the correction function for tidal displacement for zonal tides.
      • f[0]: radial correction
      • f[1]: North correction
      Parameters:
      tableName - name for the zonal tides table
      cols - total number of columns of the table
      rIp - column holding ∆Rf(ip) in the table, counting from 1
      rOp - column holding ∆Rf(op) in the table, counting from 1
      tIp - column holding ∆Tf(ip) in the table, counting from 1
      tOp - column holding ∆Tf(op) in the table, counting from 1
      Returns:
      correction function for tidal displacement for zonal tides
      Since:
      9.1
    • getNutationCorrectionConverter

      @DefaultDataContext public IERSConventions.NutationCorrectionConverter getNutationCorrectionConverter()
      Create a function converting nutation corrections between δX/δY and δΔψ/δΔε.
      • δX/δY nutation corrections are used with the Non-Rotating Origin paradigm.
      • δΔψ/δΔε nutation corrections are used with the equinox-based paradigm.

      This method uses the default data context.

      Returns:
      a new converter
      Since:
      6.1
      See Also:
    • getNutationCorrectionConverter

      public IERSConventions.NutationCorrectionConverter getNutationCorrectionConverter(TimeScales timeScales)
      Create a function converting nutation corrections between δX/δY and δΔψ/δΔε.
      • δX/δY nutation corrections are used with the Non-Rotating Origin paradigm.
      • δΔψ/δΔε nutation corrections are used with the equinox-based paradigm.
      Parameters:
      timeScales - used to define the conversion.
      Returns:
      a new converter
      Since:
      10.1
    • loadLoveNumbers

      protected LoveNumbers loadLoveNumbers(String nameLove)
      Load the Love numbers.
      Parameters:
      nameLove - name of the Love number resource
      Returns:
      Love numbers