{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# `xarray` Practice" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### `xarray` Data Structures" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import xarray as xr" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. The relative filepath for the SST dataset we saw in the lesson is `../data/oisst-avhrr-v02r01.20220304.nc`. Use the `open_dataset()` function to access the file." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "sst = xr.open_dataset('../data/oisst-avhrr-v02r01.20220304.nc')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2. Display the HTML representation of the dataset (Put the Python variable name of the dataset alone in a cell, or as the last line of a cell). Read the following information from the visual display of the dataset.\n", "- What is the first and last values for latitude?\n", "- What is the \"institution\" listed in the metadata?\n", "- What date was this data taken?\n", "- How many latitude values are there? How many longitude values?" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# -89.875, 89.875\n", "# NOAA/National Centers for Environmental Information\n", "# March 4th 2022\n", "# 720 latitudes, 1440 longitudes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "3. Display just the `ice` data variable" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'ice' (time: 1, zlev: 1, lat: 720, lon: 1440)>\n",
       "[1036800 values with dtype=float32]\n",
       "Coordinates:\n",
       "  * time     (time) datetime64[ns] 2022-03-04T12:00:00\n",
       "  * zlev     (zlev) float32 0.0\n",
       "  * lat      (lat) float32 -89.88 -89.62 -89.38 -89.12 ... 89.38 89.62 89.88\n",
       "  * lon      (lon) float32 0.125 0.375 0.625 0.875 ... 359.1 359.4 359.6 359.9\n",
       "Attributes:\n",
       "    long_name:  Sea ice concentration\n",
       "    units:      %\n",
       "    valid_min:  0\n",
       "    valid_max:  100
" ], "text/plain": [ "\n", "[1036800 values with dtype=float32]\n", "Coordinates:\n", " * time (time) datetime64[ns] 2022-03-04T12:00:00\n", " * zlev (zlev) float32 0.0\n", " * lat (lat) float32 -89.88 -89.62 -89.38 -89.12 ... 89.38 89.62 89.88\n", " * lon (lon) float32 0.125 0.375 0.625 0.875 ... 359.1 359.4 359.6 359.9\n", "Attributes:\n", " long_name: Sea ice concentration\n", " units: %\n", " valid_min: 0\n", " valid_max: 100" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sst['ice']\n", "# or\n", "sst.ice" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Indexing and Selecting Values\n", "\n", "4. Select only the SST data between 30-48 North and 3-30 East" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'sst' (time: 1, zlev: 1, lat: 20, lon: 56)>\n",
       "array([[[[      nan, ..., 15.589999],\n",
       "         ...,\n",
       "         [13.799999, ..., 14.83    ]]]], dtype=float32)\n",
       "Coordinates:\n",
       "  * time     (time) datetime64[ns] 2022-03-04T12:00:00\n",
       "  * zlev     (zlev) float32 0.0\n",
       "  * lat      (lat) float32 35.12 35.38 35.62 35.88 ... 39.12 39.38 39.62 39.88\n",
       "  * lon      (lon) float32 6.125 6.375 6.625 6.875 ... 19.12 19.38 19.62 19.88\n",
       "Attributes:\n",
       "    long_name:  Daily sea surface temperature\n",
       "    units:      Celsius\n",
       "    valid_min:  -300\n",
       "    valid_max:  4500
" ], "text/plain": [ "\n", "array([[[[ nan, ..., 15.589999],\n", " ...,\n", " [13.799999, ..., 14.83 ]]]], dtype=float32)\n", "Coordinates:\n", " * time (time) datetime64[ns] 2022-03-04T12:00:00\n", " * zlev (zlev) float32 0.0\n", " * lat (lat) float32 35.12 35.38 35.62 35.88 ... 39.12 39.38 39.62 39.88\n", " * lon (lon) float32 6.125 6.375 6.625 6.875 ... 19.12 19.38 19.62 19.88\n", "Attributes:\n", " long_name: Daily sea surface temperature\n", " units: Celsius\n", " valid_min: -300\n", " valid_max: 4500" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sst['sst'].sel(lat=slice(30, 48), lon=slice(3, 30))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "5. Use the `.plot()` method to view the subset of data you found in the previous question." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sst['sst'].sel(lat=slice(30, 48), lon=slice(3, 30)).plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Use the fake data below for the follow 2 questions." ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "ndvi_values = np.random.rand(4, 5, 6)\n", "\n", "time = ['2022-02-01', '2022-03-01', '2022-04-01', '2022-05-01']\n", "latitude = [34.3, 34.4, 34.5, 34.6, 34.7]\n", "longitude = [-118.3, -118.2, -118.1, -118.0, -117.9, -117.8]\n", "\n", "ndvi = xr.DataArray(\n", " ndvi_values, \n", " dims = ['time', 'latitude', 'longitude'],\n", " coords=[time, latitude, longitude]\n", " )\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "6. Write a line of code to select the 1st date from the `ndvi` data array." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (latitude: 5, longitude: 6)>\n",
       "array([[0.67083346, 0.47625056, 0.9184469 , 0.72651922, 0.24089677,\n",
       "        0.42439379],\n",
       "       [0.74107856, 0.34296362, 0.15820154, 0.00260383, 0.36022595,\n",
       "        0.54278431],\n",
       "       [0.67529301, 0.27380767, 0.81509022, 0.57376185, 0.68329026,\n",
       "        0.58127945],\n",
       "       [0.15154031, 0.01281331, 0.47285499, 0.73580387, 0.25116267,\n",
       "        0.13986412],\n",
       "       [0.81409422, 0.85724215, 0.6082621 , 0.53236705, 0.67348339,\n",
       "        0.16232365]])\n",
       "Coordinates:\n",
       "    time       <U10 '2022-02-01'\n",
       "  * latitude   (latitude) float64 34.3 34.4 34.5 34.6 34.7\n",
       "  * longitude  (longitude) float64 -118.3 -118.2 -118.1 -118.0 -117.9 -117.8
" ], "text/plain": [ "\n", "array([[0.67083346, 0.47625056, 0.9184469 , 0.72651922, 0.24089677,\n", " 0.42439379],\n", " [0.74107856, 0.34296362, 0.15820154, 0.00260383, 0.36022595,\n", " 0.54278431],\n", " [0.67529301, 0.27380767, 0.81509022, 0.57376185, 0.68329026,\n", " 0.58127945],\n", " [0.15154031, 0.01281331, 0.47285499, 0.73580387, 0.25116267,\n", " 0.13986412],\n", " [0.81409422, 0.85724215, 0.6082621 , 0.53236705, 0.67348339,\n", " 0.16232365]])\n", "Coordinates:\n", " time \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (latitude: 5, longitude: 6)>\n",
       "array([[0.85944156, 0.60486722, 0.4022808 , 0.64124882, 0.11660878,\n",
       "        0.01823579],\n",
       "       [0.21625069, 0.30129969, 0.13065388, 0.68583432, 0.60307187,\n",
       "        0.7742624 ],\n",
       "       [0.18151129, 0.79046703, 0.15992203, 0.34329714, 0.35068125,\n",
       "        0.67729431],\n",
       "       [0.26272801, 0.53743027, 0.98338776, 0.53127037, 0.00764959,\n",
       "        0.65894408],\n",
       "       [0.9652911 , 0.74733132, 0.12345072, 0.43297156, 0.66680729,\n",
       "        0.59720625]])\n",
       "Coordinates:\n",
       "    time       <U10 '2022-03-01'\n",
       "  * latitude   (latitude) float64 34.3 34.4 34.5 34.6 34.7\n",
       "  * longitude  (longitude) float64 -118.3 -118.2 -118.1 -118.0 -117.9 -117.8
" ], "text/plain": [ "\n", "array([[0.85944156, 0.60486722, 0.4022808 , 0.64124882, 0.11660878,\n", " 0.01823579],\n", " [0.21625069, 0.30129969, 0.13065388, 0.68583432, 0.60307187,\n", " 0.7742624 ],\n", " [0.18151129, 0.79046703, 0.15992203, 0.34329714, 0.35068125,\n", " 0.67729431],\n", " [0.26272801, 0.53743027, 0.98338776, 0.53127037, 0.00764959,\n", " 0.65894408],\n", " [0.9652911 , 0.74733132, 0.12345072, 0.43297156, 0.66680729,\n", " 0.59720625]])\n", "Coordinates:\n", " time `dramatic_chipmunk.gif`\n", "1. `geopandas.ipynb` -> `CAcountymap.geojson`\n", "1. `extract_features.ipynb` -> `aviris_f1806t01p00r02_img`\n", "3. `geopandas.ipynb` -> `aviris_f1806t01p00r02_img`\n", "2. `classify_shrublands.ipynb` -> `dramatic_chipmunk.gif`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Absolute Filepaths\n", "1. `C:\\\\Users\\SARP\\Documents\\projects\\lessons\\geopandas.ipynb`\n", "2. `C:\\\\Users\\SARP\\Documents\\projects\\crop_detection\\visualizations\\shrubland_change_Jan2022-Dec2006.mp4`\n", "3. `C:\\\\Users\\SARP\\Desktop\\dramatic_chipmunk.gif`\n", "\n", "#### Relative Filepaths\n", "1. from `example_code.py`: `.\\dramatic_chipmunk.gif`\n", "1. from `geopandas.ipynb`: `.\\data\\CAcountymap.geojson`\n", "1. from `extract_features.ipynb`: `..\\data\\aviris_f1806t01p00r02_img`\n", "3. from `geopandas.ipynb`: `..\\crop_detection\\data\\aviris_f1806t01p00r02_img`\n", "2. from `classify_shrublands.ipynb`: `..\\..\\..\\..\\Desktop\\dramatic_chipmunk.gif`\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### More Filepaths\n", "\n", "In the same folder as this one, there is a small file called `filepath_practice.txt`. Fill in the `relative_filepath` variable with a string of the relative path to that file. Run the pre-written code cell below it to read and print the contents of the text file." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Congrats! You came up with the correct path to this file!\n", "\n" ] } ], "source": [ "relative_filepath = './filepath_practice.txt'\n", "\n", "# Don't this code here. Just change the `relative_filepath` variable above\n", "with open(relative_filepath) as f:\n", " line = f.readline()\n", "\n", "print(line)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now find the absolute filepath of that file. Copy and paste the code cell above, change the `relative_filepath` variable, and run the cell again." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Congrats! You came up with the correct path to this file!\n", "\n" ] } ], "source": [ "# The exact answer will vary a bit based on where you put your file, but if it starts with\n", "# C:\\\\ you correctly created an absolute filepath!\n", "absolute_filepath = 'C:\\\\Users\\SARP\\Documents\\projects\\lessons\\filepath_practice.txt'\n", "\n", "# Don't this code here. Just change the `absolute_filepath` variable above\n", "with open(relative_filepath) as f:\n", " line = f.readline()\n", "\n", "print(line)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Question 1" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "ndvi_values = np.random.rand(4, 5, 6)\n", "\n", "time = ['2022-02-01', '2022-03-01', '2022-04-01', '2022-05-01']\n", "latitude = [34.3, 34.4, 34.5, 34.6, 34.7]\n", "longitude = [-118.3, -118.2, -118.1, -118.0, -117.9, -117.8]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**A)** Make a DataArray out of the input values and dimensions above. The array should hold NDVI values (NDVI is a remote sensing calculation for the density of green stuff over an area). Be sure to specify both dimensions and coordinates. Describe in words what we know about the dimensions and location of the data." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "import xarray as xr" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (time: 4, latitude: 5, longitude: 6)>\n",
       "array([[[0.68651228, 0.5851944 , 0.14046095, 0.59327207, 0.78192937,\n",
       "         0.23258851],\n",
       "        [0.56747023, 0.25054011, 0.16226242, 0.6702321 , 0.00622384,\n",
       "         0.74636596],\n",
       "        [0.82834206, 0.98365364, 0.81008953, 0.89104479, 0.50119321,\n",
       "         0.18034013],\n",
       "        [0.39552168, 0.7685103 , 0.29270878, 0.35350123, 0.06396502,\n",
       "         0.68518688],\n",
       "        [0.77865295, 0.02244898, 0.39574131, 0.72681943, 0.69823106,\n",
       "         0.78399236]],\n",
       "\n",
       "       [[0.3034127 , 0.50315087, 0.54412261, 0.9464592 , 0.03947505,\n",
       "         0.20151896],\n",
       "        [0.43834579, 0.0129699 , 0.70769749, 0.84084285, 0.77547243,\n",
       "         0.1261322 ],\n",
       "        [0.11577085, 0.66309952, 0.82591069, 0.89350214, 0.46393369,\n",
       "         0.58286982],\n",
       "        [0.04440652, 0.7262668 , 0.63666472, 0.82946562, 0.63421775,\n",
       "         0.84509512],\n",
       "        [0.91268321, 0.6802709 , 0.23631077, 0.6578946 , 0.37326292,\n",
       "...\n",
       "         0.25262583],\n",
       "        [0.89830431, 0.28967795, 0.92183892, 0.84662734, 0.19008297,\n",
       "         0.8993965 ],\n",
       "        [0.85601438, 0.24355797, 0.58250651, 0.83372457, 0.36688617,\n",
       "         0.15849763],\n",
       "        [0.59965386, 0.28360166, 0.81056124, 0.23754156, 0.49870335,\n",
       "         0.01619106],\n",
       "        [0.49591348, 0.42610319, 0.76554572, 0.418863  , 0.02294933,\n",
       "         0.74291927]],\n",
       "\n",
       "       [[0.95872348, 0.16487148, 0.64698601, 0.61055661, 0.55359241,\n",
       "         0.33421169],\n",
       "        [0.86063478, 0.99652218, 0.08394284, 0.99336335, 0.54771534,\n",
       "         0.42460203],\n",
       "        [0.76669502, 0.2152985 , 0.44321571, 0.85627454, 0.28993714,\n",
       "         0.26782118],\n",
       "        [0.53552128, 0.69865866, 0.92453794, 0.45578608, 0.91698321,\n",
       "         0.91403326],\n",
       "        [0.95763688, 0.10645779, 0.95289543, 0.92874398, 0.44976787,\n",
       "         0.28583248]]])\n",
       "Coordinates:\n",
       "  * time       (time) <U10 '2022-02-01' '2022-03-01' '2022-04-01' '2022-05-01'\n",
       "  * latitude   (latitude) float64 34.3 34.4 34.5 34.6 34.7\n",
       "  * longitude  (longitude) float64 -118.3 -118.2 -118.1 -118.0 -117.9 -117.8
" ], "text/plain": [ "\n", "array([[[0.68651228, 0.5851944 , 0.14046095, 0.59327207, 0.78192937,\n", " 0.23258851],\n", " [0.56747023, 0.25054011, 0.16226242, 0.6702321 , 0.00622384,\n", " 0.74636596],\n", " [0.82834206, 0.98365364, 0.81008953, 0.89104479, 0.50119321,\n", " 0.18034013],\n", " [0.39552168, 0.7685103 , 0.29270878, 0.35350123, 0.06396502,\n", " 0.68518688],\n", " [0.77865295, 0.02244898, 0.39574131, 0.72681943, 0.69823106,\n", " 0.78399236]],\n", "\n", " [[0.3034127 , 0.50315087, 0.54412261, 0.9464592 , 0.03947505,\n", " 0.20151896],\n", " [0.43834579, 0.0129699 , 0.70769749, 0.84084285, 0.77547243,\n", " 0.1261322 ],\n", " [0.11577085, 0.66309952, 0.82591069, 0.89350214, 0.46393369,\n", " 0.58286982],\n", " [0.04440652, 0.7262668 , 0.63666472, 0.82946562, 0.63421775,\n", " 0.84509512],\n", " [0.91268321, 0.6802709 , 0.23631077, 0.6578946 , 0.37326292,\n", "...\n", " 0.25262583],\n", " [0.89830431, 0.28967795, 0.92183892, 0.84662734, 0.19008297,\n", " 0.8993965 ],\n", " [0.85601438, 0.24355797, 0.58250651, 0.83372457, 0.36688617,\n", " 0.15849763],\n", " [0.59965386, 0.28360166, 0.81056124, 0.23754156, 0.49870335,\n", " 0.01619106],\n", " [0.49591348, 0.42610319, 0.76554572, 0.418863 , 0.02294933,\n", " 0.74291927]],\n", "\n", " [[0.95872348, 0.16487148, 0.64698601, 0.61055661, 0.55359241,\n", " 0.33421169],\n", " [0.86063478, 0.99652218, 0.08394284, 0.99336335, 0.54771534,\n", " 0.42460203],\n", " [0.76669502, 0.2152985 , 0.44321571, 0.85627454, 0.28993714,\n", " 0.26782118],\n", " [0.53552128, 0.69865866, 0.92453794, 0.45578608, 0.91698321,\n", " 0.91403326],\n", " [0.95763688, 0.10645779, 0.95289543, 0.92874398, 0.44976787,\n", " 0.28583248]]])\n", "Coordinates:\n", " * time (time) \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (time: 4, latitude: 5, longitude: 6)>\n",
       "array([[[0.68651228, 0.5851944 , 0.14046095, 0.59327207, 0.78192937,\n",
       "         0.23258851],\n",
       "        [0.56747023, 0.25054011, 0.16226242, 0.6702321 , 0.00622384,\n",
       "         0.74636596],\n",
       "        [0.82834206, 0.98365364, 0.81008953, 0.89104479, 0.50119321,\n",
       "         0.18034013],\n",
       "        [0.39552168, 0.7685103 , 0.29270878, 0.35350123, 0.06396502,\n",
       "         0.68518688],\n",
       "        [0.77865295, 0.02244898, 0.39574131, 0.72681943, 0.69823106,\n",
       "         0.78399236]],\n",
       "\n",
       "       [[0.3034127 , 0.50315087, 0.54412261, 0.9464592 , 0.03947505,\n",
       "         0.20151896],\n",
       "        [0.43834579, 0.0129699 , 0.70769749, 0.84084285, 0.77547243,\n",
       "         0.1261322 ],\n",
       "        [0.11577085, 0.66309952, 0.82591069, 0.89350214, 0.46393369,\n",
       "         0.58286982],\n",
       "        [0.04440652, 0.7262668 , 0.63666472, 0.82946562, 0.63421775,\n",
       "         0.84509512],\n",
       "        [0.91268321, 0.6802709 , 0.23631077, 0.6578946 , 0.37326292,\n",
       "...\n",
       "         0.25262583],\n",
       "        [0.89830431, 0.28967795, 0.92183892, 0.84662734, 0.19008297,\n",
       "         0.8993965 ],\n",
       "        [0.85601438, 0.24355797, 0.58250651, 0.83372457, 0.36688617,\n",
       "         0.15849763],\n",
       "        [0.59965386, 0.28360166, 0.81056124, 0.23754156, 0.49870335,\n",
       "         0.01619106],\n",
       "        [0.49591348, 0.42610319, 0.76554572, 0.418863  , 0.02294933,\n",
       "         0.74291927]],\n",
       "\n",
       "       [[0.95872348, 0.16487148, 0.64698601, 0.61055661, 0.55359241,\n",
       "         0.33421169],\n",
       "        [0.86063478, 0.99652218, 0.08394284, 0.99336335, 0.54771534,\n",
       "         0.42460203],\n",
       "        [0.76669502, 0.2152985 , 0.44321571, 0.85627454, 0.28993714,\n",
       "         0.26782118],\n",
       "        [0.53552128, 0.69865866, 0.92453794, 0.45578608, 0.91698321,\n",
       "         0.91403326],\n",
       "        [0.95763688, 0.10645779, 0.95289543, 0.92874398, 0.44976787,\n",
       "         0.28583248]]])\n",
       "Coordinates:\n",
       "  * time       (time) <U10 '2022-02-01' '2022-03-01' '2022-04-01' '2022-05-01'\n",
       "  * latitude   (latitude) float64 34.3 34.4 34.5 34.6 34.7\n",
       "  * longitude  (longitude) float64 -118.3 -118.2 -118.1 -118.0 -117.9 -117.8
" ], "text/plain": [ "\n", "array([[[0.68651228, 0.5851944 , 0.14046095, 0.59327207, 0.78192937,\n", " 0.23258851],\n", " [0.56747023, 0.25054011, 0.16226242, 0.6702321 , 0.00622384,\n", " 0.74636596],\n", " [0.82834206, 0.98365364, 0.81008953, 0.89104479, 0.50119321,\n", " 0.18034013],\n", " [0.39552168, 0.7685103 , 0.29270878, 0.35350123, 0.06396502,\n", " 0.68518688],\n", " [0.77865295, 0.02244898, 0.39574131, 0.72681943, 0.69823106,\n", " 0.78399236]],\n", "\n", " [[0.3034127 , 0.50315087, 0.54412261, 0.9464592 , 0.03947505,\n", " 0.20151896],\n", " [0.43834579, 0.0129699 , 0.70769749, 0.84084285, 0.77547243,\n", " 0.1261322 ],\n", " [0.11577085, 0.66309952, 0.82591069, 0.89350214, 0.46393369,\n", " 0.58286982],\n", " [0.04440652, 0.7262668 , 0.63666472, 0.82946562, 0.63421775,\n", " 0.84509512],\n", " [0.91268321, 0.6802709 , 0.23631077, 0.6578946 , 0.37326292,\n", "...\n", " 0.25262583],\n", " [0.89830431, 0.28967795, 0.92183892, 0.84662734, 0.19008297,\n", " 0.8993965 ],\n", " [0.85601438, 0.24355797, 0.58250651, 0.83372457, 0.36688617,\n", " 0.15849763],\n", " [0.59965386, 0.28360166, 0.81056124, 0.23754156, 0.49870335,\n", " 0.01619106],\n", " [0.49591348, 0.42610319, 0.76554572, 0.418863 , 0.02294933,\n", " 0.74291927]],\n", "\n", " [[0.95872348, 0.16487148, 0.64698601, 0.61055661, 0.55359241,\n", " 0.33421169],\n", " [0.86063478, 0.99652218, 0.08394284, 0.99336335, 0.54771534,\n", " 0.42460203],\n", " [0.76669502, 0.2152985 , 0.44321571, 0.85627454, 0.28993714,\n", " 0.26782118],\n", " [0.53552128, 0.69865866, 0.92453794, 0.45578608, 0.91698321,\n", " 0.91403326],\n", " [0.95763688, 0.10645779, 0.95289543, 0.92874398, 0.44976787,\n", " 0.28583248]]])\n", "Coordinates:\n", " * time (time) \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (time: 4, latitude: 5, longitude: 6)>\n",
       "array([[[0.68651228, 0.5851944 , 0.14046095, 0.59327207, 0.78192937,\n",
       "         0.23258851],\n",
       "        [0.56747023, 0.25054011, 0.16226242, 0.6702321 , 0.00622384,\n",
       "         0.74636596],\n",
       "        [0.82834206, 0.98365364, 0.81008953, 0.89104479, 0.50119321,\n",
       "         0.18034013],\n",
       "        [0.39552168, 0.7685103 , 0.29270878, 0.35350123, 0.06396502,\n",
       "         0.68518688],\n",
       "        [0.77865295, 0.02244898, 0.39574131, 0.72681943, 0.69823106,\n",
       "         0.78399236]],\n",
       "\n",
       "       [[0.3034127 , 0.50315087, 0.54412261, 0.9464592 , 0.03947505,\n",
       "         0.20151896],\n",
       "        [0.43834579, 0.0129699 , 0.70769749, 0.84084285, 0.77547243,\n",
       "         0.1261322 ],\n",
       "        [0.11577085, 0.66309952, 0.82591069, 0.89350214, 0.46393369,\n",
       "         0.58286982],\n",
       "        [0.04440652, 0.7262668 , 0.63666472, 0.82946562, 0.63421775,\n",
       "         0.84509512],\n",
       "        [0.91268321, 0.6802709 , 0.23631077, 0.6578946 , 0.37326292,\n",
       "...\n",
       "         0.25262583],\n",
       "        [0.89830431, 0.28967795, 0.92183892, 0.84662734, 0.19008297,\n",
       "         0.8993965 ],\n",
       "        [0.85601438, 0.24355797, 0.58250651, 0.83372457, 0.36688617,\n",
       "         0.15849763],\n",
       "        [0.59965386, 0.28360166, 0.81056124, 0.23754156, 0.49870335,\n",
       "         0.01619106],\n",
       "        [0.49591348, 0.42610319, 0.76554572, 0.418863  , 0.02294933,\n",
       "         0.74291927]],\n",
       "\n",
       "       [[0.95872348, 0.16487148, 0.64698601, 0.61055661, 0.55359241,\n",
       "         0.33421169],\n",
       "        [0.86063478, 0.99652218, 0.08394284, 0.99336335, 0.54771534,\n",
       "         0.42460203],\n",
       "        [0.76669502, 0.2152985 , 0.44321571, 0.85627454, 0.28993714,\n",
       "         0.26782118],\n",
       "        [0.53552128, 0.69865866, 0.92453794, 0.45578608, 0.91698321,\n",
       "         0.91403326],\n",
       "        [0.95763688, 0.10645779, 0.95289543, 0.92874398, 0.44976787,\n",
       "         0.28583248]]])\n",
       "Coordinates:\n",
       "  * time       (time) <U10 '2022-02-01' '2022-03-01' '2022-04-01' '2022-05-01'\n",
       "  * latitude   (latitude) float64 34.3 34.4 34.5 34.6 34.7\n",
       "  * longitude  (longitude) float64 -118.3 -118.2 -118.1 -118.0 -117.9 -117.8
" ], "text/plain": [ "\n", "array([[[0.68651228, 0.5851944 , 0.14046095, 0.59327207, 0.78192937,\n", " 0.23258851],\n", " [0.56747023, 0.25054011, 0.16226242, 0.6702321 , 0.00622384,\n", " 0.74636596],\n", " [0.82834206, 0.98365364, 0.81008953, 0.89104479, 0.50119321,\n", " 0.18034013],\n", " [0.39552168, 0.7685103 , 0.29270878, 0.35350123, 0.06396502,\n", " 0.68518688],\n", " [0.77865295, 0.02244898, 0.39574131, 0.72681943, 0.69823106,\n", " 0.78399236]],\n", "\n", " [[0.3034127 , 0.50315087, 0.54412261, 0.9464592 , 0.03947505,\n", " 0.20151896],\n", " [0.43834579, 0.0129699 , 0.70769749, 0.84084285, 0.77547243,\n", " 0.1261322 ],\n", " [0.11577085, 0.66309952, 0.82591069, 0.89350214, 0.46393369,\n", " 0.58286982],\n", " [0.04440652, 0.7262668 , 0.63666472, 0.82946562, 0.63421775,\n", " 0.84509512],\n", " [0.91268321, 0.6802709 , 0.23631077, 0.6578946 , 0.37326292,\n", "...\n", " 0.25262583],\n", " [0.89830431, 0.28967795, 0.92183892, 0.84662734, 0.19008297,\n", " 0.8993965 ],\n", " [0.85601438, 0.24355797, 0.58250651, 0.83372457, 0.36688617,\n", " 0.15849763],\n", " [0.59965386, 0.28360166, 0.81056124, 0.23754156, 0.49870335,\n", " 0.01619106],\n", " [0.49591348, 0.42610319, 0.76554572, 0.418863 , 0.02294933,\n", " 0.74291927]],\n", "\n", " [[0.95872348, 0.16487148, 0.64698601, 0.61055661, 0.55359241,\n", " 0.33421169],\n", " [0.86063478, 0.99652218, 0.08394284, 0.99336335, 0.54771534,\n", " 0.42460203],\n", " [0.76669502, 0.2152985 , 0.44321571, 0.85627454, 0.28993714,\n", " 0.26782118],\n", " [0.53552128, 0.69865866, 0.92453794, 0.45578608, 0.91698321,\n", " 0.91403326],\n", " [0.95763688, 0.10645779, 0.95289543, 0.92874398, 0.44976787,\n", " 0.28583248]]])\n", "Coordinates:\n", " * time (time) \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (time: 4, latitude: 5, longitude: 6)>\n",
       "array([[[0.68651228, 0.5851944 , 0.14046095, 0.59327207, 0.78192937,\n",
       "         0.23258851],\n",
       "        [0.56747023, 0.25054011, 0.16226242, 0.6702321 , 0.00622384,\n",
       "         0.74636596],\n",
       "        [0.82834206, 0.98365364, 0.81008953, 0.89104479, 0.50119321,\n",
       "         0.18034013],\n",
       "        [0.39552168, 0.7685103 , 0.29270878, 0.35350123, 0.06396502,\n",
       "         0.68518688],\n",
       "        [0.77865295, 0.02244898, 0.39574131, 0.72681943, 0.69823106,\n",
       "         0.78399236]],\n",
       "\n",
       "       [[0.3034127 , 0.50315087, 0.54412261, 0.9464592 , 0.03947505,\n",
       "         0.20151896],\n",
       "        [0.43834579, 0.0129699 , 0.70769749, 0.84084285, 0.77547243,\n",
       "         0.1261322 ],\n",
       "        [0.11577085, 0.66309952, 0.82591069, 0.89350214, 0.46393369,\n",
       "         0.58286982],\n",
       "        [0.04440652, 0.7262668 , 0.63666472, 0.82946562, 0.63421775,\n",
       "         0.84509512],\n",
       "        [0.91268321, 0.6802709 , 0.23631077, 0.6578946 , 0.37326292,\n",
       "...\n",
       "         0.25262583],\n",
       "        [0.89830431, 0.28967795, 0.92183892, 0.84662734, 0.19008297,\n",
       "         0.8993965 ],\n",
       "        [0.85601438, 0.24355797, 0.58250651, 0.83372457, 0.36688617,\n",
       "         0.15849763],\n",
       "        [0.59965386, 0.28360166, 0.81056124, 0.23754156, 0.49870335,\n",
       "         0.01619106],\n",
       "        [0.49591348, 0.42610319, 0.76554572, 0.418863  , 0.02294933,\n",
       "         0.74291927]],\n",
       "\n",
       "       [[0.95872348, 0.16487148, 0.64698601, 0.61055661, 0.55359241,\n",
       "         0.33421169],\n",
       "        [0.86063478, 0.99652218, 0.08394284, 0.99336335, 0.54771534,\n",
       "         0.42460203],\n",
       "        [0.76669502, 0.2152985 , 0.44321571, 0.85627454, 0.28993714,\n",
       "         0.26782118],\n",
       "        [0.53552128, 0.69865866, 0.92453794, 0.45578608, 0.91698321,\n",
       "         0.91403326],\n",
       "        [0.95763688, 0.10645779, 0.95289543, 0.92874398, 0.44976787,\n",
       "         0.28583248]]])\n",
       "Dimensions without coordinates: time, latitude, longitude
" ], "text/plain": [ "\n", "array([[[0.68651228, 0.5851944 , 0.14046095, 0.59327207, 0.78192937,\n", " 0.23258851],\n", " [0.56747023, 0.25054011, 0.16226242, 0.6702321 , 0.00622384,\n", " 0.74636596],\n", " [0.82834206, 0.98365364, 0.81008953, 0.89104479, 0.50119321,\n", " 0.18034013],\n", " [0.39552168, 0.7685103 , 0.29270878, 0.35350123, 0.06396502,\n", " 0.68518688],\n", " [0.77865295, 0.02244898, 0.39574131, 0.72681943, 0.69823106,\n", " 0.78399236]],\n", "\n", " [[0.3034127 , 0.50315087, 0.54412261, 0.9464592 , 0.03947505,\n", " 0.20151896],\n", " [0.43834579, 0.0129699 , 0.70769749, 0.84084285, 0.77547243,\n", " 0.1261322 ],\n", " [0.11577085, 0.66309952, 0.82591069, 0.89350214, 0.46393369,\n", " 0.58286982],\n", " [0.04440652, 0.7262668 , 0.63666472, 0.82946562, 0.63421775,\n", " 0.84509512],\n", " [0.91268321, 0.6802709 , 0.23631077, 0.6578946 , 0.37326292,\n", "...\n", " 0.25262583],\n", " [0.89830431, 0.28967795, 0.92183892, 0.84662734, 0.19008297,\n", " 0.8993965 ],\n", " [0.85601438, 0.24355797, 0.58250651, 0.83372457, 0.36688617,\n", " 0.15849763],\n", " [0.59965386, 0.28360166, 0.81056124, 0.23754156, 0.49870335,\n", " 0.01619106],\n", " [0.49591348, 0.42610319, 0.76554572, 0.418863 , 0.02294933,\n", " 0.74291927]],\n", "\n", " [[0.95872348, 0.16487148, 0.64698601, 0.61055661, 0.55359241,\n", " 0.33421169],\n", " [0.86063478, 0.99652218, 0.08394284, 0.99336335, 0.54771534,\n", " 0.42460203],\n", " [0.76669502, 0.2152985 , 0.44321571, 0.85627454, 0.28993714,\n", " 0.26782118],\n", " [0.53552128, 0.69865866, 0.92453794, 0.45578608, 0.91698321,\n", " 0.91403326],\n", " [0.95763688, 0.10645779, 0.95289543, 0.92874398, 0.44976787,\n", " 0.28583248]]])\n", "Dimensions without coordinates: time, latitude, longitude" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ndvi = xr.DataArray(\n", " ndvi_values, \n", " dims = ['time', 'latitude', 'longitude'],\n", " # coords=[time, latitude, longitude]\n", " )\n", "\n", "ndvi\n" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "# This is a 3 dimensional array. The array represents data spread across space (latitude and\n", "# longitude) and in time.\n", "# We don't know when in space or time the data was taken." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**C)** Create the array again, but this time don't specify dimensions. How does that compare to Part B? Describe in words what we know about this data." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (dim_0: 4, dim_1: 5, dim_2: 6)>\n",
       "array([[[0.68651228, 0.5851944 , 0.14046095, 0.59327207, 0.78192937,\n",
       "         0.23258851],\n",
       "        [0.56747023, 0.25054011, 0.16226242, 0.6702321 , 0.00622384,\n",
       "         0.74636596],\n",
       "        [0.82834206, 0.98365364, 0.81008953, 0.89104479, 0.50119321,\n",
       "         0.18034013],\n",
       "        [0.39552168, 0.7685103 , 0.29270878, 0.35350123, 0.06396502,\n",
       "         0.68518688],\n",
       "        [0.77865295, 0.02244898, 0.39574131, 0.72681943, 0.69823106,\n",
       "         0.78399236]],\n",
       "\n",
       "       [[0.3034127 , 0.50315087, 0.54412261, 0.9464592 , 0.03947505,\n",
       "         0.20151896],\n",
       "        [0.43834579, 0.0129699 , 0.70769749, 0.84084285, 0.77547243,\n",
       "         0.1261322 ],\n",
       "        [0.11577085, 0.66309952, 0.82591069, 0.89350214, 0.46393369,\n",
       "         0.58286982],\n",
       "        [0.04440652, 0.7262668 , 0.63666472, 0.82946562, 0.63421775,\n",
       "         0.84509512],\n",
       "        [0.91268321, 0.6802709 , 0.23631077, 0.6578946 , 0.37326292,\n",
       "...\n",
       "         0.25262583],\n",
       "        [0.89830431, 0.28967795, 0.92183892, 0.84662734, 0.19008297,\n",
       "         0.8993965 ],\n",
       "        [0.85601438, 0.24355797, 0.58250651, 0.83372457, 0.36688617,\n",
       "         0.15849763],\n",
       "        [0.59965386, 0.28360166, 0.81056124, 0.23754156, 0.49870335,\n",
       "         0.01619106],\n",
       "        [0.49591348, 0.42610319, 0.76554572, 0.418863  , 0.02294933,\n",
       "         0.74291927]],\n",
       "\n",
       "       [[0.95872348, 0.16487148, 0.64698601, 0.61055661, 0.55359241,\n",
       "         0.33421169],\n",
       "        [0.86063478, 0.99652218, 0.08394284, 0.99336335, 0.54771534,\n",
       "         0.42460203],\n",
       "        [0.76669502, 0.2152985 , 0.44321571, 0.85627454, 0.28993714,\n",
       "         0.26782118],\n",
       "        [0.53552128, 0.69865866, 0.92453794, 0.45578608, 0.91698321,\n",
       "         0.91403326],\n",
       "        [0.95763688, 0.10645779, 0.95289543, 0.92874398, 0.44976787,\n",
       "         0.28583248]]])\n",
       "Coordinates:\n",
       "  * dim_0    (dim_0) <U10 '2022-02-01' '2022-03-01' '2022-04-01' '2022-05-01'\n",
       "  * dim_1    (dim_1) float64 34.3 34.4 34.5 34.6 34.7\n",
       "  * dim_2    (dim_2) float64 -118.3 -118.2 -118.1 -118.0 -117.9 -117.8
