Simpeg

Latest version: v0.21.1

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

Scan your dependencies

Page 9 of 10

0.6.0.b1

Minor Changes
Remove interp utils
PR 601 (commits from lheagy, reviews from: rowanc1 )
- remove interputils from SimPEG. This should be imported from discretize `from discretize import interputils`
- this also gets rid of the efficiency warning on import (that is handled by discretize if necessary). See simpeg/discretize56

VTEM Waveform & Static Utils
PR 602 (commits from: sgkang, reviews from lheagy)
- [untested] add static utils that we can drape electrode locations below topography
- [untested] VTEM waveform

Mag Driver updates
PR 603 (commits from fourndo, reviews from lheagy)
- [untested] Minor changes to data plotting function
- minor changes to MagneticDriver function

0.6.0b0

Major Changes

Composable objective functions
PR 511 (commits from: lheagy, rowanc1, fourndo reviews from: rowanc1, fourndo, leouieda, sgkang, jcapriot)

- wrote a base objective function class that allows for composable objective functions, so you can now say
python
phi = alpha_s * Regularization.Smallness(mesh) + alpha_x * Regularization.Smoothness(mesh)

- regularization and datamisfit now inherit from this. This results in several namespace changes
- `reg.eval(m)` --> `reg(m)`, `dmisfit.eval(m)` --> `dmisfit(m)`
- `reg.evalDeriv(m)` --> `reg.deriv(m)`, `dmisfit.evalDerivl(m)` --> `dmisfit.deriv(m)`
- `reg.eval2Deriv(m)` --> `reg.deriv(m)`, `dmisfit.eval2Derivl(m)` --> `dmisfit.deriv(m)`
- all regularizations and datamisfit now each have their own individual `W` matrix. There are no longer differently named W's, eg
- `dmistfit.Wd = Utils.sdiag(1/wd)` --> `dmisfit.W = Utils.sdiag(1/wd)`

Regularization
- regularization refactor to be more modular.
- For example, `Regularization.Tikhonov` is now a composite regularization that has an objective function list (`reg.objfcts`) consisting of `Regularization.Smallness`, `Regularization.Smooth_x`, `Regularization.Smooth_y`, `Regularization.Smooth_z`, `Regularization.Smooth_xx`, `Regularization.Smooth_yy`, `Regularization.Smooth_zz`.
- implemented properties in regularization (requires dev right now) for
- `indActive`
- `mref`
- `cell_weights`
- `mrefInSmooth`
- `alpha_?` (x, y, ...)
- any time properites are updated on a `CompositeRegularization`, those changes are propagated to the objective functions that make it up.

Other impacts
- update IRLS directive to hold the `l2model` (the directive should keep track of that model, it does not need to be stored on the regularization) cc fourndo
- updated `Props` to include a `SimPEGArray` and `SimPEGFloat` that allow `Utils.Zero` and `Utils.Identity` rowanc1
- [non-backwards-compatible] update examples to set data weights on `dmisfit.W` instead of `dmisfit.Wd` as that will depreciate on these changes

InvProb Compatibility with Composable Objective functions
- allow both `dmisfit` to be either a base objective function or a base data misfit
- extend invProb in cases where `dmisfit` is a combo objective function so that it can stash multiple fields from different problems

Additions

Straight Ray Tomography
PR 511
- implement `SEIS.StraightRay`, `Problem`, `Survey`, `Src` and `Rx`
- example: SEIS_StraightRayTomo.py

