From 98fb0aefa2672aff4b339065a298a1657954e18f Mon Sep 17 00:00:00 2001 From: Kyle Lesinger Date: Tue, 18 Nov 2025 17:13:27 -0600 Subject: [PATCH 1/6] update --- _quarto.yml | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/_quarto.yml b/_quarto.yml index bd48342..346774d 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -114,16 +114,21 @@ format: // Get the base path for the current page function getBasePath() { - const path = window.location.pathname; - // Extract base directory from current path - const parts = path.split('/').filter(p => p); - // Find the index.html or last segment - const fileIndex = parts.findIndex(p => p.endsWith('.html')); - if (fileIndex > 0) { - return '/' + parts.slice(0, fileIndex).join('/') + '/'; + let path = window.location.pathname; + + // If path ends with / or is a directory, it's already the base + if (path.endsWith('/')) { + return path; + } + + // If path ends with .html, get the directory + if (path.endsWith('.html')) { + const lastSlash = path.lastIndexOf('/'); + return path.substring(0, lastSlash + 1); } - // Default: go to root of disasters-docs - return '/disasters-docs/'; + + // Otherwise, assume it's a directory and add trailing slash + return path + '/'; } function getLoginPage() { From 3887ebc6a315c786e37eb63334931d7e0687bf86 Mon Sep 17 00:00:00 2001 From: Kyle Lesinger Date: Mon, 24 Nov 2025 12:04:07 -0600 Subject: [PATCH 2/6] update aws cost management training --- Presentations/aws-cost-management.qmd | 104 ++++++++++++++++++++++++++ aws.qmd | 27 +++++-- 2 files changed, 123 insertions(+), 8 deletions(-) create mode 100644 Presentations/aws-cost-management.qmd diff --git a/Presentations/aws-cost-management.qmd b/Presentations/aws-cost-management.qmd new file mode 100644 index 0000000..bac42c5 --- /dev/null +++ b/Presentations/aws-cost-management.qmd @@ -0,0 +1,104 @@ +--- +title: "AWS Cost Management" +subtitle: "Managing and Optimizing AWS Costs" +format: + html: + toc: false + page-layout: full +--- + +## AWS Cost Management + +This page provides guidance for managing and optimizing costs in Amazon Web Services (AWS). + +::: {.callout-note} +## About This Presentation + +This presentation covers AWS cost management strategies, monitoring tools, and optimization best practices. + +**Controls:** + +::: + +--- + +### Tutorial Video Recording + +Watch the complete walkthrough of this tutorial with live demonstrations and explanations: + +::: {.callout-warning} +## Large Video File Notice + +Due to the video file size, it cannot be embedded directly. Please use the button below to watch the video in a new tab. + +
+ + ▶ Watch Tutorial Video + +
+ + +::: + +::: {.callout-note collapse="true"} +## Video Details + +This recorded tutorial includes: +- AWS Cost Explorer walkthrough +- Setting up budgets and alerts +- Cost optimization strategies +- Tagging and cost allocation +- Best practices for cost management + +::: + +--- + +### Presentation + +
+ +
+ +::: {.callout-tip collapse="true"} +## Alternative Viewing Options + +If the embedded presentation doesn't load properly, you can: + +1. **Open in new tab**: [View presentation in Google Slides →](https://docs.google.com/presentation/d/e/2PACX-1vRmsfUNSNQStvXH2VMhYd31ZFO6s4HqPD263eSs4MoGp4pLhUvingBvRSMG6GwzQQ/pub?start=false&loop=false&delayms=3000) + +2. **Fullscreen mode**: Click the fullscreen button in the embedded player above + +3. **Download**: Open the link above and look for download options if available +::: + +--- + +## Related Resources + +### AWS Cost Management Documentation +- [AWS Cost Management](https://aws.amazon.com/aws-cost-management/) +- [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) +- [AWS Budgets](https://aws.amazon.com/aws-cost-management/aws-budgets/) + +### AWS Optimization Tools +- [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/) +- [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) +- [AWS Well-Architected Tool](https://aws.amazon.com/well-architected-tool/) + +--- + + diff --git a/aws.qmd b/aws.qmd index 2b58e1a..90f6245 100644 --- a/aws.qmd +++ b/aws.qmd @@ -37,15 +37,26 @@ Tutorial-style guides demonstrating secure authentication methods and credential Practical reference for working with Amazon S3 using the AWS CLI, including data upload, access control, and cost optimization. - **AWS S3 Commands and Operations Guide** - - [Guide](aws-s3-commands-guide.md) - A complete reference of commonly used AWS S3 CLI commands for bucket and object management. + - [Guide](aws-s3-commands-guide.md) + A complete reference of commonly used AWS S3 CLI commands for bucket and object management. Key sections include: - - CLI installation and configuration - - File operations (`cp`, `mv`, `rm`, `sync`) - - Recursive uploads and downloads - - Access control, encryption, and bucket policies - - Performance and cost management techniques - - Security best practices and troubleshooting methods + - CLI installation and configuration + - File operations (`cp`, `mv`, `rm`, `sync`) + - Recursive uploads and downloads + - Access control, encryption, and bucket policies + - Performance and cost management techniques + - Security best practices and troubleshooting methods +
+ +- **AWS Cost Management** + - [Presentation](Presentations/aws-cost-management.qmd) + Comprehensive presentation on managing and optimizing AWS costs. + Key topics include: + - Cost monitoring with Cost Explorer and billing dashboard + - Setting up budgets and billing alerts + - Optimization strategies including right-sizing and Reserved Instances + - Tagging strategies for cost allocation + - Multi-account cost management and governance
## Best Practices Summary From 904a57124c24e5480027cb9d97890069cd719fcf Mon Sep 17 00:00:00 2001 From: Kyle Lesinger Date: Mon, 24 Nov 2025 12:08:42 -0600 Subject: [PATCH 3/6] update workflows with correct installation --- .github/workflows/deploy-with-password.yml | 12 ++++++++++++ .github/workflows/preview.yml | 6 ++++-- .github/workflows/quarto-publish.yml | 6 ++++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-with-password.yml b/.github/workflows/deploy-with-password.yml index 28f6eff..60f4fe5 100644 --- a/.github/workflows/deploy-with-password.yml +++ b/.github/workflows/deploy-with-password.yml @@ -18,6 +18,18 @@ jobs: - name: Setup Quarto uses: quarto-dev/quarto-actions/setup@v2 + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.12' + cache: 'pip' + + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install jupyter nbformat nbclient + pip install -r requirements.txt + - name: Render Quarto site run: quarto render diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 2a06e30..caa415d 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -22,8 +22,10 @@ jobs: python-version: '3.9' cache: 'pip' - - run: pip install jupyter - - run: pip install -r requirements.txt + - run: | + python -m pip install --upgrade pip + pip install jupyter nbformat nbclient + pip install -r requirements.txt - run: quarto render --to html - name: Verify auth script is present in rendered HTML diff --git a/.github/workflows/quarto-publish.yml b/.github/workflows/quarto-publish.yml index 834c1a3..c71f25c 100644 --- a/.github/workflows/quarto-publish.yml +++ b/.github/workflows/quarto-publish.yml @@ -24,9 +24,11 @@ jobs: python-version: '3.9' cache: 'pip' - - run: pip install jupyter + - run: | + python -m pip install --upgrade pip + pip install jupyter nbformat nbclient + pip install -r requirements.txt - run: quarto install tinytex - - run: pip install -r requirements.txt - run: quarto render --to html - name: Verify auth script is present in rendered HTML From 85a577ac26f41a074091c5d118317dbab61fca0a Mon Sep 17 00:00:00 2001 From: Kyle Lesinger Date: Mon, 24 Nov 2025 13:07:19 -0600 Subject: [PATCH 4/6] update quarto.yml --- _quarto.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_quarto.yml b/_quarto.yml index 346774d..7e99c8c 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -80,6 +80,8 @@ website: href: Presentations/disasters-powerpoint-template.qmd - text: "AWS and Grafana Monitoring Tutorial" href: Presentations/aws-grafana-tutorial.qmd + - text: "AWS Cost Management" + href: Presentations/aws-cost-management.qmd - text: "JupyterHub and Data Conversions Tutorial" href: Presentations/jupyterhub-data-conversions-tutorial.qmd - text: "STAC Database and Apache Airflow Tutorial" From 1e1e8ff81aad04bd41892c96267cc610149cc70f Mon Sep 17 00:00:00 2001 From: Ethan Kerr Date: Wed, 26 Nov 2025 11:03:56 -0600 Subject: [PATCH 5/6] adding some new files --- _quarto.yml | 31 +- _site/AWS/AWS_SSO_Remote_Server.html | 1738 +++++++++++++++++ .../jupyterhub-data-conversions-tutorial.html | 1649 ++++++++++++++++ _site/aws.html | 196 +- _site/datatransformationcode.html | 230 ++- _site/datausage.html | 204 +- _site/index.html | 152 +- _site/search.json | 342 ++++ _site/sitemap.xml | 20 +- 9 files changed, 4064 insertions(+), 498 deletions(-) create mode 100644 _site/AWS/AWS_SSO_Remote_Server.html create mode 100644 _site/Presentations/jupyterhub-data-conversions-tutorial.html diff --git a/_quarto.yml b/_quarto.yml index edd039f..04ed24b 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -92,35 +92,10 @@ website: - section: datausage.qmd text: Data Usage Notebooks contents: - - section: GHG Center Dataset Tutorials + - section: Disasters Dataset Tutorials contents: - - text: "Air-Sea CO~2~ Flux, ECCO-Darwin Model v5" - href: user_data_notebooks/eccodarwin-co2flux-monthgrid-v5_User_Notebook.ipynb - - text: "Atmospheric Carbon Dioxide Concentrations from the NOAA Global Monitoring Laboratory" - href: user_data_notebooks/noaa-insitu_User_Notebook.ipynb - - user_data_notebooks/influx-testbed-ghg-concentrations_User_Notebook.ipynb - - user_data_notebooks/lam-testbed-ghg-concentrations_User_Notebook.ipynb - - user_data_notebooks/nec-testbed-ghg-concentrations_User_Notebook.ipynb - - user_data_notebooks/ct-ch4-monthgrid-v2023_User_Notebook.ipynb - - text: "EMIT Methane Point Source Plume Complexes" - href: user_data_notebooks/emit-ch4plume-v1_User_Notebook.ipynb - - user_data_notebooks/goes-ch4plume-v1_User_Notebook.ipynb - - user_data_notebooks/gosat-based-ch4budget-yeargrid-v1_User_Notebook.ipynb - - user_data_notebooks/gra2pes-ghg-monthgrid-v1_User_Notebook.ipynb - - user_data_notebooks/micasa-carbonflux-daygrid-v1_User_Notebook.ipynb - - user_data_notebooks/oco2geos-co2-daygrid-v10r_User_Notebook.ipynb - - section: "OCO-2 MIP Top-Down CO~2~ Budgets" - contents: - - text: "Introductory notebook" - href: user_data_notebooks/oco2-mip-co2budget-yeargrid-v1_User_Notebook.ipynb - - text: "Intermediate level notebook" - href: user_data_notebooks/oco2-mip-National-co2budget.ipynb - - user_data_notebooks/odiac-ffco2-monthgrid-v2024_User_Notebook.ipynb - - user_data_notebooks/sedac-popdensity-yeargrid5yr-v4.11_User_Notebook.ipynb - - text: "U.S. Gridded Anthropogenic Methane Emissions Inventory" - href: user_data_notebooks/epa-ch4emission-grid-v2express_User_Notebook.ipynb - - user_data_notebooks/vulcan-ffco2-yeargrid-v4_User_Notebook.ipynb - - user_data_notebooks/lpjeosim-wetlandch4-grid-v1_User_Notebook.ipynb + - text: "June 2025 New Mexico Wildfire Visible Satellite and Burn Data" + href: user_data_notebooks/NM_Fire.ipynb - section: Community-Contributed Tutorials contents: - section: datatransformationcode.qmd diff --git a/_site/AWS/AWS_SSO_Remote_Server.html b/_site/AWS/AWS_SSO_Remote_Server.html new file mode 100644 index 0000000..ecb536d --- /dev/null +++ b/_site/AWS/AWS_SSO_Remote_Server.html @@ -0,0 +1,1738 @@ + + + + + + + + + +aws_sso_remote_server – NASA Disasters Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + +
+ + + + + +
+

