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 PrecessionNutationModeldate - datepublic double[] getCIPMotionTimeDerivative(AbsoluteDate date)
getCIPMotionTimeDerivative in interface PrecessionNutationModeldate - datepublic boolean isDirect()
isDirect in interface PrecessionNutationModelpublic FrameConvention getOrigin()
getOrigin in interface PrecessionNutationModelpublic boolean isConstant()
isConstant in interface PrecessionNutationModelCopyright © 2021 CNES. All rights reserved.