![image](https://cloud.githubusercontent.com/assets/6361812/23388723/c4d508e6-fd18-11e6-9f38-ff080cf906e6.png)

Example Joint Inversion
PR 511
- include an example "joint" inversion (consists of 2 data misfit terms and a regularization) based on the Heagy et. al., 2014 SEG abstract http://library.seg.org/doi/abs/10.1190/segam2014-1639.1: SEIS_VolumeRegularization.py

![image](https://cloud.githubusercontent.com/assets/6361812/23390208/7b891458-fd21-11e6-864c-ee43e8bd2a27.png)

Minor Changes

Distribution
PR 576 (commits from: lheagy. reviews from: rowanc1)
- build universal wheel for SimPEG on travis whenever a tag is submitted
- similar to simpeg/discretize44, however since SimPEG is now pure python, a universal wheel can instead be used. https://packaging.python.org/distributing/#universal-wheels

Sphinx Gallery
PR 588 (commits from lheagy. reviews from rowanc1)
- minor docs updates to align with sphinx-gallery/sphinx-gallery151

Survey Pairs
PR 583 (commits from: lheagy)
- have the survey check if it is already paired to problem and raise an error if it is. Use`survey.unpair()` if you are re-using the same survey more than once.
- whitespace cleanup in Survey.py

Docs enhancement
PR 595 (commits from lheagy, reviews from rowanc1)
Bring in the documentation pages from the previous SimPEG tutorials (as per 544):
- "Getting Started for Developers"
- "Practices"

![image](https://cloud.githubusercontent.com/assets/6361812/25649499/e01916e8-2f8a-11e7-864d-9222abde9c8e.png)

Remote Download
PR 598 (commits from: lheagy, reviews from: rowanc1, fourndo)
modify the `remoteDownload` utils so that more of the string handling is done by the util as per 596

Before

basePath = os.path.sep.join(os.path.abspath(os.getenv('HOME')).split(os.path.sep)+['Downloads']+['SimPEGtemp'])
basePath = os.path.abspath(remoteDownload(url, cloudfiles, basePath=basePath+os.path.sep))


After

basePath = download(url, path='~/Downloads', overwrite=True)



Breaks Backwards compatibility
- `dmisfit.Wd` is now `dmisfit.W`
- `Utils.remoteDownload` is now `Utils.download`

0.5.1

Docs
- A beautiful Examples Gallery. Thanks rowanc1!!
- cleanup travis deploy of docs
- add an "edit on github" link for each page of docs
- patch for properties docs when inheriting and extending a property (see 3ptscience/properties153)
![image](https://cloud.githubusercontent.com/assets/6361812/24680735/f1405cec-1946-11e7-9ac6-1a70ce705555.png)

Other changes
- travis testing on python 3.6
- deploy to pypi from python 3.6
- update to be consistent with latest properties release (https://github.com/3ptscience/properties/releases/tag/v0.3.3). Thanks fwkoch!

0.5.0

Major changes: discretize
- removed the meshing, and some of the testing in favour of `discretize` (which was pulled out and improved by jcapriot)
- There are major updates to Richards equation and a number of new examples. This includes the ability to invert for any parameter inside the empirical functions.
- `np` and `sp` are no longer exported by `from SimPEG import *` 533

Minor changes
- Removed `utils.isScalar` in favour of the numpy version.
- `Identity` and `Zero` are pointers into the `discretize` package
- Validation on `HasModel` classes is now recursive.
- Updated testing code to latest version of `pymatsolver`, backwards compatible.

0.4.1

TDEM: Four formulations
- `Problem3D_e` : can solve for `e`, `dbdt`
- `Problem3D_b` : can solve for `e`, `b`, `dbdt`
- `Problem3D_h` : can solve for `h`, `j`, `dhdt`
- `Problem3D_j` : can solve for `j`, `dhdt`

Namespace

Following conventions in FDEM
- Receivers are classes: `TDEM.Rx.Point_dbdt`. This will break backwards compatibility

Testing
- Cross check `Problem3D_e` and `Problem3D_b` against each other, as well as `Problem3D_h` and `Problem3D_j` against each other
- Derivative and adjoint tests on all using a step-off waveform, mag dipole source
- Derivative and adjoint tests in off-time for a vtem waveform

Other Items
- started implementation of `properties` in Sources
- use `_formulation = 'EB', 'HJ'` instead of `eqLocs`
- abstract common pieces of `FDEM`, `TDEM` sources to a `BaseEMSrc`

changes from 539

0.4.0

Properties
- SimPEG now depends on `properties[math]` (https://github.com/3ptscience/properties)


pip install properties[math]


Mappings and Models
- depreciate `mapping` in the problem definition. Now the physical property to which the mapping is related must be explicitly stated. eg.
`SimPEG.EM.FDEM.Problem3D_e(mesh, mapping=sigmaMap)`
becomes
`SimPEG.EM.FDEM.Problem3D_e(mesh, sigmaMap=sigmaMap)`
This change is not backwards compatible
- depreciate `problem.curModel` in favour of `problem.model`
- implement `properties` for the physical properties in all SimPEG problems

Added Maps
- Parametrized block in layer
- Parametrized layer

EM
- break `SrcFDEM` out of survey and put into a separate file
- implement primary-secondary source for FDEM problem
- testing of sources for FDEM

Static
- tests dipole-dipole, dipole-pole, pole-dipole, and pole-pole
- corresponding pole source and receiver classes are implemented
- option for boundary conditions for Problem3D_CC (dirichlet or neumann)
- consistent handling of null-space for both Problem3D_CC and Problem3D_N
- 2.5D DC code is implemented (`Problem2D_CC` and `Problem2D_N`), and tested
- Useful utiilities
- `plot_pseudoSection`: plotting pseudo-section for 2D data
- `gen_DCIPsurvey`: generating simple surveys
- read/writeUBC_DC3Dobs
- readUBC_DC2D model
- convertObs_DC3D_to_2D: Collapse 3D survey to along line 2D survey
- Analytic functions are added: `DCAnalytic_Pole_Dipole`, `DCAnalytic_Dipole_Pole`, `DCAnalytic_Pole_Pole`, `DCAnalytic_Dipole_Dipole`, `DCAnalyticSphere`

Mesh View
- added the ability to do `mirror=True` on the cyl mesh and have it plot a mirror image so corss sections can be easily viewed
- added the ability to down-sample the area being viewed using `range_x`, `range_y` to define the bounds of the region you want to view. `sample_grid = [dx, dy]` can be used to re-sample the data (handy for the casing-type meshes)

Examples
- so much whitespace cleanup :)
- add Craig's example: PF_Gravity_Laguna_del_Maule_Inversion
- add examples from SimPEG.EM paper

Docs
- deploy: http://dev-docs.simpeg.xyz

Page 9 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.