Note 1: I’m working in python, but I think this question applies to general Orekit useage

Note 2: Continuing this discussion from a prior thread because it’s a specific use case question.

So yesterday I tried adding the drag and SRP paramter values back to my FKF (using the initial covariance from the LS optimization and dynamic process noise generation functions), and this time I’m getting what looks at first glance like good updates over time. However, I have one remaining issue.

I mentioned before that I am taking the FKF data and running it through a fixed-interval smoother that I wrote myself. One of the values I require for the FIS math is the STM. However, while the `KalmanModel`

class provides the STM at each time step, I can’t always use it because it’s not accurate for timesteps that come after a rejected measurement.

Previously I was getting around this by obtaining this STM through an alternate method: I was taking the propagator from the `getEstimatedPropagators()`

value from the `KalmanModel`

parameter created at each time step and adding the corrected covariance at that time step, then backing out the correct (t2 - t1) STM from the propagator in the smoothing process. However, now that I have the drag and SRP parameters included in the FKF process I am having trouble adding the corrected covariance to the propagator since it’s now 8x8 instead of 6x6. I know the command for doing so is `setupMatricesComputation()`

(here). My code currently reads:

```
p = model.getEstimatedPropagators()[0]
cov = self.correctedCovariance.getSubMatrix(0, 5, 0, 5) # trimming the drag/srp parameters
covInit = StateCovariance(cov, self.date, eme2000, OrbitType.CARTESIAN, PositionAngleType.TRUE)
stmInit = model.getPhysicalStateTransitionMatrix()
# Append covariance to propagator
harvester = p.setupMatricesComputation("stm", None, None)
provider = StateCovarianceMatrixProvider("covariance", "stm", harvester, covInit)
p.addAdditionalStateProvider(provider)
```

I have verified that this works for my FIS smoother when I just have the parameters of pos/vel. I know that in the line creating the harverster, the first `None`

is to initialize the STM as an identity matrix and the second would be a `DoubleArrayDictionary`

vaue that I can leave blank for the standard use case. So in summary, my questions are:

- How do I create a
`DoubleArrayDictionary`

value that would properly initialize the STM now that I have an 8x8 instead of a 6x6 - Is it possible to do so in such a way that it would correctly propagate the STM matrix given the additional drag and SRP parameters?