Releases: emsig/empymod
Arbitrary waveforms
This version finally introduces the possibility for arbitrary waveforms.
-
Modelling routines:
-
bipoleanddipole:- Arbitrary waveforms: Time-domain modelling can new be done for any
arbitrary piecewise linear waveform, in addition to impulse
(signal=0), step-on (signal=1), and step-off (signal=-1)
responses. - User-defined bandpass filters can now be applied to the frequency domain
result through user-provided functions.
- Arbitrary waveforms: Time-domain modelling can new be done for any
-
Merged
loopintobipole; there is no need for a special routine.
Simply usebipolewithmsrc='b'andmrec=Truefor the same
effect.
-
-
New prints (if verbose):
- The source/receiver types are new printed.
- The signal/waveform is new printed.
-
New function
empymod.utils.check_waveform, to check the waveform. -
New deprecations (will be removed in v3):
empymod.model.loopwill be removed in v3.empymod.utils.check_bipole: New signature, it now returns also the
src/rec field and
type; old signature will be removed in v3.empymod.utils.check_time: New signature, it now also returns the
signal; old signature will be removed in v3.empymod.utils.check_time_only: New signature, it now also returns the
signal; old signature will be removed in v3.
-
Bumped the minimum requirements to:
- Python 3.11
- NumPy 2.0
- SciPy, Numba, libdlf, scooby (without minimum version)
Bugfix ext. fcts with z+ up
-
Bugfix: Since v1.10.5, one can provide depth also in decreasing order. Internally, all parameters are reversed then. However, parameters in user-provided
func_etaandfunc_zetawere not reversed, so far the user had to take care of this (and hence define them differently to the rest, which is a bug really). Now any provided parameter in theres-dict is also reversed. If verb>2, these parameters are finally also printed. -
Gallery: New example IP and VRM, based on a notebook from @orerocks.
Flexible bipole coordinates
-
Modelling routines: The definition of sources and receivers is now more flexible for all routines: all parameters can now be either of shape
(1,)or(N,), whereNis the number of sources/receivers. The exception iszfor dipoles, which must be a scalar. -
Gallery
- New example Comparison to Biot-Savart, contributed by @SylvesterOester.
- Fix bug in dipole/loop example.
-
Maintenance
- Testing: added Python 3.14; removed Python 3.10.
TEM-FAST
New example TEM: AEMR TEM-FAST 48 system, contributed by @aignerlukas.
IP/Q clarifications
- Modelling routines
ip_and_q:- Use the corresponding co-planar loop configuration for the primary field.
- Add warning to it that it is experimental.
In-phase and quadrature
- Modelling routines: New function
ip_and_q; this function is a wrapper, taking the same input asdipole. It then computes two responses, the secondary and the primary field, and returns the in-phase and quadrature components as common in profiling measurements using small sources. It only works for magnetic sources and receivers, and the frequency domain. - Gallery
- New example In-Phase and Quadrature, demonstrating DUALEM-842 and GEM-2.
- Clarification in the example Ward and Hohmann.
- Maintenance
- Testing: added Python 3.13; moved Mac/Win to 3.13.
- Added plausible to website.
El. current density
The mrec keyword in empymod.bipole can now be set to j, in which case the electric current density (A/m2) is returned.
pyproject.toml
Small maintenance release:
- Update credits to reflect current situation.
- Changed from
setup.pytopyproject.toml. - Some maintenance in tests and docs.
- Small modifications to the kernel.
NumPy v2
The code is now compatible with NumPy v2.
-
Gallery Update Part I:
- Update for Jupyterlab (ipympl/widget)
- Replaced implicit by explicit pyplots
- Use by default a positiv z-upwards coordinate system
- Part I: frequency domain; reproducing; published
-
Bumped the minimum requirements to:
- Python 3.10
- SciPy 1.10
- Numba, libdlf, scooby (without minimum version)
-
Maintenance:
- Testing: dropped Python 3.9 (Python 3.13 not added yet).
- Update for NumPy v2: mainly
np.infty -> np.inf,np.float_ -> np.float64. - Some fixes to address warnings regarding the deprecated conversion of an array with ndim > 0 to a scalar.
Julia wrapper
- @ruboerner created a Julia wrapper for empymod! Added a note in this regard to the README and the installation instructions.
- Small maintenance things and doc improvements.