Class EOPHistory

java.lang.Object
org.orekit.frames.EOPHistory
Direct Known Subclasses:
PredictedEOPHistory

public class EOPHistory extends Object
This class loads any kind of Earth Orientation Parameter data throughout a large time range.
Author:
Pascal Parraud, Evan Ward
  • Field Details

    • DEFAULT_INTERPOLATION_DEGREE

      public static final int DEFAULT_INTERPOLATION_DEGREE
      Default interpolation degree.
      Since:
      12.0
      See Also:
  • Constructor Details

    • EOPHistory

      @DefaultDataContext protected EOPHistory(IERSConventions conventions, int interpolationDegree, Collection<? extends EOPEntry> data, boolean simpleEOP)
      Simple constructor.

      This method uses the default data context.

      Parameters:
      conventions - IERS conventions to which EOP refers
      interpolationDegree - interpolation degree (must be of the form 4k-1)
      data - the EOP data to use
      simpleEOP - if true, tidal effects are ignored when interpolating EOP
      See Also:
    • EOPHistory

      public EOPHistory(IERSConventions conventions, int interpolationDegree, Collection<? extends EOPEntry> data, boolean simpleEOP, TimeScales timeScales)
      Simple constructor.
      Parameters:
      conventions - IERS conventions to which EOP refers
      interpolationDegree - interpolation degree (must be of the form 4k-1)
      data - the EOP data to use
      simpleEOP - if true, tidal effects are ignored when interpolating EOP
      timeScales - to use when computing EOP corrections.
      Since:
      10.1
  • Method Details

    • isSimpleEop

      public boolean isSimpleEop()
      Determine if this history uses simplified EOP corrections.
      Returns:
      true if tidal corrections are ignored, false otherwise.
    • getInterpolationDegree

      public int getInterpolationDegree()
      Get interpolation degree.
      Returns:
      interpolation degree
      Since:
      12.0
    • getTimeScales

      public TimeScales getTimeScales()
      Get the time scales used in computing EOP corrections.
      Returns:
      set of time scales.
      Since:
      10.1
    • getEOPHistoryWithoutCachedTidalCorrection

      public EOPHistory getEOPHistoryWithoutCachedTidalCorrection()
      Get version of the instance that does not cache tidal correction.
      Returns:
      version of the instance that does not cache tidal correction
      Since:
      12.0
    • cachesTidalCorrection

      public boolean cachesTidalCorrection()
      Check if the instance caches tidal corrections.
      Returns:
      true if the instance caches tidal corrections
      Since:
      12.0
    • getConventions

      public IERSConventions getConventions()
      Get the IERS conventions to which these EOP apply.
      Returns:
      IERS conventions to which these EOP apply
    • getStartDate

      public AbsoluteDate getStartDate()
      Get the date of the first available Earth Orientation Parameters.
      Returns:
      the start date of the available data
    • getEndDate

      public AbsoluteDate getEndDate()
      Get the date of the last available Earth Orientation Parameters.
      Returns:
      the end date of the available data
    • getUT1MinusUTC

      public double getUT1MinusUTC(AbsoluteDate date)
      Get the UT1-UTC value.

      The data provided comes from the IERS files. It is smoothed data.

      Parameters:
      date - date at which the value is desired
      Returns:
      UT1-UTC in seconds (0 if date is outside covered range)
    • getUT1MinusUTC

      public <T extends CalculusFieldElement<T>> T getUT1MinusUTC(FieldAbsoluteDate<T> date)
      Get the UT1-UTC value.

      The data provided comes from the IERS files. It is smoothed data.

      Type Parameters:
      T - type of the field elements
      Parameters:
      date - date at which the value is desired
      Returns:
      UT1-UTC in seconds (0 if date is outside covered range)
      Since:
      9.0
    • getNeighbors

      protected Stream<EOPEntry> getNeighbors(AbsoluteDate central, int n)
      Get the entries surrounding a central date.

      See hasDataFor(AbsoluteDate) to determine if the cache has data for central without throwing an exception.

      Parameters:
      central - central date
      n - number of neighbors
      Returns:
      array of cached entries surrounding specified date
      Since:
      12.0
    • getLOD

      public double getLOD(AbsoluteDate date)
      Get the LoD (Length of Day) value.

      The data provided comes from the IERS files. It is smoothed data.

      Parameters:
      date - date at which the value is desired
      Returns:
      LoD in seconds (0 if date is outside covered range)
    • getLOD

      public <T extends CalculusFieldElement<T>> T getLOD(FieldAbsoluteDate<T> date)
      Get the LoD (Length of Day) value.

      The data provided comes from the IERS files. It is smoothed data.

      Type Parameters:
      T - type of the filed elements
      Parameters:
      date - date at which the value is desired
      Returns:
      LoD in seconds (0 if date is outside covered range)
      Since:
      9.0
    • getPoleCorrection

      public PoleCorrection getPoleCorrection(AbsoluteDate date)
      Get the pole IERS Reference Pole correction.

      The data provided comes from the IERS files. It is smoothed data.

      Parameters:
      date - date at which the correction is desired
      Returns:
      pole correction (PoleCorrection.NULL_CORRECTION if date is outside covered range)
    • getPoleCorrection

      public <T extends CalculusFieldElement<T>> FieldPoleCorrection<T> getPoleCorrection(FieldAbsoluteDate<T> date)
      Get the pole IERS Reference Pole correction.

      The data provided comes from the IERS files. It is smoothed data.

      Type Parameters:
      T - type of the field elements
      Parameters:
      date - date at which the correction is desired
      Returns:
      pole correction (PoleCorrection.NULL_CORRECTION if date is outside covered range)
    • getEquinoxNutationCorrection

      public double[] getEquinoxNutationCorrection(AbsoluteDate date)
      Get the correction to the nutation parameters for equinox-based paradigm.

      The data provided comes from the IERS files. It is smoothed data.

      Parameters:
      date - date at which the correction is desired
      Returns:
      nutation correction in longitude ΔΨ and in obliquity Δε (zero if date is outside covered range)
    • getEquinoxNutationCorrection

      public <T extends CalculusFieldElement<T>> T[] getEquinoxNutationCorrection(FieldAbsoluteDate<T> date)
      Get the correction to the nutation parameters for equinox-based paradigm.

      The data provided comes from the IERS files. It is smoothed data.

      Type Parameters:
      T - type of the field elements
      Parameters:
      date - date at which the correction is desired
      Returns:
      nutation correction in longitude ΔΨ and in obliquity Δε (zero if date is outside covered range)
    • getNonRotatingOriginNutationCorrection

      public double[] getNonRotatingOriginNutationCorrection(AbsoluteDate date)
      Get the correction to the nutation parameters for Non-Rotating Origin paradigm.

      The data provided comes from the IERS files. It is smoothed data.

      Parameters:
      date - date at which the correction is desired
      Returns:
      nutation correction in Celestial Intermediate Pole coordinates δX and δY (zero if date is outside covered range)
    • getNonRotatingOriginNutationCorrection

      public <T extends CalculusFieldElement<T>> T[] getNonRotatingOriginNutationCorrection(FieldAbsoluteDate<T> date)
      Get the correction to the nutation parameters for Non-Rotating Origin paradigm.

      The data provided comes from the IERS files. It is smoothed data.

      Type Parameters:
      T - type of the filed elements
      Parameters:
      date - date at which the correction is desired
      Returns:
      nutation correction in Celestial Intermediate Pole coordinates δX and δY (zero if date is outside covered range)
    • getITRFVersion

      public ITRFVersion getITRFVersion(AbsoluteDate date)
      Get the ITRF version.
      Parameters:
      date - date at which the value is desired
      Returns:
      ITRF version of the EOP covering the specified date
      Since:
      9.2
    • getEopDataType

      public EopDataType getEopDataType(AbsoluteDate date)
      Get the EOP data type.
      Parameters:
      date - date at which the value is desired
      Returns:
      data type of the EOP covering the specified date
      Since:
      13.1.1
    • checkEOPContinuity

      public void checkEOPContinuity(double maxGap)
      Check Earth orientation parameters continuity.
      Parameters:
      maxGap - maximal allowed gap between entries (in seconds)
    • hasDataFor

      protected boolean hasDataFor(AbsoluteDate date)
      Check if the cache has data for the given date using getStartDate() and getEndDate().
      Parameters:
      date - the requested date
      Returns:
      true if the cache has data for the requested date, false otherwise.
    • getEntries

      public List<EOPEntry> getEntries()
      Get a non-modifiable view of the EOP entries.
      Returns:
      non-modifiable view of the EOP entries