🖥️ AWS SSO Remote Server Configuration Guide

+
+

🔐 Use AWS SSO Credentials on Remote Servers

+

This guide explains how to use your AWS SSO credentials from your local machine on remote servers (like JupyterHub or SSH servers) without storing permanent credentials.

+
+
+
+

📋 Prerequisites

+
    +
  • ✅ Completed AWS SSO Setup Guide on your local machine
  • +
  • ✅ SSH/SCP access to your remote server
  • +
  • ✅ AWS CLI v2 installed on the remote server
  • +
+
+
+
+

🎯 How It Works

+

AWS SSO generates temporary credentials stored in:

+
    +
  • Configuration: ~/.aws/config (SSO profile settings)
  • +
  • Credentials Cache: ~/.aws/sso/cache/ (temporary session tokens)
  • +
+

To use SSO on a remote server, you need to:

+
    +
  1. Copy the SSO profile configuration once
  2. +
  3. Sync the temporary credentials cache regularly (before each session)
  4. +
+
+
+
+

🛠️ Step 1: Initial Setup - Copy SSO Configuration

+
+

Copy AWS Config to Remote Server

+

First, copy your SSO profile configuration from your local machine to the remote server:

+

Linux/macOS:

+
# Copy the AWS config file containing your SSO profile
+scp ~/.aws/config username@remote-host:~/.aws/config
+

