Releases: emsig/empymod
Bugfix np.seterr(all='ignore')
-
Bumped the minimum requirements to:
- Python 3.7
- NumPy 1.17
- SciPy 1.4
- Numba 0.47
-
Legacy clean-up: The kernel of empymod used to switch off all NumPy errors
vianp.seterr(all='ignore')
. That means that any script or library that
used empymod switched off all warnings from NumPy, which is not good. Since
empymod v2 this does make even less sense, as the entire kernel is jitted
with numba. This setting is therefore removed.
Bugfix azm/dip broadcasting
- Bugfix in
empymod.bipole
andempymod.loop
when using various azimuths
and dips (some cases used to cause a shape-mismatch error).
Theme change & streamline
-
Streamline some things with emsig and emg3d:
- Change theme from rtd to pydata.
- New primary links https://emsig.xyz and https://empymod.emsig.xyz.
- Move copyright from «The empymod Developers» to «The emsig community».
- Slight rework of some parts of the docs.
Bugfix Windows int32/64
- Bugfix Windows int32/64.
- New example "Magnetotelluric".
M&B I
Move to EMSiG
Small maintenance release:
- Update github.com/empymod to github.com/emsig.
- Moved from Travis CI to GitHub Actions.
Docs and gallery
-
Documentation:
- New section under Tips and tricks regarding Zero horizontal offset.
-
Example gallery:
- Re-organization of the section Reproducing: split CSEM into the two examples, rename all.
- New example Hunziker et al., 2015, in the section Reproducing.
- Update and maintain all of them.
-
Maintenance:
-
Take care of deprecation warnings:
-
Correct docs re
htarg
forht='quad'
(a
/b
vslmin
/lmax
). -
Sphinx: Ensure
_html_repr_
is captured by RTD and other small improvements. -
Chain errors.
-
Improve NumPy types.
-
Fix example: `tem_walktem`
- Fix example
tem_walktem
, related to changes inscipy.quadrature
: Replace not-existing private namescipy.integrate.quadrature._cached_roots_legendre
with the public namescipy.special.roots_legendre
. - As a consequence of the above, changed in
empymod
the used, old namescipy.special.p_roots
by new, more descriptive namescipy.special.roots_legendre
. - Improve publications-section in the example gallery.
- Change error reporting to native (instead of
print(bla)
andraise Error
doraise Error(bla)
); improve corresponding error testing by checking the error message too.
Bug fixes: ftarg, docs, CI, req
- Bugfix that using
ftarg
returned fromutils.check_time
as input for the sameutils.check_time
does not throw a warning in the case offftlog
andqwe
. - Various micro-improvements and simplifications with regards to the documentation, testing, and requirement specifications.
Numba
This version is backwards incompatible and requires Python 3.6+.
-
Numba:
- Using
numexpr
is no longer a possibility. Instead,numba
is a new dependency. All four kernel routines (wavenumber
,greenfct
,reflections
, andfields
) are now numba-jitted functions.
- Using
-
Removed:
- Removed all deprecated functions.
- Dropped support for Python 3.5; moved to f-strings.
- Dropped testing for channel conda-forge. The problems encountered at the early development cycle of empymod with conda-forge do not exist any longer.
-
New defaults:
EMArray
:.amp
and.pha
are now methods, not properties. Phase takes three optional boolean parametersdeg=False
,unwrap=True
, andlag=True
, to get radians or degrees; unwrapped or not; and lag or lead defined phases.- The parameters
epermV
andmpermV
are set to the values ofepermH
andmpermH
, respectively, if not provided (hence assuming isotropic behaviour). Before they were set to ones if not provided.
-
Renaming:
transform.fht
->transform.hankel_dlf
transform.hqwe
->transform.hankel_qwe
transform.hquad
->transform.hankel_quad
transform.ffht
->transform.fourier_dlf
transform.fqwe
->transform.fourier_qwe
transform.fftlog
->transform.fourier_fftlog
transform.fft
->transform.fourier_fft
transform.fhti
->transform.get_fftlog_input
transform.get_spline_values
->transform.get_dlf_points
.factAng
->ang_fact
- In
htarg
-dict:fftfilt
->dlf
(filter name for Hankel-DLF) - In
ftarg
-dict:fhtfilt
->dlf
(filter name for Fourier-DLF) - In
ftarg
-dict:ft
->kind
(method in Fourier-DLF [sine/cosine]) - Only dictionaries allowed for
htarg
andftarg
; strings, lists, or tuples are not allowed any longer. They are also dictionaries internally now. ht
: There is only one unique name for each method: 'dlf', 'qwe', 'quad'.ft
: There is only one unique name for each method: 'dlf', 'qwe', 'fftlog', 'fft'.- Within
transform
, changefhtarg
,qweargs
, andquadargs
tohtarg
;qweargs
toftarg
.
-
Other changes:
- All settings (
xdirect
,ht
,htarg
,ft
,ftarg
,loop
,verb
) are now extracted fromkwargs
. This makes it possible that allmodel
-functions take the same keyword-arguments; warnings are raised if a particular parameter is not used in this function, but it doesn't fail (it fails, however, for unknown parameters). Pure positional calls including those parameters will therefore not work any longer. - Undo a change introduced in v1.8.0:
get_dlf_points
is calculated directly withintransform.fht
empymod#26. - Ensured that source and receiver inputs are not altered.
- Significantly reduced top namespace; only functions from
model
are loaded into the top namespace now.
- All settings (