Skip to content

Numba

Choose a tag to compare

@prisae prisae released this 29 Apr 10:28
eeba70b

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, and fields) are now numba-jitted functions.
  • 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 parameters deg=False, unwrap=True, and lag=True, to get radians or degrees; unwrapped or not; and lag or lead defined phases.
    • The parameters epermV and mpermV are set to the values of epermH and mpermH, 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 and ftarg; 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, change fhtarg, qweargs, and quadargs to htarg; qweargs to ftarg.
  • Other changes:

    • All settings (xdirect, ht, htarg, ft, ftarg, loop, verb) are now extracted from kwargs. This makes it possible that all model-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 within transform.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.