Windows (PowerShell):

+
# Copy the AWS config file containing your SSO profile
+scp "$env:USERPROFILE\.aws\config" username@remote-host:~/.aws/config
+

Alternative: If you have other profiles in your config, you can manually copy just the SSO section:

+

Linux/macOS:

+
# View your local SSO configuration
+cat ~/.aws/config
+

Windows (PowerShell):

+
# View your local SSO configuration
+Get-Content "$env:USERPROFILE\.aws\config"
+

Then SSH into your remote server and create/edit ~/.aws/config:

+
[profile disasters-sso]
+sso_session = disasters
+sso_account_id = 867530900000
+sso_role_name = Project-Power-User
+region = us-east-1
+output = json
+
+[sso-session disasters]
+sso_start_url = https://d-9067c5bbc5.awsapps.com/start/#
+sso_region = us-east-1
+sso_registration_scopes = sso:account:access
+

💡 Important: Replace the account ID, role name, and SSO URL with your actual values from the local AWS SSO setup.

+
+
+
+
+

🛠️ Step 2: Automate Credential Sync

+

Since SSO credentials are temporary and expire, you’ll need to sync them from your local machine to the remote server regularly. Below are automated solutions for both Windows and Linux.

+
+
+
+

🪟 Step 2 (Windows) - PowerShell Profile Setup

