A collection of ideas of what could be added or improved in empymod. Please get in touch if you would like to tackle one of these problems!

• tdem (TEM) [empymod#8]: Issues that have to be addressed: ramp waveform, windowing, loop integration, zero-offset (coincident loop).
• in-loop
• coincident loop
• Ramp waveform [empymod#7]
• Arbitrary waveform [empymod#7]
• Improve the GPR-routine [empymod#9]
• Load and save functions to easily store and load model information (resistivity model, acquisition parameters, and modelling parameters) together with the modelling data (using pickle or shelve).
• Inversion [empyscripts#1]: Inversion routines, preferably a selection of different ones.
• Additional (semi-)analytical functions (where possible)
• Complete full-space (electric and magnetic source and receiver); space-time domain
• Extend diffusive half-space solution to magnetic sources and receivers; space-frequency and space-time domains
• Complete half-space
• Fourier transform
• Include the method outlined by Mulder et al., 2008, Geophysics (piecewise-cubic Hermite interpolation with a FFT).
• Change fft to use discrete sine/cosine transforms instead, as all other Fourier transforms
• If previous step is successful, clean up the internal decisions (utils.check_time) when to use sine/cosine transform (not consistent at the moment, some choice only exists with ffht impulse responses, fqwe and fftlog use sine for impulse, and all three use sine for step-on responses and cosine for step-off responses)
• Hankel transform
• Add the fht-module from FFTLog for the Hankel transform.
• Extend examples (example-notebooks)
• Add different methods (e.g. DC)
• Reproduce published results
• A cython, numba, or pure C/C++ implementation of the kernel and the transform modules. Maybe not worth it, as it may improve speed, but decrease accessibility. Both at the same time would be nice. A fast C/C++-version for calculations (inversions), and a Python-version to tinker with for interested folks. (Probably combined with default parallelisation, removing the numexpr variant.)
• Abstraction of the code.
• GUI.