This topic is meant to facilitate planning, coordinating and tracking developments with the Natural Source EM implementation in SimPEG. There are both research interests (e.g. associated with the Jupyter meets the Earth Project), and industry interest both for inverting field data and for connecting SimPEG to GUI controls.
This is a wiki post, so you are welcome to edit it.
Below, we list some of the main development tasks and will link these to issues / pull requests as appropriate.
SimPEG development
- parallelization over frequencies with dask
- forming the sensitivity
J
and storing to zarr (@jcapriot has a first pass) - efficiency improvements so that projection matrices are not duplicated between real / imaginary components
- implement a boundary-condition based approach rather than primary-secondary (this should streamline the use of the OcTree code)
- multi-mesh approach (finer discretization for higher frequencies and coarser for lower frequencies)
- documentation and examples of loading data and inverting a variety of data types (e.g. MT, ELF, …)
Connections with Pangeo / Jupyter meets the earth
- examine HPC & cloud for large workflows (portability of workflows between the two?, pros / cons of each?)
- Connect in with the streaming work by Joe Hamman with zarr + redis to monitor inversion / simulation results as the inversion progresses
- prototyping dashboards / UI with Voila and widgets
Questions / items to look in to
- any efficiency gains by using Xarray for the fields object?
- other JupyterLab connections?
- task streams without dask?
- template for bokeh-style plugins?