Proper `BatchedObservations` with optional weights?
Sometimes we'd like to emphasize some SyntheticObservations over others. We can express this by introducing an object BatchedObservations rather than using a simple Vector:
struct BatchedObservations
batch
weights
end
By default the weights are all 1, but this could be overridden to emphasize / demphasize certain members of the batch.
Then in the scripts "observations" could refer to a single instance of SyntheticObservations, a vector of SyntheticObservations or an instance of BatchedObservations. Do you think this would create confusion?
I think if we decide to implement BatchedObservations we'll probably want to discontinue support for Vector{<:SyntheticObservations} just for clarity's sake.
Well, we can actually just auto-convert Vector{<:SyntheticObservations} to batched observations. So these changes need happen only under the hood.
This feature is really specific to column models through, for which a single ensemble simulation can handle many observations. I think for basically every other problem we'll need BatchedInverseProblem.