SimPEG 0.21.0 Release Notes#
April 8th, 2024
Highlights
Updates#
New features#
Gravity simulation using Choclo#
Now we can use a faster and more memory efficient implementation of the gravity
simulation SimPEG.potential_fields.gravity.Simulation3DIntegral, making use
of Choclo and Numba.  To make use of this functionality you will need to
install ``choclo` <https://www.fatiando.org/choclo/latest/install.html>`__ in
addition to SimPEG.
See simpeg/simpeg#1285.
Use Dask with MetaSimulation#
A new SimPEG.meta.DaskMetaSimulation class has been added that allows to
use Dask with SimPEG.meta.MetaSimulations.
See simpeg/simpeg#1199.
Rotated Gradients#
Added a new SimPEG.regularization.SmoothnessFullGradient regularization
class that allows to regularize first order smoothness along any arbitrary
direction, enabling anisotropic weighting. This regularization also works for
a SimplexMesh.
See simpeg/simpeg#1167.
Logistic Sigmoid Map#
New SimPEG.map.LogisticSigmoidMap mapping class that computes the logistic
sigmoid of the model parameters. This is an alternative method to incorporate
upper and lower bounds on model parameters.
See simpeg/simpeg#1352.
Create Jacobian matrix in NSEM and FDEM simulations#
The frequency domain electromagnetic simulations (including natural source) now
support creating and storing the Jacobian matrix. You can access it by using
the getJ method.
See simpeg/simpeg#1276.
Documentation#
This new release includes major improvements in documentation pages: more detailed docstrings of classes and methods, the addition of directive classes to the API reference, improvements to the contributing guide, among corrections and fixes.
Breaking changes#
Removal of deprecated bits#
Several deprecated bits of code has been removed in this release. From old classes, methods and properties that were marked for deprecation a few releases back. These removals simplify the SimPEG API and cleans up the codebase.
Remove factor of half in data misfits and regularizations#
Simplify the definition of data misfit and regularization terms by removing the leading factor of one half from these functions. This change makes it easier to interpret the resulting values of these objective functions, while avoiding confusions with their definition.
See simpeg/simpeg#1326.
Bugfixes#
A few bugs have been fixed:
- Fix issue with lengthscales in coterminal angle calculations by @domfournier in simpeg/simpeg#1299 
- ISSUE-1341: Set parent of objective functions by @domfournier in simpeg/simpeg#1342 
- Ravel instead of flatten by @thibaut-kobold in simpeg/simpeg#1343 
- Fix implementation of coterminal function by @domfournier in simpeg/simpeg#1334 
- Simpeg vector update by @johnweis0480 in simpeg/simpeg#1329 
Contributors#
This is a combination of contributors and reviewers who’ve made contributions towards this release (in no particular order).
We would like to highlight the contributions made by new contributors:
- @mplough-kobold made their first contribution in simpeg/simpeg#1282 
- @ghwilliams made their first contribution in simpeg/simpeg#1292 
- @johnweis0480 made their first contribution in simpeg/simpeg#1329 
- @ckohnke made their first contribution in simpeg/simpeg#1352 
- @YingHuuu made their first contribution in simpeg/simpeg#1344 
Pull Requests#
- Add 0.20.0 release notes to toc by @jcapriot in simpeg/simpeg#1277 
- add plausible analytics to simpeg docs by @lheagy in simpeg/simpeg#1279 
- Refresh links in documentation by @mplough-kobold in simpeg/simpeg#1282 
- Run pytest on Azure with increased verbosity by @santisoler in simpeg/simpeg#1287 - Allow to use random seed in make_synthetic_data by @santisoler in simpeg/simpeg#1286 
- pgi doc by @thibaut-kobold in simpeg/simpeg#1291 
- Fix deprecation warning for gradientType in SparseSmoothness by @santisoler in simpeg/simpeg#1284 
- Gravity simulation with Choclo as engine by @santisoler in simpeg/simpeg#1285 
- Fix minor flake8 warning by @santisoler in simpeg/simpeg#1307 
- ISSUE-1298: Use normal distributed noise in example. by @domfournier in simpeg/simpeg#1312 
- Ditch deprecated functions in utils.model_builder by @domfournier in simpeg/simpeg#1311 - Triaxial magnetic gradient forward modelling by @thibaut-kobold in simpeg/simpeg#1288 
- Documentation improvements for classes in Objective Function Pieces by @ghwilliams in simpeg/simpeg#1292 
- Fix description of source_field in gravity survey by @santisoler in simpeg/simpeg#1322 
- Add - weights_keysmethod to- BaseRegularizationby @santisoler in simpeg/simpeg#1320
- Bump versions of flake8 and black and pin flake plugins by @santisoler in simpeg/simpeg#1330 
- Move - __init__in- BaseSimulationto the top of the class by @santisoler in simpeg/simpeg#1323
- Simpeg vector update by @johnweis0480 in simpeg/simpeg#1329 
- Fix typo in error messages by @santisoler in simpeg/simpeg#1324 
- Fix issue with lengthscales in coterminal angle calculations by @domfournier in simpeg/simpeg#1299 
- Simplify check for invalid multipliers by @santisoler in simpeg/simpeg#1336 
- Ravel instead of flatten by @thibaut-kobold in simpeg/simpeg#1343 
- Fix implementation of coterminal function by @domfournier in simpeg/simpeg#1334 
- Update cross gradient hessian approximation by @jcapriot in simpeg/simpeg#1355 
- ISSUE-1341: Set parent of objective functions by @domfournier in simpeg/simpeg#1342 
- Fix partial derivatives in regularization docs by @santisoler in simpeg/simpeg#1362 
- Remove factor of half in data misfits and regularizations by @lheagy in simpeg/simpeg#1326 
- Improvements to template for a bug report issue by @lheagy in simpeg/simpeg#1359 
- Simplify a few gravity simulation tests by @santisoler in simpeg/simpeg#1363 
- Exponential Sinusoids Simulation by @lheagy in simpeg/simpeg#1337 
- Replace magnetic SourceField for UniformBackgroundField by @santisoler in simpeg/simpeg#1364 
- Remove deprecated regularization classes by @santisoler in simpeg/simpeg#1365 
- Removed deprecated properties of UpdateSensitivityWeights by @santisoler in simpeg/simpeg#1368 
- Replace indActive for active_cells in regularizations by @santisoler in simpeg/simpeg#1366 
- Remove the debug argument from InversionDirective by @santisoler in simpeg/simpeg#1370 
- Remove cellDiff properties of RegularizationMesh by @santisoler in simpeg/simpeg#1371 
- Remove deprecated bits of code by @santisoler in simpeg/simpeg#1372 
- Use choclo in gravity tutorials by @santisoler in simpeg/simpeg#1378 
- Remove surface2ind_topo by @santisoler in simpeg/simpeg#1374 
- Speed up sphinx documentation building by @jcapriot in simpeg/simpeg#1382 
- Add docs/sg_execution_times.rst to .gitignore by @santisoler in simpeg/simpeg#1380 
- Describe merge process of Pull Requests in docs by @santisoler in simpeg/simpeg#1375 
- Simplify private methods in gravity simulation by @santisoler in simpeg/simpeg#1384 
- Update Slack links: point to Mattermost by @santisoler in simpeg/simpeg#1385 
- added getJ for fdem and nsem simulations by @JKutt in simpeg/simpeg#1276 
- Add LogisticSigmoidMap by @ckohnke in simpeg/simpeg#1352 
- Remove the cell_weights attribute in regularizations by @santisoler in simpeg/simpeg#1376 
- Remove regmesh, mref and gradientType from regularizations by @santisoler in simpeg/simpeg#1377 
- Test if gravity sensitivities are stored on disk by @santisoler in simpeg/simpeg#1388 
- Check if mesh is 3D when using Choclo in gravity simulation by @santisoler in simpeg/simpeg#1386 
- Rotated Gradients by @jcapriot in simpeg/simpeg#1167 
- Add directives to the API Reference by @santisoler in simpeg/simpeg#1397 
- Remove deprecated modelType in mag simulation by @santisoler in simpeg/simpeg#1399 
- Remove mref property of PGI regularization by @santisoler in simpeg/simpeg#1400 
- Add link to User Tutorials to navbar in docs by @santisoler in simpeg/simpeg#1401 
- Improve documentation for base simulation classes by @ghwilliams in simpeg/simpeg#1295 
- Enforce regularization - weightsas dictionaries by @YingHuuu in simpeg/simpeg#1344
- Minor adjustments to Sphinx configuration by @santisoler in simpeg/simpeg#1398 
- Update AUTHORS.rst by @lheagy in simpeg/simpeg#1259 
- Update year in LICENSE by @lheagy in simpeg/simpeg#1404 
- Dask MetaSim by @jcapriot in simpeg/simpeg#1199 
- Add Ying and Williams to AUTHORS.rst by @santisoler in simpeg/simpeg#1405 
- Remove link to “twitter” by @jcapriot in simpeg/simpeg#1406 
- Bump Black version to 24.3.0 by @santisoler in simpeg/simpeg#1403