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