Simpeg

Latest version: v0.21.1

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

Scan your dependencies

Page 2 of 10

0.13.0

Updates to Simple regularization
- from pr 807
- commits by: fourndo

Summary
Proposed modification to the model gradient measure for Simple and Sparse regularization.
Normalized length scales are multiplying cell_weights before averaging to cell faces.
- Reduces the dependency of the model on cell size changes
- Still allows for IRLS weights to be mesh independent
- Default alpha's remain at 1 (takes care of length scales internally)

**Before**
![image](https://user-images.githubusercontent.com/2406426/64080554-b08c4480-ccaa-11e9-8eba-59a77cb6d691.png)

**After**
![LengthScalesApplied](https://user-images.githubusercontent.com/2406426/64080547-a79b7300-ccaa-11e9-9206-22c8adbd514b.png)

**Additional Notes**
This pr also removed 2 VRM examples and the 1D MT example as they were failing. Issues 812, 814 document the issues, and pr's 813 and 815 have been started to resolve those issues.

Updates to Utils.plot2Ddata
- from pr 808
- commits from: thast

summary
add shading options in `utils.plot2Ddata`

Illustrations:

- On the docs example:
![image](https://user-images.githubusercontent.com/13682747/64214369-1de3d500-ce65-11e9-9bbc-1e7a1b34a299.png)

- On a mag dataset:
![image](https://user-images.githubusercontent.com/13682747/64214647-1ffa6380-ce66-11e9-90fc-bce6951009ae.png)

Minor updates:
- small fix in the calling of `mkvc` in the regularization mesh (from 810, commits from thast)
- update dependencies in the setup.py to remove indirect ones (from 188, commits from lheagy)

0.12.0

- from pr 715
- commits from sgkang, fourndo
- review from lheagy


Spectral Induced Polarization Inversion
--------------------------------------------

- Invert multiple time channels of IP data to recover 3D distribution of polarization
parameters: `eta`, `tau`, and `c`

- Can handle various data types: `volt` (V) or `apparent_chargeability` (V/V)

- Profile `SIP` modules to make sure it can handle large-scale time-domain IP data (`storeJ=False`)

![image](https://user-images.githubusercontent.com/6054371/62173464-03a95b00-b2eb-11e9-8abd-2b3642ccae48.png)

DC and IP codes
------------------

- Can handle various data types: `volt` (V) or `apparent_resistivity` (ohm-m), or `apparent_chargeability` (V/V)

Examples using `DC`, `IP`, `SIP` codes are available through:

https://github.com/simpeg-research/kang-2018-spectral-inducedpolarization/tree/master/notebooks

0.11.6

- from pr 799
- commits from lheagy
- review from fourndo

Summary
- break up Regularization.py into multiple files in a `regularization` module
- Regularization Mesh in `regularization_mesh.py`
- `BaseRegularization` and `BaseComboRegularization` in `base.py`
- Tikhonov and Simple in `tikhonov.py`
- Sparse in `sparse.py`

0.11.5

- from pr 769
- commits from prisae
- review from lheagy

Replace `func versions` by `class Versions`

Turns out that there is a way to have html in a notebook and non-html in all the rest without even checking if you are in a notebook or not (thanks banesullivan; https://github.com/simpeg/discretize/issues/142).

All that is needed is a `Versions`-class which has the right functions linked to `__repr__` and `_repr_html_`:

class Versions:

def __init__(self, add_pckg=None, ncol=4):
self.add_pckg = add_pckg
self.ncol = ncol

def __repr__(self):
return versions_text(self.add_pckg)

def _repr_html_(self):
return versions_html(self.add_pckg, self.ncol)


By removing the old functions, respectively integrating the relevant parts into the new class, the whole version printing utility gets a lot simpler (however, it is not backwards compatible).

Before, you had to do

from SimPEG import versions
versions()

in Python, IPython etc, and in Jupyter

from SimPEG import versions
versions('HTML')


Updating your code

Now, you simply do

from SimPEG import Versions
Versions()

EVERYWHERE (note the uppercase `V`), and it will automatically print a html table in a notebook, and plain text everywhere else.

0.11.4

updates to keep pace with changes in simpeg/discretize134

0.11.3

- from pr 770
- commits from kalen-sj
- review from: fourndo, lheagy


A complicated pattern that was copy/pasted several times in the code was able to be replaced with a simple np.where. An example:

`actv = np.asarray([inds for inds, elem in enumerate(actv, 1) if elem], dtype=int) - 1`
is now
`actv = np.where(actv)[0]`

Also, a few spelling mistakes and corrections in the examples. A couple of cases where variables were defined twice before use are now just done once.

Page 2 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.