Skip to content

Commit 4949584

Browse files
committed
Add helper functions to construct ensemble
1 parent 0cf6911 commit 4949584

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

src/ekp_interface.jl

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,50 @@ function save_eki_and_parameters(eki, output_dir, iteration, prior)
308308
JLD2.save_object(ekp_path(output_dir, iteration), eki)
309309
end
310310

311+
"""
312+
_construct_intial_unconstrained_ensemble(
313+
process::EKP.Process,
314+
prior::PD.ParameterDistribution;
315+
ensemble_size = 0,
316+
rng = MersenneTwister(1234),
317+
)
318+
319+
Construct the initial ensemble of unconstrained parameters given the `process` and
320+
`prior`.
321+
322+
For `EKP.Unscented` and `EKP.TransformUnscented`, the `ensemble_size` is
323+
determined by the `process` and `rng` is not used. These keyword arguments are
324+
needed when the `process` is not `EKP.Unscented` and `EKP.TransformUnscented`.
325+
"""
326+
function _construct_intial_unconstrained_ensemble(
327+
process::Union{EKP.Unscented, EKP.TransformUnscented},
328+
prior::PD.ParameterDistribution;
329+
ensemble_size = 0,
330+
rng = MersenneTwister(1234),
331+
)
332+
ensemble_size > 0 &&
333+
@info "$process automatically choose the ensemble size. Ignoring the argument $ensemble_size for the ensemble size"
334+
return EKP.construct_initial_ensemble(prior, process, constrained = false)
335+
end
336+
337+
function _construct_intial_unconstrained_ensemble(
338+
process::EKP.Process,
339+
prior::PD.ParameterDistribution;
340+
ensemble_size = 0,
341+
rng = MersenneTwister(1234),
342+
)
343+
ensemble_size == 0 && error(
344+
"Ensemble size is 0. Pass a positive value for ensemble_size as a keyword argument",
345+
)
346+
return EKP.construct_initial_ensemble(
347+
rng,
348+
prior,
349+
N_ens,
350+
constrained = false,
351+
)
352+
353+
end
354+
311355
"""
312356
update_ensemble(output_dir::AbstractString, iteration, prior)
313357

0 commit comments

Comments
 (0)