Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 101 additions & 0 deletions docs/content/tutorials/fundamentals/0_project_overview.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "a2e2e354-9dcf-4af5-84d8-51142b01f1b2",
"metadata": {
"editable": true,
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"# Project Overview\n",
"\n",
"This project demonstrates a typical project workflow in GeoLab. The objective is to instruct how to download data from EarthScope web services, and how to access data in the cloud. The difference between the two methods is that web services are file download services. In contrast, cloud services stream data directly to memory, which is more efficient and enables processing more data.\n",
"\n",
"This exercise covers:\n",
"\n",
"- how to initialize a project using git\n",
"- how to create a Python environment and manage packages\n",
"- explains how to get an EarthScope token to access data\n",
"- how to download seismic and geodetic data using EarthScope web services\n",
"- how access seismic and geodetic data in the cloud\n",
" \n",
"A section can include quizzes, working in the terminal, or a coding exercise. The project map below shows how the sections correspond to notebooks.\n",
"\n",
"![](images/project_work_flow.png)\n",
"\n",
"## Using Git\n",
"\n",
"Git is used to store and track code changes. We strongly recommend that you start a project by creating a git repository. First, by creating a git repository, you can rollback any changes made in your code. For example, adding a new feature. If it fails to work, you can revert your changes to the point where the code was working. Git also enables the creation of branches, which let you add new features without disrupting working code. If you create a GitHub account, you can keep a copy of the repository online and share it with others. There are many benefits to using git to manage project code.\n",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe elaborate a little on the benefits of git for collaboration? A sentence like "GitHub repositories are a common way for research groups to collaborate on code under development, and they are a convenient way to attach code or datasets to research publications."

"\n",
"The notebook covers the basics of creating a git repository and managing code.\n",
"\n",
"## Python Environments and Package Management\n",
"\n",
"Creating a Python environment for a project is a best practice. Environments determine the version of Python used and the software packages available for a project. GeoLab's default environment contains many packages useful for scientific computing. However, you may want to add a package, and this module explains how to add packages and the basics of managing a Python environment.\n",
"\n",
"## Getting Authorization to Access EarthScope Services\n",
"\n",
"To download or access EarthScope SAGE and GAGE data, you will need an EarthScope account. Tracking data usage is a requirement of EarthScope's funders. Usage is tracked by a issuing an 0Auth token. You can request a token using EarthScope's CLI (Command Line Interface) or programmatically with EarthScope's SDK (Software Development Kit). This section demonstrates both methods for requesting a token.\n",
"\n",
"In the future, EarthScope will provide access to data in AWS S3 buckets. Direct data access is briefly discussed and will be expanded when the service becomes available.\n",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"EarthScope is under an active development effort to provide access to data..." - maybe doesn't sound quite so aspirational and far-off?

"\n",
"## Getting Seismic Data\n",
"\n",
"This task demonstrates how to download files from SAGE and GAGE web services using Python. How to formulate a request with the correct parameters and authorization is shown. In addition, this section demonstrates how to access data from an AWS S3 bucket that does not require authorization.\n",
"\n",
"## Seismic Data Exercise\n",
"\n",
"Using the skills from the previous notebook. You will complete a Python script that will download data from EarthScope web services.\n",
"\n",
"## Getting Geodetic Data\n",
"\n",
"This notebook demonstrates how to get cloud native seismic and geodetice data using the `boto3` Python and the EarthScope SDK. This section demonstrates how to access data from an AWS S3 bucket without authorization, and how the EarthScope SDK manages authorization.\n",
"\n",
"## Geodetic Data Exercise\n",
"\n",
"Using the skills from the previous notebook. You will complete a Python script that pull seismic and geodetic data from the cloud."
]
},
{
"cell_type": "markdown",
"id": "d3c7e78d-5791-4c1a-a59c-8af6467921a7",
"metadata": {},
"source": [
"## [Next >](./1_git_intro.ipynb)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1d28597e-bba5-4d3b-aa4a-98524e741a31",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.5"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Loading