Commit 8c5166e5 authored by Mélina Vanel's avatar Mélina Vanel
Browse files

Merge branch 'develop' into 'develop'

# Conflicts:
#   src/main/java/org/orekit/files/ccsds/definitions/Units.java
parents 4ac650a7 5234ebf7
Pipeline #1893 passed with stages
in 29 minutes and 23 seconds
Albert Alcarraz García <albert.alcarraz-garcia@c-s.fr> Albert Alcarraz García <albert.alcarraz-garcia@c-s.fr>
Andrea Antolino <andrea.antolino@c-s.fr> Andrea Antolino <Andrea.Antolino@c-s.fr>
Andrea Antolino <andrea.antolino@c-s.fr> Andrea Antolino <andrea.antolino@c-s.fr>
Bruno Revelin <bruno.revelin@c-s.fr> Bruno Revelin <Bruno.Revelin@c-s.fr>
Bryan Cazabonne <bryan.cazabonne@c-s.fr> Bryan <bryan.cazabonne@c-s.com>
Bryan Cazabonne <bryan.cazabonne@c-s.fr> Bryan Cazabonne <bryan.cazabonne@c-s.fr>
Daniel De Sousa <dan.desousa@gmail.com> Daniel De Sousa <dan.desousa@gmail.com>
Evan Ward <evan.ward@nrl.navy.mil> Evan Ward <evan.ward@nrl.navy.mil>
Evan Ward <evan.ward@nrl.navy.mil> Evan Ward <nomail@nowhere.org>
Fabien Maussion <fabien@orekit.org> Fabien Maussion <fabien@orekit.org>
Francesco Rocca <francesco.rocca@telespazio.com> Francesco Rocca <>
Greg Carbott <gregory.carbott@nrl.navy.mil> Greg Carbott <gregory.carbott@nrl.navy.mil>
Guilhem Bonnefille <guilhem.bonnefille@c-s.fr> Guilhem Bonnefille <guilhem.bonnefille@c-s.fr>
Guylaine Prat <guylaine.prat@c-s.fr> Guylaine Prat <guylaine.prat@c-s.fr>
Hank Grabowski <hank@applieddefense.com> Hank Grabowski <hank@applieddefense.com>
Joris Olympio <joris.olympio@c-s.fr> Joris Olympio <joris.olympio@c-s.fr>
Joris Olympio <joris.olympio@c-s.fr> jolympio <joris.olympio@c-s.fr>
Luc Maisonobe <luc@orekit.org> Luc Maisonobe <Luc.Maisonobe@free.fr>
Luc Maisonobe <luc@orekit.org> Luc Maisonobe <Luc.Maisonobe@orekit.org>
Luc Maisonobe <luc@orekit.org> Luc Maisonobe <luc@orekit.org>
Luc Maisonobe <luc@orekit.org> maisonobe <maisonobe@users.noreply.github.com>
Lucian Barbulescu <lucian.barbulescu@c-s.ro> Lucian Barbulescu <lucian.barbulescu@c-s.ro>
Madalin Mamuleanu <mamuleanu.madalin@gmail.com> Madalin Mamuleanu <mamuleanu.madalin@gmail.com>
MaksimP <maksimp86@mail.ru> MaksimP <maksimp86@mail.ru>
Maxime Journot <maxime.journot@c-s.fr> Maxime Journot <Maxime.Journot@c-s.fr>
Maxime Journot <maxime.journot@c-s.fr> Maxime Journot <maxime.journot@c-s.fr>
Nicolas Bernard <nicolas.bernard@c-s.fr> Nicola Bernard <nicolas.bernard@c-s.fr>
Nicolas Bernard <nicolas.bernard@c-s.fr> Nicolas Bernard <nicolas.bernard@c-s.fr>
Pascal Parraud <pascal@orekit.org> Pascal Parraud <pascal@orekit.org>
Pavel Bludov <pbludov@gmail.com> Pavel Bludov <pbludov@gmail.com>
Piotr Listkiewicz <piotr.listkiewicz@gmail.com> Piotr Listkiewicz <piotr.listkiewicz@gmail.com>
Piotr Listkiewicz <piotr.listkiewicz@gmail.com> liscju <piotr.listkiewicz@gmail.com>
rnveach <rveach02@gmail.com> rnveach <rveach02@gmail.com>
Robert Painsi <robertpainsi@gmail.com> Robert Painsi <robertpainsi@gmail.com>
Romain di Costanzo <romain.di-costanzo@c-s.fr> Romain Di Costanzo <romain.di-costanzo@c-s.fr>
Romain di Costanzo <romain.di-costanzo@c-s.fr> rdicosta <romain.di-costanzo@c-s.fr>
Roman Ivanov <ivanov-jr@mail.ru> Roman Ivanov <ivanov-jr@mail.ru>
Sébastien Dinot <sebastien.dinot@c-s.fr> Sebastien Dinot <sebastien.dinot@c-s.fr>
Sébastien Dinot <sebastien.dinot@c-s.fr> Sebastien Dinot <sebastien@dinot.net>
Sébastien Dinot <sebastien.dinot@c-s.fr> Sébastien Dinot <Sebastien.Dinot@c-s.fr>
Sébastien Dinot <sebastien.dinot@c-s.fr> Sébastien Dinot <sebastien.dinot@c-s.fr>
Steven <sljkwsk@yahoo.com> Steven <sljkwsk@yahoo.com>
Steven Ports <steven.ports@c-s.fr> Steven Ports <steven.ports@c-s.fr>
Thierry Ceolin <thierry.ceolin@c-s.fr> Thierry Ceolin <thierry@orekit.org>
Thierry Ceolin <thierry.ceolin@c-s.fr> thierry ceolin <thierry.ceolin@c-s.fr>
Thierry Ceolin <thierry.ceolin@c-s.fr> thierry ceolin <thierry@orekit.org>
Thomas Neidhart <thomas.neidhart@gmail.com> Thomas Neidhart <thomas.neidhart@gmail.com>
Véronique Pommier-Maurussane <vero@orekit.org> Véronique Pommier-Maurussane <vero@orekit.org>
Yannick Jeandroz <yannick.jeandroz@airbus.com> Yannick Jeandroz <yannick.jeandroz@airbus.com>
Abhishek Kumar <abhimait1909@gmail.com> abhishek kumar <abhimait1909@gmail.com>
Albert Alcarraz García <albert.alcarraz-garcia@csgroup.eu> albert alcarraz garcía <albert.alcarraz-garcia@c-s.fr>
Alberto Fossà <alberto.fossa18@gmail.com> alberto fossà <alberto.fossa18@gmail.com>
Alexandr Puzeyev <puzeyev.a@gmail.com> alexandr <puzeyev.a@gmail.com>
Amir Allahvirdi-Zadeh <am.allahverdi@gmail.com> amir allahvirdi-zadeh <am.allahverdi@gmail.com>
Andrea Antolino <andrea.antolino@csgroup.eu> andrea antolino <andrea.antolino@csgroup.eu>
Andrea Antolino <andrea.antolino@csgroup.eu> andrea antolino <andrea.antolino@c-s.fr>
Andrew Goetz <andrew@goetz.space> andrew goetz <andrew@goetz.space>
Andrew Goetz <andrew@goetz.space> andrew goetz <andrew.s.goetz@lmco.com>
Anne-Laure Lugan <anne-laure.lugan@airbus.com> anne-laure lugan <anne-laure.lugan@airbus.com>
Bruno Revelin <bruno.revelin@csgroup.eu> bruno revelin <bruno.revelin@csgroup.eu>
Bruno Revelin <bruno.revelin@csgroup.eu> bruno revelin <bruno.revelin@c-s.fr>
Bryan Cazabonne <bryan.cazabonne@csgroup.eu> bryan cazabonne <bryan.cazabonne@csgroup.eu>
Bryan Cazabonne <bryan.cazabonne@csgroup.eu> bryan cazabonne <bryan.cazabonne@c-s.fr>
Bryan Cazabonne <bryan.cazabonne@csgroup.eu> bryan <bryan.cazabonne@c-s.com>
Chiara Rusconi <chiara.rusconi@csgroup.eu> chiara rusconi <chiara.rusconi@csgroup.eu>
Chiara Rusconi <chiara.rusconi@csgroup.eu> crusconi <chiara.rusconi@csgroup.eu>
Clément Jonglez <clement@jonglez.space> clément jonglez <clement@jonglez.space>
Daniel De Sousa <dan.desousa@gmail.com> daniel de sousa <dan.desousa@gmail.com>
David Soulard <david.soulard@csgroup.eu> david soulard <david.soulard@csgroup.eu>
David Soulard <david.soulard@csgroup.eu> david soulard <david.soulard@c-s.fr>
Dylan Gautreau <dylan.gautreau@csgroup.eu> dylan gautreau <dylan.gautreau@csgroup.eu>
Dylan Gautreau <dylan.gautreau@csgroup.eu> dylan gautreau <dylan.gautreau@c-s.fr>
Evan Ward <evan.ward@nrl.navy.mil> evan ward <evan.ward@nrl.navy.mil>
Evan Ward <evan.ward@nrl.navy.mil> evan ward <nomail@nowhere.org>
Fabien Maussion <fabien@orekit.org> fabien maussion <fabien@orekit.org>
Francesco Rocca <francesco.rocca@telespazio.com> francesco rocca <>
Gabriele Serafini <gabriele.serafini94@gmail.com> gabriele serafini <gabriele.serafini94@gmail.com>
Greg Carbott <gregory.carbott@nrl.navy.mil> greg carbott <gregory.carbott@nrl.navy.mil>
Guilhem Bonnefille <guilhem.bonnefille@csgroup.eu> guilhem bonnefille <guilhem.bonnefille@csgroup.eu>
Guilhem Bonnefille <guilhem.bonnefille@csgroup.eu> guilhem bonnefille <guilhem.bonnefille@c-s.fr>
Guillaume Obrecht <guillaume.obrecht@gmail.com> guillaume obrecht <guillaume.obrecht@gmail.com>
Guylaine Prat <guylaine.prat@csgroup.eu> guylaine prat <guylaine.prat@csgroup.eu>
Guylaine Prat <guylaine.prat@csgroup.eu> guylaine prat <guylaine.prat@c-s.fr>
Hank Grabowski <hank@applieddefense.com> hank grabowski <hank@applieddefense.com>
Joris Olympio <joris.olympio@csgroup.eu> joris olympio <joris.olympio@csgroup.eu>
Joris Olympio <joris.olympio@csgroup.eu> joris olympio <joris.olympio@c-s.fr>
Joris Olympio <joris.olympio@csgroup.eu> jolympio <joris.olympio@c-s.fr>
Julie Bayard <julie.bayard@csgroup.eu> jbayard <jbayard@po18076lx>
Julio Hernanz González <juliohernanzgonzalez@gmail.com> julio hernanz gonzález <juliohernanzgonzalez@gmail.com>
Lara Hue <lara.hue@airbus.com> lara hue <lara.hue@airbus.com>
Lars Næsbye Christensen <lars@naesbye.dk> lars næsbye christensen <lars@naesbye.dk>
Laurene Beauvalet <laurene.beauvalet@csgroup.eu> laurene beauvalet <laurene.beauvalet@csgroup.eu>
Laurene Beauvalet <laurene.beauvalet@csgroup.eu> laurene beauvalet <laurene.beauvalet@c-s.fr>
Luc Maisonobe <luc@orekit.org> luc maisonobe <luc.maisonobe@csgroup.eu>
Luc Maisonobe <luc@orekit.org> luc maisonobe <luc.maisonobe@c-s.fr>
Luc Maisonobe <luc@orekit.org> luc maisonobe <luc.maisonobe@free.fr>
Luc Maisonobe <luc@orekit.org> luc maisonobe <luc.maisonobe@orekit.org>
Luc Maisonobe <luc@orekit.org> luc maisonobe <luc@orekit.org>
Luc Maisonobe <luc@orekit.org> maisonobe <maisonobe@users.noreply.github.com>
Lucian Barbulescu <lucian.barbulescu@c-s.ro> lucian barbulescu <lucian.barbulescu@c-s.ro>
Lukas Matt <lukas@zauberstuhl.de> lukas matt <lukas@zauberstuhl.de>
Madalin Mamuleanu <mamuleanu.madalin@gmail.com> madalin mamuleanu <mamuleanu.madalin@gmail.com>
MaksimP <maksimp86@mail.ru> maksimp <maksimp86@mail.ru>
Mark Rutten <markgrutten@yahoo.com.au> mark rutten <markgrutten@yahoo.com.au>
Maxime Journot <maxime.journot@csgroup.eu> maxime journot <maxime.journot@csgroup.eu>
Maxime Journot <maxime.journot@csgroup.eu> maxime journot <maxime.journot@c-s.fr>
Mélina Vanel <melina.vanel@csgroup.eu> mélina vanel <melina.vanel@csgroup.eu>
Mélina Vanel <melina.vanel@csgroup.eu> mélina vanel <melina.vanel@c-s.fr>
Mélina Vanel <melina.vanel@csgroup.eu> mvanel <Mélina Vanel>
Mikael Fillastre <mikael.fillastre@exotrail.com> mikael fillastre <mikael.fillastre@exotrail.com>
Nick Mancuso <nicholas.mancuso13@gmail.com> nick mancuso <nicholas.mancuso13@gmail.com>
Nicolas Bernard <nicolas.bernard@csgroup.eu> nicola bernard <nicolas.bernard@c-s.fr>
Nicolas Bernard <nicolas.bernard@csgroup.eu> nicolas bernard <nicolas.bernard@csgroup.eu>
Nicolas Bernard <nicolas.bernard@csgroup.eu> nicolas bernard <nicolas.bernard@c-s.fr>
Nicolas Fialton <nicolas.fialton@csgroup.eu> nfialton <nfialton@pc16565lx>
Pascal Parraud <pascal@orekit.org> pascal parraud <pascal@orekit.org>
Pascal Parraud <pascal@orekit.org> pascal parraud <pascal.parraud@csgroup.eu>
Pascal Parraud <pascal@orekit.org> pascal parraud <pascal.parraud@c-s.fr>
Pavel Bludov <pbludov@gmail.com> pavel bludov <pbludov@gmail.com>
Petrus Hyvönen <petrus.hyvonen@sscspace.com> petrus hyvönen <petrus.hyvonen@sscspace.com>
Piotr Listkiewicz <piotr.listkiewicz@gmail.com> piotr listkiewicz <piotr.listkiewicz@gmail.com>
Piotr Listkiewicz <piotr.listkiewicz@gmail.com> liscju <piotr.listkiewicz@gmail.com>
plan3d <plan3d@tutanota.com> plan3d <plan3d@tutanota.com>
Pol Mesalles <pol.developer1@gmail.com> pol mesalles <pol.developer1@gmail.com>
Raphaël Fermé <raphael.ferme@csgroup.eu> ferme raphael <rferme@idsi0.si.c-s.fr>
Raphaël Fermé <raphael.ferme@csgroup.eu> raphael ferme <rferme@csgroup.eu>
Raphaël Fermé <raphael.ferme@csgroup.eu> raphael ferme <rferme@c-s.fr>
rnveach <rveach02@gmail.com> rnveach <rveach02@gmail.com>
Robert Painsi <robertpainsi@gmail.com> robert painsi <robertpainsi@gmail.com>
Romain di Costanzo <romain.di-costanzo@csgroup.eu> romain di costanzo <romain.di-costanzo@csgroup.eu>
Romain di Costanzo <romain.di-costanzo@csgroup.eu> romain di costanzo <romain.di-costanzo@c-s.fr>
Romain di Costanzo <romain.di-costanzo@csgroup.eu> rdicosta <romain.di-costanzo@c-s.fr>
Roman Ivanov <ivanov-jr@mail.ru> roman ivanov <ivanov-jr@mail.ru>
Romaric Her <romaric.her@csgroup.eu> romaric her <romaric.her@csgroup.eu>
Romaric Her <romaric.her@csgroup.eu> romaric her <romaric.her@c-s.fr>
Sébastien Dinot <sebastien.dinot@csgroup.eu> sebastien dinot <sebastien.dinot@c-s.fr>
Sébastien Dinot <sebastien.dinot@csgroup.eu> sebastien dinot <sebastien.dinot@csgroup.eu>
Sébastien Dinot <sebastien.dinot@csgroup.eu> sebastien dinot <sebastien.dinot@free.fr>
Sébastien Dinot <sebastien.dinot@csgroup.eu> sebastien dinot <sebastien@dinot.net>
Sébastien Dinot <sebastien.dinot@csgroup.eu> sebastien dinot <sebastien@palabritudes.net>
Sébastien Dinot <sebastien.dinot@csgroup.eu> sébastien dinot <sebastien.dinot@c-s.fr>
Shipping Enjoyer <ezp33940@zwoho.com> user <user@user.user>
Shiva Iyer <shiva.iyer@gmail.com> shiva_iyer <shiva.iyer@gmail.com>
Steven <sljkwsk@yahoo.com> steven <sljkwsk@yahoo.com>
Steven Ports <steven.ports@csgroup.eu> steven ports <steven.ports@csgroup.eu>
Steven Ports <steven.ports@csgroup.eu> steven ports <steven.ports@c-s.fr>
Thierry Ceolin <thierry.ceolin@csgroup.eu> thierry ceolin <thierry.ceolin@csgroup.eu>
Thierry Ceolin <thierry.ceolin@csgroup.eu> thierry ceolin <thierry.ceolin@c-s.fr>
Thierry Ceolin <thierry.ceolin@csgroup.eu> thierry ceolin <thierry@orekit.org>
Thomas Neidhart <thomas.neidhart@gmail.com> thomas neidhart <thomas.neidhart@gmail.com>
Thomas Paulet <thomas.paulet@csgroup.eu> thomas paulet <thomas.paulet@csgroup.eu>
Thomas Paulet <thomas.paulet@csgroup.eu> thomas paulet <thomas.paulet@c-s.fr>
Thomas Paulet <thomas.paulet@csgroup.eu> root <root@po18481lx>
Véronique Pommier-Maurussane <vero@orekit.org> véronique pommier-maurussane <vero@orekit.org>
Vincent Mouraux <vincent.mouraux@c-s.fr> vincent mouraux <vincent.mouraux@csgroup.eu>
Vincent Mouraux <vincent.mouraux@c-s.fr> vincent mouraux <vincent.mouraux@c-s.fr>
Vyom Yadav <jackhammervyom@gmail.com> vyom-yadav <jackhammervyom@gmail.com>
Vyom Yadav <jackhammervyom@gmail.com> vyomyadav <jackhammervyom@gmail.com>
William Desprats <william.desprats@csgroup.eu> william desprats <william.desprats@csgroup.eu>
William Desprats <william.desprats@csgroup.eu> william desprats <william.desprats@c-s.fr>
Yannick Jeandroz <yannick.jeandroz@airbus.com> yannick jeandroz <yannick.jeandroz@airbus.com>
Yannick Jeandroz <yannick.jeandroz@airbus.com> yannick jeandroz <yannick.jeandroz@gmail.com>
......@@ -2,7 +2,7 @@
<project name="orekit" default="jar" basedir=".">
<property name="project.version" value="11.1-SNAPSHOT" />
<property name="project.version" value="11.2-SNAPSHOT" />
<property name="src.dir" location="src" />
<property name="main.src.dir" value="${src.dir}/main/java" />
......@@ -46,7 +46,7 @@
<property name="hamcrest.maven.path" value="org/hamcrest" />
<property name="maven.repository" value="https://repo1.maven.org/maven2" />
<property name="copyright" value="2002-2021 CS GROUP" />
<property name="copyright" value="2002-2022 CS GROUP" />
<available file="${lib.dir}/${hipparchus.core.jar}" property="libs.present" />
......
......@@ -5,7 +5,7 @@
<groupId>org.orekit</groupId>
<artifactId>orekit</artifactId>
<packaging>jar</packaging>
<version>11.1-SNAPSHOT</version>
<version>11.2-SNAPSHOT</version>
<name>ORbit Extrapolation KIT</name>
<url>http://www.orekit.org/</url>
......@@ -33,7 +33,7 @@
<orekit.maven-jxr-plugin.version>3.1.1</orekit.maven-jxr-plugin.version>
<orekit.plantuml-maven-plugin.version>1.2</orekit.plantuml-maven-plugin.version>
<orekit.plantuml.version>1.2021.10</orekit.plantuml.version>
<orekit.maven-project-info-reports-plugin.version>3.1.2</orekit.maven-project-info-reports-plugin.version>
<orekit.maven-project-info-reports-plugin.version>3.2.1</orekit.maven-project-info-reports-plugin.version>
<orekit.maven-resources-plugin.version>3.2.0</orekit.maven-resources-plugin.version>
<orekit.maven-site-plugin.version>3.9.1</orekit.maven-site-plugin.version>
<orekit.maven-wagon-ssh-plugin.version>3.4.1</orekit.maven-wagon-ssh-plugin.version>
......@@ -200,6 +200,9 @@
<contributor>
<name>Daniel Aguilar Taboada</name>
</contributor>
<contributor>
<name>Louis Aucouturier</name>
</contributor>
<contributor>
<name>Lucian B&#259;rbulescu</name>
</contributor>
......@@ -324,7 +327,7 @@
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
......@@ -583,6 +586,11 @@
<artifactId>maven-jxr-plugin</artifactId>
<version>${orekit.maven-jxr-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${orekit.maven-project-info-reports-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
......
......@@ -20,7 +20,74 @@
<title>Orekit Changes</title>
</properties>
<body>
<release version="11.1" date="TBD" description="TBD">
<release version="11.2" date="TBD" description="TBD">
<action dev="pascal" type="fix" issue="908">
Fixed unmanaged comment in OMM.
</action>
<action dev="pascal" type="fix" issue="906">
Fixed unmanaged units in OMM.
</action>
<action dev="bryan" type="add" issue="900">
Added init method in {Field}AdditionalStateProvider.
</action>
<action dev="louis" type="add" issue="888">
Added J2-contribution for relativistic clock correction.
</action>
<action dev="louis" type="add" issue="759">
Added data loaders for Space Environment's JB2008 data.
</action>
<action dev="bryan" type="add" issue="898">
Added static method to create a BodyFacade from a CenterName.
</action>
</release>
<release version="11.1.1" date="2022-03-17"
description="Version 11.1.1 is a patch release of Orekit.
It fixes issues related to the parsing of SP3 and Rinex files. It also takes
additional derivatives into account in {Field}SpacecraftState.shiftedBy method.
Finally it includes some improvements in the class documentation">
<action dev="lars" type="add" issue="896">
Added Git configuration instructions in contributing guide.
</action>
<action dev="lars" type="fix" issue="897">
Corrected wrong path in release guide.
</action>
<action dev="bryan" type="fix" issue="894">
Fixed dead link in contributing guidelines.
</action>
<action dev="bryan" type="fix" issue="698">
Added missing BDS-3 signal for Rinex 3.04.
</action>
<action dev="bryan" type="fixed" issue="892">
Removed check of not supported keys in RinexLoader.
</action>
<action dev="lirw1984" type="update" issue="895">
Enhanced parsing of SP3 files.
</action>
<action dev="luc" type="add" issue="902">
Take additional derivatives into account in {Field}SpacecraftState.shiftedBy.
</action>
</release>
<release version="11.1" date="2022-02-14"
description="Version 11.1 is a minor release of Orekit.
It includes both new features and bug fixes. New features introduced
in 11.1 are: the estimation of maneuver start/stop time, the Brouwer-Lyddane
orbit propagation model with Warren Phipps’ correction for the critical
inclination of 63.4° and the perturbative acceleration due to atmospheric
drag, the Extended Semi-analytical Kalman Filter, a new API for
State Transition Matrix and Jacobian matrices computation, orbit
determination using analytical propagation models, parsing of ICGEM V2.0 format.
This release includes important fixes in CCSDS files, TimeSpanMap, and
display of dates. See the list below for a full description of the changes.">
<action dev="luc" type="fix" issue="722">
Prefer values from Bulletin B rather than Bulletin A if both are present
in rapid data column format. This handling of priority was already in
place for XML file, but not for column format.
</action>
<action dev="luc" type="fix" issue="448">
Added support for ICGEM V2.0 format for piecewise gravity fields
that contain discontinuities around major earthquakes, like
Eigen 6S4 V2.
</action>
<action dev="andrewsgoetz" type="add">
Added Automatic-Module-Name "org.orekit" to JAR manifest to improve usability
of Orekit by modular Java projects.
......
......@@ -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
}
}
......
......@@ -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)
}
......
......@@ -1161,7 +1161,7 @@ abstract class PredefinedIAUPoles implements IAUPole {
public static PredefinedIAUPoles getIAUPole(final EphemerisType body,
final TimeScales timeScales) {
switch(body) {
switch (body) {
case SUN :
return new Sun(timeScales);
case MERCURY :
......
......@@ -103,6 +103,7 @@ public enum OrekitMessages implements Localizable {
MISSING_GRAVITY_FIELD_COEFFICIENT_IN_FILE("missing gravity field coefficient {0}({1}, {2}) in file {3}"),
TOO_LARGE_DEGREE_FOR_GRAVITY_FIELD("too large degree (n = {0}, potential maximal degree is {1})"),
TOO_LARGE_ORDER_FOR_GRAVITY_FIELD("too large order (m = {0}, potential maximal order is {1})"),
WRONG_DEGREE_OR_ORDER("no term ({0}, {1}) in a {2}x{3} spherical harmonics decomposition"),
SEVERAL_REFERENCE_DATES_IN_GRAVITY_FIELD("several reference dates ({0} and {1} differ by {3,number,0.0##############E0} s) found in gravity field file {2}"),
NO_TLE_FOR_OBJECT("no TLE data available for object {0}"),
NO_TLE_FOR_LAUNCH_YEAR_NUMBER_PIECE(
......
/* Copyright 2002-2022 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.estimation.measurements.modifiers;
import org.orekit.utils.Constants;
import org.orekit.utils.TimeStampedPVCoordinates;
import org.hipparchus.util.FastMath;
import org.orekit.estimation.measurements.EstimatedMeasurement;
import org.orekit.frames.Frame;
import org.orekit.orbits.KeplerianOrbit;
import org.orekit.propagation.SpacecraftState;
/**
* Class modifying theoretical measurements with relativistic J2 clock correction.
* <p>
* Relativistic clock correction of the effects caused by the oblateness of Earth on
* the gravity potential.
* </p>
* <p>
* The time delay caused by this effect is computed based on the orbital parameters of the
* emitter's orbit.
* </p>
*
* @author Louis Aucouturier
* @since 11.2
*
* @see "Teunissen, Peter, and Oliver Montenbruck, eds. Springer handbook of global navigation
* satellite systems. Chapter 19.2. Equation 19.18 Springer, 2017."
*/
public class AbstractRelativisticJ2ClockModifier {
/**
* Relativistic J2 effect constant.
*/
private final double cJ2;
/** Central attraction coefficient. */
private final double gm;
/**
* Constructor for the Relativistic J2 Clock modifier.
* @param gm Earth gravitational constant (mu) in m³/s².
* @param c20 Earth un-normalized second zonal coefficient (Signed J2 constant, is negative) (Typical value -1.0826e-3).
* @param equatorialRadius Earth equatorial radius in m.
*/
public AbstractRelativisticJ2ClockModifier(final double gm,
final double c20,
final double equatorialRadius) {
this.cJ2 = 1.5 * c20 * equatorialRadius * equatorialRadius /
(Constants.SPEED_OF_LIGHT * Constants.SPEED_OF_LIGHT);
this.gm = gm;
}
/**
* Computes the relativistic J2 clock time delay correction.
*
* @param estimated EstimatedMeasurements on which to calculate the correction
* @return dt_relJ2clk Time delay due to the relativistic J2 clock effect in seconds
*/
protected double relativisticJ2Correction(final EstimatedMeasurement<?> estimated) {
// Extracting the state of the receiver to determine the frame and mu
/**
* The satellite states are stored at the creation of the estimated measurements
* and can contain up to 2 elements. In most cases, only the receiver's state and
* therefore frame is stored, with the emitter's frame corresponding to the receiver's.
* Still, in the InterSatellites case, the states of the 2 spacecrafts are stored,
* and can contain different frames. This case is treated by looking at the length
* of SpacecraftState stored in the Estimated Measurements, with the only length 2
* case is the InterSatellites case.
*/
final SpacecraftState[] states = estimated.getStates();
final SpacecraftState state = (states.length < 2) ? states[0] : states[1];
final Frame remoteFrame = state.getFrame();
// Getting Participants to extract the remote PV
final TimeStampedPVCoordinates[] pvs = estimated.getParticipants();
// Checking if the correction is applied on a two-way GNSS problem
// In that case the emitter is at index 1, else index 0
final TimeStampedPVCoordinates pvRemote = (pvs.length < 3) ? pvs[0] : pvs[1];
// Define a Keplerian orbit to extract the orbital parameters needed to compute the correction
final KeplerianOrbit remoteOrbit = new KeplerianOrbit(pvRemote, remoteFrame, gm);
final double orbitInclination = remoteOrbit.getI();
// u = perigee argument + true anomaly
final double orbitU = remoteOrbit.getTrueAnomaly() + remoteOrbit.getPerigeeArgument();
final double n = remoteOrbit.getKeplerianMeanMotion();
// Returning the value of the time delay
return cJ2 * n * FastMath.sin(2 * orbitU) * FastMath.sin(orbitInclination) * FastMath.sin(orbitInclination);
}
}
/* Copyright 2002-2022 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0