Documentation (latest) • Documentation (main branch) • Contributing • Contact
Part of the Fatiando a Terra project
Boule is Python library for representing reference ellipsoids, calculating their gravity fields, and performing some global coordinate conversions. "Boule" is also French for "ball" as well as a traditional shape of bread resembling a squashed ball.
Some examples of where Boule can be applied:
Boule is ready for use but still changing. This means that we sometimes break backwards compatibility as we try to improve the software based on user experience, new ideas, better design decisions, etc. Please keep that in mind before you update Boule to a newer version.
We welcome feedback and ideas! This is a great time to bring new ideas on how we can improve the project. Join the conversation or submit issues on GitHub.
🗨️ Contact us: Find out more about how to reach us at fatiando.org/contact.
👩🏾💻 Contributing to project development: Please read our Contributing Guide to see how you can help and give feedback.
🧑🏾🤝🧑🏼 Code of conduct: This project is released with a Code of Conduct. By participating in this project you agree to abide by its terms.
Imposter syndrome disclaimer: We want your help. No, really. There may be a little voice inside your head that is telling you that you're not ready, that you aren't skilled enough to contribute. We assure you that the little voice in your head is wrong. Most importantly, there are many valuable ways to contribute besides writing code.
This disclaimer was adapted from the MetPy project.
This is free software: you can redistribute it and/or modify it under the terms
of the BSD 3-clause License. A copy of this license is provided in
LICENSE.txt
.
geocentric_radius
method to the TriaxialEllipsoid
class that computes the radius of surface points on triaxial ellipsoids. geocentric_radius
of TriaxialEllipsoid
.make format
made few edits also to the previous code.Please take a look at the PR to check if it makes sense.
Relevant issues/PRs: Fixes #105
Description of the desired feature:
TriaxialEllipsoid
class defining only the base geometric properties. In #47 @MarkWieczorek mentioned that calculating the surface radius of the ellipsoid would be useful. Seems like a good place to start adding some computations.https://en.wikipedia.org/wiki/Ellipsoid is a good place to start with equations and references.
Are you willing to help implement and maintain this feature?
Willing to help if anyone wants to give this a shot but probably won't do it myself.
The proposed Triaxial Ellipsoid class has a volume method. For consistency a similar method should be created for the Sphere and (biaxial) ellipsoid classes too.
Mentioned by @santisoler in #72 .
Are you willing to help implement and maintain this feature? Yes/No
Tracking units through these computations is hard. For now, we settled on using SI for all inputs and most outputs. It would be better to use a unit package like Pint.
Released on: 2022/10/27
doi: https://doi.org/10.5281/zenodo.7258175
Documentation:
Maintenance:
serve
target in doc/Makefile
(#136)This release contains contributions from:
Released on: 2022/08/09
doi: https://doi.org/10.5281/zenodo.6779998
WARNING: Boule v0.4.0 is the last release that is compatible with Python 3.6.
Backwards incompatible changes:
Sphere
class to not inherit from Ellipsoid
. Breaks backwards compatibility due to the removal of inherited methods and attributes (#129)_
to their name (#119)Ellipsoid.emm
attribute to Ellipsoid._emm
to make it private (#123)boule.test
function (#116)Deprecations:
New features:
volume
property to Ellipsoid
(#132)Ellipsoid
for pymap3 compatibility (#121)TriaxialEllipsoid
class with geometric parameters (#72)Sphere
(#73)Documentation:
TriaxialEllipsoid
(#128)Ellipsoid
(#127)Maintenance:
pyproject.toml/setup.cfg
with build
instead of setup.py
(#110)This release contains contributions from:
Released on: 2021/10/19
doi: https://doi.org/10.5281/zenodo.5577885
Bug fix:
requirements.txt
file in source distributions (#96)This release contains contributions from:
Released on: 2021/10/18
Highlights:
Sphere
class for bodies with zero flattening (#42)Enhancements:
Sphere
class (#56)Ellipsoid
class (#45)Sphere
(#52)Documentation:
Maintenance:
AUTHORS.md
(#90)AUTHORS.md
(#74)setuptools_scm
configuration to save a boule/_version.py
file instead of relying on pkg_resources
to get the version number (#91).py
file (#67)doc/conf.py
file with Black (#41)This release contains contributions from:
Ellipsoid.geocentric_radius
method to calculate the distance from the center of the ellipsoid to its surface as a function of latitude (geodetic or geocentric). (#37)Ellipsoid.prime_vertical_radius
method for computing the prime vertical radius (usually represented by N in equations) as a function of geodetic latitude. (#35)This release contains contributions from:
This release contains only a documentation fix: include install instructions for conda and pip. No functionality has been changed (hence, no DOI was issued).
geophysics geodesy earth-science gravity gravimetry ellipsoid python fatiando-a-terra coordinates geoscience