+
+

Check if PowerShell Profile Exists

+

Open PowerShell and run:

+
Test-Path $PROFILE
+

If it returns False, create the profile:

+
New-Item -Type File -Path $PROFILE -Force
+
+
+

Add the Disaster Login Function

+

Edit your PowerShell profile:

+
notepad $PROFILE
+

Add the following function (replace username and remote-host with your actual values):

+
function disasterlogin {
+    try {
+        Write-Host "Logging into AWS SSO..." -ForegroundColor Yellow
+        aws sso login --profile disasters-sso
+
+        Write-Host "Copying SSO cache to remote server..." -ForegroundColor Yellow
+        scp -r "$env:USERPROFILE\.aws\sso\cache\*" username@remote-host:~/.aws/sso/cache/
+
+        Write-Host "Complete!" -ForegroundColor Green
+    }
+    catch {
+        Write-Host "Error: $_" -ForegroundColor Red
+    }
+}
+
+
+

Reload Your Profile

+

Close and reopen PowerShell, or run:

+
. $PROFILE
+
+
+

Usage

+

From now on, simply run:

+
disasterlogin
+

This will:

+
    +
  1. Prompt you to log in via AWS SSO in your browser
  2. +
  3. Automatically copy the temporary credentials to your remote server
  4. +
  5. Display status updates
  6. +
+
+
+
+
+

🐧 Step 2 (Linux/macOS) - Bash Profile Setup

+
+

Add the Disaster Login Function

+

Edit your shell profile file (choose based on your shell):

+
# For bash
+nano ~/.bashrc
+
+# For zsh (macOS default)
+nano ~/.zshrc
+

Add the following function (replace username and remote-host with your actual values):

