Skip to content

Instantly share code, notes, and snippets.

@apatlpo
Created March 19, 2020 15:10
Show Gist options
  • Save apatlpo/f921849ce092be2d8baa6fe1fe94f131 to your computer and use it in GitHub Desktop.
Save apatlpo/f921849ce092be2d8baa6fe1fe94f131 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"import xarray as xr\n",
"import numpy as np\n",
"from xgcm import Grid\n",
"\n",
"ds = xr.Dataset(coords={'x_c': (['x_c',], np.arange(1,10)),\n",
" 'x_g': (['x_g',], np.arange(0.5,10))})\n",
"ds['f'] = np.sin(ds.x_c * 2*np.pi/9)\n",
"grid = Grid(ds, coords={'X': {'center': 'x_c', 'outer': 'x_g'}})"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre>&lt;xarray.Dataset&gt;\n",
"Dimensions: (x_c: 9, x_g: 10)\n",
"Coordinates:\n",
" * x_c (x_c) int64 1 2 3 4 5 6 7 8 9\n",
" * x_g (x_g) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n",
"Data variables:\n",
" f (x_c) float64 0.6428 0.9848 0.866 ... -0.9848 -0.6428 -2.449e-16</pre>"
],
"text/plain": [
"<xarray.Dataset>\n",
"Dimensions: (x_c: 9, x_g: 10)\n",
"Coordinates:\n",
" * x_c (x_c) int64 1 2 3 4 5 6 7 8 9\n",
" * x_g (x_g) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n",
"Data variables:\n",
" f (x_c) float64 0.6428 0.9848 0.866 ... -0.9848 -0.6428 -2.449e-16"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ds"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<xgcm.Grid>\n",
"X Axis (periodic):\n",
" * center x_c --> outer\n",
" * outer x_g --> center"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"grid"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x11e4c06d0>]"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ds.f.plot()"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre>&lt;xarray.DataArray (x_g: 10)&gt;\n",
"array([ 0.00000000e+00, 6.42787610e-01, 1.62759536e+00, 2.49362077e+00,\n",
" 2.83564091e+00, 2.49362077e+00, 1.62759536e+00, 6.42787610e-01,\n",
" 1.11022302e-16, -1.33907057e-16])\n",
"Coordinates:\n",
" * x_g (x_g) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5</pre>"
],
"text/plain": [
"<xarray.DataArray (x_g: 10)>\n",
"array([ 0.00000000e+00, 6.42787610e-01, 1.62759536e+00, 2.49362077e+00,\n",
" 2.83564091e+00, 2.49362077e+00, 1.62759536e+00, 6.42787610e-01,\n",
" 1.11022302e-16, -1.33907057e-16])\n",
"Coordinates:\n",
" * x_g (x_g) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"f_cs = grid.cumsum(ds.f, 'X', boundary='fill', fill_value=0)\n",
"f_cs"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x11e63ff50>]"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"f_cs.plot()"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x11e7b6610>]"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"f_cs = grid.cumsum(ds.f.sortby(ds['x_c'], ascending=False), \n",
" 'X', boundary='fill', fill_value=0.)\n",
"f_cs.plot()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment