Fatiando Harmonica Versions Save

Forward modeling, inversion, and processing gravity and magnetic data

v0.6.0

1 year ago

Released on: 2023/03/01

Digital Object Identifier for the Zenodo archive

Deprecations:

  • Deprecate EQLHarmonic and EQLHarmonicSpherical 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 PyPA build (#363)
  • Clean Harmonica API: make the forward, equivalent_sources, gravity_corrections, isostasy and transformations 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

v0.5.1

1 year ago

Released on: 2022/08/26

Digital Object Identifier for the Zenodo archive

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

v0.5.0

1 year ago

Released on: 2022/08/12

Digital Object Identifier for the Zenodo archive

Deprecations:

  • Add FutureWarning to isostasy_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

v0.4.0

2 years ago

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](https://doi.org/10.1093/gji/ggab297)). (#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

v0.3.3

2 years ago

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

v0.3.2

2 years ago

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

v0.3.1

2 years ago

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

v0.3.0

2 years ago

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

v0.2.1

3 years ago

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

v0.2.0

3 years ago

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