NRL-Plasma-Physics-Division / turbopy

A lightweight computational physics framework, based on the organization of turboWAVE. Implements a "Simulation, PhysicsModule, ComputeTool, Diagnostic" class hierarchy.
https://turbopy.readthedocs.io/
Creative Commons Zero v1.0 Universal
10 stars 18 forks source link

Including uncertainty in input data #152

Open arichar6 opened 4 years ago

arichar6 commented 4 years ago

What about including uncertainty in input data?

When we characterize uncertainty in input data, we will have a PDF for each data point in our data set. Each point in the data set may have a common PDF, but they don't have to.

Proposals

Proposal A

add a class (perhaps in computetools.py) for PDFs. There could be some "off the shelf" PDFs (Gaussian, Poisson, Uniform).

The app developer will instantiate a PDF for each one that is required, including parameters for the PDF.

In the data set, include metadata to point to the appropriate PDF. We could come up with an approach to use the same PDF for all points in the data set or define different PDFs for different points.

Proposal B

Create an InputData class to handle all aspects of creating input data. This might make it easier to tie to UQ tools for sampling PDFs and propagating uncertainty through turboPy apps. Also, this will standardize how input data (and metadata, including uncertainty) is defined.

Originally posted by @padamson in https://github.com/NRL-Plasma-Physics-Division/turbopy/issues/33#issuecomment-661445436