ootk 5.0.0 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/CHANGELOG.md +42 -3
  2. package/README.md +59 -45
  3. package/dist/body/Celestial.d.ts +19 -19
  4. package/dist/body/Celestial.js +19 -19
  5. package/dist/body/Earth.d.ts +18 -18
  6. package/dist/body/Earth.js +18 -18
  7. package/dist/body/NutationAngles.d.ts +18 -18
  8. package/dist/body/NutationAngles.js +18 -18
  9. package/dist/body/PrecessionAngles.d.ts +18 -18
  10. package/dist/body/PrecessionAngles.js +18 -18
  11. package/dist/body/Sun.d.ts +14 -18
  12. package/dist/body/Sun.js +14 -18
  13. package/dist/body/Sun.js.map +1 -1
  14. package/dist/body/index.d.ts +18 -18
  15. package/dist/body/index.js +18 -18
  16. package/dist/coordinate/ClassicalElements.d.ts +21 -21
  17. package/dist/coordinate/ClassicalElements.js +20 -20
  18. package/dist/coordinate/ClassicalElements.js.map +1 -1
  19. package/dist/coordinate/EquinoctialElements.d.ts +20 -20
  20. package/dist/coordinate/EquinoctialElements.js +18 -18
  21. package/dist/coordinate/EquinoctialElements.js.map +1 -1
  22. package/dist/coordinate/FormatTle.d.ts +19 -19
  23. package/dist/coordinate/FormatTle.js +18 -18
  24. package/dist/coordinate/FormatTle.js.map +1 -1
  25. package/dist/coordinate/Geodetic.d.ts +18 -18
  26. package/dist/coordinate/Geodetic.js +18 -18
  27. package/dist/coordinate/Hill.d.ts +2 -2
  28. package/dist/coordinate/Hill.js +2 -2
  29. package/dist/coordinate/ITRF.d.ts +18 -18
  30. package/dist/coordinate/ITRF.js +19 -19
  31. package/dist/coordinate/ITRF.js.map +1 -1
  32. package/dist/coordinate/J2000.d.ts +18 -18
  33. package/dist/coordinate/J2000.js +18 -18
  34. package/dist/coordinate/J2000.js.map +1 -1
  35. package/dist/coordinate/RIC.d.ts +18 -18
  36. package/dist/coordinate/RIC.js +18 -18
  37. package/dist/coordinate/RelativeState.d.ts +18 -18
  38. package/dist/coordinate/RelativeState.js +18 -18
  39. package/dist/coordinate/StateVector.d.ts +19 -19
  40. package/dist/coordinate/StateVector.js +19 -19
  41. package/dist/coordinate/StateVector.js.map +1 -1
  42. package/dist/coordinate/TEME.d.ts +18 -18
  43. package/dist/coordinate/TEME.js +18 -18
  44. package/dist/coordinate/TEME.js.map +1 -1
  45. package/dist/coordinate/Tle.d.ts +22 -23
  46. package/dist/coordinate/Tle.js +22 -22
  47. package/dist/coordinate/Tle.js.map +1 -1
  48. package/dist/coordinate/index.js +0 -1
  49. package/dist/coordinate/index.js.map +1 -1
  50. package/dist/coordinate/tle-format-data.d.ts +18 -18
  51. package/dist/coordinate/tle-format-data.js +18 -18
  52. package/dist/covariance/CovarianceSample.d.ts +10 -7
  53. package/dist/covariance/CovarianceSample.js +93 -19
  54. package/dist/covariance/CovarianceSample.js.map +1 -1
  55. package/dist/covariance/StateCovariance.d.ts +2 -2
  56. package/dist/covariance/StateCovariance.js +2 -2
  57. package/dist/covariance/index.d.ts +2 -0
  58. package/dist/covariance/index.js +3 -0
  59. package/dist/covariance/index.js.map +1 -0
  60. package/dist/data/DataHandler.d.ts +18 -18
  61. package/dist/data/DataHandler.js +18 -18
  62. package/dist/data/values/Egm96Data.d.ts +18 -18
  63. package/dist/data/values/Egm96Data.js +18 -18
  64. package/dist/data/values/Egm96Data.js.map +1 -1
  65. package/dist/data/values/HpAtmosphereData.d.ts +18 -18
  66. package/dist/data/values/HpAtmosphereData.js +20 -20
  67. package/dist/data/values/HpAtmosphereData.js.map +1 -1
  68. package/dist/data/values/HpAtmosphereResult.d.ts +18 -18
  69. package/dist/data/values/HpAtmosphereResult.js +18 -18
  70. package/dist/data/values/Iau1980Data.d.ts +18 -18
  71. package/dist/data/values/Iau1980Data.js +18 -18
  72. package/dist/data/values/Iau1980Data.js.map +1 -1
  73. package/dist/data/values/LeapSecond.d.ts +18 -18
  74. package/dist/data/values/LeapSecond.js +18 -18
  75. package/dist/data/values/LeapSecondData.d.ts +18 -18
  76. package/dist/data/values/LeapSecondData.js +22 -22
  77. package/dist/data/values/LeapSecondData.js.map +1 -1
  78. package/dist/data/values/egm96.d.ts +18 -18
  79. package/dist/data/values/egm96.js +18 -18
  80. package/dist/data/values/hpAtmosphere.d.ts +18 -18
  81. package/dist/data/values/hpAtmosphere.js +18 -18
  82. package/dist/data/values/iau1980.d.ts +18 -18
  83. package/dist/data/values/iau1980.js +18 -18
  84. package/dist/enums/AngularDiameterMethod.d.ts +18 -18
  85. package/dist/enums/AngularDiameterMethod.js +18 -18
  86. package/dist/enums/AngularDistanceMethod.d.ts +18 -18
  87. package/dist/enums/AngularDistanceMethod.js +18 -18
  88. package/dist/enums/OrbitRegime.d.ts +18 -18
  89. package/dist/enums/OrbitRegime.js +18 -18
  90. package/dist/enums/PassType.d.ts +18 -18
  91. package/dist/enums/PassType.js +18 -18
  92. package/dist/enums/Sgp4OpsMode.d.ts +18 -18
  93. package/dist/enums/Sgp4OpsMode.js +18 -18
  94. package/dist/force/AtmosphericDrag.d.ts +2 -2
  95. package/dist/force/AtmosphericDrag.js +3 -6
  96. package/dist/force/AtmosphericDrag.js.map +1 -1
  97. package/dist/force/EarthGravity.d.ts +2 -2
  98. package/dist/force/EarthGravity.js +2 -2
  99. package/dist/force/Force.d.ts +2 -2
  100. package/dist/force/Force.js +2 -2
  101. package/dist/force/ForceModel.d.ts +2 -2
  102. package/dist/force/ForceModel.js +2 -2
  103. package/dist/force/Gravity.d.ts +2 -2
  104. package/dist/force/Gravity.js +2 -2
  105. package/dist/force/SolarRadiationPressure.d.ts +2 -2
  106. package/dist/force/SolarRadiationPressure.js +2 -2
  107. package/dist/force/ThirdBodyGravity.d.ts +2 -2
  108. package/dist/force/ThirdBodyGravity.js +2 -2
  109. package/dist/force/Thrust.d.ts +2 -2
  110. package/dist/force/Thrust.js +2 -2
  111. package/dist/interfaces/BaseObjectParams.d.ts +18 -18
  112. package/dist/interfaces/BaseObjectParams.js +18 -18
  113. package/dist/interfaces/ClassicalElementsParams.d.ts +18 -18
  114. package/dist/interfaces/ClassicalElementsParams.js +18 -18
  115. package/dist/interfaces/EquinoctialElementsParams.d.ts +18 -18
  116. package/dist/interfaces/EquinoctialElementsParams.js +18 -18
  117. package/dist/interfaces/GroundPositionParams.d.ts +18 -18
  118. package/dist/interfaces/GroundPositionParams.js +18 -18
  119. package/dist/interpolator/ChebyshevCoefficients.d.ts +5 -5
  120. package/dist/interpolator/ChebyshevCoefficients.js +2 -2
  121. package/dist/interpolator/ChebyshevCoefficients.js.map +1 -1
  122. package/dist/interpolator/ChebyshevInterpolator.d.ts +3 -3
  123. package/dist/interpolator/ChebyshevInterpolator.js +9 -9
  124. package/dist/interpolator/ChebyshevInterpolator.js.map +1 -1
  125. package/dist/interpolator/CubicSpline.d.ts +2 -2
  126. package/dist/interpolator/CubicSpline.js +2 -2
  127. package/dist/interpolator/CubicSplineInterpolator.d.ts +4 -4
  128. package/dist/interpolator/CubicSplineInterpolator.js +10 -10
  129. package/dist/interpolator/CubicSplineInterpolator.js.map +1 -1
  130. package/dist/interpolator/FieldInterpolator.d.ts +2 -2
  131. package/dist/interpolator/FieldInterpolator.js +2 -2
  132. package/dist/interpolator/Interpolator.d.ts +2 -2
  133. package/dist/interpolator/Interpolator.js +2 -2
  134. package/dist/interpolator/LagrangeInterpolator.d.ts +7 -7
  135. package/dist/interpolator/LagrangeInterpolator.js +2 -2
  136. package/dist/interpolator/LagrangeInterpolator.js.map +1 -1
  137. package/dist/interpolator/StateInterpolator.d.ts +2 -2
  138. package/dist/interpolator/StateInterpolator.js +2 -2
  139. package/dist/interpolator/VerletBlendInterpolator.d.ts +2 -2
  140. package/dist/interpolator/VerletBlendInterpolator.js +2 -2
  141. package/dist/main.d.ts +5 -3
  142. package/dist/main.js +5 -3
  143. package/dist/main.js.map +1 -1
  144. package/dist/maneuver/TwoBurnOrbitTransfer.d.ts +3 -3
  145. package/dist/maneuver/TwoBurnOrbitTransfer.js +3 -3
  146. package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -1
  147. package/dist/maneuver/Waypoint.d.ts +3 -3
  148. package/dist/maneuver/Waypoint.js +3 -3
  149. package/dist/maneuver/Waypoint.js.map +1 -1
  150. package/dist/objects/BaseObject.d.ts +18 -18
  151. package/dist/objects/BaseObject.js +18 -18
  152. package/dist/objects/DetailedSatellite.d.ts +3 -3
  153. package/dist/objects/DetailedSatellite.js +7 -5
  154. package/dist/objects/DetailedSatellite.js.map +1 -1
  155. package/dist/objects/DetailedSensor.d.ts +4 -4
  156. package/dist/objects/DetailedSensor.js +2 -2
  157. package/dist/objects/DetailedSensor.js.map +1 -1
  158. package/dist/objects/GroundObject.d.ts +19 -19
  159. package/dist/objects/GroundObject.js +19 -19
  160. package/dist/objects/GroundObject.js.map +1 -1
  161. package/dist/objects/LandObject.d.ts +3 -3
  162. package/dist/objects/LandObject.js +2 -2
  163. package/dist/objects/LandObject.js.map +1 -1
  164. package/dist/objects/Marker.d.ts +2 -2
  165. package/dist/objects/Marker.js +2 -2
  166. package/dist/objects/Satellite.d.ts +19 -19
  167. package/dist/objects/Satellite.js +22 -22
  168. package/dist/objects/Satellite.js.map +1 -1
  169. package/dist/objects/Sensor.d.ts +19 -20
  170. package/dist/objects/Sensor.js +19 -20
  171. package/dist/objects/Sensor.js.map +1 -1
  172. package/dist/objects/Star.d.ts +18 -18
  173. package/dist/objects/Star.js +18 -18
  174. package/dist/observation/Observation.d.ts +2 -2
  175. package/dist/observation/Observation.js +2 -2
  176. package/dist/observation/ObservationOptical.d.ts +6 -6
  177. package/dist/observation/ObservationOptical.js +9 -9
  178. package/dist/observation/ObservationOptical.js.map +1 -1
  179. package/dist/observation/ObservationRadar.d.ts +6 -6
  180. package/dist/observation/ObservationRadar.js +9 -9
  181. package/dist/observation/ObservationRadar.js.map +1 -1
  182. package/dist/observation/ObservationUtils.d.ts +3 -3
  183. package/dist/observation/ObservationUtils.js +3 -3
  184. package/dist/observation/ObservationUtils.js.map +1 -1
  185. package/dist/observation/PropagatorPairs.d.ts +5 -5
  186. package/dist/observation/PropagatorPairs.js +8 -8
  187. package/dist/observation/PropagatorPairs.js.map +1 -1
  188. package/dist/observation/RAE.d.ts +18 -18
  189. package/dist/observation/RAE.js +18 -19
  190. package/dist/observation/RAE.js.map +1 -1
  191. package/dist/observation/RadecGeocentric.d.ts +19 -19
  192. package/dist/observation/RadecGeocentric.js +18 -18
  193. package/dist/observation/RadecGeocentric.js.map +1 -1
  194. package/dist/observation/RadecTopocentric.d.ts +19 -19
  195. package/dist/observation/RadecTopocentric.js +18 -18
  196. package/dist/observation/RadecTopocentric.js.map +1 -1
  197. package/dist/observation/index.d.ts +18 -18
  198. package/dist/observation/index.js +18 -18
  199. package/dist/operations/BoxMuller.d.ts +2 -2
  200. package/dist/operations/BoxMuller.js +2 -2
  201. package/dist/operations/EulerAngles.d.ts +2 -2
  202. package/dist/operations/EulerAngles.js +2 -2
  203. package/dist/operations/Matrix.d.ts +19 -19
  204. package/dist/operations/Matrix.js +64 -64
  205. package/dist/operations/Matrix.js.map +1 -1
  206. package/dist/operations/Quaternion.d.ts +7 -7
  207. package/dist/operations/Quaternion.js +2 -2
  208. package/dist/operations/Quaternion.js.map +1 -1
  209. package/dist/operations/Random.d.ts +18 -18
  210. package/dist/operations/Random.js +18 -18
  211. package/dist/operations/RandomGaussianSource.d.ts +3 -3
  212. package/dist/operations/RandomGaussianSource.js +5 -5
  213. package/dist/operations/RandomGaussianSource.js.map +1 -1
  214. package/dist/operations/Vector.d.ts +19 -19
  215. package/dist/operations/Vector.js +25 -25
  216. package/dist/operations/Vector.js.map +1 -1
  217. package/dist/operations/Vector3D.d.ts +18 -18
  218. package/dist/operations/Vector3D.js +18 -18
  219. package/dist/operations/operations.d.ts +18 -18
  220. package/dist/operations/operations.js +18 -18
  221. package/dist/optimize/ChebyshevCompressor.d.ts +4 -4
  222. package/dist/optimize/ChebyshevCompressor.js +8 -8
  223. package/dist/optimize/ChebyshevCompressor.js.map +1 -1
  224. package/dist/optimize/DownhillSimplex.d.ts +2 -2
  225. package/dist/optimize/DownhillSimplex.js +2 -2
  226. package/dist/optimize/GoldenSection.d.ts +3 -3
  227. package/dist/optimize/GoldenSection.js +4 -4
  228. package/dist/optimize/PolynomialRegression.d.ts +2 -2
  229. package/dist/optimize/PolynomialRegression.js +2 -2
  230. package/dist/optimize/PolynomicalRegressionResult.d.ts +2 -2
  231. package/dist/optimize/PolynomicalRegressionResult.js +2 -2
  232. package/dist/optimize/SimpleLinearRegression.d.ts +2 -2
  233. package/dist/optimize/SimpleLinearRegression.js +2 -2
  234. package/dist/optimize/SimplexEntry.d.ts +5 -5
  235. package/dist/optimize/SimplexEntry.js +11 -11
  236. package/dist/optimize/SimplexEntry.js.map +1 -1
  237. package/dist/orbit_determination/BatchLeastSquaresOD.d.ts +11 -11
  238. package/dist/orbit_determination/BatchLeastSquaresOD.js +2 -2
  239. package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -1
  240. package/dist/orbit_determination/BatchLeastSquaresResult.d.ts +2 -2
  241. package/dist/orbit_determination/BatchLeastSquaresResult.js +2 -2
  242. package/dist/orbit_determination/GibbsIOD.d.ts +2 -2
  243. package/dist/orbit_determination/GibbsIOD.js +2 -2
  244. package/dist/orbit_determination/GoodingIOD.d.ts +2 -2
  245. package/dist/orbit_determination/GoodingIOD.js +3 -3
  246. package/dist/orbit_determination/GoodingIOD.js.map +1 -1
  247. package/dist/orbit_determination/HerrickGibbsIOD.d.ts +2 -2
  248. package/dist/orbit_determination/HerrickGibbsIOD.js +2 -2
  249. package/dist/orbit_determination/LambertIOD.d.ts +2 -2
  250. package/dist/orbit_determination/LambertIOD.js +2 -2
  251. package/dist/orbit_determination/ModifiedGoodingIOD.d.ts +4 -4
  252. package/dist/orbit_determination/ModifiedGoodingIOD.js +3 -3
  253. package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -1
  254. package/dist/propagator/DormandPrince54Propagator.d.ts +6 -6
  255. package/dist/propagator/DormandPrince54Propagator.js +10 -10
  256. package/dist/propagator/DormandPrince54Propagator.js.map +1 -1
  257. package/dist/propagator/KeplerPropagator.d.ts +7 -7
  258. package/dist/propagator/KeplerPropagator.js +32 -32
  259. package/dist/propagator/KeplerPropagator.js.map +1 -1
  260. package/dist/propagator/Propagator.d.ts +3 -3
  261. package/dist/propagator/Propagator.js +3 -3
  262. package/dist/propagator/Propagator.js.map +1 -1
  263. package/dist/propagator/RkCheckpoint.d.ts +2 -2
  264. package/dist/propagator/RkCheckpoint.js +2 -2
  265. package/dist/propagator/RkResult.d.ts +2 -2
  266. package/dist/propagator/RkResult.js +2 -2
  267. package/dist/propagator/RungeKutta4Propagator.d.ts +4 -4
  268. package/dist/propagator/RungeKutta4Propagator.js +3 -3
  269. package/dist/propagator/RungeKutta4Propagator.js.map +1 -1
  270. package/dist/propagator/RungeKutta89Propagator.d.ts +6 -6
  271. package/dist/propagator/RungeKutta89Propagator.js +2 -2
  272. package/dist/propagator/RungeKutta89Propagator.js.map +1 -1
  273. package/dist/propagator/RungeKuttaAdaptive.d.ts +5 -5
  274. package/dist/propagator/RungeKuttaAdaptive.js +3 -3
  275. package/dist/propagator/RungeKuttaAdaptive.js.map +1 -1
  276. package/dist/propagator/Sgp4Propagator.d.ts +7 -7
  277. package/dist/propagator/Sgp4Propagator.js +16 -16
  278. package/dist/propagator/Sgp4Propagator.js.map +1 -1
  279. package/dist/sgp4/index.d.ts +18 -18
  280. package/dist/sgp4/index.js +18 -18
  281. package/dist/sgp4/sgp4.d.ts +18 -21
  282. package/dist/sgp4/sgp4.js +27 -24
  283. package/dist/sgp4/sgp4.js.map +1 -1
  284. package/dist/smoothing/ExponentialSmoothing.d.ts +2 -2
  285. package/dist/smoothing/ExponentialSmoothing.js +2 -2
  286. package/dist/time/Epoch.d.ts +18 -18
  287. package/dist/time/Epoch.js +18 -18
  288. package/dist/time/EpochGPS.d.ts +19 -19
  289. package/dist/time/EpochGPS.js +19 -19
  290. package/dist/time/EpochGPS.js.map +1 -1
  291. package/dist/time/EpochTAI.d.ts +18 -18
  292. package/dist/time/EpochTAI.js +18 -18
  293. package/dist/time/EpochTDB.d.ts +18 -18
  294. package/dist/time/EpochTDB.js +18 -18
  295. package/dist/time/EpochTT.d.ts +18 -18
  296. package/dist/time/EpochTT.js +18 -18
  297. package/dist/time/EpochUTC.d.ts +18 -18
  298. package/dist/time/EpochUTC.js +18 -18
  299. package/dist/time/EpochUTC.js.map +1 -1
  300. package/dist/time/EpochWindow.d.ts +18 -18
  301. package/dist/time/EpochWindow.js +18 -18
  302. package/dist/time/TimeStamped.d.ts +18 -22
  303. package/dist/time/TimeStamped.js +18 -22
  304. package/dist/time/TimeStamped.js.map +1 -1
  305. package/dist/time/index.d.ts +0 -22
  306. package/dist/time/index.js +0 -22
  307. package/dist/time/index.js.map +1 -1
  308. package/dist/transforms/TransformCache.d.ts +18 -18
  309. package/dist/transforms/TransformCache.js +18 -18
  310. package/dist/transforms/conversions.d.ts +18 -18
  311. package/dist/transforms/conversions.js +18 -18
  312. package/dist/types/types.d.ts +2 -2
  313. package/dist/types/types.js +1 -1
  314. package/dist/utils/create-covariance-from-tle.d.ts +18 -0
  315. package/dist/utils/create-covariance-from-tle.js +57 -0
  316. package/dist/utils/create-covariance-from-tle.js.map +1 -0
  317. package/dist/utils/functions.js.map +1 -1
  318. package/dist/utils/index.d.ts +1 -0
  319. package/dist/utils/index.js +1 -0
  320. package/dist/utils/index.js.map +1 -1
  321. package/dist/utils/jacobian.d.ts +6 -0
  322. package/dist/utils/jacobian.js +6 -1
  323. package/dist/utils/jacobian.js.map +1 -1
  324. package/package.json +1 -2
  325. package/src/body/Celestial.ts +19 -19
  326. package/src/body/Earth.ts +18 -18
  327. package/src/body/NutationAngles.ts +18 -18
  328. package/src/body/PrecessionAngles.ts +18 -18
  329. package/src/body/Sun.ts +14 -18
  330. package/src/body/index.ts +19 -18
  331. package/src/coordinate/ClassicalElements.ts +28 -22
  332. package/src/coordinate/EquinoctialElements.ts +20 -20
  333. package/src/coordinate/FormatTle.ts +19 -19
  334. package/src/coordinate/Geodetic.ts +18 -18
  335. package/src/coordinate/Hill.ts +2 -2
  336. package/src/coordinate/ITRF.ts +19 -19
  337. package/src/coordinate/J2000.ts +19 -19
  338. package/src/coordinate/RIC.ts +18 -18
  339. package/src/coordinate/RelativeState.ts +18 -18
  340. package/src/coordinate/StateVector.ts +26 -20
  341. package/src/coordinate/TEME.ts +19 -19
  342. package/src/coordinate/Tle.ts +27 -27
  343. package/src/coordinate/index.ts +0 -1
  344. package/src/coordinate/tle-format-data.ts +18 -18
  345. package/src/covariance/CovarianceSample.ts +119 -21
  346. package/src/covariance/StateCovariance.ts +2 -2
  347. package/src/covariance/index.ts +2 -0
  348. package/src/data/DataHandler.ts +18 -18
  349. package/src/data/values/Egm96Data.ts +19 -19
  350. package/src/data/values/HpAtmosphereData.ts +21 -21
  351. package/src/data/values/HpAtmosphereResult.ts +18 -18
  352. package/src/data/values/Iau1980Data.ts +19 -19
  353. package/src/data/values/LeapSecond.ts +18 -18
  354. package/src/data/values/LeapSecondData.ts +24 -24
  355. package/src/data/values/egm96.ts +18 -18
  356. package/src/data/values/hpAtmosphere.ts +18 -18
  357. package/src/data/values/iau1980.ts +18 -18
  358. package/src/enums/AngularDiameterMethod.ts +18 -18
  359. package/src/enums/AngularDistanceMethod.ts +18 -18
  360. package/src/enums/OrbitRegime.ts +18 -18
  361. package/src/enums/PassType.ts +18 -18
  362. package/src/enums/Sgp4OpsMode.ts +18 -18
  363. package/src/force/AtmosphericDrag.ts +2 -4
  364. package/src/force/EarthGravity.ts +2 -2
  365. package/src/force/Force.ts +2 -2
  366. package/src/force/ForceModel.ts +2 -2
  367. package/src/force/Gravity.ts +2 -2
  368. package/src/force/SolarRadiationPressure.ts +2 -2
  369. package/src/force/ThirdBodyGravity.ts +2 -2
  370. package/src/force/Thrust.ts +2 -2
  371. package/src/interfaces/BaseObjectParams.ts +18 -18
  372. package/src/interfaces/ClassicalElementsParams.ts +18 -18
  373. package/src/interfaces/EquinoctialElementsParams.ts +18 -18
  374. package/src/interfaces/GroundPositionParams.ts +18 -18
  375. package/src/interpolator/ChebyshevCoefficients.ts +5 -5
  376. package/src/interpolator/ChebyshevInterpolator.ts +10 -10
  377. package/src/interpolator/CubicSpline.ts +2 -2
  378. package/src/interpolator/CubicSplineInterpolator.ts +8 -8
  379. package/src/interpolator/FieldInterpolator.ts +2 -2
  380. package/src/interpolator/Interpolator.ts +2 -2
  381. package/src/interpolator/LagrangeInterpolator.ts +7 -7
  382. package/src/interpolator/StateInterpolator.ts +2 -2
  383. package/src/interpolator/VerletBlendInterpolator.ts +2 -2
  384. package/src/main.ts +24 -3
  385. package/src/maneuver/TwoBurnOrbitTransfer.ts +3 -3
  386. package/src/maneuver/Waypoint.ts +4 -4
  387. package/src/objects/BaseObject.ts +18 -18
  388. package/src/objects/DetailedSatellite.ts +9 -8
  389. package/src/objects/DetailedSensor.ts +4 -4
  390. package/src/objects/GroundObject.ts +23 -23
  391. package/src/objects/LandObject.ts +3 -3
  392. package/src/objects/Marker.ts +2 -2
  393. package/src/objects/Satellite.ts +24 -24
  394. package/src/objects/Sensor.ts +19 -20
  395. package/src/objects/Star.ts +18 -18
  396. package/src/observation/Observation.ts +2 -2
  397. package/src/observation/ObservationOptical.ts +7 -7
  398. package/src/observation/ObservationRadar.ts +10 -6
  399. package/src/observation/ObservationUtils.ts +3 -3
  400. package/src/observation/PropagatorPairs.ts +4 -4
  401. package/src/observation/RAE.ts +18 -19
  402. package/src/observation/RadecGeocentric.ts +19 -19
  403. package/src/observation/RadecTopocentric.ts +19 -19
  404. package/src/observation/index.ts +19 -18
  405. package/src/operations/BoxMuller.ts +2 -2
  406. package/src/operations/EulerAngles.ts +2 -2
  407. package/src/operations/Matrix.ts +67 -67
  408. package/src/operations/Quaternion.ts +7 -7
  409. package/src/operations/Random.ts +18 -18
  410. package/src/operations/RandomGaussianSource.ts +5 -5
  411. package/src/operations/Vector.ts +25 -25
  412. package/src/operations/Vector3D.ts +18 -18
  413. package/src/operations/operations.ts +19 -18
  414. package/src/optimize/ChebyshevCompressor.ts +7 -7
  415. package/src/optimize/DownhillSimplex.ts +2 -2
  416. package/src/optimize/GoldenSection.ts +4 -4
  417. package/src/optimize/PolynomialRegression.ts +2 -2
  418. package/src/optimize/PolynomicalRegressionResult.ts +2 -2
  419. package/src/optimize/SimpleLinearRegression.ts +2 -2
  420. package/src/optimize/SimplexEntry.ts +9 -9
  421. package/src/orbit_determination/BatchLeastSquaresOD.ts +11 -11
  422. package/src/orbit_determination/BatchLeastSquaresResult.ts +2 -2
  423. package/src/orbit_determination/GibbsIOD.ts +2 -2
  424. package/src/orbit_determination/GoodingIOD.ts +3 -3
  425. package/src/orbit_determination/HerrickGibbsIOD.ts +2 -2
  426. package/src/orbit_determination/LambertIOD.ts +2 -2
  427. package/src/orbit_determination/ModifiedGoodingIOD.ts +5 -5
  428. package/src/propagator/DormandPrince54Propagator.ts +10 -10
  429. package/src/propagator/KeplerPropagator.ts +32 -32
  430. package/src/propagator/Propagator.ts +3 -3
  431. package/src/propagator/RkCheckpoint.ts +2 -2
  432. package/src/propagator/RkResult.ts +2 -2
  433. package/src/propagator/RungeKutta4Propagator.ts +4 -4
  434. package/src/propagator/RungeKutta89Propagator.ts +6 -6
  435. package/src/propagator/RungeKuttaAdaptive.ts +6 -6
  436. package/src/propagator/Sgp4Propagator.ts +15 -15
  437. package/src/sgp4/index.ts +19 -18
  438. package/src/sgp4/sgp4.LICENSE.md +2 -2
  439. package/src/sgp4/sgp4.ts +22 -25
  440. package/src/smoothing/ExponentialSmoothing.ts +2 -2
  441. package/src/time/Epoch.ts +18 -18
  442. package/src/time/EpochGPS.ts +21 -21
  443. package/src/time/EpochTAI.ts +18 -18
  444. package/src/time/EpochTDB.ts +18 -18
  445. package/src/time/EpochTT.ts +18 -18
  446. package/src/time/EpochUTC.ts +20 -20
  447. package/src/time/EpochWindow.ts +18 -18
  448. package/src/time/TimeStamped.ts +18 -22
  449. package/src/time/index.ts +0 -23
  450. package/src/transforms/TransformCache.ts +18 -18
  451. package/src/transforms/conversions.ts +18 -18
  452. package/src/types/types.ts +2 -2
  453. package/src/utils/create-covariance-from-tle.ts +75 -0
  454. package/src/utils/functions.ts +3 -3
  455. package/src/utils/index.ts +1 -0
  456. package/src/utils/jacobian.ts +6 -2
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @author @thkruz Theodore Kruczek
2
+ * @author Theodore Kruczek
3
3
  * @license AGPL-3.0-or-later
4
- * @copyright (c) 2020-2024 Theodore Kruczek
4
+ * @copyright (c) 2025 Kruczek Labs LLC
5
5
  *
6
6
  * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
7
7
  * terms of the GNU Affero General Public License as published by the Free Software
@@ -17,9 +17,9 @@
17
17
 
18
18
  /* eslint-disable @typescript-eslint/no-unused-vars */
19
19
  /* eslint-disable class-methods-use-this */
20
- import { EpochUTC, J2000, Tle } from '../main.js';
21
20
  import { Thrust } from '../force/Thrust.js';
22
21
  import { VerletBlendInterpolator } from '../interpolator/VerletBlendInterpolator.js';
22
+ import { EpochUTC, J2000, Tle } from '../main.js';
23
23
  import { Propagator } from './Propagator.js';
24
24
 
25
25
  /**
@@ -28,20 +28,20 @@ import { Propagator } from './Propagator.js';
28
28
  * state of the TLE at different epochs.
29
29
  */
30
30
  export class Sgp4Propagator extends Propagator {
31
- constructor(private tle: Tle) {
31
+ constructor(private readonly tle_: Tle) {
32
32
  super();
33
- this._cacheState = tle.state.toJ2000();
33
+ this.cacheState_ = tle_.state.toJ2000();
34
34
  }
35
35
 
36
- private _cacheState: J2000;
37
- private _checkpoints: J2000[] = [];
36
+ private cacheState_: J2000;
37
+ private checkpoints_: J2000[] = [];
38
38
 
39
39
  /**
40
40
  * Gets the state of the propagator in the J2000 coordinate system.
41
41
  * @returns The J2000 state of the propagator.
42
42
  */
43
43
  get state(): J2000 {
44
- return this._cacheState;
44
+ return this.cacheState_;
45
45
  }
46
46
 
47
47
  /**
@@ -71,9 +71,9 @@ export class Sgp4Propagator extends Propagator {
71
71
  * @returns The propagated state in J2000 coordinates.
72
72
  */
73
73
  propagate(epoch: EpochUTC): J2000 {
74
- this._cacheState = this.tle.propagate(epoch).toJ2000();
74
+ this.cacheState_ = this.tle_.propagate(epoch).toJ2000();
75
75
 
76
- return this._cacheState;
76
+ return this.cacheState_;
77
77
  }
78
78
 
79
79
  /**
@@ -81,7 +81,7 @@ export class Sgp4Propagator extends Propagator {
81
81
  * to the current J2000 state of the TLE.
82
82
  */
83
83
  reset(): void {
84
- this._cacheState = this.tle.state.toJ2000();
84
+ this.cacheState_ = this.tle_.state.toJ2000();
85
85
  }
86
86
 
87
87
  /**
@@ -89,16 +89,16 @@ export class Sgp4Propagator extends Propagator {
89
89
  * @returns The index of the checkpoint.
90
90
  */
91
91
  checkpoint(): number {
92
- this._checkpoints.push(this._cacheState);
92
+ this.checkpoints_.push(this.cacheState_);
93
93
 
94
- return this._checkpoints.length - 1;
94
+ return this.checkpoints_.length - 1;
95
95
  }
96
96
 
97
97
  /**
98
98
  * Clears all the checkpoints in the propagator.
99
99
  */
100
100
  clearCheckpoints(): void {
101
- this._checkpoints = [];
101
+ this.checkpoints_ = [];
102
102
  }
103
103
 
104
104
  /**
@@ -106,6 +106,6 @@ export class Sgp4Propagator extends Propagator {
106
106
  * @param index - The index of the checkpoint to restore.
107
107
  */
108
108
  restore(index: number): void {
109
- this._cacheState = this._checkpoints[index];
109
+ this.cacheState_ = this.checkpoints_[index];
110
110
  }
111
111
  }
package/src/sgp4/index.ts CHANGED
@@ -1,24 +1,25 @@
1
1
  /**
2
- * @author Theodore Kruczek.
3
- * @license MIT
4
- * @copyright (c) 2022-2025 Theodore Kruczek Permission is
5
- * hereby granted, free of charge, to any person obtaining a copy of this
6
- * software and associated documentation files (the "Software"), to deal in the
7
- * Software without restriction, including without limitation the rights to use,
8
- * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
- * the Software, and to permit persons to whom the Software is furnished to do
10
- * so, subject to the following conditions:
2
+ * @author Theodore Kruczek
3
+ * @description Orbital Object ToolKit (ootk) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ * @license AGPL-3.0-or-later
6
+ * @copyright (c) 2025 Kruczek Labs LLC
11
7
  *
12
- * The above copyright notice and this permission notice shall be included in
13
- * all copies or substantial portions of the Software.
8
+ * Many of the classes are based off of the work of @david-rc-dayton and his
9
+ * Pious Squid library (https://github.com/david-rc-dayton/pious_squid) which
10
+ * is licensed under the MIT license.
14
11
  *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
12
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
+ * terms of the GNU Affero General Public License as published by the Free Software
14
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
+ *
16
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
+ * See the GNU Affero General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Affero General Public License along with
21
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
22
  */
23
23
 
24
24
  export { Sgp4 } from './sgp4.js';
25
+
@@ -19,10 +19,10 @@ links to the main page, to facilitate communications regarding any questions on
19
19
 
20
20
  [https://celestrak.org/publications/AIAA/2006-6753/faq.php](Link to Source)
21
21
 
22
- ## ootk-core Notes
22
+ ## ootk Notes
23
23
 
24
24
  Since the original authors do not have a license file, this file is to document the permission granted to use the code
25
25
  to develop a TypeScript implementation.
26
26
 
27
- The ootk-core TypeScript implementation is licensed under the MIT License. ootk-core is not affiliated with the original
27
+ The ootk TypeScript implementation is licensed under the AGPL 3.0 License. ootk is not affiliated with the original
28
28
  authors.
package/src/sgp4/sgp4.ts CHANGED
@@ -1,26 +1,23 @@
1
1
  /**
2
- * @author Theodore Kruczek.
3
- * @license MIT
4
- * @copyright (c) 2022-2025 Theodore Kruczek Permission is
5
- * hereby granted, free of charge, to any person obtaining a copy of this
6
- * software and associated documentation files (the "Software"), to deal in the
7
- * Software without restriction, including without limitation the rights to use,
8
- * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
- * the Software, and to permit persons to whom the Software is furnished to do
10
- * so, subject to the following conditions:
2
+ * @author Theodore Kruczek
3
+ * @description Orbital Object ToolKit (ootk) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ * @license AGPL-3.0-or-later
6
+ * @copyright (c) 2025 Kruczek Labs LLC
11
7
  *
12
- * The above copyright notice and this permission notice shall be included in
13
- * all copies or substantial portions of the Software.
8
+ * This class was ported from the python-sgp4 library by Brandon Rhodes. That library
9
+ * is licensed under the MIT license and he maintains the copyright for that work.
14
10
  *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
22
- * @copyright (c) 2012–2016 Brandon Rhodes
23
- * This was ported from the python-sgp4 library by Brandon Rhodes.
11
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
12
+ * terms of the GNU Affero General Public License as published by the Free Software
13
+ * Foundation, either version 3 of the License, or (at your option) any later version.
14
+ *
15
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
16
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
+ * See the GNU Affero General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU Affero General Public License along with
20
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
24
21
  */
25
22
 
26
23
  // NOTE: This file is meant to maintain as much of the original format as possible.
@@ -30,14 +27,14 @@
30
27
  /* eslint-disable max-lines */
31
28
  /* eslint-disable @typescript-eslint/no-loss-of-precision */
32
29
 
33
- import { OmmParsedDataFormat } from '../interfaces/OmmFormat.js';
34
30
  import { Sgp4OpsMode } from '../enums/Sgp4OpsMode.js';
31
+ import { OmmParsedDataFormat } from '../interfaces/OmmFormat.js';
32
+ import { Tle } from '../main.js';
35
33
  import {
36
34
  GreenwichMeanSiderealTime, Kilometers, KilometersPerSecond, SatelliteRecord, StateVectorSgp4, Vec3Flat,
37
35
  } from '../types/types.js';
38
36
  import { DEG2RAD, PI, TAU, temp4, x2o3 } from '../utils/constants.js';
39
37
  import { Sgp4ErrorCode } from './sgp4-error.js';
40
- import { Tle } from '../main.js';
41
38
 
42
39
  export enum Sgp4GravConstants {
43
40
  wgs72old = 'wgs72old',
@@ -626,8 +623,8 @@ export class Sgp4 {
626
623
  let i = 1;
627
624
  let inttemp = 0;
628
625
 
629
- while (dayofyr > inttemp + (lmonth[i - 1] as number) && i < 12) {
630
- inttemp += (lmonth[i - 1] as number);
626
+ while (dayofyr > inttemp + (lmonth[i - 1]) && i < 12) {
627
+ inttemp += (lmonth[i - 1]);
631
628
  i += 1;
632
629
  }
633
630
 
@@ -1499,7 +1496,7 @@ export class Sgp4 {
1499
1496
 
1500
1497
  rdotv = Sgp4.dot_(r, v);
1501
1498
  for (i = 0; i <= 2; i++) {
1502
- ebar[i] = (c1 * (r[i] as number) - rdotv * (v[i] as number)) / mus;
1499
+ ebar[i] = (c1 * (r[i]) - rdotv * (v[i])) / mus;
1503
1500
  }
1504
1501
  ecc = Sgp4.mag_(ebar);
1505
1502
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @author @thkruz Theodore Kruczek
2
+ * @author Theodore Kruczek
3
3
  * @license AGPL-3.0-or-later
4
- * @copyright (c) 2020-2024 Theodore Kruczek
4
+ * @copyright (c) 2025 Kruczek Labs LLC
5
5
  *
6
6
  * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
7
7
  * terms of the GNU Affero General Public License as published by the Free Software
package/src/time/Epoch.ts CHANGED
@@ -1,24 +1,24 @@
1
1
  /**
2
- * @author Theodore Kruczek.
3
- * @license MIT
4
- * @copyright (c) 2022-2025 Theodore Kruczek Permission is
5
- * hereby granted, free of charge, to any person obtaining a copy of this
6
- * software and associated documentation files (the "Software"), to deal in the
7
- * Software without restriction, including without limitation the rights to use,
8
- * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
- * the Software, and to permit persons to whom the Software is furnished to do
10
- * so, subject to the following conditions:
2
+ * @author Theodore Kruczek
3
+ * @description Orbital Object ToolKit (ootk) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ * @license AGPL-3.0-or-later
6
+ * @copyright (c) 2025 Kruczek Labs LLC
11
7
  *
12
- * The above copyright notice and this permission notice shall be included in
13
- * all copies or substantial portions of the Software.
8
+ * Many of the classes are based off of the work of @david-rc-dayton and his
9
+ * Pious Squid library (https://github.com/david-rc-dayton/pious_squid) which
10
+ * is licensed under the MIT license.
14
11
  *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
12
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
+ * terms of the GNU Affero General Public License as published by the Free Software
14
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
+ *
16
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
+ * See the GNU Affero General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Affero General Public License along with
21
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
22
  */
23
23
 
24
24
  import { Seconds } from '../main.js';
@@ -1,28 +1,28 @@
1
1
  /**
2
- * @author Theodore Kruczek.
3
- * @license MIT
4
- * @copyright (c) 2022-2025 Theodore Kruczek Permission is
5
- * hereby granted, free of charge, to any person obtaining a copy of this
6
- * software and associated documentation files (the "Software"), to deal in the
7
- * Software without restriction, including without limitation the rights to use,
8
- * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
- * the Software, and to permit persons to whom the Software is furnished to do
10
- * so, subject to the following conditions:
2
+ * @author Theodore Kruczek
3
+ * @description Orbital Object ToolKit (ootk) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ * @license AGPL-3.0-or-later
6
+ * @copyright (c) 2025 Kruczek Labs LLC
11
7
  *
12
- * The above copyright notice and this permission notice shall be included in
13
- * all copies or substantial portions of the Software.
8
+ * Many of the classes are based off of the work of @david-rc-dayton and his
9
+ * Pious Squid library (https://github.com/david-rc-dayton/pious_squid) which
10
+ * is licensed under the MIT license.
14
11
  *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
12
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
+ * terms of the GNU Affero General Public License as published by the Free Software
14
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
+ *
16
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
+ * See the GNU Affero General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Affero General Public License along with
21
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
22
  */
23
23
 
24
- import { Seconds } from '../main.js';
25
24
  import { DataHandler } from '../data/DataHandler.js';
25
+ import { Seconds } from '../main.js';
26
26
  import { secondsPerWeek } from '../utils/constants.js';
27
27
  import type { EpochUTC } from './EpochUTC.js';
28
28
  // / Global Positioning System _(GPS)_ formatted epoch.
@@ -42,7 +42,7 @@ export class EpochGPS {
42
42
  throw new Error('GPS seconds must be within a week.');
43
43
  }
44
44
 
45
- // TODO: #9 Set EpochGPS.reference statically without circular dependency.
45
+ // TODO: Set EpochGPS.reference statically without circular dependency.
46
46
  EpochGPS.reference = reference;
47
47
  }
48
48
 
@@ -50,7 +50,7 @@ export class EpochGPS {
50
50
  static reference: EpochUTC;
51
51
 
52
52
  // / GPS leap second difference from TAI/UTC offsets.
53
- static offset = 19 as Seconds;
53
+ static readonly offset = 19 as Seconds;
54
54
 
55
55
  // / Get GPS week accounting for 10-bit rollover.
56
56
  get week10Bit(): number {
@@ -1,24 +1,24 @@
1
1
  /**
2
- * @author Theodore Kruczek.
3
- * @license MIT
4
- * @copyright (c) 2022-2025 Theodore Kruczek Permission is
5
- * hereby granted, free of charge, to any person obtaining a copy of this
6
- * software and associated documentation files (the "Software"), to deal in the
7
- * Software without restriction, including without limitation the rights to use,
8
- * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
- * the Software, and to permit persons to whom the Software is furnished to do
10
- * so, subject to the following conditions:
2
+ * @author Theodore Kruczek
3
+ * @description Orbital Object ToolKit (ootk) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ * @license AGPL-3.0-or-later
6
+ * @copyright (c) 2025 Kruczek Labs LLC
11
7
  *
12
- * The above copyright notice and this permission notice shall be included in
13
- * all copies or substantial portions of the Software.
8
+ * Many of the classes are based off of the work of @david-rc-dayton and his
9
+ * Pious Squid library (https://github.com/david-rc-dayton/pious_squid) which
10
+ * is licensed under the MIT license.
14
11
  *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
12
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
+ * terms of the GNU Affero General Public License as published by the Free Software
14
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
+ *
16
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
+ * See the GNU Affero General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Affero General Public License along with
21
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
22
  */
23
23
 
24
24
  import { Epoch } from './Epoch.js';
@@ -1,24 +1,24 @@
1
1
  /**
2
- * @author Theodore Kruczek.
3
- * @license MIT
4
- * @copyright (c) 2022-2025 Theodore Kruczek Permission is
5
- * hereby granted, free of charge, to any person obtaining a copy of this
6
- * software and associated documentation files (the "Software"), to deal in the
7
- * Software without restriction, including without limitation the rights to use,
8
- * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
- * the Software, and to permit persons to whom the Software is furnished to do
10
- * so, subject to the following conditions:
2
+ * @author Theodore Kruczek
3
+ * @description Orbital Object ToolKit (ootk) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ * @license AGPL-3.0-or-later
6
+ * @copyright (c) 2025 Kruczek Labs LLC
11
7
  *
12
- * The above copyright notice and this permission notice shall be included in
13
- * all copies or substantial portions of the Software.
8
+ * Many of the classes are based off of the work of @david-rc-dayton and his
9
+ * Pious Squid library (https://github.com/david-rc-dayton/pious_squid) which
10
+ * is licensed under the MIT license.
14
11
  *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
12
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
+ * terms of the GNU Affero General Public License as published by the Free Software
14
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
+ *
16
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
+ * See the GNU Affero General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Affero General Public License along with
21
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
22
  */
23
23
 
24
24
  import { Epoch } from './Epoch.js';
@@ -1,24 +1,24 @@
1
1
  /**
2
- * @author Theodore Kruczek.
3
- * @license MIT
4
- * @copyright (c) 2022-2025 Theodore Kruczek Permission is
5
- * hereby granted, free of charge, to any person obtaining a copy of this
6
- * software and associated documentation files (the "Software"), to deal in the
7
- * Software without restriction, including without limitation the rights to use,
8
- * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
- * the Software, and to permit persons to whom the Software is furnished to do
10
- * so, subject to the following conditions:
2
+ * @author Theodore Kruczek
3
+ * @description Orbital Object ToolKit (ootk) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ * @license AGPL-3.0-or-later
6
+ * @copyright (c) 2025 Kruczek Labs LLC
11
7
  *
12
- * The above copyright notice and this permission notice shall be included in
13
- * all copies or substantial portions of the Software.
8
+ * Many of the classes are based off of the work of @david-rc-dayton and his
9
+ * Pious Squid library (https://github.com/david-rc-dayton/pious_squid) which
10
+ * is licensed under the MIT license.
14
11
  *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
12
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
+ * terms of the GNU Affero General Public License as published by the Free Software
14
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
+ *
16
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
+ * See the GNU Affero General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Affero General Public License along with
21
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
22
  */
23
23
 
24
24
  import { Epoch } from './Epoch.js';
@@ -1,24 +1,24 @@
1
1
  /**
2
- * @author Theodore Kruczek.
3
- * @license MIT
4
- * @copyright (c) 2022-2025 Theodore Kruczek Permission is
5
- * hereby granted, free of charge, to any person obtaining a copy of this
6
- * software and associated documentation files (the "Software"), to deal in the
7
- * Software without restriction, including without limitation the rights to use,
8
- * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
- * the Software, and to permit persons to whom the Software is furnished to do
10
- * so, subject to the following conditions:
2
+ * @author Theodore Kruczek
3
+ * @description Orbital Object ToolKit (ootk) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ * @license AGPL-3.0-or-later
6
+ * @copyright (c) 2025 Kruczek Labs LLC
11
7
  *
12
- * The above copyright notice and this permission notice shall be included in
13
- * all copies or substantial portions of the Software.
8
+ * Many of the classes are based off of the work of @david-rc-dayton and his
9
+ * Pious Squid library (https://github.com/david-rc-dayton/pious_squid) which
10
+ * is licensed under the MIT license.
14
11
  *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
12
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
+ * terms of the GNU Affero General Public License as published by the Free Software
14
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
+ *
16
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
+ * See the GNU Affero General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Affero General Public License along with
21
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
22
  */
23
23
 
24
24
  import { Seconds } from '../main.js';
@@ -164,8 +164,8 @@ export class EpochUTC extends Epoch {
164
164
 
165
165
  private static dayOfYear_(year: number, month: number, day: number): number {
166
166
  const dex = EpochUTC.isLeapYear_(year) ? 1 : 0;
167
- const dayOfYearArray = EpochUTC.dayOfYearLookup_[dex] as number[];
168
- const daysBeforeCurrentMonth = dayOfYearArray[month - 1] as number;
167
+ const dayOfYearArray = EpochUTC.dayOfYearLookup_[dex];
168
+ const daysBeforeCurrentMonth = dayOfYearArray[month - 1];
169
169
 
170
170
  return daysBeforeCurrentMonth + day - 1;
171
171
  }
@@ -1,24 +1,24 @@
1
1
  /**
2
- * @author Theodore Kruczek.
3
- * @license MIT
4
- * @copyright (c) 2022-2025 Theodore Kruczek Permission is
5
- * hereby granted, free of charge, to any person obtaining a copy of this
6
- * software and associated documentation files (the "Software"), to deal in the
7
- * Software without restriction, including without limitation the rights to use,
8
- * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
- * the Software, and to permit persons to whom the Software is furnished to do
10
- * so, subject to the following conditions:
2
+ * @author Theodore Kruczek
3
+ * @description Orbital Object ToolKit (ootk) is a collection of tools for working
4
+ * with satellites and other orbital objects.
5
+ * @license AGPL-3.0-or-later
6
+ * @copyright (c) 2025 Kruczek Labs LLC
11
7
  *
12
- * The above copyright notice and this permission notice shall be included in
13
- * all copies or substantial portions of the Software.
8
+ * Many of the classes are based off of the work of @david-rc-dayton and his
9
+ * Pious Squid library (https://github.com/david-rc-dayton/pious_squid) which
10
+ * is licensed under the MIT license.
14
11
  *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
12
+ * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
+ * terms of the GNU Affero General Public License as published by the Free Software
14
+ * Foundation, either version 3 of the License, or (at your option) any later version.
15
+ *
16
+ * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
+ * See the GNU Affero General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Affero General Public License along with
21
+ * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
22
  */
23
23
 
24
24
  import type { EpochUTC } from './EpochUTC.js';