{ "cells": [ { "cell_type": "markdown", "source": [ "# Reading C3S SM data in python\n", "\n", "## With xarray\n", "\n", "The easiest way to load C3S SM image data as downloaded from CDS into memory\n", "is by using [xarray](https://docs.xarray.dev/en/stable/).\n", "\n", "When xarray is installed, it can be used to load one or multiple C3S SM\n", "images into memory and merge them into a data cube along the time dimension.\n", "\n", "### Loading a single C3S SM netcdf image\n", "In the first example we simply load one image as an xarray Dataset:" ], "metadata": { "collapsed": false }, "id": "377c94b335c2d012" }, { "cell_type": "code", "outputs": [], "source": [ "# to install xarray see https://docs.xarray.dev/en/stable/\n", "import xarray as xr\n", "img = xr.open_dataset(\"./../../tests/c3s_sm-test-data/img/TCDR/060_dailyImages/combined/2014/C3S-SOILMOISTURE-L3S-SSMV-COMBINED-DAILY-20140101000000-TCDR-v201801.0.0.nc\")" ], "metadata": { "collapsed": true, "ExecuteTime": { "end_time": "2024-08-29T14:12:20.637071Z", "start_time": "2024-08-29T14:12:20.149493Z" } }, "id": "initial_id", "execution_count": 1 }, { "cell_type": "markdown", "source": [ "From there on we can use xarray functionality extract numpy array, plot data, convert them into pandas DataFrames etc." ], "metadata": { "collapsed": false }, "id": "52ee63ccc34306b" }, { "cell_type": "markdown", "source": [ "### Loading and stacking multiple C3S SM images\n", "\n", "To load multiple images at once, we can use `xarray.open_mfdataset`. For this\n", "we have to make sure that the [`dask` library](https://www.dask.org/) is installed (e.g. via \n", "``conda install dask``). In the example below we just load 2 images from the\n", "test data.\n" ], "metadata": { "collapsed": false }, "id": "2c25cd32872ef82c" }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": " Size: 75MB\nDimensions: (time: 2, lat: 720, lon: 1440)\nCoordinates:\n * lat (lat) float32 3kB 89.88 89.62 89.38 ... -89.38 -89.62 -89.88\n * lon (lon) float32 6kB -179.9 -179.6 -179.4 ... 179.4 179.6 179.9\n * time (time) datetime64[ns] 16B 2014-01-01 2014-01-02\nData variables:\n t0 (time, lat, lon) datetime64[ns] 17MB dask.array\n sm (time, lat, lon) float32 8MB dask.array\n sm_uncertainty (time, lat, lon) float32 8MB dask.array\n dnflag (time, lat, lon) float32 8MB dask.array\n flag (time, lat, lon) float32 8MB dask.array\n freqbandID (time, lat, lon) float32 8MB dask.array\n mode (time, lat, lon) float32 8MB dask.array\n sensor (time, lat, lon) float32 8MB dask.array\nAttributes: (12/40)\n title: C3S Surface Soil Moisture COMBINED active+pas...\n institution: EODC (AUT); TU Wien (AUT); VanderSat B.V. (NL)\n contact: C3S_SM_Science@eodc.eu\n source: WARP 5.5R1.1/AMI-WS/ERS12 Level 2 Soil Moistu...\n platform: Nimbus 7, DMSP, TRMM, AQUA, Coriolis, GCOM-W1...\n sensor: SMMR, SSM/I, TMI, AMSR-E, WindSat, AMSR2, SMO...\n ... ...\n geospatial_vertical_max: 0.0\n geospatial_lat_units: degrees_north\n geospatial_lon_units: degrees_east\n geospatial_lat_resolution: 0.25 degree\n geospatial_lon_resolution: 0.25 degree\n spatial_resolution: 25km", "text/html": "
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
<xarray.Dataset> Size: 75MB\nDimensions:         (time: 2, lat: 720, lon: 1440)\nCoordinates:\n  * lat             (lat) float32 3kB 89.88 89.62 89.38 ... -89.38 -89.62 -89.88\n  * lon             (lon) float32 6kB -179.9 -179.6 -179.4 ... 179.4 179.6 179.9\n  * time            (time) datetime64[ns] 16B 2014-01-01 2014-01-02\nData variables:\n    t0              (time, lat, lon) datetime64[ns] 17MB dask.array<chunksize=(1, 360, 720), meta=np.ndarray>\n    sm              (time, lat, lon) float32 8MB dask.array<chunksize=(1, 720, 1440), meta=np.ndarray>\n    sm_uncertainty  (time, lat, lon) float32 8MB dask.array<chunksize=(1, 720, 1440), meta=np.ndarray>\n    dnflag          (time, lat, lon) float32 8MB dask.array<chunksize=(1, 720, 1440), meta=np.ndarray>\n    flag            (time, lat, lon) float32 8MB dask.array<chunksize=(1, 720, 1440), meta=np.ndarray>\n    freqbandID      (time, lat, lon) float32 8MB dask.array<chunksize=(1, 720, 1440), meta=np.ndarray>\n    mode            (time, lat, lon) float32 8MB dask.array<chunksize=(1, 720, 1440), meta=np.ndarray>\n    sensor          (time, lat, lon) float32 8MB dask.array<chunksize=(1, 720, 1440), meta=np.ndarray>\nAttributes: (12/40)\n    title:                      C3S Surface Soil Moisture COMBINED active+pas...\n    institution:                EODC (AUT); TU Wien (AUT); VanderSat B.V. (NL)\n    contact:                    C3S_SM_Science@eodc.eu\n    source:                     WARP 5.5R1.1/AMI-WS/ERS12 Level 2 Soil Moistu...\n    platform:                   Nimbus 7, DMSP, TRMM, AQUA, Coriolis, GCOM-W1...\n    sensor:                     SMMR, SSM/I, TMI, AMSR-E, WindSat, AMSR2, SMO...\n    ...                         ...\n    geospatial_vertical_max:    0.0\n    geospatial_lat_units:       degrees_north\n    geospatial_lon_units:       degrees_east\n    geospatial_lat_resolution:  0.25 degree\n    geospatial_lon_resolution:  0.25 degree\n    spatial_resolution:         25km
" }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import dask # make sure dask is installed\n", "# - conda install dask - https://www.dask.org/\n", "import xarray as xr\n", "\n", "ds = xr.open_mfdataset(\"./../../tests/c3s_sm-test-data/img/TCDR/060_dailyImages/combined/**/*.nc\")\n", "ds" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-08-29T14:12:20.876419Z", "start_time": "2024-08-29T14:12:20.637984Z" } }, "id": "ec7001504aaacfc7", "execution_count": 2 }, { "cell_type": "markdown", "source": [ "Afterwards the image data will be loaded as dask arrays, and we can select\n", "time stamps to extract from the stack." ], "metadata": { "collapsed": false }, "id": "6a2fd72ae8377ab6" }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": " Size: 1MB\nDimensions: (lat: 120, lon: 240)\nCoordinates:\n * lat (lat) float32 480B 59.88 59.62 59.38 ... 30.62 30.38 30.12\n * lon (lon) float32 960B -19.88 -19.62 -19.38 ... 39.62 39.88\n time datetime64[ns] 8B 2014-01-01\nData variables:\n t0 (lat, lon) datetime64[ns] 230kB dask.array\n sm (lat, lon) float32 115kB dask.array\n sm_uncertainty (lat, lon) float32 115kB dask.array\n dnflag (lat, lon) float32 115kB dask.array\n flag (lat, lon) float32 115kB dask.array\n freqbandID (lat, lon) float32 115kB dask.array\n mode (lat, lon) float32 115kB dask.array\n sensor (lat, lon) float32 115kB dask.array\nAttributes: (12/40)\n title: C3S Surface Soil Moisture COMBINED active+pas...\n institution: EODC (AUT); TU Wien (AUT); VanderSat B.V. (NL)\n contact: C3S_SM_Science@eodc.eu\n source: WARP 5.5R1.1/AMI-WS/ERS12 Level 2 Soil Moistu...\n platform: Nimbus 7, DMSP, TRMM, AQUA, Coriolis, GCOM-W1...\n sensor: SMMR, SSM/I, TMI, AMSR-E, WindSat, AMSR2, SMO...\n ... ...\n geospatial_vertical_max: 0.0\n geospatial_lat_units: degrees_north\n geospatial_lon_units: degrees_east\n geospatial_lat_resolution: 0.25 degree\n geospatial_lon_resolution: 0.25 degree\n spatial_resolution: 25km", "text/html": "
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
<xarray.Dataset> Size: 1MB\nDimensions:         (lat: 120, lon: 240)\nCoordinates:\n  * lat             (lat) float32 480B 59.88 59.62 59.38 ... 30.62 30.38 30.12\n  * lon             (lon) float32 960B -19.88 -19.62 -19.38 ... 39.62 39.88\n    time            datetime64[ns] 8B 2014-01-01\nData variables:\n    t0              (lat, lon) datetime64[ns] 230kB dask.array<chunksize=(120, 80), meta=np.ndarray>\n    sm              (lat, lon) float32 115kB dask.array<chunksize=(120, 240), meta=np.ndarray>\n    sm_uncertainty  (lat, lon) float32 115kB dask.array<chunksize=(120, 240), meta=np.ndarray>\n    dnflag          (lat, lon) float32 115kB dask.array<chunksize=(120, 240), meta=np.ndarray>\n    flag            (lat, lon) float32 115kB dask.array<chunksize=(120, 240), meta=np.ndarray>\n    freqbandID      (lat, lon) float32 115kB dask.array<chunksize=(120, 240), meta=np.ndarray>\n    mode            (lat, lon) float32 115kB dask.array<chunksize=(120, 240), meta=np.ndarray>\n    sensor          (lat, lon) float32 115kB dask.array<chunksize=(120, 240), meta=np.ndarray>\nAttributes: (12/40)\n    title:                      C3S Surface Soil Moisture COMBINED active+pas...\n    institution:                EODC (AUT); TU Wien (AUT); VanderSat B.V. (NL)\n    contact:                    C3S_SM_Science@eodc.eu\n    source:                     WARP 5.5R1.1/AMI-WS/ERS12 Level 2 Soil Moistu...\n    platform:                   Nimbus 7, DMSP, TRMM, AQUA, Coriolis, GCOM-W1...\n    sensor:                     SMMR, SSM/I, TMI, AMSR-E, WindSat, AMSR2, SMO...\n    ...                         ...\n    geospatial_vertical_max:    0.0\n    geospatial_lat_units:       degrees_north\n    geospatial_lon_units:       degrees_east\n    geospatial_lat_resolution:  0.25 degree\n    geospatial_lon_resolution:  0.25 degree\n    spatial_resolution:         25km
" }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# extract the first time stamp and a spatial subset\n", "img = ds.isel(time=0).sel(lon=slice(-20, 40), lat=slice(60, 30))\n", "img" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-08-29T14:12:20.901124Z", "start_time": "2024-08-29T14:12:20.877123Z" } }, "id": "7b0aa781d5913bc0", "execution_count": 3 }, { "cell_type": "markdown", "source": [ "## With c3s_sm.interface\n", "We provide our own image readers in this package. They are mainly used for the conversion\n", "to time series, but can also be used to load the data as numpy arrays. They are based on \n", "the netCDF4 python package (don't require xarray). There is one reader\n", "to read a single netcdf file, and one to find the image for a date in a file collection.\n", "\n", "For most users the above described use of xarray is probably preferred!\n", "\n", "### Image reader" ], "metadata": { "collapsed": false }, "id": "3f0a6530658cfee7" }, { "cell_type": "code", "outputs": [], "source": [ "from c3s_sm.interface import C3SImg\n", "import numpy as np\n", "from datetime import datetime\n", "\n", "img = C3SImg(\"./../../tests/c3s_sm-test-data/img/TCDR/060_dailyImages/combined/2014/C3S-SOILMOISTURE-L3S-SSMV-COMBINED-DAILY-20140101000000-TCDR-v201801.0.0.nc\").read(datetime(2014,1,1))" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-08-29T14:12:21.424493Z", "start_time": "2024-08-29T14:12:20.902073Z" } }, "id": "341e3469ea4e236", "execution_count": 4 }, { "cell_type": "markdown", "source": [ "This will create an Image object which is basically just a container for numpy arrays, netcdf attributes and dimension variables (lat, lon, time)." ], "metadata": { "collapsed": false }, "id": "603ffc8037c94fa7" }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": "" }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": "
", "image/png": "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LVu2TH311VexMnPmzFFer1f961//Up9++qn6+c9/rnr27KlqampiZYYNG6ZOOeUU9f7776t33nlHHX/88eqKK65IxCk12cyZM1VWVpZavHix2rJli3rhhRdUWlqaevDBB2Nl2vs1ee2119Rtt92mXnzxRQWol156KW5/c5y/z+dTOTk5atSoUWr9+vXqH//4h3K73eqvf/1ra51mgxzpmpSXl6vCwkL1/PPPqy+++EKVlJSoM888Uw0cODDuNdrTNTnaz8h+L774ojrllFNUXl6eKi4ujtvXmtejzQWWM888U40dOzb23DRNlZeXp2bPnp3AWrWOXbt2KUCtXLlSKRX9BbPb7eqFF16Ilfn8888VoEpKSpRS0R9IXddVaWlprMyjjz6qPB6PCgaDrXsCzaiiokKdcMIJavny5er888+PBZaOeE2mTp2qzjnnnMPutyxL5ebmqvvvvz+2rby8XDmdTvWPf/xDKaXUxo0bFaA+/PDDWJklS5YoTdPU999/33KVbyEjRoxQ11xzTdy2Sy+9VI0aNUop1fGuyaEfRs11/o888ojq1KlT3O/N1KlTVe/evVv4jJruSB/Q+33wwQcKUFu3blVKte9rcrjr8d1336ljjz1WrV+/XuXn58cFlta+Hm3qllAoFGLNmjUUFhbGtum6TmFhISUlJQmsWevw+XzAgcUf16xZQzgcjrseffr0oXv37rHrUVJSwoABA8jJyYmVKSoqwu/3s2HDhlasffMaO3YsI0aMiDt36JjX5JVXXmHQoEFcdtllZGdnc9ppp/HEE0/E9m/ZsoXS0tK4a+L1ehk8eHDcNcnIyGDQoEGxMoWFhei6zurVq1vvZJrJWWedxYoVK/jyyy8B+PTTT3n33XcZPnw40DGvycGa6/xLSko477zzcDgcsTJFRUVs2rSJffv2tdLZtByfz4emaWRkZAAd75pYlsXo0aOZMmUKJ510Uq39rX092lRg+eGHHzBNM+6DBiAnJ4fS0tIE1ap1WJbF+PHjOfvss+nfvz8ApaWlOByO2C/Tfgdfj9LS0jqv1/59bdGiRYv4+OOPmT17dq19HfGafPPNNzz66KOccMIJLFu2jBtuuIE//elPPP3008CBczrS701paSnZ2dlx+202G5mZmW3ymtxyyy1cfvnl9OnTB7vdzmmnncb48eMZNWoU0DGvycGa6/zb2+/SwQKBAFOnTuWKK66ILe7X0a7Jfffdh81m409/+lOd+1v7erTJ1Zo7orFjx7J+/XrefffdRFclobZv385NN93E8uXLcblcia5OUrAsi0GDBjFr1iwATjvtNNavX89jjz3GmDFjEly7xPjnP//Js88+y3PPPcdJJ53E2rVrGT9+PHl5eR32moj6C4fD/PrXv0YpxaOPPpro6iTEmjVrePDBB/n444/RNC3R1QHaWAtL586dMQyj1oiPsrIycnNzE1Srljdu3DgWL17MW2+9RdeuXWPbc3NzCYVClJeXx5U/+Hrk5ubWeb3272tr1qxZw65duzj99NOx2WzYbDZWrlzJQw89hM1mIycnp8Ndk2OOOYZ+/frFbevbty/btm0DDpzTkX5vcnNz2bVrV9z+SCTC3r172+Q1mTJlSqyVZcCAAYwePZoJEybEWuU64jU5WHOdf3v7XYIDYWXr1q0sX7481roCHeuavPPOO+zatYvu3bvH/tZu3bqVSZMm0aNHD6D1r0ebCiwOh4OBAweyYsWK2DbLslixYgUFBQUJrFnLUEoxbtw4XnrpJd5880169uwZt3/gwIHY7fa467Fp0ya2bdsWux4FBQWsW7cu7odq/y/hoR9ybcGFF17IunXrWLt2bewxaNAgRo0aFft3R7smZ599dq3h7l9++SX5+fkA9OzZk9zc3Lhr4vf7Wb16ddw1KS8vZ82aNbEyb775JpZlMXjw4FY4i+ZVXV2Nrsf/eTMMA8uygI55TQ7WXOdfUFDA22+/TTgcjpVZvnw5vXv3plOnTq10Ns1nf1jZvHkzb7zxBllZWXH7O9I1GT16NJ999lnc39q8vDymTJnCsmXLgARcjwZ3002wRYsWKafTqRYuXKg2btyorr/+epWRkRE34qO9uOGGG5TX61X/+c9/1M6dO2OP6urqWJk//OEPqnv37urNN99UH330kSooKFAFBQWx/fuH8A4dOlStXbtWLV26VHXp0qXNDuGty8GjhJTqeNfkgw8+UDabTc2cOVNt3rxZPfvssyolJUU988wzsTJz5sxRGRkZ6uWXX1afffaZ+sUvflHnENbTTjtNrV69Wr377rvqhBNOaDNDeA81ZswYdeyxx8aGNb/44ouqc+fO6uabb46Vae/XpKKiQn3yySfqk08+UYBasGCB+uSTT2IjXprj/MvLy1VOTo4aPXq0Wr9+vVq0aJFKSUlJyiG8Sh35moRCIfXzn/9cde3aVa1duzbub+7BI1za0zU52s/IoQ4dJaRU616PNhdYlFLqz3/+s+revbtyOBzqzDPPVO+//36iq9QigDofTz31VKxMTU2N+uMf/6g6deqkUlJS1H/913+pnTt3xr3Ot99+q4YPH67cbrfq3LmzmjRpkgqHw618Ni3n0MDSEa/Jq6++qvr376+cTqfq06ePevzxx+P2W5al7rjjDpWTk6OcTqe68MIL1aZNm+LK7NmzR11xxRUqLS1NeTwe9bvf/U5VVFS05mk0G7/fr2666SbVvXt35XK5VK9evdRtt90W98HT3q/JW2+9VeffjzFjxiilmu/8P/30U3XOOecop9Opjj32WDVnzpzWOsUGO9I12bJly2H/5r711lux12hP1+RoPyOHqiuwtOb10JQ6aOpHIYQQQogk1Kb6sAghhBCiY5LAIoQQQoikJ4FFCCGEEElPAosQQgghkp4EFiGEEEIkPQksQgghhEh6EliEEEIIkfQksAghhBAi6UlgEUIIIUTSk8AihBBCiKQngUUIIYQQSU8CixBCCCGS3v8H28yejrR0Zj4AAAAASUVORK5CYII=" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "plt.imshow(img.data['sm'])" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-08-29T14:12:21.833559Z", "start_time": "2024-08-29T14:12:21.425158Z" } }, "id": "ee094cd218caaee", "execution_count": 5 }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": "('Image coordinates',\n array([[ 89.875, 89.875, 89.875, ..., 89.875, 89.875, 89.875],\n [ 89.625, 89.625, 89.625, ..., 89.625, 89.625, 89.625],\n [ 89.375, 89.375, 89.375, ..., 89.375, 89.375, 89.375],\n ...,\n [-89.375, -89.375, -89.375, ..., -89.375, -89.375, -89.375],\n [-89.625, -89.625, -89.625, ..., -89.625, -89.625, -89.625],\n [-89.875, -89.875, -89.875, ..., -89.875, -89.875, -89.875]]),\n array([[-179.875, -179.625, -179.375, ..., 179.375, 179.625, 179.875],\n [-179.875, -179.625, -179.375, ..., 179.375, 179.625, 179.875],\n [-179.875, -179.625, -179.375, ..., 179.375, 179.625, 179.875],\n ...,\n [-179.875, -179.625, -179.375, ..., 179.375, 179.625, 179.875],\n [-179.875, -179.625, -179.375, ..., 179.375, 179.625, 179.875],\n [-179.875, -179.625, -179.375, ..., 179.375, 179.625, 179.875]]),\n datetime.datetime(2014, 1, 1, 0, 0))" }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"Image coordinates\", img.lat, img.lon, img.timestamp" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-08-29T14:12:21.837888Z", "start_time": "2024-08-29T14:12:21.834498Z" } }, "id": "7fd94ceb0bdcead9", "execution_count": 6 }, { "cell_type": "markdown", "source": [ "### Multi-image reader\n", "\n", "The image to time series conversion requires a class that reads image data for a time stamp from a directory with multiple files. The class is used as follows:\n" ], "metadata": { "collapsed": false }, "id": "74b13fe620e54260" }, { "cell_type": "code", "outputs": [], "source": [ "from c3s_sm.interface import C3S_Nc_Img_Stack\n", "from datetime import datetime\n", "\n", "stack = C3S_Nc_Img_Stack(\"./../../tests/c3s_sm-test-data/img/TCDR/060_dailyImages/combined/\", fillval=np.nan)\n", "ts = datetime(2014, 1, 1)\n", "image = stack.read(ts)" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-08-29T14:12:22.078616Z", "start_time": "2024-08-29T14:12:21.838651Z" } }, "id": "ea60a4a0297b9619", "execution_count": 7 }, { "cell_type": "code", "outputs": [ { "data": { "text/plain": "Text(0.5, 1.0, 'SM at 2014-01-01')" }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/plain": "
", "image/png": "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iCKr1Urv3r2ZMWMGzz33HH6/n8WLF5dbtk+fPpx++umMHj2anTt3Vqo5CGDGjBmMHTuWiy++mNdee43ly5ezYsUKunbtimEY1b4Xt9vNwIEDycvLY9myZbRs2TJif2mzR2nT0LH2799PUlJSubUPJ/PPf/6T7du383//93/s2rUr/AIoKChg165dFBcXh69/7OuNN94Ib8/JyUEpVSYmoMx9VERdXkuIxsIc7QCEECGlnVHL+0AvdeONNzJt2jQ6d+5M9+7dK3X+f//731x66aXh/iql8vLyIjrHVmWCMo/Hw9VXX82OHTv48MMP6dKlS5kyp512Gs2bNy93grt169ZV+n4g1NnW7/dzwQUXlNn3z3/+k3/+85+89dZbXHvttaxYsSJif9euXQHo3r07f//73/nmm28i4l67dm14f2XV5bWEaCwkYRGijn388cf85je/KZMYvP/++wB07NjxhMfefvvtmEwm+vTpU+nrmkymMt/sFy9ezM8//8wZZ5wR3hYfHw+EEpmKCAaD/OEPfyA7O5t33nmHjIyME5YdPHgwr7zyCnv37qV169YArFy5kh07djBmzJhK3hEMGTKk3A/53/3ud1x55ZXccccd4Wd1otmCf/vb3zJmzBieffZZ/vrXvwKhUU7PP/88p512Gueff36l46rLawnRWEjCIkQdu/vuuykuLuZ3v/sdnTp1wufzsWbNGt544w3atm3Ln/70pxMem56eXuEp6o931VVXMXXqVP70pz9x/vnns3nzZhYsWFBmBNDpp59OYmIizz//PE2aNCE+Pp4+ffrQrl27cs87btw43n33Xa6++moOHz7Ma6+9FrH/5ptvDv/7/vvvZ/HixVx66aXcc889FBYW8vjjj9OtW7cy9/3qq6+ye/fucJPO6tWrmTZtGgDDhg0jPT2dTp060alTp3LjateuHddee+0pn0urVq0YPXo0jz/+OH6/n969e/P222/zySefsGDBgoh+OLt37+bVV18FCNcUlcaUnp7OsGHDYuZaQjQ40Zy1TojGaOnSperWW29VnTp1UgkJCcpqtaozzjhD3X333eXOdDto0KCTnu/ll1+u0Ey3Ho9HjRs3TrVo0UI5HA51wQUXqOzsbHXJJZeoSy65JKLsO++8o7p06aLMZvMpZ7295JJLFHDC1/G2bNmi+vXrp+Li4lRiYqIaOnSoysnJ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QghRDxUUFDSOhCUpKQkIrUtU2RtuqEqzVql1OkqeSVnyTMqSZ1KWPJOy5JlEqurzUEpRUFBQpSlR6mXCouuhwU0ul0t+cI4jo6jKkmdSljyTsuSZlCXPpCx5JpGq8jyqWtFQ5YnjhBBCCCHqiiQsQgghhIh59TJhsdlsPPzwwzJ3yzHkmZQlz6QseSZlyTMpS55JWfJMIkXjedTLYc1CCCGEaFzqZQ2LEEIIIRoXSViEEEIIEfMkYRFCCCFEzJOERQghhBAxr14mLM888wxt27bFbrfTp08f1q1bF+2QasXMmTPp3bs3TZo0ISUlhWuvvZbt27dHlPF4PIwcOZLk5GQSEhIYPHgwubm5EWX27NnDoEGDiIuLIyUlhQkTJhAIBOryVmrNrFmz0DSN0aNHh7c1xmfy888/c/PNN5OcnIzD4aBbt2588cUX4f1KKSZPnkyLFi1wOBxkZmby3XffRZzj8OHDDB06FKfTSWJiIrfddhuFhYV1fSs1IhgM8tBDD9GuXTscDgenn346jz76KMeOMWjoz2T16tVcffXVtGzZEk3TePvttyP219T9f/3111x00UXY7XZat27N7Nmza/vWquxkz8Tv9zNx4kS6detGfHw8LVu25JZbbmHfvn0R52hIz+RUPyPH+vOf/4ymaTzxxBMR2+v0eah6ZtGiRcpqtap//OMfauvWreqOO+5QiYmJKjc3N9qh1bj+/furl19+WW3ZskVt3LhRXXnllapNmzaqsLAwXObPf/6zat26tVq5cqX64osvVN++fdX5558f3h8IBNRZZ52lMjMz1VdffaXef/991axZMzVp0qRo3FKNWrdunWrbtq06++yz1T333BPe3tieyeHDh1V6err64x//qNauXat+/PFHtXz5cvX999+Hy8yaNUu5XC719ttvq02bNqlrrrlGtWvXTpWUlITLDBgwQJ1zzjnq888/V5988ok644wz1I033hiNW6q26dOnq+TkZLVkyRK1c+dOtXjxYpWQkKCefPLJcJmG/kzef/999cADD6g333xTAeqtt96K2F8T9+92u1VqaqoaOnSo2rJli3r99deVw+FQf/vb3+rqNivlZM8kLy9PZWZmqjfeeEN9++23Kjs7W5133nmqZ8+eEedoSM/kVD8jpd588011zjnnqJYtW6qsrKyIfXX5POpdwnLeeeepkSNHht8Hg0HVsmVLNXPmzChGVTcOHDigALVq1SqlVOgXzGKxqMWLF4fLfPPNNwpQ2dnZSqnQD6Su6yonJydc5rnnnlNOp1N5vd66vYEaVFBQoDp06KBWrFihLrnkknDC0hifycSJE9WFF154wv2GYai0tDT1+OOPh7fl5eUpm82mXn/9daWUUtu2bVOAWr9+fbjM0qVLlaZp6ueff6694GvJoEGD1K233hqx7brrrlNDhw5VSjW+Z3L8h1FN3f+zzz6rmjZtGvF7M3HiRNWxY8davqPqO9kHdKl169YpQO3evVsp1bCfyYmex08//aROO+00tWXLFpWenh6RsNT186hXTUI+n48NGzaQmZkZ3qbrOpmZmWRnZ0cxsrrhdruBo4s/btiwAb/fH/E8OnXqRJs2bcLPIzs7m27dupGamhou079/f/Lz89m6dWsdRl+zRo4cyaBBgyLuHRrnM3n33Xfp1asXv//970lJSaFHjx68+OKL4f07d+4kJycn4pm4XC769OkT8UwSExPp1atXuExmZia6rrN27dq6u5kacv7557Ny5Up27NgBwKZNm/j0008ZOHAg0DifybFq6v6zs7O5+OKLsVqt4TL9+/dn+/btHDlypI7upva43W40TSMxMRFofM/EMAyGDRvGhAkT6Nq1a5n9df086lXC8ssvvxAMBiM+aABSU1PJycmJUlR1wzAMRo8ezQUXXMBZZ50FQE5ODlarNfzLVOrY55GTk1Pu8yrdVx8tWrSIL7/8kpkzZ5bZ1xifyY8//shzzz1Hhw4dWL58OXfeeSd/+ctfeOWVV4Cj93Sy35ucnBxSUlIi9pvNZpKSkurlM7nvvvsYMmQInTp1wmKx0KNHD0aPHs3QoUOBxvlMjlVT99/QfpeO5fF4mDhxIjfeeGN4cb/G9kwee+wxzGYzf/nLX8rdX9fPo16u1twYjRw5ki1btvDpp59GO5So2rt3L/fccw8rVqzAbrdHO5yYYBgGvXr1YsaMGQD06NGDLVu28PzzzzN8+PAoRxcd//rXv1iwYAELFy6ka9eubNy4kdGjR9OyZctG+0xExfn9fm644QaUUjz33HPRDicqNmzYwJNPPsmXX36JpmnRDgeoZzUszZo1w2QylRnxkZubS1paWpSiqn2jRo1iyZIlfPzxx7Rq1Sq8PS0tDZ/PR15eXkT5Y59HWlpauc+rdF99s2HDBg4cOMC5556L2WzGbDazatUqnnrqKcxmM6mpqY3umbRo0YIuXbpEbOvcuTN79uwBjt7TyX5v0tLSOHDgQMT+QCDA4cOH6+UzmTBhQriWpVu3bgwbNowxY8aEa+Ua4zM5Vk3df0P7XYKjycru3btZsWJFuHYFGtcz+eSTTzhw4ABt2rQJ/63dvXs348aNo23btkDdP496lbBYrVZ69uzJypUrw9sMw2DlypVkZGREMbLaoZRi1KhRvPXWW3z00Ue0a9cuYn/Pnj2xWCwRz2P79u3s2bMn/DwyMjLYvHlzxA9V6S/h8R9y9cHll1/O5s2b2bhxY/jVq1cvhg4dGv53Y3smF1xwQZnh7jt27CA9PR2Adu3akZaWFvFM8vPzWbt2bcQzycvLY8OGDeEyH330EYZh0KdPnzq4i5pVXFyMrkf+eTOZTBiGATTOZ3Ksmrr/jIwMVq9ejd/vD5dZsWIFHTt2pGnTpnV0NzWnNFn57rvv+PDDD0lOTo7Y35ieybBhw/j6668j/ta2bNmSCRMmsHz5ciAKz6PS3XSjbNGiRcpms6n58+erbdu2qREjRqjExMSIER8NxZ133qlcLpf63//+p/bv3x9+FRcXh8v8+c9/Vm3atFEfffSR+uKLL1RGRobKyMgI7y8dwtuvXz+1ceNGtWzZMtW8efN6O4S3PMeOElKq8T2TdevWKbPZrKZPn66+++47tWDBAhUXF6dee+21cJlZs2apxMRE9c4776ivv/5a/fa3vy13CGuPHj3U2rVr1aeffqo6dOhQb4bwHm/48OHqtNNOCw9rfvPNN1WzZs3UvffeGy7T0J9JQUGB+uqrr9RXX32lADVv3jz11VdfhUe81MT95+XlqdTUVDVs2DC1ZcsWtWjRIhUXFxeTQ3iVOvkz8fl86pprrlGtWrVSGzdujPibe+wIl4b0TE71M3K840cJKVW3z6PeJSxKKfX000+rNm3aKKvVqs477zz1+eefRzukWgGU+3r55ZfDZUpKStRdd92lmjZtquLi4tTvfvc7tX///ojz7Nq1Sw0cOFA5HA7VrFkzNW7cOOX3++v4bmrP8QlLY3wm7733njrrrLOUzWZTnTp1Ui+88ELEfsMw1EMPPaRSU1OVzWZTl19+udq+fXtEmUOHDqkbb7xRJSQkKKfTqf70pz+pgoKCuryNGpOfn6/uuece1aZNG2W321X79u3VAw88EPHB09Cfyccff1zu34/hw4crpWru/jdt2qQuvPBCZbPZ1GmnnaZmzZpVV7dYaSd7Jjt37jzh39yPP/44fI6G9ExO9TNyvPISlrp8HppSx0z9KIQQQggRg+pVHxYhhBBCNE6SsAghhBAi5knCIoQQQoiYJwmLEEIIIWKeJCxCCCGEiHmSsAghhBAi5knCIoQQQoiYJwmLEEIIIWKeJCxCCCGEiHmSsAghhBAi5knCIoQQQoiYJwmLEEIIIWLe/wOGmzdr16CHygAAAABJRU5ErkJggg==" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(image.data['sm'])\n", "plt.title(f\"SM at {str(ts.date())}\")" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-08-29T14:12:22.263382Z", "start_time": "2024-08-29T14:12:22.079298Z" } }, "id": "f62aaaad53276709", "execution_count": 8 } ], "metadata": { "kernelspec": { "name": "python3", "language": "python", "display_name": "Python 3 (ipykernel)" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 5 }