" ], "text/plain": [ "\n", "array([[[0.68651228, 0.5851944 , 0.14046095, 0.59327207, 0.78192937,\n", " 0.23258851],\n", " [0.56747023, 0.25054011, 0.16226242, 0.6702321 , 0.00622384,\n", " 0.74636596],\n", " [0.82834206, 0.98365364, 0.81008953, 0.89104479, 0.50119321,\n", " 0.18034013],\n", " [0.39552168, 0.7685103 , 0.29270878, 0.35350123, 0.06396502,\n", " 0.68518688],\n", " [0.77865295, 0.02244898, 0.39574131, 0.72681943, 0.69823106,\n", " 0.78399236]],\n", "\n", " [[0.3034127 , 0.50315087, 0.54412261, 0.9464592 , 0.03947505,\n", " 0.20151896],\n", " [0.43834579, 0.0129699 , 0.70769749, 0.84084285, 0.77547243,\n", " 0.1261322 ],\n", " [0.11577085, 0.66309952, 0.82591069, 0.89350214, 0.46393369,\n", " 0.58286982],\n", " [0.04440652, 0.7262668 , 0.63666472, 0.82946562, 0.63421775,\n", " 0.84509512],\n", " [0.91268321, 0.6802709 , 0.23631077, 0.6578946 , 0.37326292,\n", "...\n", " 0.25262583],\n", " [0.89830431, 0.28967795, 0.92183892, 0.84662734, 0.19008297,\n", " 0.8993965 ],\n", " [0.85601438, 0.24355797, 0.58250651, 0.83372457, 0.36688617,\n", " 0.15849763],\n", " [0.59965386, 0.28360166, 0.81056124, 0.23754156, 0.49870335,\n", " 0.01619106],\n", " [0.49591348, 0.42610319, 0.76554572, 0.418863 , 0.02294933,\n", " 0.74291927]],\n", "\n", " [[0.95872348, 0.16487148, 0.64698601, 0.61055661, 0.55359241,\n", " 0.33421169],\n", " [0.86063478, 0.99652218, 0.08394284, 0.99336335, 0.54771534,\n", " 0.42460203],\n", " [0.76669502, 0.2152985 , 0.44321571, 0.85627454, 0.28993714,\n", " 0.26782118],\n", " [0.53552128, 0.69865866, 0.92453794, 0.45578608, 0.91698321,\n", " 0.91403326],\n", " [0.95763688, 0.10645779, 0.95289543, 0.92874398, 0.44976787,\n", " 0.28583248]]])\n", "Coordinates:\n", " * dim_0 (dim_0) \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset>\n",
       "Dimensions:  (time: 1, zlev: 1, lat: 60, lon: 152)\n",
       "Coordinates:\n",
       "  * time     (time) datetime64[ns] 2022-03-04T12:00:00\n",
       "  * zlev     (zlev) float32 0.0\n",
       "  * lat      (lat) float32 10.12 10.38 10.62 10.88 ... 24.12 24.38 24.62 24.88\n",
       "  * lon      (lon) float32 272.1 272.4 272.6 272.9 ... 309.1 309.4 309.6 309.9\n",
       "Data variables:\n",
       "    sst      (time, zlev, lat, lon) float32 23.22 22.64 22.08 ... 23.94 23.87\n",
       "    anom     (time, zlev, lat, lon) float32 -3.2 -3.85 -4.49 ... 0.79 0.75 0.7\n",
       "    err      (time, zlev, lat, lon) float32 0.12 0.12 0.12 ... 0.11 0.11 0.11\n",
       "    ice      (time, zlev, lat, lon) float32 nan nan nan nan ... nan nan nan nan\n",
       "Attributes: (12/37)\n",
       "    Conventions:                CF-1.6, ACDD-1.3\n",
       "    title:                      NOAA/NCEI 1/4 Degree Daily Optimum Interpolat...\n",
       "    references:                 Reynolds, et al.(2007) Daily High-Resolution-...\n",
       "    source:                     ICOADS, NCEP_GTS, GSFC_ICE, NCEP_ICE, Pathfin...\n",
       "    id:                         oisst-avhrr-v02r01.20220304.nc\n",
       "    naming_authority:           gov.noaa.ncei\n",
       "    ...                         ...\n",
       "    time_coverage_start:        2022-03-04T00:00:00Z\n",
       "    time_coverage_end:          2022-03-04T23:59:59Z\n",
       "    metadata_link:              https://doi.org/10.25921/RE9P-PT57\n",
       "    ncei_template_version:      NCEI_NetCDF_Grid_Template_v2.0\n",
       "    comment:                    Data was converted from NetCDF-3 to NetCDF-4 ...\n",
       "    sensor:                     Thermometer, AVHRR
