Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modular emulator interface #119

Closed
odunbar opened this issue Nov 16, 2021 · 1 comment
Closed

Modular emulator interface #119

odunbar opened this issue Nov 16, 2021 · 1 comment
Assignees

Comments

@odunbar
Copy link
Collaborator

odunbar commented Nov 16, 2021

As we are starting to think about new emulator types, the first thing we should do is make CES agnostic of the emulator type.
A good first step would be to replicate the EnsembleKalmanProcesses modularity for different methods.

In EKP:

  1. We first create the process struct with a type (e.g. Inversion orSampler) containing method-specific arguments,
  2. We create an EnsembleKalmanProcess struct, which takes in, as an argument this struct of type Inversion or Sampler
  3. We write methods for the EnsembleKalmanProcess that depend on the type. e.g update_ensemble(process::Inversion) or update_ensemble(process::Sampler)

Idea for CES:

  1. Create structs of types GaussianProcess, RandomFeature, FourierNeuralOperator etc. with all emulator specific arguments
  2. Create the Emulator struct, taking in as an argument a struct of type GaussianProcess
  3. Create methods for the emulator type e.g. fit or predict for the Emulator

In sampling we will also need to deal with emulators which do not produce uncertainty. (one, perhaps overengineered idea would be to have StatisticalEmulator and DeterministicEmulator type structs)

@odunbar
Copy link
Collaborator Author

odunbar commented Jan 28, 2022

(should have closed with #120

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants