{"id":19665580,"url":"https://github.com/fatiando/agu2021","last_synced_at":"2026-06-03T23:31:27.261Z","repository":{"id":48123859,"uuid":"390041394","full_name":"fatiando/agu2021","owner":"fatiando","description":"Invited presentation about Fatiando at AGU2021","archived":false,"fork":false,"pushed_at":"2022-01-14T13:38:07.000Z","size":13969,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-02-27T03:50:29.978Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.fatiando.org/agu2021","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fatiando.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-27T15:50:39.000Z","updated_at":"2023-04-27T22:43:38.000Z","dependencies_parsed_at":"2022-08-12T19:01:21.354Z","dependency_job_id":null,"html_url":"https://github.com/fatiando/agu2021","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fatiando/agu2021","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatiando%2Fagu2021","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatiando%2Fagu2021/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatiando%2Fagu2021/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatiando%2Fagu2021/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fatiando","download_url":"https://codeload.github.com/fatiando/agu2021/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatiando%2Fagu2021/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285704833,"owners_count":27217837,"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","status":"online","status_checked_at":"2025-11-21T02:00:06.175Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-11-11T16:23:32.014Z","updated_at":"2025-11-21T23:02:52.805Z","avatar_url":"https://github.com/fatiando.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Design useful tools that do one thing well and work together: rediscovering the UNIX philosophy while building the Fatiando a Terra project\n\nLeonardo Uieda\u003csup\u003e1\u003c/sup\u003e,\nLu Li\u003csup\u003e2\u003c/sup\u003e,\nSantiago Soler\u003csup\u003e3,4\u003c/sup\u003e,\nAgustina Pesce\u003csup\u003e3,4\u003c/sup\u003e\n\n\u003e \u003csup\u003e1\u003c/sup\u003eDepartment of Earth, Ocean and Ecological Sciences, School of Environmental Sciences, University of Liverpool, UK\n\u003e \u003cbr\u003e\n\u003e \u003csup\u003e2\u003c/sup\u003e School of Earth Sciences, The University of Western Australia, Australia\n\u003e \u003cbr\u003e\n\u003e \u003csup\u003e3\u003c/sup\u003e CONICET, Argentina\n\u003e \u003cbr\u003e\n\u003e \u003csup\u003e4\u003c/sup\u003e Instituto Geofísico Sismológico Volponi, UNSJ, Argentina\n\nThis is an invited presentation about the past, current, and future of the\n[Fatiando a Terra](https://www.fatiando.org) project. We will cover the\ncurrent functionality, recent developments, and lessons learned along the way.\n\n|    | Information\n---:|:---\nAbstract | [NS15C-0380](https://agu.confex.com/agu/fm21/meetingapp.cgi/Paper/818064)\nSession | [NS013 - Open-source software for near-surface geophysics and its applications](https://agu.confex.com/agu/fm21/meetingapp.cgi/Session/122971)\nWhen | Monday 13 December 2021 / 22:00 - 00:00 UTC\nPoster | [iPoster platform](https://agu2021fallmeeting-agu.ipostersessions.com/Default.aspx?s=D6-7C-10-44-E1-93-A6-5D-31-A5-54-52-5C-80-2D-0B)\nSlides | [fatiando.org/agu2021](https://www.fatiando.org/agu2021)\nCode | [fatiando/tutorials](https://github.com/fatiando/tutorials)\n\nThe presentation is centered around a tutorial that walks you through the steps\nof transforming observed absolute gravity measurements into a grid of residual\ngravity disturbances at a constant height.\nThe tutorial showcases some of the core utilities of all of our open-source\nlibraries:\n\n1. Fetch and cache the data using [Pooch](https://github.com/fatiando/pooch)\n1. Calculate the gravity disturbance using [Boule](https://github.com/fatiando/boule)\n1. Interpolate data and apply map projections to grids using [Verde](https://github.com/fatiando/verde)\n1. Perform topographic correction and equivalent-source interpolation using [Harmonica](https://github.com/fatiando/harmonica)\n\n💻 Access the tutorial and **run it online** at: https://github.com/fatiando/tutorials\n\nThe slides are for a 5-minute lightning talk.\n\n![Screenshot of our poster](https://github.com/fatiando/agu2021/raw/main/poster.png)\n\n## Abstract\n\nThe Fatiando a Terra project (https://www.fatiando.org) was started in 2010\nas a Python library for visualization, forward modelling, and inversion across\ndifferent geophysical methods.\nOver the following 8 years, the project attracted new contributors and grew to\ninclude cutting-edge methods, toy examples for teaching, and helper functions\nfor visualization.\nStandards around testing, documentation, and code style evolved and new tools\nappeared around the ecosystem (such as SimPEG, PyVista, Devito, and pyGIMLi),\nmaking some of our functionality redundant and outdated.\n\nIn an attempt to better interface with the emerging ecosystem, we started a\nmajor restructuring of the code base in 2018.\nOur goals were to:\n\n1. Split the project into several software packages, each with a narrow and\n   well-defined scope. This change would allow contributors to focus on the\n   parts of the project that they care about the most. It would also be crucial\n   to establish our niche in the current geophysics OSS landscape.\n2. Set high standards for documentation and test coverage. We aim for full test\n   coverage of the code and comprehensive API and narrative documentation,\n   which would be enforced through automated checks and code review.\n3. Carefully design of our APIs (application programming interfaces) and focus\n   on meeting real-world use cases. Our approach is to design and thoroughly\n   discuss the code interfaces by creating examples of usage before writing the\n   actual implementation.\n4. Connect and nurture our community. The project developer pool has always\n   been small and it would take constant deliberate effort to foster a\n   community that is willing to take ownership of the project.\n\nThe project is currently composed of the following packages:\n\n* Pooch: download and cache data files for research projects and documentation\n  sample data.\n* Verde: machine-learning inspired point-cloud data processing and\n  interpolation.\n* Harmonica: gravity and magnetic data processing, forward modelling, and\n  inversion.\n* Boule: reference ellipsoids and normal gravity calculations.\n* RockHound: a collection of open-access datasets for use in documentation and\n  tutorials.\n\nThis presentation will cover the current available functionality and some of\nthe lessons learned from developing, growing, and maintaining the project,\nincluding current challenges and our future plans.\n\n## License\n\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003e\u003cimg\nalt=\"Creative Commons License\" style=\"border-width:0\"\nsrc=\"https://i.creativecommons.org/l/by/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr\u003e\nThis content is licensed under a \u003ca rel=\"license\"\nhref=\"http://creativecommons.org/licenses/by/4.0/\"\u003eCreative Commons Attribution\n4.0 International License\u003c/a\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffatiando%2Fagu2021","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffatiando%2Fagu2021","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffatiando%2Fagu2021/lists"}