" ], "text/plain": [ "\n", "Dimensions: (time: 1, zlev: 1, lat: 60, lon: 152)\n", "Coordinates:\n", " * time (time) datetime64[ns] 2022-03-04T12:00:00\n", " * zlev (zlev) float32 0.0\n", " * lat (lat) float32 10.12 10.38 10.62 10.88 ... 24.12 24.38 24.62 24.88\n", " * lon (lon) float32 272.1 272.4 272.6 272.9 ... 309.1 309.4 309.6 309.9\n", "Data variables:\n", " sst (time, zlev, lat, lon) float32 ...\n", " anom (time, zlev, lat, lon) float32 ...\n", " err (time, zlev, lat, lon) float32 ...\n", " ice (time, zlev, lat, lon) float32 ...\n", "Attributes: (12/37)\n", " Conventions: CF-1.6, ACDD-1.3\n", " title: NOAA/NCEI 1/4 Degree Daily Optimum Interpolat...\n", " references: Reynolds, et al.(2007) Daily High-Resolution-...\n", " source: ICOADS, NCEP_GTS, GSFC_ICE, NCEP_ICE, Pathfin...\n", " id: oisst-avhrr-v02r01.20220304.nc\n", " naming_authority: gov.noaa.ncei\n", " ... ...\n", " time_coverage_start: 2022-03-04T00:00:00Z\n", " time_coverage_end: 2022-03-04T23:59:59Z\n", " metadata_link: https://doi.org/10.25921/RE9P-PT57\n", " ncei_template_version: NCEI_NetCDF_Grid_Template_v2.0\n", " comment: Data was converted from NetCDF-3 to NetCDF-4 ...\n", " sensor: Thermometer, AVHRR" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sst.sel(lat=slice(10, 25), lon=slice(272, 310))" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset>\n",
       "Dimensions:  (time: 1, zlev: 1, lat: 60, lon: 152)\n",
       "Coordinates:\n",
       "  * time     (time) datetime64[ns] 2022-03-04T12:00:00\n",
       "  * zlev     (zlev) float32 0.0\n",
       "  * lat      (lat) float32 10.12 10.38 10.62 10.88 ... 24.12 24.38 24.62 24.88\n",
       "  * lon      (lon) float32 272.1 272.4 272.6 272.9 ... 309.1 309.4 309.6 309.9\n",
       "Data variables:\n",
       "    sst      (time, zlev, lat, lon) float32 23.22 22.64 22.08 ... 23.94 23.87\n",
       "    anom     (time, zlev, lat, lon) float32 -3.2 -3.85 -4.49 ... 0.79 0.75 0.7\n",
       "    err      (time, zlev, lat, lon) float32 0.12 0.12 0.12 ... 0.11 0.11 0.11\n",
       "    ice      (time, zlev, lat, lon) float32 nan nan nan nan ... nan nan nan nan\n",
       "Attributes: (12/37)\n",
       "    Conventions:                CF-1.6, ACDD-1.3\n",
       "    title:                      NOAA/NCEI 1/4 Degree Daily Optimum Interpolat...\n",
       "    references:                 Reynolds, et al.(2007) Daily High-Resolution-...\n",
       "    source:                     ICOADS, NCEP_GTS, GSFC_ICE, NCEP_ICE, Pathfin...\n",
       "    id:                         oisst-avhrr-v02r01.20220304.nc\n",
       "    naming_authority:           gov.noaa.ncei\n",
       "    ...                         ...\n",
       "    time_coverage_start:        2022-03-04T00:00:00Z\n",
       "    time_coverage_end:          2022-03-04T23:59:59Z\n",
       "    metadata_link:              https://doi.org/10.25921/RE9P-PT57\n",
       "    ncei_template_version:      NCEI_NetCDF_Grid_Template_v2.0\n",
       "    comment:                    Data was converted from NetCDF-3 to NetCDF-4 ...\n",
       "    sensor:                     Thermometer, AVHRR