+
disasterlogin() {
+    echo -e "\033[1;33mLogging into AWS SSO...\033[0m"
+    aws sso login --profile disasters-sso
+
+    if [ $? -eq 0 ]; then
+        echo -e "\033[1;33mCopying SSO cache to remote server...\033[0m"
+        scp -r ~/.aws/sso/cache/* username@remote-host:~/.aws/sso/cache/
+
+        if [ $? -eq 0 ]; then
+            echo -e "\033[1;32mComplete!\033[0m"
+        else
+            echo -e "\033[1;31mError copying credentials to remote server\033[0m"
+            return 1
+        fi
+    else
+        echo -e "\033[1;31mError logging into AWS SSO\033[0m"
+        return 1
+    fi
+}
+
+
+

Reload Your Profile

+
# For bash
+source ~/.bashrc
+
+# For zsh
+source ~/.zshrc
+
+
+

Usage

+

From now on, simply run:

+
disasterlogin
+

This will: 1. Prompt you to log in via AWS SSO in your browser 2. Automatically copy the temporary credentials to your remote server 3. Display status updates with color-coded messages

+
+
+
+
+

✅ Verification

+
+

Test on Remote Server

+

SSH into your remote server:

+
ssh username@remote-host
+

Test the AWS CLI with your SSO profile:

+
# List S3 buckets
+aws s3 ls --profile disasters-sso
+
+# Verify identity
+aws sts get-caller-identity --profile disasters-sso
+

Expected output:

+
{
+    "UserId": "AIDAXXXXXXXXXXXXXXXXX:user@example.com",
+    "Account": "867530900000",
+    "Arn": "arn:aws:sts::867530900000:assumed-role/Project-Power-User/user@example.com"
+}
+
+
+
+
+

🔄 Daily Workflow

+
+

Starting a Remote Work Session

+
    +
  1. On your local machine, run the login function:

    +
      +
    • Windows: disasterlogin in PowerShell
    • +
    • Linux/macOS: disasterlogin in terminal
    • +
  2. +
  3. SSH into your remote server:

    +
    ssh username@remote-host
  4. +
  5. Use AWS commands (optionally set the profile as default):

    +

    Temporary (for current session only):

    +
    # For bash/zsh
    +export AWS_PROFILE=disasters-sso
    +aws s3 ls
    +

    Permanent (add to shell profile):

    +

    To avoid setting this every time you log in, add it to your shell profile:

    +
    # For bash - add to ~/.bashrc
    +echo 'export AWS_PROFILE=disasters-sso' >> ~/.bashrc
    +source ~/.bashrc
    +
    +# For zsh - add to ~/.zshrc
    +echo 'export AWS_PROFILE=disasters-sso' >> ~/.zshrc
    +source ~/.zshrc
    +

    Alternative for csh/tcsh shells:

    +

    If export doesn’t work, you may be using a csh/tcsh shell. Use setenv instead:

    +
    # Temporary (for current session)
    +setenv AWS_PROFILE disasters-sso
    +aws s3 ls
    +
    +# Permanent - add to ~/.cshrc or ~/.tcshrc
    +echo 'setenv AWS_PROFILE disasters-sso' >> ~/.cshrc
    +source ~/.cshrc
  6. +
+
+
+

When Credentials Expire

+

If you see errors like “The security token included in the request is invalid”:

+
    +
  1. Run disasterlogin again on your local machine
  2. +
  3. The fresh credentials will be synced to the remote server
  4. +
  5. Continue working on the remote server
  6. +
+
+
+
+
+

🚨 Troubleshooting

+
+

“Permission denied” when using SCP

+

Cause: SSH key not configured or remote directory doesn’t exist

+

Solution:

+
# Ensure .aws/sso/cache directory exists on remote server
+ssh username@remote-host "mkdir -p ~/.aws/sso/cache"
+
+# Test SSH connection
+ssh username@remote-host "echo 'SSH works'"
+
+
+

“aws: command not found” on remote server

+

Cause: AWS CLI not installed on remote server

+

Solution: Install AWS CLI v2 on the remote server

+
# On the remote server (Linux)
+curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
+unzip awscliv2.zip
+sudo ./aws/install
+
+
+

Credentials work locally but not on remote server

+

Cause: Missing or incorrect ~/.aws/config on remote server

+

Solution: Re-copy the config file from Step 1

+
+
+
+
+

🎯 Best Practices

+
    +
  1. Always sync before starting work - Run disasterlogin at the beginning of each session
  2. +
  3. Don’t store permanent credentials - Never put long-term credentials on remote servers
  4. +
  5. Use SSH keys - Set up SSH key authentication for passwordless SCP
  6. +
  7. Set AWS_PROFILE - Export AWS_PROFILE=disasters-sso to avoid typing --profile repeatedly
  8. +
  9. Monitor credential expiration - SSO tokens typically last 1-12 hours
  10. +
+
+
+
+

🔐 Security Considerations

+
+

Why This Approach is Secure

+
    +
  • No permanent credentials on remote servers - Only temporary tokens are synced
  • +
  • Automatic expiration - Tokens expire after a few hours
  • +
  • Centralized access control - Revoke access in AWS SSO, affects all servers immediately
  • +
  • No credential storage - Credentials are never stored in code or config files
  • +
+
+
+

What NOT to Do

+
    +
  • ❌ Don’t copy ~/.aws/credentials to remote servers
  • +
  • ❌ Don’t run aws configure with permanent keys on remote servers
  • +
  • ❌ Don’t commit credentials to git repositories
  • +
  • ❌ Don’t share your SSO cache with other users
  • +
+
+
+
+
+

📚 Resources

+ +
+

🔐 Remember: Temporary credentials are your friend. Never use permanent credentials on shared servers!

+ + +
+
+ + Back to top
+ + +
+ + + + + + \ No newline at end of file diff --git a/_site/Presentations/jupyterhub-data-conversions-tutorial.html b/_site/Presentations/jupyterhub-data-conversions-tutorial.html new file mode 100644 index 0000000..b289dfd --- /dev/null +++ b/_site/Presentations/jupyterhub-data-conversions-tutorial.html @@ -0,0 +1,1649 @@ + + + + + + + + + + +JupyterHub and Data Conversions Tutorial – NASA Disasters Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + +
+ + +
+
+

JupyterHub and Data Conversions Tutorial

+

Instructions & Guidance for JupyterHub and Data Transformation

+
+ + + +
+ +
+
Author
+
+

Kyle Lesinger

+
+
+ + + +
+ + + +
+ + +
+

JupyterHub and Data Conversions Tutorial

+

This page provides comprehensive instructions and guidance for using JupyterHub and performing data conversions for the Disasters project.

+
+
+
+ +
+
+NoteAbout This Tutorial +
+
+
+

This presentation covers JupyterHub setup, data transformation workflows, and conversion best practices.

+Controls: +
    +
  • +Click the “︙” menu for additional options such as Full Screen mode +
  • +
  • +Advance slides using your mouse cursor +
  • +
+
+
+
+

Tutorial Video Recording

+

Watch the complete walkthrough of this tutorial with live demonstrations and explanations:

+
+
+
+ +
+
+WarningLarge Video File Notice +
+
+
+

Due to the video file size, it cannot be embedded directly. Please use the button below to watch the video in a new tab.

+ +
+
+
+ +
+
+

This recorded tutorial includes: - Live demonstrations of JupyterHub setup and navigation - Step-by-step data conversion walkthroughs - Real-world examples of geospatial data processing - Troubleshooting common issues and best practices

+

Duration: [Add duration here]

+
+
+
+
+
+
+

Powerpoint Presentation (no audio)

+
+ +
+
+ +
+
+

If the embedded presentation doesn’t load properly, you can:

+
    +
  1. Open in new tab: View presentation in Google Slides →

  2. +
  3. Fullscreen mode: Click the fullscreen button in the embedded player above

  4. +
  5. Download: Open the link above and look for download options if available

  6. +
+
+
+
+
+
+
+
+

What You’ll Learn

+

This tutorial covers the following topics:

+
+

🚀 JupyterHub Basics

+
    +
  • JupyterHub environment overview
  • +
  • Navigating the JupyterHub interface
  • +
  • Creating and managing notebooks
  • +
+
+
+

🔄 Data Conversion Workflows

+
    +
  • Connecting to AWS S3 buckets
  • +
  • Retrieving data
  • +
  • Filename transformations
  • +
  • GeoTIFF generation and optimization
  • +
  • Working with COG (Cloud Optimized GeoTIFF)
  • +
+
+
+
+ +
+

Conclusion

+

This tutorial provides comprehensive guidance for using JupyterHub and performing data conversions for the Disasters project.

+ + +
+ + Back to top
+ + +
+ + + + + + \ No newline at end of file diff --git a/_site/aws.html b/_site/aws.html index 71c297b..af715d9 100644 --- a/_site/aws.html +++ b/_site/aws.html @@ -30,7 +30,7 @@ - + @@ -282,7 +282,7 @@ -