diff --git a/notebooks/NOAA_Access/Python_download_NOAA_NSIDC_data.ipynb b/notebooks/NOAA_Access/Python_download_NOAA_NSIDC_data.ipynb new file mode 100644 index 0000000..7298b19 --- /dev/null +++ b/notebooks/NOAA_Access/Python_download_NOAA_NSIDC_data.ipynb @@ -0,0 +1,251 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "\n", + "\n", + "# How to download NOAA@NSIDC data using python\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Tutorial Overview \n", + "This notebook demonstrates how to download NOAA@NSIDC data using python. It includes examples for downloading a single file and all the files in a directory.\n", + "\n", + "### Credits \n", + "This notebook was developed by Jennifer Roebuck of NSIDC.\n", + "\n", + "For questions regarding the notebook or to report problems, please create a new issue in the [NSIDC-Data-Tutorials repo](https://github.com/nsidc/NSIDC-Data-Tutorials/issues)\n", + "\n", + "### Learning Objectives\n", + "\n", + "By the end of this demonstration you will be able to:\n", + "\n", + "1. Download a single file from a NOAA@NSIDC data set\n", + "2. Download all the files in a directory on the NOAA@NSIDC HTTPS server \n", + "\n", + "### Prerequisites \n", + "\n", + "1. The `requests` and `bs4` libraries are already installed. \n", + "\n", + "### Time requirement \n", + "\n", + "Allow approximately 5 to 10 minutes to complete this tutorial." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Tutorial Steps \n", + "\n", + "### Import necessary libraries" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#import the requests library \n", + "import requests\n", + "from bs4 import BeautifulSoup #TBD Describe what htis library does. Do we need to add it to our support set??" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Downloading a single file\n", + "This demonstrates how to download a single file.\n", + "\n", + "First we need to set the URL of the file we wish to download. The URL will follow the format of: `https://noaadata.apps.nsidc.org/NOAA/`\n", + "\n", + "where \\ is specific to the data set and can be determined by exploring https://noaadata.apps.nsidc.org in a web browser. \n", + "\n", + "We will use the [Sea Ice Index (G02135)](https://nsidc.org/data/G02135) data set as an example, and download the text file containing daily sea ice extent values for the Arctic (N_seaice_extent_daily_v3.0.csv)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#URL of the file \n", + "file_url = \"https://noaadata.apps.nsidc.org/NOAA/G02135/north/daily/data/N_seaice_extent_daily_v3.0.csv\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next we need to create a HTTPS response object for that URL using the `get` method from the `requests` library. We will raise an exception if the response returns an error." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#Create a HTTPS response object\n", + "r = requests.get(file_url)\n", + " \n", + "try:\n", + " r = requests.get(file_url)\n", + " r.raise_for_status()\n", + "except requests.exceptions.RequestException as err:\n", + " raise SystemExit(err)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we need to set the filename that we want to save the downloaded file as, and download the file. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#Download and save the file\n", + "with open(\"N_seaice_extent_daily_v3.0.csv\", \"wb\") as f:\n", + " f.write(r.content)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Downloading all the files in a directory \n", + "This demonstrates downloading all of the files in a single directory.\n", + "\n", + "First we need to set the URL path of the directory we wish to download. It follows a similar format to the one described above for downloading a single file.\n", + "\n", + "Again we will use the [Sea Ice Index (G02135)](https://nsidc.org/data/G02135) data set as an example and download all the daily GeoTIFFs for October 1978. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#Set the URL of the directory we wish to download all the files from\n", + "archive_url = \"https://noaadata.apps.nsidc.org/NOAA/G02135/north/daily/geotiff/1978/10_Oct/\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next we need to create an HTTPS response object for the URL, again using the `get` method from the `requests` library. \n", + "\n", + "Then we will use `BeautifulSoup` to parse all the filenames that are in the directory. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#Create a HTTPS response object\n", + "r = requests.get(archive_url)\n", + "\n", + "#Use BeautifulSoup to get a list of the files in the directory\n", + "data = BeautifulSoup(r.text, \"html.parser\")\n", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we will create a URL for each of the files, set filenames for each of our downloaded files, and download the files. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#Loop through the list of the html links (excluding the first one which is just a link to the previous directory)\n", + "for l in data.find_all(\"a\")[1:]:\n", + " #generate URL to download each of the files \n", + " r = requests.get(archive_url + l[\"href\"])\n", + " print(r.status_code) #print status code\n", + " print(l[\"href\"]) #prints name of file\n", + " #Download and save files \n", + " with open(l[\"href\"], \"wb\") as f:\n", + " f.write(r.content)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. Learning outcomes recap\n", + "\n", + "We have learned how to:\n", + "1. Download a single file from a NOAA@NSIDC data set\n", + "2. Download all the files in a directory related to a NOAA@NSIDC data set. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "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.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/notebooks/NOAA_Access/README.md b/notebooks/NOAA_Access/README.md new file mode 100644 index 0000000..d810921 --- /dev/null +++ b/notebooks/NOAA_Access/README.md @@ -0,0 +1,7 @@ +## Download single or multiple NOAA@NSIDC data files + +### Summary +In this tutorial we demonstrate how to download NOAA@NSIDC data, whether it be one file or all the files in a directory. The tutorial is provided in two different languages: Python and R. + +We use one NOAA@NSIDC data set as an example: +* [Sea Ice Index (G02135)](https://nsidc.org/data/G02135) diff --git a/notebooks/NOAA_Access/R_download_NOAA_NSIDC_data.Rmd b/notebooks/NOAA_Access/R_download_NOAA_NSIDC_data.Rmd new file mode 100644 index 0000000..f647199 --- /dev/null +++ b/notebooks/NOAA_Access/R_download_NOAA_NSIDC_data.Rmd @@ -0,0 +1,88 @@ + + +--- +title: "How to download NOAA@NSIDC data using R" +output: html_notebook +--- + +## 1. Tutorial Overview +This notebook demonstrates how to download NOAA@NSIDC data using R, it includes examples for downloading a single file and all the files in a directory. + +### Credits +This notebook was developed by Jennifer Roebuck of NSIDC. + +For questions regarding the notebook or to report problems, please create a new issue in the [NSIDC-Data-Tutorials repo](https://github.com/nsidc/NSIDC-Data-Tutorials/issues) + +### Learning Objectives + +By the end of this demonstration you will be able to: + +1. Download a single file from a NOAA@NSIDC data set +2. Download all the files in a directory on the NOAA@NSIDC HTTPS server + +### Prerequisites + +1. The library `rvest` installed + +### Time requirement + +Allow approximately 5 to 10 minutes to complete this tutorial. + +## 2. Tutorial steps + +### Import necessary libraries +We need to import the following libraries. +```{r} +library(base) +library(rvest) +``` + +### Set working directory +We need to set the directory we wish to download our files to. Edit the variable below to include the path to the directory where you wish to store the downloaded data. +```{r} +setwd("/Users/jero7025/Documents/NOAA/HTTPS_switch") +``` + + +### Downloading a single file +This demonstrates how to download a single file, we will use the Sea Ice Index (G02135) data set as an example. +```{r} +# set the url for the file you want to download +url <- "https://noaadata.apps.nsidc.org/NOAA/G02135/south/daily/geotiff/2023/05_May/S_20230501_concentration_v3.0.tif" + +# set the name of the file you are downloading +destination <- "S_20230501_concentration_v3.0.tif" + +# download the file +download.file(url, destination, mode = "wb") +``` + +### Downloading all the files in a directory +This demonstrates downloading all of the files in a single directory, again we will use the Sea Ice Index (G02135) data set as an example. +```{r} +# set the URL for the directory you want to download files from +url <- "https://noaadata.apps.nsidc.org/NOAA/G02135/south/daily/geotiff/2023/05_May" + +# read html content from url +page <- read_html(url) + +# Get a list of the files listed in the directory at this url +files <- page %>% html_nodes("a") %>% html_attr("href") + +for(i in 2:length(files)){ + # generate the url for each of the files + u <- paste(url,files[i], sep="/") + # download each of the files + download.file(u,files[i], mode = "wb") +} + + +``` + +## 3. Learning outcomes recap + +We have learned how to: +1. Download a single file from a NOAA@NSIDC data set +2. Download all the files in a directory related to a NOAA@NSIDC data set. + + diff --git a/notebooks/NOAA_Access/R_download_NOAA_NSIDC_data.ipynb b/notebooks/NOAA_Access/R_download_NOAA_NSIDC_data.ipynb new file mode 100644 index 0000000..bb621c6 --- /dev/null +++ b/notebooks/NOAA_Access/R_download_NOAA_NSIDC_data.ipynb @@ -0,0 +1,207 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2843fc8a", + "metadata": {}, + "source": [ + "
\n", + "\n", + "\n", + "# How to download NOAA@NSIDC data using python\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "1f0d8399", + "metadata": {}, + "source": [ + "## 1. Tutorial Overview \n", + "This notebook demonstrates how to download NOAA@NSIDC data using R, it includes examples for downloading a single file and all the files in a directory.\n", + "\n", + "### Credits \n", + "This notebook was developed by Jennifer Roebuck of NSIDC\n", + "\n", + "For questions regarding the notebook or to report problems, please create a new issue in the [NSIDC-Data-Tutorials repo](https://github.com/nsidc/NSIDC-Data-Tutorials/issues)\n", + "\n", + "### Learning Objectives\n", + "\n", + "By the end of this demonstration you will be able to:\n", + "\n", + "1. Download a single file from a NOAA@NSIDC data set\n", + "2. Download all the files in a directory on the NOAA@NSIDC HTTPS server \n", + "\n", + "### Prerequisites \n", + "\n", + "1. The `rvest` libraries are already installed. \n", + "\n", + "### Time requirement \n", + "\n", + "Allow approximately 5 to 10 minutes to complete this tutorial." + ] + }, + { + "cell_type": "markdown", + "id": "64d22028", + "metadata": {}, + "source": [ + "## 2. Tutorial Steps\n", + "\n", + "### Import necessary libraries\n", + "We need to import the following libraries" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "eaea2ddb", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Loading required package: xml2\n", + "Registered S3 method overwritten by 'rvest':\n", + " method from\n", + " read_xml.response xml2\n" + ] + } + ], + "source": [ + "library(base)\n", + "library(rvest)" + ] + }, + { + "cell_type": "markdown", + "id": "1b7523cd", + "metadata": {}, + "source": [ + "### Set the working directory\n", + "We need to set the directory we wish to download our files to. Edit the variable below to include the path to the directory where you wish to store the downloaded data." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e1ed2d3c", + "metadata": {}, + "outputs": [], + "source": [ + "setwd(\"\")" + ] + }, + { + "cell_type": "markdown", + "id": "8082db96", + "metadata": {}, + "source": [ + "### Downloading a single file\n", + "This section demonstrates how to download a single file.\n", + "\n", + "First we need to set the URL of the file we wish to download. The URL will follow the format of: https://noaadata.apps.nsidc.org/NOAA/ \\\n", + "\n", + "where \\ is specific to the data set and can be determined by exploring https://noaadata.apps.nsidc.org in a web browser. \n", + "\n", + "We will use the [Sea Ice Index (G02135)](https://nsidc.org/data/G02135) data set as an example, and download the text file containing daily sea ice extent values for the Arctic (N_seaice_extent_daily_v3.0.csv)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "8b5ba837", + "metadata": {}, + "outputs": [], + "source": [ + "url <- \"https://noaadata.apps.nsidc.org/NOAA/G02135/north/daily/data/N_seaice_extent_daily_v3.0.csv\"\n", + "\n", + "# set the name of the file you are downloading\n", + "destination <- \"N_seaice_extent_daily_v3.0.csv\"\n", + "\n", + "# download the file \n", + "download.file(url, destination, mode = \"wb\")" + ] + }, + { + "cell_type": "markdown", + "id": "7dd9117c", + "metadata": {}, + "source": [ + "### Downloading all the files in a directory \n", + "This demonstrates downloading all of the files in a single directory.\n", + "\n", + "First we need to set the URL path of the directory we wish to download. It follows a similar format to the one described above for downloading a single file.\n", + "\n", + "Again we will use the [Sea Ice Index (G02135)](https://nsidc.org/data/G02135) data set as an example and download all the daily GeoTIFFs for the Antarctic for May 2023. " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "3dc91623", + "metadata": {}, + "outputs": [], + "source": [ + "# set the URL for the directory you want to download files from\n", + "url <- \"https://noaadata.apps.nsidc.org/NOAA/G02135/south/daily/geotiff/2023/06_Jun\" \n", + "\n", + "# read html content from url\n", + "page <- read_html(url)\n", + "\n", + "# Get a list of the files listed in the directory at this url\n", + "files <- page %>% html_nodes(\"a\") %>% html_attr(\"href\")\n", + "\n", + "for(i in 2:length(files)){\n", + " # generate the url for each of the files \n", + " u <- paste(url,files[i], sep=\"/\")\n", + " # download each of the files\n", + " download.file(u,files[i], mode = \"wb\")\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "3e6084ed", + "metadata": {}, + "source": [ + "## 3. Learning outcomes recap\n", + "\n", + "We have learned how to:\n", + "1. Download a single file from a NOAA@NSIDC data set\n", + "2. Download all the files in a directory in a NOAA@NSIDC data set. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "601de3a2", + "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.9.15" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/NOAA_Access/R_download_NOAA_NSIDC_data.nb.html b/notebooks/NOAA_Access/R_download_NOAA_NSIDC_data.nb.html new file mode 100644 index 0000000..5dd588b --- /dev/null +++ b/notebooks/NOAA_Access/R_download_NOAA_NSIDC_data.nb.html @@ -0,0 +1,385 @@ + + + + + + + + + + + + + +How to download NOAA@NSIDC data using R + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
+

1. Tutorial Overview

+

This notebook demonstrates how to download data using R, it includes examples for downloading a single file and all the files in a directory.

+
+

Credits

+

This notebook was developed by Jennifer Roebuck of NSIDC.

+

For questions regarding the notebook or to report problems, please create a new issue in the NSIDC-Data-Tutorials repo

+
+
+

Learning Objectives

+

By the end of this demonstration you will be able to:

+
    +
  1. Download a single file from a data set
  2. +
  3. Download all the files in a directory on the HTTPS server
  4. +
+
+
+

Prerequisites

+
    +
  1. The library rvest installed
  2. +
+
+
+

Time requirement

+

Allow approximately 5 to 10 minutes to complete this tutorial.

+
+
+
+

2. Tutorial steps

+
+

Import necessary libraries

+

We need to import the following libraries.

+ + + +
library(base)
+library(rvest)
+ + + +
+
+

Set working directory

+

We need to set the directory we wish to download our files to. Edit the variable below to include the path to the directory where you wish to store the downloaded data.

+ + + +
setwd("/Users/jero7025/Documents/NOAA/HTTPS_switch")
+ + + +
+
+

Downloading a single file

+

This demonstrates how to download a single file, we will use the Sea Ice Index (G02135) data set as an example.

+ + + +
# set the url for the file you want to download
+url <- "https://noaadata.apps.nsidc.org/NOAA/G02135/south/daily/geotiff/2023/05_May/S_20230501_concentration_v3.0.tif"
+
+# set the name of the file you are downloading
+destination <- "S_20230501_concentration_v3.0.tif"
+
+# download the file 
+download.file(url, destination, mode = "wb")
+ + + +
+
+

Downloading all the files in a directory

+

This demonstrates downloading all of the files in a single directory, again we will use the Sea Ice Index (G02135) data set as an example.

+ + + +
# set the URL for the directory you want to download files from
+url <- "https://noaadata.apps.nsidc.org/NOAA/G02135/south/daily/geotiff/2023/05_May" 
+
+# read html content from url
+page <- read_html(url)
+
+# Get a list of the files listed in the directory at this url
+files <- page %>% html_nodes("a") %>% html_attr("href")
+
+for(i in 2:length(files)){
+  # generate the url for each of the files 
+  u <- paste(url,files[i], sep="/")
+  # download each of the files
+  download.file(u,files[i], mode = "wb")
+}
+
+ + + +
+
+
+

3. Learning outcomes recap

+

We have learned how to: 1. Download a single file from a data set 2. Download all the files in a directory related to a data set.

+ +
+ +
CgotLS0KdGl0bGU6ICJIb3cgdG8gZG93bmxvYWQgTk9BQUBOU0lEQyBkYXRhIHVzaW5nIFIiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCiMjIDEuIFR1dG9yaWFsIE92ZXJ2aWV3IApUaGlzIG5vdGVib29rIGRlbW9uc3RyYXRlcyBob3cgdG8gZG93bmxvYWQgTk9BQUBOU0lEQyBkYXRhIHVzaW5nIFIsIGl0IGluY2x1ZGVzIGV4YW1wbGVzIGZvciBkb3dubG9hZGluZyBhIHNpbmdsZSBmaWxlIGFuZCBhbGwgdGhlIGZpbGVzIGluIGEgZGlyZWN0b3J5LgoKIyMjIENyZWRpdHMKVGhpcyBub3RlYm9vayB3YXMgZGV2ZWxvcGVkIGJ5IEplbm5pZmVyIFJvZWJ1Y2sgb2YgTlNJREMuCgpGb3IgcXVlc3Rpb25zIHJlZ2FyZGluZyB0aGUgbm90ZWJvb2sgb3IgdG8gcmVwb3J0IHByb2JsZW1zLCBwbGVhc2UgY3JlYXRlIGEgbmV3IGlzc3VlIGluIHRoZSBbTlNJREMtRGF0YS1UdXRvcmlhbHMgcmVwb10oaHR0cHM6Ly9naXRodWIuY29tL25zaWRjL05TSURDLURhdGEtVHV0b3JpYWxzL2lzc3VlcykKCiMjIyBMZWFybmluZyBPYmplY3RpdmVzCgpCeSB0aGUgZW5kIG9mIHRoaXMgZGVtb25zdHJhdGlvbiB5b3Ugd2lsbCBiZSBhYmxlIHRvOgoKMS4gRG93bmxvYWQgYSBzaW5nbGUgZmlsZSBmcm9tIGEgTk9BQUBOU0lEQyBkYXRhIHNldAoyLiBEb3dubG9hZCBhbGwgdGhlIGZpbGVzIGluIGEgZGlyZWN0b3J5IG9uIHRoZSBOT0FBQE5TSURDIEhUVFBTIHNlcnZlciAKCiMjIyBQcmVyZXF1aXNpdGVzIAoKMS4gVGhlIGxpYnJhcnkgYHJ2ZXN0YCBpbnN0YWxsZWQgCgojIyMgVGltZSByZXF1aXJlbWVudCAKCkFsbG93IGFwcHJveGltYXRlbHkgNSB0byAxMCBtaW51dGVzIHRvIGNvbXBsZXRlIHRoaXMgdHV0b3JpYWwuCgojIyAyLiBUdXRvcmlhbCBzdGVwcyAKCiMjIyBJbXBvcnQgbmVjZXNzYXJ5IGxpYnJhcmllcwpXZSBuZWVkIHRvIGltcG9ydCB0aGUgZm9sbG93aW5nIGxpYnJhcmllcy4KYGBge3J9CmxpYnJhcnkoYmFzZSkKbGlicmFyeShydmVzdCkKYGBgCgojIyMgU2V0IHdvcmtpbmcgZGlyZWN0b3J5CldlIG5lZWQgdG8gc2V0IHRoZSBkaXJlY3Rvcnkgd2Ugd2lzaCB0byBkb3dubG9hZCBvdXIgZmlsZXMgdG8uIEVkaXQgdGhlIHZhcmlhYmxlIGJlbG93IHRvIGluY2x1ZGUgdGhlIHBhdGggdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB5b3Ugd2lzaCB0byBzdG9yZSB0aGUgZG93bmxvYWRlZCBkYXRhLgpgYGB7cn0Kc2V0d2QoIi9Vc2Vycy9qZXJvNzAyNS9Eb2N1bWVudHMvTk9BQS9IVFRQU19zd2l0Y2giKQpgYGAKCgojIyMgRG93bmxvYWRpbmcgYSBzaW5nbGUgZmlsZSAKVGhpcyBkZW1vbnN0cmF0ZXMgaG93IHRvIGRvd25sb2FkIGEgc2luZ2xlIGZpbGUsIHdlIHdpbGwgdXNlIHRoZSBTZWEgSWNlIEluZGV4IChHMDIxMzUpIGRhdGEgc2V0IGFzIGFuIGV4YW1wbGUuCmBgYHtyfQojIHNldCB0aGUgdXJsIGZvciB0aGUgZmlsZSB5b3Ugd2FudCB0byBkb3dubG9hZAp1cmwgPC0gImh0dHBzOi8vbm9hYWRhdGEuYXBwcy5uc2lkYy5vcmcvTk9BQS9HMDIxMzUvc291dGgvZGFpbHkvZ2VvdGlmZi8yMDIzLzA1X01heS9TXzIwMjMwNTAxX2NvbmNlbnRyYXRpb25fdjMuMC50aWYiCgojIHNldCB0aGUgbmFtZSBvZiB0aGUgZmlsZSB5b3UgYXJlIGRvd25sb2FkaW5nCmRlc3RpbmF0aW9uIDwtICJTXzIwMjMwNTAxX2NvbmNlbnRyYXRpb25fdjMuMC50aWYiCgojIGRvd25sb2FkIHRoZSBmaWxlIApkb3dubG9hZC5maWxlKHVybCwgZGVzdGluYXRpb24sIG1vZGUgPSAid2IiKQpgYGAKCiMjIyBEb3dubG9hZGluZyBhbGwgdGhlIGZpbGVzIGluIGEgZGlyZWN0b3J5ClRoaXMgZGVtb25zdHJhdGVzIGRvd25sb2FkaW5nIGFsbCBvZiB0aGUgZmlsZXMgaW4gYSBzaW5nbGUgZGlyZWN0b3J5LCBhZ2FpbiB3ZSB3aWxsIHVzZSB0aGUgU2VhIEljZSBJbmRleCAoRzAyMTM1KSBkYXRhIHNldCBhcyBhbiBleGFtcGxlLiAKYGBge3J9CiMgc2V0IHRoZSBVUkwgZm9yIHRoZSBkaXJlY3RvcnkgeW91IHdhbnQgdG8gZG93bmxvYWQgZmlsZXMgZnJvbQp1cmwgPC0gImh0dHBzOi8vbm9hYWRhdGEuYXBwcy5uc2lkYy5vcmcvTk9BQS9HMDIxMzUvc291dGgvZGFpbHkvZ2VvdGlmZi8yMDIzLzA1X01heSIgCgojIHJlYWQgaHRtbCBjb250ZW50IGZyb20gdXJsCnBhZ2UgPC0gcmVhZF9odG1sKHVybCkKCiMgR2V0IGEgbGlzdCBvZiB0aGUgZmlsZXMgbGlzdGVkIGluIHRoZSBkaXJlY3RvcnkgYXQgdGhpcyB1cmwKZmlsZXMgPC0gcGFnZSAlPiUgaHRtbF9ub2RlcygiYSIpICU+JSBodG1sX2F0dHIoImhyZWYiKQoKZm9yKGkgaW4gMjpsZW5ndGgoZmlsZXMpKXsKICAjIGdlbmVyYXRlIHRoZSB1cmwgZm9yIGVhY2ggb2YgdGhlIGZpbGVzIAogIHUgPC0gcGFzdGUodXJsLGZpbGVzW2ldLCBzZXA9Ii8iKQogICMgZG93bmxvYWQgZWFjaCBvZiB0aGUgZmlsZXMKICBkb3dubG9hZC5maWxlKHUsZmlsZXNbaV0sIG1vZGUgPSAid2IiKQp9CgoKYGBgCgojIyAzLiBMZWFybmluZyBvdXRjb21lcyByZWNhcAoKV2UgaGF2ZSBsZWFybmVkIGhvdyB0bzoKMS4gRG93bmxvYWQgYSBzaW5nbGUgZmlsZSBmcm9tIGEgTk9BQUBOU0lEQyBkYXRhIHNldAoyLiBEb3dubG9hZCBhbGwgdGhlIGZpbGVzIGluIGEgZGlyZWN0b3J5IHJlbGF0ZWQgdG8gYSBOT0FBQE5TSURDIGRhdGEgc2V0LiAKCgo=
+ + + +
+ + + + + + + + + + + + + + + + diff --git a/notebooks/NOAA_Access/img/nsidc_logo.png b/notebooks/NOAA_Access/img/nsidc_logo.png new file mode 100644 index 0000000..35a06e0 Binary files /dev/null and b/notebooks/NOAA_Access/img/nsidc_logo.png differ