" ], "text/plain": [ "\n", "Dimensions: (time: 1, zlev: 1, lat: 60, lon: 152)\n", "Coordinates:\n", " * time (time) datetime64[ns] 2022-03-04T12:00:00\n", " * zlev (zlev) float32 0.0\n", " * lat (lat) float32 10.12 10.38 10.62 10.88 ... 24.12 24.38 24.62 24.88\n", " * lon (lon) float32 272.1 272.4 272.6 272.9 ... 309.1 309.4 309.6 309.9\n", "Data variables:\n", " sst (time, zlev, lat, lon) float32 ...\n", " anom (time, zlev, lat, lon) float32 ...\n", " err (time, zlev, lat, lon) float32 ...\n", " ice (time, zlev, lat, lon) float32 ...\n", "Attributes: (12/37)\n", " Conventions: CF-1.6, ACDD-1.3\n", " title: NOAA/NCEI 1/4 Degree Daily Optimum Interpolat...\n", " references: Reynolds, et al.(2007) Daily High-Resolution-...\n", " source: ICOADS, NCEP_GTS, GSFC_ICE, NCEP_ICE, Pathfin...\n", " id: oisst-avhrr-v02r01.20220304.nc\n", " naming_authority: gov.noaa.ncei\n", " ... ...\n", " time_coverage_start: 2022-03-04T00:00:00Z\n", " time_coverage_end: 2022-03-04T23:59:59Z\n", " metadata_link: https://doi.org/10.25921/RE9P-PT57\n", " ncei_template_version: NCEI_NetCDF_Grid_Template_v2.0\n", " comment: Data was converted from NetCDF-3 to NetCDF-4 ...\n", " sensor: Thermometer, AVHRR" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# a slightly overcomplicated but still fun way to do it - write a function to convert longitude\n", "# from -180 -> 180 to 0 -> 360\n", "# subtract 180 from 360 degree longitude to convert to -180/180 longitude\n", "def convert_lon(lon_180):\n", " '''Convert a longitude from 0 to 360 degree range to a -180 to 180 degree range'''\n", " if lon_180 < 0:\n", " lon_360 = lon_180 + 360\n", " else:\n", " lon_360 = lon_180\n", " return lon_360\n", "\n", "# from 272 to 310\n", "sst.sel(lat=slice(10, 25), lon=slice(convert_lon(-88), convert_lon(-50)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ":::{admonition} Hint\n", ":class: note, dropdown\n", "\n", "Watch the units on longitude. What are the min and max values of the longitude coordinate array?\n", "\n", ":::" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**B)** Use the `.plot()` function demonstrated at the end of the lesson to look at the data in your subset. Note that to use `.plot()` the way it is shown, you need to make sure two things are true:\n", "1. You are using a DataArray, not a Dataset\n", "1. You are giving it a 2d slice of data, where the 2 dimensions are latitude and longitude" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sst.sst.sel(lat=slice(10, 25), lon=slice(272, 310)).plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ":::{admonition} Hint\n", ":class: note, dropdown\n", "\n", "Watch your data structure. Recall that `.plot()` works on a DataArray, not a Dataset.\n", "\n", ":::" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Question 3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How many dimensions should your output array have if you did each of the following:\n", "1. selected the 1st time value\n", "1. selected the 1st time value and the 100th to the 200th latitude values\n", "1. selected the 100th to the 200th latitude values and the 1000th to 1200th longitude values\n", "1. selected the 1st time value, the 1st elevation value, the 100th to the 200th latitude values and the 1000th to 1200th longitude values\n", "1. selected the 1st time value, 1st elevation value, the 1st latitude value and the 1st longitude value" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "# 1. 3 dimensions\n", "# 2. 3 dimensions\n", "# 3. 4 dimensions\n", "# 4. 2 dimensions\n", "# 5. 0 dimensions (a single number)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "interpreter": { "hash": "9faa26feb1f18d0836273982f6b47dba7e6edbbdc30051db03817ead886d6429" }, "kernelspec": { "display_name": "Python 3.9.12 ('sarp_student')", "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.12" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }