Changelog

Version 0.4.0

Released on: 2021/12/02

Digital Object Identifier for the Zenodo archive

New features:

  • Allow EquivalentSources to define block-averaged sources through a new block_size argument [Soler2021]. (#260)

  • Add dtype argument to EquivalentSources. 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 takes numba.njit decorated density functions as input [Soler2019]. (#269)

Breaking changes:

  • Rename point_mass_gravity to point_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 and prism_gravity). The old point_mass_gravity will be deprecated on the next release. (#280)

Bug fixes:

  • Fix bug with the require_numba pytest mark and rename it to run_only_with_numba for improved readability. (#273)

Documentation:

  • Fix typo on EquivalentSources docstring: replace bloc_size with block_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 to main (#287)

  • Replace pylint for flake8 extensions. Add isort 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

Digital Object Identifier for the Zenodo archive

Bug fix:

  • Add EquivalentSources and EquivalentSourcesSph 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

Digital Object Identifier for the Zenodo archive

Bug fixes:

  • Fix import of Harmonica version on sample datasets: solves a problem whenbuilding docs for releases. Define the __version__ variable inside a new version.py file. (#264)

This release contains contributions from:

  • Santiago Soler

Version 0.3.1

Released on: 2021/10/20

Digital Object Identifier for the Zenodo archive

Bug fix:

  • Package requirements.txt and update the dependencies list: remove scipy and add scikit-learn. Exclude license_notice.py and .flake8 from the MANIFEST.in (#261)

This release contains contributions from:

  • Santiago Soler

Version 0.3.0

Released on: 2021/10/20

Digital Object Identifier for the Zenodo archive

Deprecations:

  • Rename equivalent sources classes to EquivalentSources and EquivalentSourcesSph. The old EQLHarmonic and EQLHarmonicSpherical will be removed on v0.5 (#255)

  • Rename the relative_depth parameters in EquivalentSources to depth. The old relative_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

Digital Object Identifier for the Zenodo archive

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

Digital Object Identifier for the Zenodo archive

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 with setuptools_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

Digital Object Identifier for the Zenodo archive

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