1 research outputs found
Fatiando a Terra v0.4: Modeling and inversion in geophysics
<p>Fatiando a Terra (Portuguese for Slicing the Earth) is an open-source Python toolkit for modeling and inversion in geophysics. It provides an easy and flexible way to perform and implement geophysical data analysis.</p>
<p>Official website and documentation: http://www.fatiando.org</p>
<p>DOI for this release: http://dx.doi.org/10.5281/zenodo.49087</p>
<p>Main changes to version 0.4 (see http://www.fatiando.org/changelog.html#version-0-4 for a complete list):</p>
<p>* **New** module to obtain a synthetic convolutional seismogram in<br>
 `fatiando.seismic.conv`. It can be given a depth model that will be<br>
 converted to a time model before generating the synthetic seismogram.<br>
* **Refactor** `fatiando.inversion`. Completely redesigned classes make<br>
 implementing new inversions simpler. Subclassing `Misfit` is simpler, with<br>
 fewer parameters necessary. The usage of existing inversions has changed<br>
 little. A **new dependency** `future` was added to ease the transition to<br>
 support Python 3.<br>
* **BUG FIX**: Tesseroid computations failed (silently) when tesseroids were<br>
 smaller than 1e-6 degrees on a side (~ 10 cm). Code now ignores these<br>
 tesseroids on input and warns the user about it. If a tesseroid becomes<br>
 smaller than this during adaptive discretization, the tesseroid effect will<br>
 be computed without division. The user will be warned when this happens.<br>
* **New** reduction to the pole and upward continuation with FFT in<br>
 `fatiando.gravmag.transform`. The pole reduction allows both remanent and<br>
 induced magnetization. Upward continuation is more stable and faster than the<br>
 old space domain approach that was implemented.<br>
* **IMPORTANT BUG FIX**: Fixed wrong ordering of nodes in<br>
 `fatiando.mesher.PointGrid`. The order of nodes had the same problem as the<br>
 regular grids. This was not caught<br>
 before because `PointGrid` didn't use `gridder.regular` to generate its<br>
 internal regular grid. This is an example of why reuse is a good thing! Tests<br>
 now should catch any future problems.<br>
* **IMPORTANT BUG FIX**: `fatiando.gridder.regular` and many other places in<br>
 Fatiando where using the wrong convention for x, y dimensions.<br>
 x should point North and y East. Thus, a data matrix (regular grid) should<br>
 have x varying in the lines and y varying in the columns. This is **oposite**<br>
 what we had. This fix also changes the `shape` argument to be `(nx, ny)`<br>
 instead of `(ny, nx)`. **Users should be aware of this and double check<br>
 their code.**<br>
* More stable derivatives in `fatiando.gravamag.transform`. The horizontal<br>
 derivatives default to central finite-differences for greater stability. The<br>
 FFT based derivatives use a grid padding to avoid edge effects.<br>
 Thanks to [Matteo Niccoli](https://mycarta.wordpress.com/) for suggesting<br>
 this fix.<br>
* **Renamed** `fatiando.gravmag.fourier.ansig` to<br>
 `fatiando.gravmag.transform.tga`<br>
* **Remove** `fatiando.gravmag.fourier` by moving relevant functions into<br>
 `fatiando.gravmag.transform`.<br>
* **New** `seismic_wiggle` and `seismic_image` plotting functions for<br>
 seismic data in `fatiando.vis.mpl`<br>
* **Remove** OpenMP parallelism from the `fatiando.gravmag` Cython coded<br>
 forward modeling. Caused the majority of our install problems and didn't<br>
 offer a great speed up anyway (< 2x). Can be replaced by `multiprocessing`<br>
 parallelism without the install problems<br>
* Tesseroid forward modeling functions in `fatiando.gravmag.tesseroid` take<br>
 an optional `pool` argument. Use it to pass an open<br>
 `multiprocessing.Pool` for the function to use. Useful to avoid processes<br>
 spawning overhead when calling the forward modeling many times<br>
* **BUG FIX**: Avoid weird numba error when tesseroid has zero volume. Let to<br>
 better sanitizing the input model. Tesseroids with dimensions < 1cm are<br>
 ignored because they have almost zero gravitational effect<br>
* Ported the tesseroid forward modeling code from Cython to numba. This is<br>
 following the discussion on issue<br>
 [#169](https://github.com/fatiando/fatiando/issues/169) to make installing<br>
 less of burden by removing the compilation step. The numba code runs just as<br>
 fast. New functions support multiprocessing parallelism.<br>
 Thanks to new contributor Graham Markall for help with numba.<br>
* **BUG FIX**: Replace `matplotlib.mlab.griddata` with<br>
 `scipy.interpolate.griddata` in `fatiando.gridder.interp` to avoid<br>
 incompatibilities when using `matplotlib > 1.3`<br>
 (at least in MacOS). Nearest neighbor interpolation method flagged as `nn`<br>
 was removed. Now it becomes only `nearest`. Also replace `matplotlib`<br>
 with `scipy` in `fatiando.mesher.PrismMesh.carvetopo`<br>
* **New class** `fatiando.gravmag.basin2d.PolygonalBasinGravity` for 2D<br>
 gravity inversion for the relief of a basin.<br>
* **Removed** package `fatiando.gui`. This was an experimental and temporary<br>
 package to explore interactivity.<br>
* Moved `Moulder` to the **new module** `fatiando.gravmag.interactive`.<br>
 Completely rewrote the application. It now allows editing, moving, and<br>
 deleting polygons, persisting the application to a pickle file and reloading,<br>
 etc.</p>
<p>Â </p