SimPEG 0.21.0 Release Notes#
April 8th, 2024
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 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_keys
method toBaseRegularization
by @santisoler in simpeg/simpeg#1320Bump versions of flake8 and black and pin flake plugins by @santisoler in simpeg/simpeg#1330
Move
__init__
inBaseSimulation
to the top of the class by @santisoler in simpeg/simpeg#1323Simpeg 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
weights
as dictionaries by @YingHuuu in simpeg/simpeg#1344Minor 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
Publish documentation on azure @jcapriot in simpeg/simpeg#1412