Class EOPHistory
- java.lang.Object
-
- org.orekit.frames.EOPHistory
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
PredictedEOPHistory
public class EOPHistory extends Object implements Serializable
This class loads any kind of Earth Orientation Parameter data throughout a large time range.- Author:
- Pascal Parraud, Evan Ward
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_INTERPOLATION_DEGREE
Default interpolation degree.
-
Constructor Summary
Constructors Modifier Constructor Description protected
EOPHistory(IERSConventions conventions, int interpolationDegree, Collection<? extends EOPEntry> data, boolean simpleEOP)
Simple constructor.EOPHistory(IERSConventions conventions, int interpolationDegree, Collection<? extends EOPEntry> data, boolean simpleEOP, TimeScales timeScales)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
cachesTidalCorrection()
Check if the instance caches tidal corrections.void
checkEOPContinuity(double maxGap)
Check Earth orientation parameters continuity.IERSConventions
getConventions()
Get the IERS conventions to which these EOP apply.AbsoluteDate
getEndDate()
Get the date of the last available Earth Orientation Parameters.List<EOPEntry>
getEntries()
Get a non-modifiable view of the EOP entries.EOPHistory
getEOPHistoryWithoutCachedTidalCorrection()
Get version of the instance that does not cache tidal correction.double[]
getEquinoxNutationCorrection(AbsoluteDate date)
Get the correction to the nutation parameters for equinox-based paradigm.<T extends CalculusFieldElement<T>>
T[]getEquinoxNutationCorrection(FieldAbsoluteDate<T> date)
Get the correction to the nutation parameters for equinox-based paradigm.int
getInterpolationDegree()
Get interpolation degree.ITRFVersion
getITRFVersion(AbsoluteDate date)
Get the ITRF version.double
getLOD(AbsoluteDate date)
Get the LoD (Length of Day) value.<T extends CalculusFieldElement<T>>
TgetLOD(FieldAbsoluteDate<T> date)
Get the LoD (Length of Day) value.protected Stream<EOPEntry>
getNeighbors(AbsoluteDate central, int n)
Get the entries surrounding a central date.double[]
getNonRotatinOriginNutationCorrection(AbsoluteDate date)
Get the correction to the nutation parameters for Non-Rotating Origin paradigm.<T extends CalculusFieldElement<T>>
T[]getNonRotatinOriginNutationCorrection(FieldAbsoluteDate<T> date)
Get the correction to the nutation parameters for Non-Rotating Origin paradigm.PoleCorrection
getPoleCorrection(AbsoluteDate date)
Get the pole IERS Reference Pole correction.<T extends CalculusFieldElement<T>>
FieldPoleCorrection<T>getPoleCorrection(FieldAbsoluteDate<T> date)
Get the pole IERS Reference Pole correction.AbsoluteDate
getStartDate()
Get the date of the first available Earth Orientation Parameters.TimeScales
getTimeScales()
Get the time scales used in computing EOP corrections.double
getUT1MinusUTC(AbsoluteDate date)
Get the UT1-UTC value.<T extends CalculusFieldElement<T>>
TgetUT1MinusUTC(FieldAbsoluteDate<T> date)
Get the UT1-UTC value.protected boolean
hasDataFor(AbsoluteDate date)
Check if the cache has data for the given date usinggetStartDate()
andgetEndDate()
.boolean
isSimpleEop()
Determine if this history uses simplified EOP corrections.
-
-
-
Field Detail
-
DEFAULT_INTERPOLATION_DEGREE
public static final int DEFAULT_INTERPOLATION_DEGREE
Default interpolation degree.- Since:
- 12.0
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
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 refersinterpolationDegree
- interpolation degree (must be of the form 4k-1)data
- the EOP data to usesimpleEOP
- if true, tidal effects are ignored when interpolating EOP- See Also:
EOPHistory(IERSConventions, int, Collection, boolean, TimeScales)
-
EOPHistory
public EOPHistory(IERSConventions conventions, int interpolationDegree, Collection<? extends EOPEntry> data, boolean simpleEOP, TimeScales timeScales)
Simple constructor.- Parameters:
conventions
- IERS conventions to which EOP refersinterpolationDegree
- interpolation degree (must be of the form 4k-1)data
- the EOP data to usesimpleEOP
- if true, tidal effects are ignored when interpolating EOPtimeScales
- to use when computing EOP corrections.- Since:
- 10.1
-
-
Method Detail
-
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 forcentral
without throwing an exception.- Parameters:
central
- central daten
- 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)
-
getNonRotatinOriginNutationCorrection
public double[] getNonRotatinOriginNutationCorrection(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)
-
getNonRotatinOriginNutationCorrection
public <T extends CalculusFieldElement<T>> T[] getNonRotatinOriginNutationCorrection(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
-
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 usinggetStartDate()
andgetEndDate()
.- Parameters:
date
- the requested date- Returns:
- true if the
cache
has data for the requested date, false otherwise.
-
-