Changelog#
Version 0.7.0#
Released on: 2024/08/12
Breaking changes:
Update the gravitational constant (#412)
Remove the
harmonica.test()
function (#482)Remove
depth_type
fromEquivalentSources
(#468)Change default value for
depth
inEquivalentSourcesGB
(#515)Change default for window size in
EquivalentSourcesGB
(#487)
Bug fixes:
Make
reduce_to_pole
work for arbitrary dimension names (#509)Fix inverted sign in upward derivative filter (#479)
Fix coordinate rounding errors in FFT (#398)
New features:
Remove horizontal coordinates when ditching thin prisms (#394)
Raise error for zero depth value in equivalent sources (#524)
Merge magnetic forward functions for prisms (#448)
Merge magnetic forward functions for dipoles (#453)
Magnetic field of dipoles in Cartesian coordinates (#414)
Forward models of prisms gravity fields with Choclo (#400)
Drop null prisms when converting a prism layer to pyvista (#393)
Add total gradient amplitude transformation (#478)
Add
total_field_anomaly
function (#510)Add progressbar to tesseroid forward modelling (#430)
Add new
tilt_angle
transformation function (#486)Add magnetic field forward modelling of rectangular prisms (#369)
Add function to convert magnetic vector to inclination and declination (#402)
Add Euler Deconvolution of a single window (#493)
Add covariance, change fit data, more docs to Euler Deconvolution (#519)
Add associated Legendre function calculations (#505)
Maintenance:
Use Dependabot to update GitHub Actions workflows (#455)
Use Choclo functions for forward modelling point sources (#422)
Use Burocrata to check and add license notices (#469)
Use a text field for license in pyproject.toml (#442)
Specify nopython=True on jit functions (#435)
Setup Trusted Publisher deployment to PyPI (#477)
Run serial vs parallel test on prisms without Numba (#434)
Rewrite check for point inside tesseroid with Numba (#419)
Fix prism_layer test when accessing PyVista cells (#409)
Fix broken ICGEM file loader test (#457)
Extend support to Python 3.12 (#484)
Extend support for Numpy 2.0 (#514)
Drop support for Python 3.8 (#497)
Drop support for Python 3.7 (#404)
Ditch setup.cfg and use only pyproject.toml (#438)
Decorate tests for Legendre functions (#521)
Continue running doctests after failure (#411)
Add Yago M Castro to AUTHORS.md (#489)
Add India Uppal to AUTHORS.md (#500)
Add Gelson to AUTHORS.md (#520)
Documentation:
Update versions of Sphinx and its plugins (#472)
Update how to pip install dev version in install.rst (#444)
Set hinge to zero in gallery example plot (#408)
Replace sphinx napoleon for numpydoc (#492)
Replace
color
forfill
in examples using PyGMT (#495)Minor typo in eq sources parameter estimation docs (#389)
Minor edits to grid transformations guides (#391)
Make gravity units more explicit (#421)
Improve installation instructions in the docs (#483)
Improve docstrings of prism gravity functions (#429)
Improve docstring of
prism_magnetic
function (#481)Improve coordinates description in forward functions (#413)
Fix wrong citations of Cordell (1992) (#518)
Fix visualization test using deprecated PyVista method (#433)
Fix typo in user guide (#475)
Fix typo in Installing (#416)
Fix spelling of “Gaussian” in tranformations guide (#464)
Fix prism and tesseroid layer in API Reference (#428)
Fix multiple typos on DatasetAccessorPrismLayer (#494)
Fix missing PyGMT images in user guide (#474)
Download User Guides as scripts and notebooks (#405)
This release contains contributions from:
Agustina Pesce
Federico Esteban
Gelson F. Souza-Junior
India Uppal
Leonardo Miquelutti
Leonardo Uieda
Lu Li
Mariana Gómez
Matt Tankersley
RichardScottOZ
Santiago Soler
Sergei Freiman
Yago Moreira Castro
Version 0.6.0#
Released on: 2023/03/01
Deprecations:
Deprecate
EQLHarmonic
andEQLHarmonicSpherical
classes (#366)Deprecate
isostasy_airy
function (#379)Deprecate the synthetic and dataset modules (#380)
New features:
Add function to create a tesseroid layer, similar to the one for the prism layer (#316)
Add function to read Oasis Montaj© grd files as
xarray.DataArray
(#348)Add option to discard thin prisms when forward modelling a prism layer (#373)
Add FFT-based transformations and filters for horizontal derivatives, upward continuation, reduction to the pole of magnetic grids, and low-pass and high-pass Gaussian filters (#299)
Make horizontal derivative functions to compute the derivatives using central finite differences (#378)
Maintenance:
Minor optimization in prism forward modelling (#349)
Set lower bounds for supported dependency versions following NEP29 (#356)
Extend support for Python 3.10 (#240)
Bump versions of style checkers like Black and Flake8 (#368)
Replace
setup.py
with PyPAbuild
(#363)Clean Harmonica API: make the
forward
,equivalent_sources
,gravity_corrections
,isostasy
andtransformations
submodules private (#362)
Documentation:
Replace Cartopy with PyGMT throughout the documentation (#327)
Fix typo in equivalent sources tutorial (#351)
Add tesseroid_layer to the API reference (#354)
Update README to match Verde and Boule (#358)
Fix contact link in the documentation side bar (#357)
Set v0.4.0 as the last with support for Python 3.6 (#359)
Add more papers to “Citing the methods” section in the docs (#375)
Add examples and a user guide page for grid transformations (#377)
Add examples on how to use horizontal derivative functions to the user guide (#384)
This release contains contributions from:
Mariana Gomez
Lu Li
Agustina Pesce
Santiago Soler
Matt Tankersley
Leonardo Uieda
Version 0.5.1#
Released on: 2022/08/26
Bug fixes:
Fix test function for empty ICGEM gdf file (#345)
Add a function to ignore the tesseroid with zero density or volume (#339)
Fix equivalent sources figures in gallery examples (#342)
Replace PROJECT placeholder in changes.rst for “harmonica” (#341)
This release contains contributions from:
Agustina Pesce
BenjMy
Santiago Soler
Version 0.5.0#
Released on: 2022/08/12
Deprecations:
Add
FutureWarning
toisostasy_airy
function warning of deprecation after next release (#307)Ditch soon-to-be deprecated args of equivalent sources grid method (#311)
Remove deprecated
point_mass_gravity
function (#310)Drop support for Python 3.6 (#309)
Add deprecations to datasets and synthetic modules (#304)
New features:
Discard prisms with no volume or zero density before running the forward model (#334)
Add a new
isostatic_moho_airy
function to compute Moho depth based on Airy isostasy hypothesis using the rock equivalent topography concept (#307)Add progressbar to prism forward gravity calculations (#315)
Add computation of gravitational tensor components for point sources (#288)
Add function to compute upward derivative of a grid in the frequency domain (#238)
Add conversion of prisms or a prism layer to PyVista objects (#291)
Maintenance:
Simplify tests for upward derivative (#328)
Avoid checking floats in tesseroid doctests (#326)
Update Black to its stable version (#301)
Move configuration from setup.py to setup.cfg (#296)
Pin style checkers and formatters (#295)
Documentation:
Add impostor syndrome disclaimer to docs (#333)
Convert README to Markdown, since it’s no longer used to build the docs (#331)
Replace sphinx-panels for sphinx-design and refactor the home page of the docs(#329)
Specify spherical latitude in point sources guide (#325)
Note that spherical and geodetic latitudes are equal in spherical ellipsoids (#324)
Specify “spherical latitude” when describing coordinates of point masses (#321)
Fix small format errors in the user guide (#319)
Update docs and create a proper user guide (#305)
Update Sphinx version to 4.5.0 (#302)
Link Code of Conduct and Authorship, Contributing, and Maintainers Guides back to the Fatiando-wide pages (#294)
Replace Google Analytics for Plausible (#297)
This release contains contributions from:
Federico Esteban
Lu Li
Agustina Pesce
Santiago Soler
Matt Tankersley
Leonardo Uieda
Version 0.4.0#
Released on: 2021/12/02
New features:
Allow
EquivalentSources
to define block-averaged sources through a newblock_size
argument [Soler2021]. (#260)Add
dtype
argument toEquivalentSources
. Allows to select the data type used to allocate the Jacobian matrix. (#278)Add a new
EquivalentSourcesGB
class that implements gradient-boosted equivalent sources. Provides a method to estimate the amount of computer memory needed to allocate the largest Jacobian matrix [Soler2021]. (#275)Allow
tesseroid_gravity
to compute gravitational fields of variable density tesseroids. Implements the density-based discretization algorithm and takesnumba.njit
decorated density functions as input [Soler2019]. (#269)
Breaking changes:
Rename
point_mass_gravity
topoint_gravity
. Having mass and gravity in the same function name is redundant. The function name has the same structure as other forward modelling functions (tesseroid_gravity
andprism_gravity
). The oldpoint_mass_gravity
will be deprecated on the next release. (#280)
Bug fixes:
Fix bug with the
require_numba
pytest mark and rename it torun_only_with_numba
for improved readability. (#273)
Documentation:
Fix typo on
EquivalentSources
docstring: replacebloc_size
withblock_size
. (#276)Minor improvements to the docs: fix bad references and links, replace Equivalent Layer for Equivalent Sources on API Index, fix bad RST syntax. (#274)
Maintenance:
Rename the default branch: from
master
tomain
(#287)Replace
pylint
forflake8
extensions. Addisort
for autoformatting imports. (#285)Replace conda for pip on GitHub Actions and split requirements files for each separate task. (#282)
Make GitHub Actions to check if license notice is present in source files. (#277)
This release contains contributions from:
Santiago Soler
Version 0.3.3#
Released on: 2021/10/22
Bug fix:
Add
EquivalentSources
andEquivalentSourcesSph
to API index. Replace the old equivalent layer classes. (#270)
This release contains contributions from:
Santiago Soler
Version 0.3.2#
Released on: 2021/10/21
Bug fixes:
Fix import of Harmonica version on sample datasets: solves a problem whenbuilding docs for releases. Define the
__version__
variable inside a newversion.py
file. (#264)
This release contains contributions from:
Santiago Soler
Version 0.3.1#
Released on: 2021/10/20
Bug fix:
Package
requirements.txt
and update the dependencies list: removescipy
and addscikit-learn
. Excludelicense_notice.py
and.flake8
from theMANIFEST.in
(#261)
This release contains contributions from:
Santiago Soler
Version 0.3.0#
Released on: 2021/10/20
Deprecations:
Rename equivalent sources classes to
EquivalentSources
andEquivalentSourcesSph
. The oldEQLHarmonic
andEQLHarmonicSpherical
will be removed on v0.5 (#255)Rename the
relative_depth
parameters inEquivalentSources
todepth
. The oldrelative_depth
parameter will be deleted on v0.5 (#236)
New features:
Enable parallelization on tesseroids forward modelling and refactor its code (#244)
Add option to set
EquivalentSources
points to constant depth (#236)Allow
prism_layer
to take Xarray objects as arguments (#243)
Maintenance:
Generate version string on
_version.py
on build (#237)Run CIs only on the two ends of supported Python versions (#256)
Transform
require_numba
decorator into a global variable (#245)
Documentation:
Fix typo: replace bellow for below across docstrings (#253)
Fix version display in the HTML title (#249)
Remove unneeded line in prism_gravity example (#248)
Update Fukushima2020 citation on References (#246)
Change order of dims in example of
prism_layer
(#241)Fix class name on See also section in
prism_layer
(#230)Use the Jupyter book Sphinx theme instead of RTD (#227)
This release contains contributions from:
Santiago Soler
Leonardo Uieda
Version 0.2.1#
Released on: 2021/04/14
Minor changes:
Rename prisms_layer to prism_layer (#223)
Bug fixes:
Unpin Sphinx and fix documentation style (#224)
This release contains contributions from:
Santiago Soler
Version 0.2.0#
Released on: 2021/04/09
New features:
Add function to create a layer of prisms and add a new South Africa ETOPO1 dataset (#186)
Optimize forward models by parallelizing outer loops for prisms and point masses and refactor the tesseroids forward modelling (#205)
Add parallel flag to EQLs (#207)
Parallelize EQLs predictions and Jacobian build (#203)
Improve EQL harmonic classes by splitting classes and adding upward argument to prediction methods (#190)
Add function to compute the distance between points given in geodetic coordinates (#172)
Allow
load_icgem_gdf
to take open file objects (#155)Add new
EQLHarmonicSpherical
class to interpolate data using EQL in spherical coordinates (#136)
Maintenance:
Extend support for Python 3.9 (#219)
Separate the Actions jobs into categories (#218)
Automatically check for license notice when checking code style (#211)
Use the OSI version of item 3 in the license (#206)
Add license and copyright notice to every .py file (#201)
Replace
versioneer
withsetuptools_scm
(#196)Remove configuration files for unused CI: Stickler, Codacy and CodeClimate (#197)
Replace TravisCI and Azure for GitHub Actions (#189)
Fetch a sample data before testing locate because Pooch creates cache directory only after the first fetch (#193)
Require Black>=20.8b1 (#187)
Add CI builds for Python 3.8 (#150)
Replace global Zenodo DOI on badges and citation (#148)
Remove the GitHub templates from the repository and use the shared ones in fatiando/.github (#149)
Documentation:
Add example for
EQLHarmonicSpherical
(#152)Replace Cartesian distance for Euclidean distance in docs (#156)
Bug fixes:
Keep metadata of sample datasets in the Xarray objects (#184)
Fix infinite loop on CIs after Numba v0.5.0 (#180)
This release contains contributions from:
Santiago Soler
Leonardo Uieda
Nicholas Shea
Rowan Cockett
Version 0.1.0#
Released on: 2020/02/27
Fist release of Harmonica. Forward modeling, inversion, and processing gravity and magnetic data.
Forward models:
Point masses in Cartesian coordinates. Gravitational potential with vertical (#71) and horizontal components of acceleration (#119).
Point masses in spherical coordinates. (#60)
Rectangular prisms. (#86)
Tesseroids. (#60)
Available datasets:
Great Britain aeromagnetic dataset. (#111)
South Africa gravity station data. (#99)
Geoid grid from EIGEN-6C4. (#34)
Global topography from ETOPO1. (#23)
Global gravity data from EIGEN-6C4. (#12)
Other features:
Synthetic ground and airborne surveys based on real world data. (#120)
Equivalent Layer for harmonic functions. (#78)
Planar Bouguer correction. (#38)
Airy Isostasy function. (#17)
Function to read ICGEM data files. (#11)
This release contains contributions from:
Leonardo Uieda
Santiago Soler
Vanderlei C Oliveira Jr
Agustina Pesce
Nicholas Shea
ziebam