Skip to content

Commit

Permalink
incorporating Jessica's edits, 1/28
Browse files Browse the repository at this point in the history
  • Loading branch information
e-marshall committed Jan 28, 2024
1 parent c0d29db commit 05c2bcc
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 37 deletions.
20 changes: 10 additions & 10 deletions PC_RTC.ipynb

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion appendix.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ However, for this dataset, I found that the `xr.open_mfdataset()` function wasn'
The stack I used contains multiple scenes that cover the same area of interest (multiple viewing geometries). If you wanted to select only scenes from a single viewing geometry at the expense of a denser time series, `xr.open_mfdataset()` might work a bit better (I didn't try this so cannot say for sure)
```

Ultimately, I decided to use the approach of creating GDAL VRT objects, and reading those in with `rioxarray.open_rasterio()` to organize the data as xarray objects. This worked much better from a memory perspective but created much more work with organizing metadata and structuring the dataset in an analysis-ready format. The `xr.open_mfdataset()` function seems like a much more efficient approach if your dataset is well-aligned with its parameters (ie. a spatially uniform stack). While it did not end up being the best tool for this task, I decided to include the notebook with the `xr.open_mfdataset()` approach anyway in case it is useful to see a demosntration of this function. I learned a lot about how to structure a `preprocess` function and many other steps working on this example.
Ultimately, I decided to use the approach of creating GDAL VRT objects, and reading those in with `rioxarray.open_rasterio()` to organize the data as xarray objects. This worked much better from a memory perspective but created much more work with organizing metadata and structuring the dataset in an analysis-ready format. The `xr.open_mfdataset()` function seems like a much more efficient approach if your dataset is well-aligned with its parameters (ie. a spatially uniform stack). While it did not end up being the best tool for this task, I decided to include the notebook with the `xr.open_mfdataset()` approach anyway in case it is useful to see a demonstration of this function. I learned a lot about how to structure a `preprocess` function and many other steps working on this example.

Take a look at the notebook using `xr.open_mfdataset()` to read in stacks of ASF-processed Sentinel-1 RTC imagery files [here](asf_local_mf.ipynb)

Expand Down
12 changes: 6 additions & 6 deletions asf_inspect.ipynb

Large diffs are not rendered by default.

10 changes: 9 additions & 1 deletion asf_local_mf.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -664,6 +664,14 @@
" return da"
]
},
{
"cell_type": "markdown",
"id": "24c6e8db",
"metadata": {},
"source": [
"### An example of complicated chunking"
]
},
{
"cell_type": "markdown",
"id": "3c022c13-c49f-4b56-9463-49843294c934",
Expand Down Expand Up @@ -5503,7 +5511,7 @@
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAANsAAAEDCAYAAAC8mXG2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAPLUlEQVR4nO3dfbBcdX3H8fdHLg9VB0kIURToBZtIMZOEeAm0U2m1tQ2WUqlDR6TjHaCkUNRii0KaDoX/eJo6OliRUZg4pWhAQftAMGVapJZAbpBAgjyEgHjFmgSiNGXkyW//OL/1brb35m6yy/fsbj6vmZ09e/Y8fM/ufu7unj33fBURmNlr73V1F2C2t3DYzJI4bGZJHDazJA6bWRKHzSxJ34VN0vWStkja0Ob0fyzpYUkbJf3ja12f2VTUb7+zSToR2AF8OSLmTTPtHGAl8N6I2C5pdkRsyajTrFXfvbNFxLeB55rHSXq7pFWS1km6W9LR5a5zgM9FxPYyr4Nmtem7sE3hOuBjEfEu4ELg78v4ucBcSd+RtEbSktoqtL3eUN0FdErSG4FfB26W1Bi9f7keAuYAvwUcBtwtaV5E/CS5TLP+DxvVu/NPImLhJPeNA2si4mXgSUmPUoVvbWJ9ZsAAfIyMiOepgnQagCoLyt23Ae8p42dRfazcXEedZn0XNkk3AfcA75A0Luls4AzgbEnrgY3AH5bJ7wCelfQw8O/AJyPi2TrqNuu7Xf9m/arv3tnM+lVf7SCZNWtWDA8P112G7YXWrVu3LSIO6WQZ04ZN0gHAt6l2pw8Bt0TE37ZMczRwA7AIWB4RVzfdtwT4DLAP8MWIuLyMvwr4A+Al4AngzOl2yQ8PDzM2Ntb2xpl1i6Tvd7qMdj5Gvkh1uNMCYCGwRNIJLdM8B3wcuLp5pKR9gM8BJwHHAKdLOqbcvRqYFxHzgceAZXu6EWb9YNqwRWVHublvuUTLNFsiYi3wcsvsi4FNEbE5Il4CvkLZUxgR34qIV8p0a6h+dDYbWG3tIJG0j6QHgC3A6oi4t83lvw34QdPt8TKu1VnA7W0u06wvtRW2iHi1HKFxGLBY0i6Ptm+iScbt9K4oaTnwCnDjpAuQlkoakzS2devWNldr1nt2a9d/2YHxH0C7B/SOA4c33T4MeKZxQ9IocDJwRkzxg19EXBcRIxExcsghHe0MMqvVtGGTdIikg8rwLwG/AzzS5vLXAnMkHSlpP+BDwDfLspYAFwGnRMQLe1C7WV9p53e2Q4EVZc/i64CVEfHPks4FiIhrJb0FGAMOBH4u6QLgmIh4XtJHqQ6b2ge4PiI2luVeQ/VzwupytP6aiDi3i9tm1lP66nCtkZGR8O9sVgdJ6yJipJNl9NURJLsycyZs3153FdbPZsyA556bfro9NTBh274d+uhN2nqQJtt33kU+ENksicNmlsRhM0visJklcdjMkjhsZkkcNrMkDptZEofNLInDZpbEYTNL4rCZJXHYzJI4bGZJHDazJA6bWRKHzSyJw2aWxGEzS+KwmSVx2MySOGxmSRw2syTtnOv/AEn3SVovaaOkyyaZ5mhJ90h6UdKFLfctkfSopE2SLm4aP1PSakmPl+sZ3dkks95UZ+fRi4E7I2IOcGe5bTawaus8Wq5XlOEVwAf2aAvM+kSdnUffHBE/AijXs6dYt5sh2kCovfNoG+t2M0QbCHV2Hv2xpEMByvWW3anFrN/U1nm0XI+W4VHgG7tRt1nfqbPz6OXASklnA08Dp3Vzw8x6zcB0HpXcn806s6vXUDc6j/oIErMkDptZEofNLInDZpbEYTNL4rCZJXHYzJI4bGZJHDazJA6bWRKHzSyJw2aWxGEzS+KwmSVx2MySOGxmSRw2syQOm1kSh80sicNmlsRhM0visJklcdjMkjhsZkm61QxRkj5bGh4+KGlR031/IWlDmfeCpvELJa2R9EDpUrO4a1tl1oO61QzxJGBOuSwFPg9Qut2cQ9WnbQFwsqQ5ZZ4rgctKd5xLym2zgdWVZohUjQ2/XKZdAxxUOtP8KrAmIl6IiFeAu4BTG4um6g0A8CYmutuYDaRuNUOcqunhBuBESQdLej3wfiZaSF0AXCXpB1TtgZdNsW43Q7SB0K1miJM2PYyI7wFXAKuBVcB64JVy/3nAJyLicOATwJemWLebIdpA6FYzxCmbHkbElyJiUUScSNXo/vEyzSjw9TJ8M9X3OrOB1a1miN8EPlL2Sp4A/LTRL1vS7HJ9BPBHwE1lnmeA3yzD72UihGYDqSvNEIF/pfo+tgl4ATizaf6vSToYeBk4PyK2l/HnAJ+RNAT8jGovptnAcjNEs8LNEM0GhMNmlsRhM0visJklcdjMkjhsZkkcNrMkDptZEofNLInDZpbEYTNL4rCZJXHYzJI4bGZJHDazJA6bWRKHzSyJw2aWxGEzS+KwmSVx2MySOGxmSRw2syQOm1mS2pohlvs+JunRcp/7s9lAa+f0441miDsk7Qv8p6TbSx+2huZmiMdTNUM8vqUZ4kvAKkn/EhGPS3oPVV+3+RHxYqMngNmgqrMZ4nnA5RHxYlnPls43x6x31dkMcS7wbkn3SrpL0nEdbIdZz2vnYyQR8SqwsLSOulXSvIjY0DTJlM0QJTWaIe5g52aIQ8AM4ATgOGClpKOipdOHpKWUDjdHHHFE2xtm1mvqbIY4Dny9fPS8D/g5MGuSdbrzqA2EOpsh3kbVBBFJc4H9gG0dbo9Zz6qzGeL1wPWSNlDtqRxt/QhpNkjcDNGscDNEswHhsJklcdjMkjhsZkkcNrMkDptZEofNLInDZpbEYTNL4rCZJXHYzJI4bGZJHDazJA6bWRKHzSyJw2aWxGEzS+KwmSVx2MySOGxmSRw2syQOm1kSh80sicNmlsRhM0tSa+fRcv+FkkLS/2uqYTZI2nlna3QeXQAsBJaU5hnNmjuPLqXqPEpL59EFwMmS5jRmknQ48D7g6c42w6z31dl5FODTwKcmWZ7ZwKmt86ikU4AfRsT6ada9VNKYpLGtW7e2U65ZT2orbBHxakQspGpyuLh8PGw2ZedRoNF5dBWl82gJ3nLgkjbW7WaINhDq6jz6duBIYL2kp8r090t6y+5vgll/qKXzaEQ8FBGzI2I4IoapwrooIv67S9tl1nPq7DxqtleZNmwR8SBw7CTjr20aDuD8KeZ/dxvrGJ5uGrN+5yNIzJI4bGZJHDazJA6bWRKHzSyJw2aWxGEzS+KwmSVx2MySOGxmSRw2syQOm1kSh80sicNmlsRhM0visJklcdjMkjhsZkkcNrMkDptZEofNLInDZpbEYTNL4rCZJamtGaKkqyQ9Uqa/tXGKc7NBVWczxNXAvIiYDzwGLOtsU8x6W23NECPiW2UcwBqqTjZmA6u2ZogtzgJun2LdboZoA6GWZog7zSgtL+NunGLdboZoA6GuZogASBoFTgbOKJ1wzAZWLc0Qy+0lwEXAKRHxQnc2x6x31dkM8Rpgf2C1JKh2pJzbhW0y60m1NUOMiF9pv0yz/ucjSMySOGxmSRw2syQOm1kSh80sicNmlsRhM0visJklcdjMkjhsZkkcNrMkDptZEofNLInDZpbEYTNL4rCZJXHYzJI4bGZJHDazJA6bWRKHzSyJw2aWxGEzS+KwmSWpsxniTEmrJT1ermd0bavMelCdzRAvBu6MiDnAneW22cCqrRlimWdFGV4BfKCjLTHrcXU2Q3xzo9NNuZ49xbrdDNEGQu3NENtYt5sh2kCosxnij8tHTcr1lt0t3qyf1NYMscwzWoZHgW90tilmva3OZoiXAyslnQ08DZzW6cZosg+zZm2a8Rr/+KR+amU9MjISY2NjdZdheyFJ6yJipJNl+AgSsyQOm1kSh80sicNmlsRhM0visJklcdjMkjhsZkn66kdtSVuB73e4mFnAti6U4xq6oxfqaKeGX46Ijo6E76uwdYOksU6PBHANg1VHVg3+GGmWxGEzS7I3hu26ugvANTTrhTpSatjrvrOZ1WVvfGczq4XDZpYlIvriAhwE3EJ1SobvAb8GXFVuPwjcChzUNP0yqv8cfxT4vabx7wIeKvd9lomP0vsDXy3j7wWGm+YZpTp3yuPAee3WAbwPWFfWt47q/JvdqOMJYG27j0WZ9whgB3BhHTUA84F7gI1lnQfU8HzsS3XaxIfKtMu6+LoYnfY1XHeIdiNsK4A/LcP7UYXvd4GhMu4K4IoyfAzVmbz2B44sL4x9yn33lSdEwO3ASWX8nwPXluEPAV8twzOBzeV6BvA/wMfbrONY4K1leB7ww6bt6aSOm4CtpZ5d1tC0vq8BN7Nz2FJqoDr9xoPAgnL74Jqejw8DXynDrweeooSnC3VsBmb0fdiAA4EnKX9tppjmVODGMryMnf9q3VEeyEOBR5rGnw58oXmaphfHtvLAN09zIPA8cHo7dbSMF/As1R+APa6j6bH4wlR1tNZAdQLcq4BLKWHLrIHq/DT/MMk0qc9HmfefyvIOBh4rYemojnLflI9F49Iv39mOovoreoOk70r6oqQ3tExzFtVfJJj6pLFvK8Ot43eaJ6qzN/+U6glpXtZRVE/uX7ZZR7MPAt+NiBc7rKPxWBwHXD1dDeW+i4DWHg1pNQBzgZB0h6T7JX2qCzXA7j8ftwD/C/yI6iRTV0fEc12oo3WeSfVL2IaARcDnI+JYqgfsF70BJC2nOvnrjY1RkywjdjG+3XmGqP4K/lebdTTGv5Pq48yfTbOudupoPBZrgb9ro4bLgE/HxCnkfzFpYg1DwG8AZ5TrUyX9doc1NJa7O8/HYuBV4K1UXy/+StJRXaijdZ5J9UvYxoHxmDjt+S1UTzaSRoGTgTOivJ8z9Uljx8tw6/id5pE0BLyJ6qSyzcsapzpV35o260DSYVRf0j8SEU80LWdP6xhn4q/wM23UcDxwpaSngAuAv5b00eQaxoG7ImJbRLxAderDRR3W0Jhmd56PDwOrIuLliNgCfAcY6UIdrfNM7rX+vtWtC3A38I4yfCnVd5AlwMPAIS3TvpOdd5BsZuIL+VrgBCa+CL+/jD+fnb8IryzDM6m+n8wol58Bi9us46BSxwcn2Z5O6rinPNkzp6uhZZ2XsvMOkpQayvT3U+2UGAL+Dfj9Gp6Pi4AbyrreUKaZ36U6ngRm7vI1XHeIdiNsC4Exqr1at5UN3ET1ufmBcrm2afrlVHshH6XsWSrjR6gafjwBXMPELt4DqPbWbaLaM3VU0zxnlfGbgEvarQP4G6qPNg80XWZ3oY6ny5Pb1mOxi7Cl1QD8CdVu/w3AlTU9H28sy9xIFbRPdrGOM6d7DftwLbMk/fKdzazvOWxmSRw2syQOm1kSh80sicNmlsRhM0vyf2vl7vj1kgoKAAAAAElFTkSuQmCC\n",
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
Expand Down
Loading

0 comments on commit 05c2bcc

Please sign in to comment.