Skip to content
Snippets Groups Projects
Commit ee3beccb authored by Bryan Cazabonne's avatar Bryan Cazabonne
Browse files

Fixed several issues in the documentation (links, deprecated API, etc.).

parent c7efc8c0
No related branches found
No related tags found
No related merge requests found
......@@ -42,7 +42,6 @@
package attitude #DDEBD8 {
class Attitude {
+Vector3D estimateSpin
+Attitude withReferenceFrame
+Frame getReferenceFrame
+Rotation getRotation
......@@ -67,20 +66,11 @@
+AttitudeProvider getUnderlyingAttitudeProvider()
}
class SpinStabilized {
+AttitudeProvider getNonRotatingLaw()
}
abstract class GroundPointing {
#Vector3D getTargetPoint
#PVCoordinates getTargetPV
}
abstract class GroundPointingWrapper {
+Attitude getBaseState
+Rotation getCompensation
}
Frame <-up- "1" Attitude
Attitude <-up- AttitudeProvider : create
TimeStamped <|.. Attitude
......@@ -92,7 +82,6 @@
AttitudesSequence "*" o--> AttitudeProvider
AttitudeProvider <--* "1" LofOffsetPointing
AttitudeProvider <|.. GroundPointing
GroundPointing <|-- GroundPointingWrapper
LofOffsetPointing --|> GroundPointing
AttitudeProviderModifier <|-- SpinStabilized
......@@ -100,9 +89,10 @@
GroundPointing <|-- BodyCenterPointing
GroundPointing <|-- NadirPointing
GroundPointing <|-- TargetPointing
GroundPointingWrapper "1" *--> GroundPointing
GroundPointingWrapper <|-- YawCompensation
GroundPointingWrapper <|-- YawSteering
GroundPointing <|-- YawCompensation
AttitudeProviderModifier <|-- YawCompensation
GroundPointing <|-- YawSteering
AttitudeProviderModifier <|-- YawSteering
AttitudeProvider <|-- CelestialBodyPointed
AttitudeProvider <|-- InertialProvider
AttitudeProvider <|-- LofOffset
......
......@@ -48,6 +48,7 @@
+void clearEventsDetectors()
+AttitudeProvider getAttitudeProvider()
+void setAttitudeProvider(AttitudeProvider attitudeProvider)
+MatricesHarvester setupMatricesComputation(String stmName, RealMatrix initialStm, DoubleArrayDictionary initialJacobianColumns)
+Frame getFrame()
+SpacecraftState propagate(AbsoluteDate target)
+SpacecraftState propagate(AbsoluteDate start, AbsoluteDate target)
......@@ -74,9 +75,10 @@
AbstractPropagator <|-- AbstractAnalyticalPropagator
AbstractAnalyticalPropagator <|-- AdapterPropagator
AbstractAnalyticalPropagator <|-- BrouwerLyddanePropagator
AbstractAnalyticalPropagator <|-- EcksteinHechlerPropagator
AbstractAnalyticalPropagator <|-- GLONASSAnalyticalPropagator
AbstractAnalyticalPropagator <|-- KeplerianPropagator
AbstractAnalyticalPropagator <|-- BrouwerLyddanePropagator
AbstractAnalyticalPropagator <|-- Ephemeris
BoundedPropagator <|.. Ephemeris
......@@ -86,7 +88,7 @@
}
package gnss #CCCCC7 {
AbstractAnalyticalPropagator <|-- GPSPropagator
AbstractAnalyticalPropagator <|-- GNSSPropagator
}
}
......@@ -116,6 +118,7 @@
package numerical #CBDBC8 {
NumericalPropagator --|> AbstractIntegratedPropagator
GLONASSNumericalPropagator --|> AbstractIntegratedPropagator
}
}
......
......@@ -60,7 +60,7 @@
}
class Ellipsoid {
+getPlaneSection( Vector3D planePoint, Vector3D planeNormal)
+getPlaneSection(Vector3D planePoint, Vector3D planeNormal)
+isInside(Vector3D point)
+pointOnLimb(Vector3D observer, Vector3D outside)
}
......
......@@ -34,12 +34,11 @@
}
package utils #DDEBD8 {
interface PVCoordinatesProvider
interface ExtendedPVCoordinatesProvider
}
package bodies #DDEBD8 {
interface CelestialBody {
+Frame getFrame()
+Frame getInertiallyOrientedFrame()
+Frame getBodyOrientedFrame()
+String getName()
......@@ -71,30 +70,28 @@
interface IAUPole {
+Vector3D getPole(AbsoluteDate date)
+Vector3D getNode(AbsoluteDate date)
+double getPrimeMeridianAngle(AbsoluteDate date)
}
class IAUPoleFactory {
abstract class PredefinedIAUPoles {
+IAUPole getIAUPole(EphemerisType body)
}
abstract class AbstractCelestialBody
CelestialBodyLoader <|-- JPLEphemeridesLoader
CelestialBodyLoader <|.. JPLEphemeridesLoader
CelestialBody "*" <-left-o "1" CelestialBodyFactory
CelestialBodyFactory "1" o--> "*" CelestialBodyLoader
PVCoordinatesProvider <|.. CelestialBody
CelestialBody -up-> Frame
CelestialBody <|-- AbstractCelestialBody
IAUPole "*" <-left-* "1" IAUPoleFactory : creates
AbstractCelestialBody "1" *--> IAUPole
AbstractCelestialBody <-left- JPLEphemeridesLoader : creates
CelestialBodyFactory "1" o--> "*" CelestialBodyLoader
ExtendedPVCoordinatesProvider <|-- CelestialBody
CelestialBody -up-> Frame
IAUPole "*" <-left-* "1" PredefinedIAUPoles : creates
CelestialBody "1" *--> IAUPole
CelestialBody <-left- JPLEphemeridesLoader : creates
}
package data #DDEBD8 {
interface DataLoader
CelestialBodyLoader ..|> DataLoader
abstract class AbstractSelfFeedingLoader
JPLEphemeridesLoader --|> AbstractSelfFeedingLoader
}
}
......
......@@ -62,7 +62,7 @@
+Vector3D transformVector(Vector3D vector)
+Line transformLine(Line line)
+PVCoordinates transformPVCoordinates(PVCoordinates pv)
+void getJacobian(double[][] jacobian)
+void getJacobian(CartesianDerivativesFilter selector, double[][] jacobian)
+Vector3D getTranslation()
+Vector3D getVelocity()
+Rotation getRotation()
......@@ -70,8 +70,7 @@
}
class UpdatableFrame {
+void setTransform(Transform)
+void updateFrame(...)
+void updateTransform(...)
}
class TopocentricFrame
......
......@@ -77,6 +77,7 @@
+AttitudeProvider getAttitudeProvider()
+void setAttitudeProvider(AttitudeProvider attitudeProvider)
+Frame getFrame()
+MatricesHarvester setupMatricesComputation(String stmName, RealMatrix initialStm, DoubleArrayDictionary initialJacobianColumns)
+SpacecraftState propagate(AbsoluteDate target)
+SpacecraftState propagate(AbsoluteDate start, AbsoluteDate target)
}
......
......@@ -17,7 +17,7 @@
The `org.orekit.attitudes` package provides classes to represent simple attitudes.
## Attitudes Presentation
Some force models, such as the atmospheric drag for maneuvers, need to
know the spacecraft orientation in an inertial frame. Orekit uses a simple
container for Attitude which includes both the geometric part (i.e. rotation)
......@@ -81,9 +81,6 @@ Several pointing laws are modelized :
* TargetPointing, where satellite pointing axis is directed towards given
point on reference body shape.
* GroundPointingWrapper, which is an abstract class used for complex pointing
laws described herebelow.
All these ground pointing laws are relative to corresponding body frame,
which is used for their construction. Depending on their nature, each ground pointing
law also have its own specific construction arguments.
......@@ -94,7 +91,7 @@ Several pointing laws are modelized :
Several classes have been implemented in order to represent attitude laws in which a
_base_ attitude law is used, and a _complementary_ rotation is added in order to fulfill specific
mission constraints. They are gathered under abstract class `GroundPointingWrapper`.
mission constraints.
At this point, implemented laws of this kind are:
* YawCompensation: this law is used to fulfill ground observation constraints
......
......@@ -300,11 +300,17 @@ suited for elliptical orbits. In other words, there is no problem having a small
(or big) eccentricity or inclination. Lyddane helped to solve this issue with
the Brouwer model by summing the long and short periodic variations of the mean anomaly
with the ones of the argument of perigee. One needs still to be careful with
eccentricities lower than 5e-4. For singularity reason, the computation should not
be done for the critical inclination : 63.4°.
eccentricities lower than 5e-4. Singularity for the critical inclination i = 63.4° is
avoided using the method developed in Warren Phipps' 1992 thesis.
The Brouwer-Lyddane model considers J2 to J5 potential zonal coefficients, and uses the
mean and short periodic variation of the keplerian elements to compute the position.
However, for low Earth orbits, the magnitude of the perturbative acceleration due to
atmospheric drag can be significant. Warren Phipps' 1992 thesis considered the atmospheric
drag by time derivatives of the mean mean anomaly using the catch-all coefficient M2.
Usually, M2 is adjusted during an orbit determination process and it represents the
combination of all unmodeled secular along-track effects (i.e. not just the atmospheric drag).
The behavior of M2 is close to the B* parameter for the TLE.
### GNSS propagation
......
......@@ -54,10 +54,10 @@ the XML format and the columns format.
| JPL DE 4xx planets ephemerides | DE 4xx binary | (l/u)nx(m/p)\#\#\#\#.4\#\#[.gz|.Z] | [ftp://ssd.jpl.nasa.gov/pub/eph/planets/Linux/](ftp://ssd.jpl.nasa.gov/pub/eph/planets/Linux/) |
| IMCCE inpop planets ephemerides | DE 4xx binary | inpop\*_m\#\#\#\#_p\#\#\#\#*.dat[.gz|.Z] | [ftp://ftp.imcce.fr/pub/ephem/planets/](ftp://ftp.imcce.fr/pub/ephem/planets/) |
| Eigen gravity field (old format) | SHM format | eigen\_\*\_coef[.gz|.Z] | [http://op.gfz-potsdam.de/grace/results/main\_RESULTS.html#gravity](http://op.gfz-potsdam.de/grace/results/main_RESULTS.html#gravity) |
| gravity fields from International Centre for Global Earth Models | ICGEM format | \*.gfc, g\#\#\#\_eigen\_\*\_coef[.gz|.Z] | [http://icgem.gfz-potsdam.de/ICGEM/modelstab.html](http://icgem.gfz-potsdam.de/ICGEM/modelstab.html) |
| gravity fields from International Centre for Global Earth Models | ICGEM format | \*.gfc, g\#\#\#\_eigen\_\*\_coef[.gz|.Z] | [http://icgem.gfz-potsdam.de/tom_longtime](http://icgem.gfz-potsdam.de/tom_longtime) |
| EGM gravity field | EGM format | egm\#\#\_to\#\*[.gz|.Z] | [ftp://cddis.gsfc.nasa.gov/pub/egm96/general\_info](ftp://cddis.gsfc.nasa.gov/pub/egm96/general_info) |
| Marshall Solar Activity Future Estimation | MSAFE format | jan\#\#\#\#f10.txt to dec\#\#\#\#f10[_prd].txt[.gz|.Z] | [https://www.nasa.gov/msfcsolar/archivedforecast](https://www.nasa.gov/msfcsolar/archivedforecast) |
| Klobuchar coefficients | Bern Astronomical Institute format | CGIM\#\#\#0.\#\#N [.gz|.Z] | [ftp://ftp.aiub.unibe.ch/aiub/CODE/](ftp://ftp.aiub.unibe.ch/aiub/CODE/) |
| Klobuchar coefficients | Bern Astronomical Institute format | CGIM\#\#\#0.\#\#N [.gz|.Z] | [ftp://ftp.aiub.unibe.ch/CODE/](ftp://ftp.aiub.unibe.ch/CODE/) |
| Vienna Mapping Function | VMF | VMF\*.\#\#H | [http://vmf.geo.tuwien.ac.at/trop_products/GRID/](http://vmf.geo.tuwien.ac.at/trop_products/GRID/) |
| Global Ionosphere Map | ionex | \*\.\#\#i | CDDIS |
| space weather | CSSI format |SpaceWeather-All-v1.2.tx | [ftp://ftp.agi.com/pub/DynamicEarthData/SpaceWeather-All-v1.2.txt](ftp://ftp.agi.com/pub/DynamicEarthData/SpaceWeather-All-v1.2.txt) |
......
......@@ -97,8 +97,6 @@
* multiple maneuvers
* state of the art ODE integrators (adaptive stepsize with error control,
continuous output, switching functions, G-stop, step normalization ...)
* computation of Jacobians with respect to orbital parameters and selected
force models parameters
* serialization mechanism to store complete results on persistent storage for
later use
* propagation in non-inertial frames (e.g. for Lagrange point halo orbits)
......@@ -108,8 +106,9 @@
* atmospheric drag
* third body attraction
* radiation pressure with eclipses
* computation of Jacobians with respect to orbital parameters and selected
force models parameters
* computation of Jacobians with respect to orbital parameters and selected
model parameters for numerical, semi-analytical, and analytical propagation
models
* trajectories around Lagragian points using CR3BP model
* tabulated ephemerides
* file based
......@@ -173,7 +172,7 @@
example to detect events only during selected orbits and not others)
* events combination with boolean operators
* ability to run several propagators in parallel and manage their states
simultaneously throughout propagation
simultaneously throughout propagation
* Attitude
......@@ -185,6 +184,7 @@
* tabulated attitudes, either respective to inertial frame or respective to Local Orbital Frames
* specific law for GNSS satellites: GPS (block IIA, block IIF, block IIF), GLONASS, GALILEO, BEIDOU (GEO, IGSO, MEO)
* loading and writing of CCSDS Attitude Data Messages (both AEM, and APM types are supported, in both KVN and XML formats, standalone or in combined NDM)
* exporting of attitude ephemeris in CCSDS AEM file format
* Orbit determination
......@@ -203,11 +203,11 @@
* parameters estimation
* orbital parameters estimation (or only a subset if desired)
* force model parameters estimation (drag coefficients, radiation pressure coefficients,
central attraction, maneuver thrust or flow rate)
central attraction, maneuver thrust, flow rate or start/stop epoch)
* measurements parameters estimation (biases, satellite clock offset, station clock offset,
station position, pole motion and rate, prime meridian correction and rate, total zenith
delay in tropospheric correction)
* can be used with numerical, DSST, SDP4/SGP4, Eckstein-Hechler, Brouwer-Lyddane, or Keplerian propagators
* orbit determination can be performed with numerical, DSST, SDP4/SGP4, Eckstein-Hechler, Brouwer-Lyddane, or Keplerian propagators
* multi-satellites orbit determination
* initial orbit determination methods (Gibbs, Gooding, Lambert and Laplace)
* ground stations displacements due to solid tides
......@@ -268,7 +268,7 @@
* Orbit file handling
* loading of SP3 orbit files (from version a to d)
* loading and writing of CCSDS Orbit Data Messages (both OPM, OEM, OMM and OCM types are supported, in both KVN and XML formats, standalone or in combined NDM)
* loading and writing of CCSDS Orbit Data Messages (OPM, OEM, OMM and OCM types are supported, in both KVN and XML formats, standalone or in combined NDM)
* loading of SEM and YUMA files for GPS constellation
* exporting of ephemeris in CCSDS OEM file format
* loading of ILRS CPF orbit files
......@@ -277,13 +277,14 @@
* atmospheric models (DTM2000, Jacchia-Bowman 2008, NRL MSISE 2000, Harris-Priester and simple exponential models), and Marshall solar Activity Future Estimation, optionally with lift component
* support for CSSI space weather data
* tropospheric delay (modified Saastamoinen, Mendes-Pavlis, Vienna 1, Vienna 3, estimated, fixed)
* tropospheric delay (modified Saastamoinen, estimated, fixed)
* tropospheric mapping functions (Vienna 1, Vienna 3, Global, Niell)
* tropospheric refraction correction angle (Recommendation ITU-R P.834-7 and Saemundssen's formula quoted by Meeus)
* tropospheric model for laser ranging (Marini-Murray)
* tropospheric model for laser ranging (Marini-Murray, Mendes-Pavlis)
* Klobuchar ionospheric model (including parsing α and β coefficients from University of Bern Astronomical Institute files)
* Global Ionospheric Map model
* Global Ionospheric Map (GIM) model
* NeQuick ionospheric model
* VTEC estimated ionospheric model
* VTEC estimated ionospheric model with Single Layer Model (SLM) ionospheric mapping function
* Global Pression and Temperature models (GPT and GPT2)
* geomagnetic field (WMM, IGRF)
* geoid model from any gravity field
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment