Emg3d

Latest version: v1.8.2

Safety actively analyzes 638466 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 5

1.6.0

-----------------------------

**2022-04-30**

- Simulation: ``gradient``, ``jvec``, and ``jtvec`` new support triaxial
anisotropy (also through the CLI). As a consequence, ``gradient`` and
``jtvec`` return an ndarray of shape ``(nx, ny, nz)`` (isotropic) or
``({2;3}, nx, ny, nz)`` (VTI/HTI; triaxial), and ``jvec`` expects an ndarray
of shape ``(nx, ny, nz)`` (isotropic) or ``({1;2;3}, nx, ny, nz)``
(isotropic; VTI/HTI; triaxial).

1.5.0

--------------------------------

**2022-03-30**

- Meshes:

- ``construct_mesh`` and ``origin_and_widths`` take a new variable
``center_on_edge``: If ``True``, the center is put on an edge, if
``False``, it is put at the cell center. Status quo is ``True``, but the
**default will change** to ``False`` in v1.7.0. If not set, it will
currently raise a FutureWarning making the user aware of the change.
Setting ``center_on_edge`` explicitly will suppress the warning.
- Constructed grids through ``construct_mesh`` and ``origin_and_widths`` with
a defined ``seasurface`` might slightly change due to some improvements and
refactoring in the course of the above changes to the center. The changes
should not be severe.

- Simulation:

- ``gradient``: Changed slightly to use the proper adjoint (changed *only if*
the computational grids differ from the inversion grid; requires
``discretize``).
- ``jvec``: Adjusted to work for any mapping, not only conductivity, and also
with adaptive gridding. It expects new a Fortran-ordered vector with the
shape of the model (or a vector of that size).
Gently reminder that the functions ``gradient``, ``jvec``, and ``jtvec``
are still considered *experimental*, and might change.
- New optional keyword ``tqdm_opts``. With ``False`` you can switch off the
progress bars. Alternatively one can provide a dict, which is forwarded
to ``tqdm``.

- CLI:

- Expose ``mean_noise`` and ``ntype``, in addition to ``min_offset``, to the
CLI (for adding noise); also ``plain`` (for solver), and ``center_on_edge``
(for gridding options).

1.4.0

--------------------------------

**2022-02-09**

- Meshes: Non-backwards compatible changes in ``construct_mesh``
(``origin_and_widths``; ``estimate_gridding_options``) when providing
``vector``'s (implemented non-backwards compatible as the old rules were not
intuitive nor logic; previous meshes can still be obtained, mostly, by
setting the parameters carefully).

- Priority-order changed to ``domain > distance > vector`` (before it was
``domain > vector > distance``).
- A provided ``vector`` is new trimmed to the corresponding domain if it is
larger than a also provided domain (from ``domain`` or ``distance``);
trimmed at the first point where
``vector <= domain[0]``, ``vector >= domain[1]``.
- A ``vector`` can new also be smaller than the defined domain, and the
domain is then filled according to the normal rules; the last cell of
``vector`` in each direction is taken as starting width for the expansion.

- Bugfixes and maintenance:

- Removed functions and modules that were deprecated in v1.2.1.
- Fixed kwargs-error when adding ``add_noise`` explicitly to
``Simulation.compute()``.
- Python 3.10 added to tests; Python 3.7 tests reduced to minimum.

1.3.2

--------------------------

**2021-12-01**

CLI: Add ``remove_empty`` to parameter file; set to ``False`` by default
(pre-v1.3.1 behaviour, and therefore backwards compatible).

1.3.1

-----------------------------------

**2021-11-20**

- ``Survey.select`` removes now empty source-receiver-frequency pairs. If you
want the old behaviour set ``remove_empty=False``.

- Maintenance: Added a cron to GHA; 20th of every month at 14:14.

1.3.0

--------------------------------

**2021-10-27**

- ``electrodes``:

- New source ``TxMagneticPoint`` (requires ``discretize``; mainly used as
adjoint source for magnetic receivers; does not work in the presence of
magnetic permeabilities in the vicinity of the source).
- Both receivers (``Rx{Electric;Magnetic}Point``) can now produce their
proper adjoint (thanks to sgkang!).

- Changes in Simulation and parallel execution.

- Parallel computation is not sharing the simulation any longer.
- Parallel computation can new be done both file-based or all in memory.
The new possibility for file-based computation should make it possible
to compute responses for any amount of source-frequency pairs. See
parameter ``file_dir`` in the Simulation class (or corresponding parameter
in the CLI parameter file).
- ``get_model`` and ``get_hfield`` are now done on the fly, they are not
stored in a dict; ``simulation._dict_model`` and
``simulation._dict_hfield`` do not exist any longer.
- New methods ``jvec`` (sensitivity times a vector) and ``jtvec``
(sensitivity transpose times a vector). These methods are currently
experimental; documentation and examples are lacking behind.

- Various small things:

- Models and Fields return itself (not a copy) when the grid provided to
``interpolate_to_grid`` is the same as the current one.

Page 2 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.