diff --git a/doc/_quarto.yml b/doc/_quarto.yml index 36a35c6..903a50b 100644 --- a/doc/_quarto.yml +++ b/doc/_quarto.yml @@ -23,6 +23,8 @@ website: text: "Docs" - href: cires_rendezvous_poster.md text: "CIRES Rendezvous 2025 poster" + - href: dat_nsidc_demo_slides.qmd + text: "NSIDC DAT Demo Slides" page-footer: left: "© NSIDC 2025" diff --git a/doc/cires_rendezvous_poster.md b/doc/cires_rendezvous_poster.md index 54fc5d6..b5aabb7 100644 --- a/doc/cires_rendezvous_poster.md +++ b/doc/cires_rendezvous_poster.md @@ -40,3 +40,17 @@ Tool: - [MODIS/Terra Snow Cover Daily L3 Global 500m SIN Grid, Version 61 (MOD10A1)](https://nsidc.org/data/data-access-tool/MOD10A1/versions/61) - [High Mountain Asia 8-meter DEM Mosaics Derived from Optical Imagery, Version 1 (HMA_DEM8m_MOS)](https://nsidc.org/data/data-access-tool/HMA_DEM8m_MOS/versions/1) - [SMAP Enhanced L3 Radiometer Global and Polar Grid Daily 9 km EASE-Grid Soil Moisture, Version 6 (SPL3SMP_E)](https://nsidc.org/data/data-access-tool/SPL3SMP_E/versions/6) + +## Data Access Tool Software + +The Data Access Tool is composed of three open source repositories in GitHub: + +- [data-access-tool-ui](https://github.com/nsidc/data-access-tool-ui): Web + interface to support granule-level discovery and access of NASA Earthdata for + a given data collection. + +- [data-access-tool-backend](https://github.com/nsidc/data-access-tool-backend): + backend services that support the Python bulk download script and Earthdata + Download. +- [data-access-tool-vm](https://github.com/nsidc/data-access-tool-vm): NSIDC + virtual machine configuration for deploying the backend service. diff --git a/doc/dat_annotated_screenshot.jpg b/doc/dat_annotated_screenshot.jpg new file mode 100644 index 0000000..6a8e285 Binary files /dev/null and b/doc/dat_annotated_screenshot.jpg differ diff --git a/doc/dat_nsidc_demo_slides.qmd b/doc/dat_nsidc_demo_slides.qmd new file mode 100644 index 0000000..5fd975e --- /dev/null +++ b/doc/dat_nsidc_demo_slides.qmd @@ -0,0 +1,135 @@ +--- +title: "Earthdata Download & Data Access Tool (EDDAT)" +date: "2025-05-14" +format: revealjs +author: + - name: "Trey Stafford" + - name: "Amy Steiker" + - name: "Colin Nickerson" + - name: "Leslie Goldman" +--- + + +# Data Access Tool (DAT) + +Web-based Javascript application that provides an interface for users to find, +filter, and download data files associated with NSIDC DAAC datasets. + +:::: {.columns} + +::: {.column width="50%"} +**Filter** + +🕙 Temporal + +🌐 Spatial + +🔎 Filename +::: + +::: {.column width="50%"} +**Download** + +🐍 Python download script + +💾 NASA Earthdata Download + +🚀 NASA Earthdata Search + +::: +:::: + + +# DAT Usage and impact +🗓️ Originally released in late 2018 + +👤 28% of total DAAC data users + +🗃️ 739 datasets served + +🥧 17% of total NASA DAAC data download volume + + +# + +![Total DAT views for each month from May 2023-April 2025. In total, the DAT +served over 100k page views for over 35k users. Note: data for September 2024 +is incomplete. ](dat_usage.png) + + +# + +::: {.r-fit-text} +![The DAT page for High Mountain Asia 8-meter DEM Mosaics Derived from Optical Imagery, Version 1 (HMA_DEM8m_MOS). The dataset’s coverage is shown in the Map viewer in teal. A user’s spatial polygon selection is shown in red, selecting 80 of the dataset’s 417 files. Annotations show major features and download options.](dat_annotated_screenshot.jpg) +::: + +# EDDAT Motivation + +ECS decommissioning - July 2026! + +* Update to support cloud collections +* Replace ECS-based order option with Earthdata Download + +# Earthdata Download + +::: {.r-fit-text} +[Earthdata Download](https://github.com/nasa/earthdata-download) is an +[Electron](https://www.electronjs.org/) desktop application designed to +facilitate large downloads of granules from Earthdata Search. + +Users download and install Earthdata Download to their personal computers. +::: + +![Earthdata Download](edd_screenshot.png) + +# Demo + +::: {.r-fit-text} + +::: + + +::: {.r-fit-text} +# Software Architecture + +![High-level software architecture diagram for the DAT. The DAT is embedded in +dataset-specific pages powered by Drupal. Drupal provides the DAT with the +dataset name and version. The DAT then uses NASA CMR to query for dataset +metadata.](high_level_architecture.png) +::: + +# + +::: {style="transform: scale(0.75); transform-origin: center;"} +{{< include edd_sequence_diagram.qmd >}} +::: + +::: {.r-fit-text} +High-level sequence diagram showing interaction between the DAT UI, DAT Backend, +and Earthdata Download. +::: + +# Future Evolution + +NSIDC DAAC plans to collaborate with teams across the NASA Earth Science Data +Systems program to scale the DAT into an enterprise tool, with the goal of +serving all NASA Earthdata datasets as an integrated application within the NASA +Earthdata website. + +# CIRES Rendezvous 2025 + +![CIRES Rendezvous 2025 poster](cires_rendezvous_poster.jpg) + + +# References + +* See [CIRES Rendezvous 2025 poster landing page](cires_rendezvous_poster.md) +for more info about the poster, and links to example DAT pages for popular +datasets. +* [NSIDC DAT help + article](https://nsidc.org/data/user-resources/help-center/filter-and-order-data-set-web-page-using-data-access-tool) +* [NSIDC Earthdata Download help + article](https://nsidc.org/data/user-resources/help-center/how-to-use-earthdata-download) +* [NASA Earthdata Download downloads page](https://nasa.github.io/earthdata-download/) + +# Questions? diff --git a/doc/dat_usage.png b/doc/dat_usage.png new file mode 100644 index 0000000..6fd342c Binary files /dev/null and b/doc/dat_usage.png differ diff --git a/doc/developing_with_edd.qmd b/doc/developing_with_edd.qmd index f954049..3d26b71 100644 --- a/doc/developing_with_edd.qmd +++ b/doc/developing_with_edd.qmd @@ -32,26 +32,7 @@ between the DAT UI, the backend, and Earthdata Download. the last couple of steps until the results are exhausted. The user now has all of the granules they requested downloaded to their computer. -```{mermaid} -sequenceDiagram - actor user - participant DAT-UI - participant DAT-backend - participant Earthdata Download - - user->>DAT-UI: Make selections
and click EDD button - DAT-UI ->> Earthdata Download: Open EDD via "deep link" containing getLinks
and EDL auth callback URLs - loop n pages of CMR results - Earthdata Download->>DAT-backend: Request page of download URLs via getLinks URL - DAT-backend->>Earthdata Download: Send page of data download URLs - opt if EDL is required for download - Earthdata Download->>DAT-backend: request EDL auth - DAT-backend->>Earthdata Download: open auth callback deep-link, providing EDL token - - end - Note left of Earthdata Download: Download data
to user computer. - end -``` +{{< include edd_sequence_diagram.qmd >}} ## Earthdata login diff --git a/doc/edd_screenshot.png b/doc/edd_screenshot.png new file mode 100644 index 0000000..763ac4a Binary files /dev/null and b/doc/edd_screenshot.png differ diff --git a/doc/edd_sequence_diagram.qmd b/doc/edd_sequence_diagram.qmd new file mode 100644 index 0000000..fdf0f41 --- /dev/null +++ b/doc/edd_sequence_diagram.qmd @@ -0,0 +1,20 @@ +```{mermaid} +sequenceDiagram + actor user + participant DAT-UI + participant DAT-backend + participant Earthdata Download + + user->>DAT-UI: Make selections
and click EDD button + DAT-UI ->> Earthdata Download: Open EDD via "deep link" containing getLinks
and EDL auth callback URLs + loop n pages of CMR results + Earthdata Download->>DAT-backend: Request page of download URLs via getLinks URL + DAT-backend->>Earthdata Download: Send page of data download URLs + opt if EDL is required for download + Earthdata Download->>DAT-backend: request EDL auth + DAT-backend->>Earthdata Download: open auth callback deep-link, providing EDL token + + end + Note left of Earthdata Download: Download data
to user computer. + end +``` diff --git a/doc/getting_started.md b/doc/getting_started.md index 1e99769..ffa98d2 100644 --- a/doc/getting_started.md +++ b/doc/getting_started.md @@ -57,3 +57,8 @@ docker compose logs -f ``` ::: + +## Data Access Tool UI + +See the [data-access-tool-ui](https://github.com/nsidc/data-access-tool-ui) +project for information on how to get the UI setup for testing and development.