Releases: emsig/empymod
IP/Q clarifications
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.py
topyproject.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.
libdlf and scooby
The digital linear filters are outsourced to libdlf, reducing the lines of code of empymod by over 50%. In addition to the new requirement libdlf, scooby is added as a requirement. Most user questions can be adressed much better if they provide the output of empymod.Report()
- however, most users do not have scooby installed. Having it as a requirement will make support smoother. Both new requirements are very lightweight modules, having at most numpy as a dependency.
-
Filters:
- The digital linear filters are outsourced to libdlf (https://github.com/emsig/libdlf). Note: How to access filters changed! The old way still works, with a deprecation note stating how to change your code. The old way will be removed in v3.0.
-
Examples:
- @efinden expanded the "Cole-Cole IP" example.
-
Maintenance:
-
Bumped the minimum requirements to:
- Python 3.9
- SciPy 1.9
- Numba 0.53
- libdlf (NEW requirement)
- scooby (NEW requirement)
-
Testing: added Python 3.12, dropped Python 3.8.
-
Fix remaining outdated
python setup.py
commands. -
Many small things to keep the package updated.
-
Flexible dipole coordinates
-
Modelling routines: The definition of the coordinates for
dipole
,dipole_k
, andanalytical
is now more flexible (x
andy
coordinate can now have different dimension, as long as one is a scalar). -
Bumped the minimum requirements to:
- Python 3.8
- NumPy 1.19
- SciPy 1.5
- Numba 0.50
-
Bug fixes, small improvements and maintenance:
- Cleaned-up the namespace by setting
dir()
explicitly. - Testing: added Python 3.11, dropped Python 3.7.
- Adjust copyright notice to only include original year, so it has not to be adjusted each year.
- Cleaned-up the namespace by setting
Minimum offset
-
Minimum offset:
Change regarding the enforced minimum horizontal offset, which can be set
throughempymod.set_minimum(min_off=1e-3)
, where 1e-3, hence 1 mm, is the
default. Until now, responses for smaller offsets were set to NaN. New, they
return the response for the minimum offset. The raised warning stays the
same. -
Maintenance
- Exclude
scipy!=v1.9.0
from MacOS/Windows test. - Replace
pytest-flake8
by plainflake8
. - Change the way
spacing
andshift
are calculated in
fdesign.print_result
to avoid numerical precision issues. - Replace deprecated
sphinx-panels
withsphinx-design
.
- Exclude
I/O & CLI
-
I/O & CLI:
- New Command-Line Interface (CLI) for the top-level modelling functions
bipole
,dipole
,loop
, andanalytical
. Consult the manual
for its description, or type in your terminalempymod --help
. Note that
the CLI is a simple wrapper and currently lacks proper logging. - New module
io
to save and load inputs and data.
- New Command-Line Interface (CLI) for the top-level modelling functions
-
Maintenance:
- Improved load time by lazy-loading matplotlib and some scipy submodules.
- Removed the file
runtests.sh
; usesmake
instead.