public class PrecessionNutationCache extends Object implements PrecessionNutationModel
This implementation includes a caching/interpolation feature to tremendously improve efficiency. The IAU-2000 model involves lots of terms (1600 components for x, 1275 components for y and 66 components for s). Recomputing all these components for each point is really slow. The shortest period for these components is about 5.5 days (one fifth of the moon revolution period), hence the pole motion is smooth at the day or week scale. This implies that these motions can be computed accurately using a few reference points per day or week and interpolated between these points. This implementation uses 12 points separated by 1/2 day (43200 seconds) each, the resulting maximal interpolation error on the frame is about 1.3×10-10 arcseconds. -- Orekit
This class has been adapted from the CIRF2000Frame Orekit class.
Constructor and Description |
---|
PrecessionNutationCache(PrecessionNutationModel pnModel) |
PrecessionNutationCache(PrecessionNutationModel pnModel,
double span,
int interpolationPoints) |
Modifier and Type | Method and Description |
---|---|
double[] |
getCIPMotion(AbsoluteDate date)
Compute the Celestial Intermediate pole motion in the GCRS.
|
double[] |
getCIPMotionTimeDerivative(AbsoluteDate date)
Compute the Celestial Intermediate pole motion in the GCRS.
|
FrameConvention |
getOrigin()
Get IERS model origin.
|
boolean |
isConstant()
Returns true if model uses constant rotation.
|
boolean |
isDirect()
Return computation type : direct or interpolated.
|
public PrecessionNutationCache(PrecessionNutationModel pnModel, double span, int interpolationPoints)
pnModel
- IERS model to usespan
- time spane between interpolation pointsinterpolationPoints
- number of interpolation points to usepublic PrecessionNutationCache(PrecessionNutationModel pnModel)
pnModel
- IERS model to usepublic double[] getCIPMotion(AbsoluteDate date)
getCIPMotion
in interface PrecessionNutationModel
date
- datepublic double[] getCIPMotionTimeDerivative(AbsoluteDate date)
getCIPMotionTimeDerivative
in interface PrecessionNutationModel
date
- datepublic boolean isDirect()
isDirect
in interface PrecessionNutationModel
public FrameConvention getOrigin()
getOrigin
in interface PrecessionNutationModel
public boolean isConstant()
isConstant
in interface PrecessionNutationModel
Copyright © 2023 CNES. All rights reserved.