DRAFT. [MVP-1] Geodesy Notebook 1#3
Conversation
|
Added a new notebook that uses the EarthScope SDK for data retrieval. This is an introductory notebook that gives a brief introduction of GNSS data and teaches the users how to access it. |
| "id": "35320cb4-aed2-4420-8f9c-b3deb365e792", | ||
| "metadata": {}, | ||
| "source": [ | ||
| "**Version:** 1.0 | **Last updated:** 2026-07-09 | **Author:** Eshanta Mishra" |
There was a problem hiding this comment.
Add affiliation: EarthScope Consortium, maintainer: EarthScope OnRamp Team, maintainer contact: help@earthscope.org
| "id": "811fc68e-1e81-482c-82dd-5efa2a89d715", | ||
| "metadata": {}, | ||
| "source": [ | ||
| "## Learning Objectives\n", |
There was a problem hiding this comment.
Is this meant to repeat what is in the introduction/what you will accomplish section?
| "\n", | ||
| "**Raw Observations vs. derived products**\n", | ||
| "\n", | ||
| "The data we retrieve in this notebook are raw observations. The geodetic results you may ultimately want such a station's position, displacement over time, etc. are derived products. These derived products are computed by processing many observations together. " |
There was a problem hiding this comment.
minor text edits:
- such as
- etc.,
| "id": "52c5e185-8dca-42ff-8a9d-89c23297a761", | ||
| "metadata": {}, | ||
| "source": [ | ||
| "Since you use your EarthScope account to log into GeoLab, your EarthScope credentials are always available inside it. So, the client authenticates automatically. This removes the step of logging in or passing tokens manually, as you would do in a non GeoLab Environment." |
There was a problem hiding this comment.
@tkbravo - How much authentication content is remaining in Cloud Foundations?
@eshntmshra I think we whould we add a note here, "if you are running this notebook outside geolab, you will need to follow steps (link) to add your authentication here"
| "id": "421226b8-42bc-4d91-a517-469c29fa6e85", | ||
| "metadata": {}, | ||
| "source": [ | ||
| "`AsyncEarthScopeClient` is the asynchronous client. Async lets the SDK process a large query into many concurrent sub-requests, making large quantity of data retrieval more efficient. The SDK also comes with a synchronous `EarthScopeClient` if you prefer." |
There was a problem hiding this comment.
Add hyperlink to sdk documentation where this is discussed
| "\n", | ||
| "**Why it matters**: Some requests such as an entire network for a week will not fit in memory at once. Query plans also limit how many requests hit the API at the same time. Each group's sub-requests run in parallel and are collected into a single table you can process before moving on.\n", | ||
| "\n", | ||
| "The expected output is a summary for each group (row count, time span, and stations), rather than one huge dataframe." |
There was a problem hiding this comment.
When I ran this, all that printed was "AsyncGnssObservationsQueryPlan(unplanned)" - is this expected?
| "\n", | ||
| "\n", | ||
| "def summarize(table):\n", | ||
| " # Print a quick summary of one group's table.\n", |
There was a problem hiding this comment.
perhaps add a commented out line or two of code that would calculate something more exciting, or call out exactly where someone would add their processing steps
| "id": "8e88b724-65ec-4ef7-9e19-fb6bbf8c895b", | ||
| "metadata": {}, | ||
| "source": [ | ||
| "### A rough guide for choosing a strategy" |
| "\n", | ||
| "2. **Isolate one signal:** In Section 5, request a single `obs_code` (e.g. `\"5Q\"`) with `field=\"snr\"`. How much smaller is the result?\n", | ||
| "\n", | ||
| "3. **Save your results:** Write a fetched dataframe to the scratch directory (*Hint: Use `os.environ[\"SCRATCH_BUCKET\"]`*) as Parquet with `df.write_parquet(...)`, then read it back. Parquet preserves types and is far smaller than CSV." |
There was a problem hiding this comment.
Please write an example for this in one of the earlier steps, and maybe have them repeat it for a different dataframe here as an exercise. Writing to scratch and understanding different storage locations is critical. I know it doesn't show up in the plan until MVP2, but it makes sense to introduce here.
There was a problem hiding this comment.
Is this meant to be a duplicate file?
Draft PR for the first geodesy notebook.
Based on Alex's comments on slack, this might not be as useful or the recommended way of accessing EarthScope GNSS data. We can discard this notebook if not required.