{"id":22282124,"url":"https://github.com/genericmappingtools/scipy2021","last_synced_at":"2025-03-25T19:24:36.907Z","repository":{"id":54455822,"uuid":"336725698","full_name":"GenericMappingTools/scipy2021","owner":"GenericMappingTools","description":"PyGMT tutorial submission for SciPy 2021","archived":false,"fork":false,"pushed_at":"2021-02-16T22:52:25.000Z","size":48,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-01-30T16:58:22.537Z","etag":null,"topics":["maps","python","scipy2021"],"latest_commit_sha":null,"homepage":"https://www.pygmt.org","language":null,"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/GenericMappingTools.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":"2021-02-07T07:13:28.000Z","updated_at":"2024-07-05T04:12:28.000Z","dependencies_parsed_at":"2022-08-13T16:10:48.644Z","dependency_job_id":null,"html_url":"https://github.com/GenericMappingTools/scipy2021","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/GenericMappingTools%2Fscipy2021","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenericMappingTools%2Fscipy2021/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenericMappingTools%2Fscipy2021/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenericMappingTools%2Fscipy2021/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GenericMappingTools","download_url":"https://codeload.github.com/GenericMappingTools/scipy2021/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245527591,"owners_count":20630052,"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":["maps","python","scipy2021"],"created_at":"2024-12-03T16:25:41.089Z","updated_at":"2025-03-25T19:24:31.895Z","avatar_url":"https://github.com/GenericMappingTools.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Crafting beautiful maps with [PyGMT](https://www.pygmt.org): Tutorial submission for SciPy 2021\n\n\u003c!--\n**16 February 2021**  \nTutorial submission deadline\n\n**30 April 2021**  \nTutorial speakers and schedule announced\n\n**11 June 2021**  \nFinal submission of tutorial materials, software version numbers, and test\nscripts\n\n**12–13 July 2021**  \nSciPy 2021 tutorials\n\nFrom the\n[SciPy webpage on tutorials](https://www.scipy2021.scipy.org/tutorials), the\nfollowing is required:\n--\u003e\n\n## Summary\n\n\u003c!--\n\u003e A description of the tutorial, suitable for posting on the SciPy website for\n  attendees to view. It should include the target audience, the expected level\n  of knowledge prior to the class, and the goals of the class.\n--\u003e\n\nIn many scientific disciplines, accurate, intuitive, and aesthetically pleasing\ndisplay of geospatial information is a critical tool. [PyGMT](https://www.pygmt.org)\n[a Python interface to the [Generic Mapping Tools](https://www.generic-mapping-tools.org/) (GMT)]\nis a mapping toolbox designed to produce publication-quality figures and maps for insertion\ninto posters, reports, and manuscripts. This class is geared towards SciPy attendees\ninterested in creating beautiful maps using Python. Only basic Python knowledge is\nneeded, and a background in cartography is not required to use PyGMT effectively!\nBy the end of this tutorial, students will be able to:\n\n* Craft basic maps with geographic map frames using different projections\n* Add context to their figures, such as legends, colorbars, and inset overview maps\n* Use PyGMT to process PyData data structures (pandas/xarray) and plot them on maps\n* Understand how PyGMT can be used for various applications in the Earth sciences and\n  beyond!\n  \n## Presenters\n\n\u003c!--\n\u003e A short bio of the presenter or team members, containing a description of\n  past experiences as a trainer/teacher/speaker, and (ideally) links to videos\n  of these experiences if available.\n--\u003e\n\n* [Liam Toney](https://liam.earth/)\n\nLiam (he/him/his) is a PhD student studying seismology and infrasound at the\nUniversity of Alaska Fairbanks Geophysical Institute in Fairbanks, Alaska, USA.\nHe is a contributor to PyGMT and, in summer 2020, taught a module on PyGMT for\nthe inaugural\n[Remote Online Sessions for Emerging Seismologists (ROSES)](https://www.iris.edu/hq/inclass/course/roses)\nsummer school. The materials for the ROSES module can be found in\n[this GitHub repository](https://github.com/fdannemanndugick/roses2020), and a\none-hour-long video recording of part of the course can be viewed on YouTube\n[here](https://youtu.be/SSIGJEe0BIk). Liam also led a\n[sprint for PyGMT](https://github.com/GenericMappingTools/pygmt/issues?q=label%3Ascipy-sprint)\nat SciPy 2020.\n\n* [Wei Ji Leong](https://github.com/weiji14)\n\nWei Ji (he/him/his) is a PhD student in glaciology at the Antarctic Research\nCentre in Wellington, New Zealand, specializing in satellite remote sensing and\ndeep learning. He is one of the core developers of PyGMT and was the instructor\nfor the\n[PyGMT for Geoscientists workshop](https://2019.foss4g-oceania.org/schedule/2019-11-12?sessionId=SPGUQV)\nand [Community Day code sprint](https://2019.foss4g-oceania.org/community-day)\nat the FOSS4G Oceania 2019 conference. Jupyter notebooks for the workshop are\navailable at\n[github.com/GenericMappingTools/foss4g2019oceania](https://github.com/GenericMappingTools/foss4g2019oceania).\n\n* [Tyler Newton](http://tnewton.com/)\n\nTyler (he/him/his) is a PhD student studying seismology and fault mechanics at\nthe University of Oregon in Eugene, Oregon, USA. He is a PyGMT contributor and\nfirst got involved with PyGMT during the SciPy 2020 sprint. Tyler has assisted with\nteaching computational Earth science, including mapping with GMT, as a teaching\nassistant at the University of Oregon. \n\n* [Meghan Jones]( https://github.com/meghanrjones)\n\nMeghan (she/her/hers) is a postdoctoral researcher at the University of Hawai'i\nat Mānoa working on building the GMT developer community, maintaining the GMT\nand PyGMT libraries, and refactoring GMT's C source code. She has developed and\ntaught course material in oceanography and has led informal workshops on data\nprocessing and visualization using GMT.\n\n## Prerequisites\n\n\u003c!--\nA list of prerequisite skills expected of attendees, so that participants can\n  choose level appropriate tutorials.\n--\u003e\n\nBasic Python knowledge (how to install and import packages, how to use positional\nand keyword arguments, etc.). No prior mapping experience is necessary!\n\n## Detailed timeline\n\n\u003c!--\n\u003e A more detailed outline of the tutorial content, including the duration of\n  each part and exercise sessions. Please include a description of how you plan\n  to make the tutorial hands-on.\n--\u003e\n  \nThe four-hour-long tentative schedule below is based upon content from\n[github.com/GenericMappingTools/2020-unavco-course](https://github.com/GenericMappingTools/2020-unavco-course)\nand\n[github.com/GenericMappingTools/foss4g2019oceania](https://github.com/GenericMappingTools/foss4g2019oceania),\nadapted to fit a more general scientific audience. Each of the 30–45 minute sessions\nwill involve a quick (~10 minute) walkthrough by the speaker, followed by a more\nhands-on session in breakout rooms where tutorial participants work on the topic\n(using interactive Jupyter notebooks) in a guided environment with one of four\ninstructors on hand to answer questions.\n\n| Time         | Event                                                                  |\n|:-------------|:-----------------------------------------------------------------------|\n| 20 minutes   | Introduction and orientation to PyGMT and associated resources         |\n| 30 minutes   | Mapping basics (frames, projections, coastlines, etc.)                 |\n| 45 minutes   | Plotting basics (lines, points, legends, colorbars, inset maps, etc.)  |\n| *10 minutes* | *Break*                                                                |\n| 45 minutes   | PyData and PyGMT (`pandas.DataFrame` and `xarray.DataArray` ingestion) |\n| 45 minutes   | Applications: \u003cbr\u003e 1. LiDAR — Processing 3D point clouds to Digital Elevation Model grids \u003cbr\u003e 2. Seismology — Visualizing focal mechanisms from recent earthquakes |\n| 30 minutes   | Group projects in breakouts                                            |\n| 15 minutes   | Wrap up                                                                |\n\n## Installation instructions\n\n\u003c!--\n\u003e Detailed installation instructions for various common Python environments so\n  that attendees can have everything ready for participating before heading to\n  SciPy.\n--\u003e\n\nInstallation instructions for PyGMT can be found\n[here](https://www.pygmt.org/latest/install.html). To run the tutorial\nnotebooks, you'll also need to\n[install Jupyterlab/Notebook](https://jupyter.org/install).\n\nThe tutorial environment, containing both requirements mentioned above, is specified\nin the `environment.yml` file found in this repository. It can be installed via\n[conda](https://docs.conda.io/en/latest/) with the following command:\n```\nconda env create -f environment.yml\n```\n\nIf local installation is challenging or impossible, you can access this environment\non a cloud machine by clicking on the badge below — **but note that your work will\nnot be saved between sessions with this method, so download your work (e.g.,\nnotebooks) often!** 🚨\n\n[![Binder](https://binder.pangeo.io/badge_logo.svg)](https://binder.pangeo.io/v2/gh/GenericMappingTools/scipy2021/main)\n\n## Tutorial material\n\n\u003c!--\n\u003e If available, the tutorial notes, slides, exercise files, and IPython\n  notebooks, even if they are preliminary.\n--\u003e\n\nJupyter notebooks from previous tutorials and classes are available\n[here](https://github.com/GenericMappingTools/foss4g2019oceania) and\n[here](https://github.com/fdannemanndugick/roses2020/tree/master/unit08).\nThese will be modified and expanded to be made more suitable for a general SciPy\naudience (i.e., not just Earth scientists 🌎).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenericmappingtools%2Fscipy2021","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenericmappingtools%2Fscipy2021","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenericmappingtools%2Fscipy2021/lists"}