{"id":15359130,"url":"https://github.com/leouieda/phd-thesis","last_synced_at":"2026-01-30T12:33:37.513Z","repository":{"id":44849282,"uuid":"52892099","full_name":"leouieda/phd-thesis","owner":"leouieda","description":"Latex source and figures for my PhD thesis. Slides for the thesis defense.","archived":false,"fork":false,"pushed_at":"2016-04-29T11:51:33.000Z","size":95720,"stargazers_count":4,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-22T01:41:51.198Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leouieda.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-03-01T16:30:22.000Z","updated_at":"2022-07-12T08:44:01.000Z","dependencies_parsed_at":"2022-09-01T08:50:29.528Z","dependency_job_id":null,"html_url":"https://github.com/leouieda/phd-thesis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leouieda%2Fphd-thesis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leouieda%2Fphd-thesis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leouieda%2Fphd-thesis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leouieda%2Fphd-thesis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leouieda","download_url":"https://codeload.github.com/leouieda/phd-thesis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leouieda%2Fphd-thesis/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259137723,"owners_count":22810767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T12:43:53.446Z","updated_at":"2026-01-30T12:33:37.472Z","avatar_url":"https://github.com/leouieda.png","language":"Jupyter Notebook","readme":"# PhD Thesis: Forward modeling and inversion of gravitational fields in spherical coordinates\n\nAuthor: [Leonardo Uieda](http://www.leouieda.com)\n\nAdvisor: [Valéria C. F. Barbosa](http://lattes.cnpq.br/0391036221142471)\n\nInstitution: [Observatório Nacional](http://www.on.br/)\n\nPresented: 29 April 2016\n\nThesis PDF (in English): [thesis.pdf](https://github.com/pinga-lab/phd-thesis/raw/master/thesis.pdf)\n\nThesis defense slides (in Portuguese): [presentation.pdf](https://github.com/pinga-lab/phd-thesis/raw/master/presentation/presentation.pdf)\n\n![cover page of slides](https://github.com/pinga-lab/phd-thesis/raw/master/cover.png)\n\n## Abstract\n\nWe present methodological improvements to forward modeling and regional\ninversion of satellite gravity data.  For this purpose, we developed two\nopen-source software projects.  The first is a C language suite of command-line\nprograms called *Tesseroids*.  The programs calculate the gravitational\npotential, acceleration, and gradient tensor of a spherical prism, or\ntesseroid.  *Tesseroids* implements and extends an adaptive discretization\nalgorithm to automatically ensure the accuracy of the computations.  Our\nnumerical experiments show that, to achieve the same level of accuracy, the\ngravitational acceleration components require finner discretization than the\npotential.  In turn, the gradient tensor requires finner discretization still\nthan the acceleration.  The second open-source project is *Fatiando a Terra*, a\nPython language library for inversion, forward modeling, data processing, and\nvisualization.  The library allows the user to combine the forward modeling and\ninversion tools to implement new inversion methods.  The gravity forward\nmodeling tools include an implementation of the algorithm used in the\n*Tesseroids* software.  We combined the inversion and tesseroid forward\nmodeling utilities of *Fatiando a Terra* to develop a new method for fast\nnon-linear gravity inversion.  The method estimates the depth of the\ncrust-mantle interface (the Moho) based on observed gravity data using a\nspherical Earth approximation.  We extended the computationally efficient\nBott's method to include smoothness regularization and use tesseroids instead\nright rectangular prisms.  The inversion is controlled by three\nhyper-parameters: the regularization parameter, the density-contrast between\nthe real Earth and the reference model (the Normal Earth), and the depth of the\nMoho of the Normal Earth.  We employ two cross-validation procedures to\nautomatically estimate these parameters.  Tests on synthetic data confirm the\ncapability of the proposed method to estimate smoothly varying Moho depths and\nthe three hyper-parameters.  Finally, we applied the inversion method developed\nto produce a Moho depth model for South America.  The estimated Moho depth\nmodel fits the gravity data and seismological Moho depth estimates in the\noceanic areas and the central and eastern portions of the continent.  We\nobserve large misfits in the Andes region, where Moho depth is largest.  In\nAmazon, Solimões, and Paraná Basins, the model fits the observed gravity but\ndisagrees with seismological estimates.  These discrepancies suggest the\nexistence of density-anomalies in the crust or upper mantle, as has been\nsuggested in the literature.\n\n## Contributions\n\nEach of the following chapters have been published or submitted for\npublication.\n\n### Tesseroids: forward modeling gravitational fields in spherical coordinates\n\nWe present the open-source software Tesseroids, a set of command-line programs\nto perform the forward modeling of gravitational fields in spherical\ncoordinates.  The software is implemented in the C programming language and\nuses tesseroids (spherical prisms) for the discretization of the subsurface\nmass distribution.  The gravitational fields of tesseroids are calculated\nnumerically using the Gauss-Legendre Quadrature (GLQ).  We have improved upon\nan adaptive discretization algorithm to guarantee the accuracy of the GLQ\nintegration.  Our implementation of adaptive discretization uses a \"stack\"\nbased algorithm instead of recursion to achieve more control over execution\nerrors and corner cases.  The algorithm is controlled by a scalar value called\nthe distance-size ratio (D) that determines the accuracy of the integration as\nwell as the computation time.  We determined optimal values of D for the\ngravitational potential, gravitational acceleration, and gravity gradient\ntensor by comparing the computed tesseroids effects with those of a homogeneous\nspherical shell.  The values required for a maximum relative error of 0.1% of\nthe shell effects are D = 1 for the gravitational potential, D = 1.5 for the\ngravitational acceleration, and D = 8 for the gravity gradients.  Contrary to\nprevious assumptions, our results show that the potential and its first and\nsecond derivatives require different values of D to achieve the same accuracy.\nThese values were incorporated as defaults in the software.\n\nAccepted for publication in the Geophysical Software and Algorithms section of\nthe journal Geophysics.  See\n[pinga-lab/paper-tesseroids](https://github.com/pinga-lab/paper-tesseroids) for\nthe source code and data associated with the paper.\n\n### Modeling the Earth with Fatiando a Terra\n\nGeophysics is the science of using physical observations of the Earth to infer\nits inner structure.  Generally, this is done with a variety of numerical\nmodeling techniques and inverse problems.  The development of new algorithms\nusually involves copy and pasting of code, which leads to errors and poor code\nreuse.  Fatiando a Terra is a Python library that aims to automate common tasks\nand unify the modeling pipeline inside of the Python language.  This allows\nusers to replace the traditional shell scripting with more versatile and\npowerful Python scripting.  The library can also be used as an API for\ndeveloping stand-alone programs.  Algorithms implemented in Fatiando a Terra\ncan be combined to build upon existing functionality.  This flexibility\nfacilitates prototyping of new algorithms and quickly building interactive\nteaching exercises.  In the future, we plan to continuously implement sample\nproblems to help teach geophysics as well as classic and state-of-the-art\nalgorithms.\n\nPublished in the [Proceedings of the 12th Python in Science Conference (Scipy\n2013)](http://www.leouieda.com/talks/scipy2013.html).\n\n### Fast non-linear gravity inversion in spherical coordinates with application to the South American Moho\n\nEstimating the relief of the Moho from gravity data is a computationally\nintensive non-linear inverse problem.  What is more, the modeling must take the\nEarths curvature into account when the study area is of regional scale or\ngreater.  We present a regularized non-linear gravity inversion method that has\na low computational footprint and employs a spherical Earth approximation.  To\nachieve this, we combine the highly efficient Bott's method with smoothness\nregularization and a discretization of the anomalous Moho into tesseroids\n(spherical prisms).  The computational efficiency of our method is attained by\nharnessing the fact that all matrices involved are sparse.  The inversion\nresults are controlled by three hyper-parameters: the regularization parameter,\nthe anomalous Moho density-contrast, and the reference Moho depth.  We estimate\nthe regularization parameter using the method of hold-out cross-validation.\nAdditionally, we estimate the density-contrast and the reference depth using\nknowledge of the Moho depth at certain points.  We apply the proposed method to\nestimate the Moho depth for the South American continent using satellite\ngravity data and seismological data.  The final Moho model is in accordance\nwith previous gravity-derived models and seismological data.  The misfit to the\ngravity and seismological data is worse in the Andes and best in oceanic areas,\ncentral Brazil and Patagonia, and along the Atlantic coast.  Similarly to\nprevious results, the model suggests a thinner crust of 30-35 km under the\nAndean foreland basins.  Discrepancies with the seismological data are greatest\nin the Guiana shield, the central Solimões and Amazon basins, the Paraná basin,\nand the Borborema province.  These differences suggest the existence of crustal\nor mantle density anomalies that were unaccounted for during gravity data\nprocessing.\n\nSubmitted for publication in the Geophysical Journal International.\nSee [pinga-lab/paper-moho-inversion-tesseroids](https://github.com/pinga-lab/paper-moho-inversion-tesseroids)\nfor the source code and data associated with the paper.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleouieda%2Fphd-thesis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleouieda%2Fphd-thesis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleouieda%2Fphd-thesis/lists"}