Study Orekit source code

Hi Orekit Community,

I am an undergrad physics student and I have been using the Orekit python wrapper for my research since last summer. After getting stuck on some problems that I was only able to solve by looking at the source code, I realize that I want to gain more understanding of how Orekit works and I’m trying to look at the source code in java. Apparently, it is a lot of code and it might be hard to read all of them. Is there any suggested order of the codes that I can follow for my studying or any recommended pieces of code that I can look at?


I would suggest to first start with the tutorials to understand better Orekit usage.
Then as a second step, look at the technical documentation to understand better how some key points are implemented.
Then you can start reading code. The lowest level parts are the time, utils and frames packages. Then orbit, the propagation (a huge one, with many features for step handling and events). Orbit determination is the highest level feature, with several engines (batch least squares, sequential batch least square, several Kalman filters, measurements generation…). There are also many packages devoted to files parsing and writing (CCSDS, SP3, Rinex, STK, IERS, …) but you can skip that until you really need it.