<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