{ "metadata": { "name": "", "signature": "sha256:0952f5e0ace256a4213a5051c2f8cb109c89f50aaaeafe287dcd6427df8a2637" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Courseware Guide for Principles of Planetary Climate" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "ClimateUtilities.py" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ClimateUtilities is my all-purpose collection of input-output, graphics and numerical analysis utilities used in support of the exercises. It is used so universally in the rest of the courseware that to avoid having to type ClimateUtilities frequently, we import it without its own namespace. Let's do that now:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from ClimateUtilities import *" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 25 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "The Curve object" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `Curve` object is an all-purpose data object I cooked up in order to make it easier to read, write, manipulate and plot tabular data. A `Curve` object is designed to contain a set of columns of equal length. You can pick one of the columns (by default it's the first) and think of that as a coordinate (e.g. altitude). The rest of the columns give the values of some quantities corresponding to each coordinate value in the first column. \n", "\n", "The first step in using a `Curve` object is to create one. You can of course create as many as you need, with whatever names strike your fancy. Here we create a `Curve` object called `c`" ] }, { "cell_type": "code", "collapsed": false, "input": [ "c = Curve()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 26 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Having created it, we can now put some data in it. This is done with the `addCurve(...)` method. The first argument is any indexable collection of numbers (e.g. a list of floats, or a ` array`. The second argument is optional. If present, it is a string that gives the name of the column. If the name is absent, the `addCurve(...)` method will make up a name for you. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "c.addCurve(range(10),'x')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 27 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You refer to a column of data using its name, and the name of the column is treated as an \"index\" into the data. Here's a simple example, also illustrating that what is returned by the indexing operation is an array that you can do array arithmetic on:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print c['x']\n", "print c['x']**2" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[0 1 2 3 4 5 6 7 8 9]\n", "[ 0 1 4 9 16 25 36 49 64 81]\n" ] } ], "prompt_number": 28 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's add a second data column, which we'll call `y`" ] }, { "cell_type": "code", "collapsed": false, "input": [ "yData = [2.*xx**2 for xx in range(10)]\n", "c.addCurve(yData,'y')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 29 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you ever need to know what the names of the columns in a `Curve` object are, just use the method `listVariables()`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "c.listVariables()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 30, "text": [ "['x', 'y']" ] } ], "prompt_number": 30 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can do arithmetic on columns, and even store the results in a new named column, which will be created automatically:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "c['y'] = c['y'] + 1.\n", "c['z'] = 10.*c['x'] + c['y']\n", "print c['y']\n", "print c['z']" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 1. 3. 9. 19. 33. 51. 73. 99. 129. 163.]\n", "[ 1. 13. 29. 49. 73. 101. 133. 169. 209. 253.]\n" ] } ], "prompt_number": 31 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can save your data to a tab-delimited text file using the `dump(...)` method. The argument of the method is the filename:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "c.dump('MyData.txt')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 32 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can read tabular data into a `Curve` object using the `readTable(...)` function in ClimateUtilities. Note that `ReadTable(...)` is not a method of a `Curve` object. It is just a stand-alone function, since it *returns* a newly created `Curve` object. Here we are reading our data back in again:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "cNew = readTable('MyData.txt')\n", "print cNew['y']" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 1. 3. 9. 19. 33. 51. 73. 99. 129. 163.]\n" ] } ], "prompt_number": 33 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can make a new Curve object consisting of a subset of the original data, by using the extract(...) method. The argument of extract(...) is a list of the names of the curves you want to extract." ] }, { "cell_type": "code", "collapsed": false, "input": [ "cSubset = c.extract(['x','z'])\n", "print cSubset.listVariables()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['x', 'z']\n" ] } ], "prompt_number": 34 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Line plots with Curve objects" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One of the many things you might like to do with a `Curve` object is to plot it. This is done using the `ClimateUtilities` `plot(...)` function (not to be confused with plot commands in other graphics packages, such as `pylab`). The `ClimateUtilities` `plot` command is actually designed to provide an interface to a range of different plotting packages -- it doesn't actually do the plot itself, but just turns what you want to do into commands the actual plotting package uses. This means that you won't have to change your programs if you or your sysadmin decides to change the plot package supported. The most widely supported plot package for Python is `MatPlotLib` (i.e. `pylab`), and this is the default the ClimateUtilities uses for drawing its plots.\n", "\n", "If you are using MatPlotLib as the graphics driver. the following command will cause the graphics to appear inline in the page, instead of in a separate window. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 35 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here is an example plotting the `Curve` `c` defined earlier" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plot(c)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 36, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 36 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can add axis labels and plot titles by setting options on the `Curve` object" ] }, { "cell_type": "code", "collapsed": false, "input": [ "c.Xlabel = 'time (s)'\n", "c.Ylabel = 'Temperature (K)'\n", "c.PlotTitle = 'Temperature vs time'\n", "plot(c)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 38, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 38 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can switch and reverse axes" ] }, { "cell_type": "code", "collapsed": false, "input": [ "c.switchXY = True\n", "c.reverseX = True\n", "plot(c)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 39, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 39 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can use logarathmic axes" ] }, { "cell_type": "code", "collapsed": false, "input": [ "c.XlogAxis = True\n", "plot(c)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 40, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\ngg==\n", "text": [ "" ] } ], "prompt_number": 40 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also change the column that is considered to be the thing everything else is plotted agains. This only is needed for Curves with more than two columns (otherwise it would just have the same effect as switching axes)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "c.Xid = 'z'\n", "plot(c)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 44, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nif8P05IFXK0VcCkAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 44 }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can plot multiple different Curve objects on the same graph by giving multiple Curves in the argument list of plot(...). The Curve objects need not all have the same number of points" ] }, { "cell_type": "code", "collapsed": false, "input": [ "c1 = Curve()\n", "c1.addCurve(range(10),'time')\n", "c1.addCurve([2.*x for x in range(10)], 'data1')\n", "c2 = Curve()\n", "c2.addCurve(range(20),'time1')\n", "c2.addCurve([x**.5 for x in range(20)],'data2')\n", "plot(c1,c2)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 42, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 42 }, { "cell_type": "markdown", "metadata": {}, "source": [ "When doing plots with multiple Curves, any plot options like axis labels and plot titles are taken from the first Curve in the argument list. " ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Contour Plots of arrays" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Watch This Space" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Numerical Analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The ClimateUtilites module includes a number of basic numerical analysis routines. Most of these are written as classes, that create objects that do some desired numerical operation. " ] }, { "cell_type": "heading", "level": 4, "metadata": {}, "source": [ "Root finding by Newton's method" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`newtsolve(...)` creates an object that finds roots of a function using Newton's method. Here is an example of creating a root finder object for the problem $ x^2 - a = 0$. The object created is called `m`, but you could use any other Python name." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def f(x):\n", " return x*x - a\n", "m = newtSolve(f)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 45 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here is an example of using it to find a root. `m` is a *callable object*, whose argument is the initial guess at the root. The way the function `f(...)` has been written the parameter `a` is specified as a global. After being called, if the root finding is successful, `m` returns the root." ] }, { "cell_type": "code", "collapsed": false, "input": [ "a = 2.\n", "m(5.)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 46, "text": [ "1.4142135623730951" ] } ], "prompt_number": 46 }, { "cell_type": "markdown", "metadata": {}, "source": [ "In simple cases, setting function arguments as globals works find, but sometimes this can become cumbersome and error prone. The `newtSolve` class allows for passing of an object (of any type) which can contain parameters. Here's an example where the parameters of the function are passes as a list of two values" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def f(x,params):\n", " n,a = params\n", " return x**n - a\n", "m = newtSolve(f)\n", "m.setParams([3.,2.]) #n=3,a=2\n", "print m(5.)\n", "m.setParams([4.,2.]) #n=4, a=2\n", "print m(5.)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1.25992104989\n", "1.189207115\n" ] } ], "prompt_number": 48 }, { "cell_type": "markdown", "metadata": {}, "source": [ "By default 'newtSolve' computes the derivative of the input function using the secant method (finite difference), but there is also an option to specify the derivative as a function. There are additional options. You can learn about them by typing `help(newtSolve)`" ] }, { "cell_type": "heading", "level": 4, "metadata": {}, "source": [ "Quadrature" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Numerical quadrature is the process of evaluating a definite integral such as \n", "\n", "$$\\int_a^b f(x) dx$$\n", "\n", "There are many ways of numerically implementing quadrature. Trapezoidal rule is a simple one. The ClimateUtilities class 'romberg' implements the Romberg interpolation method, which gives a highly accurate approximation to a definite integral, if the function $f$ is reasonably smooth. (It can behave poorly if the function has discontinuities). Here is an example of the use of the class to create a quadrature object called `m` for a function called `f`" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def f(x):\n", " return x\n", "m = romberg(f)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 50 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The object created is a callable object. The first argument is a pair of numbers (specified as a list or tuple) which give the limits of integration. The second argument is optional, and can be used to pass a set of parameters if the function needs it Here we are using the object to evaluate the integral between $x=0$ and $x=1$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "m([0.,1.])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 51, "text": [ "0.5" ] } ], "prompt_number": 51 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's an example of a function that needs parameters specified. (This could also be done by treating the parameters as globals). As in the previous example, we pass the parameters as a list of values, but the parameter argument can be any Python object at all, and can even include function names. In fact, in this case, one of the \"parameters\" passed is a function, `g`." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math #So we can use the exponential\n", "def f(x,MyParams):\n", " g,n,tau = MyParams\n", " return math.exp(-g(x)**n/tau)\n", "def g(x):\n", " return x*x\n", "m = romberg(f)\n", "m([0.,1.],[g,2.,2.])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 52, "text": [ "0.91242792766439229" ] } ], "prompt_number": 52 }, { "cell_type": "markdown", "metadata": {}, "source": [ "In a case like this, where you might not need the function `g` again, you could use a `lambda` function as the parameter argument and save several lines. Here we are doing the integral for the case $g(x) = x\\sin(x)$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "m([0.,1.],[lambda x: x*math.sin(x),2.,2.])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 53, "text": [ "0.92882728998413955" ] } ], "prompt_number": 53 }, { "cell_type": "heading", "level": 4, "metadata": {}, "source": [ "Interpolation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The class `interp` takes a list of $x$ values and a list of corresponding $y$ values\n", "(of the same length) and creates a function (actually a callable object) that takes an arbitrary $x$ value as its argument and produces the interpolated $y$ value based on the input table. It uses polynomial interpolation using the closest $n$ tabulated points on either side of the argument. By default, $n=4$, but you can specify other values by passing $n$ as an optional third argument to the creator. Here is an example using the default interpolation" ] }, { "cell_type": "code", "collapsed": false, "input": [ "xPoints = [0.,.5,1.,1.5,3.,5.,10.]\n", "yPoints = [1./(1.+x) for x in xPoints]\n", "MyFun = interp(xPoints,yPoints)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 56 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here we are evaluating the function at a few points and comparing the values to the function used to make up 'yPoints'" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print MyFun(1.25), 1./(1.+1.25)\n", "print MyFun(4.), 1./(1.+4.)\n", "print MyFun(7.), 1./(1.+7.)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.445199677438 0.444444444444\n", "0.184090909091 0.2\n", "0.05 0.125\n" ] } ], "prompt_number": 58 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we are trying again with a smaller number of points used in the interpolation" ] }, { "cell_type": "code", "collapsed": false, "input": [ "MyFun = interp(xPoints,yPoints,1)\n", "print MyFun(1.25), 1./(1.+1.25)\n", "print MyFun(4.), 1./(1.+4.)\n", "print MyFun(7.), 1./(1.+7.)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.45 0.444444444444\n", "0.208333333333 0.2\n", "0.136363636364 0.125\n" ] } ], "prompt_number": 60 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This ilustrates the point that sometimes using too many points in an interpolation can introduce wiggles and make the result worse. The 2-point (linear) interpolation works better than the 8-point interpolation for the larger values of $x$" ] }, { "cell_type": "heading", "level": 4, "metadata": {}, "source": [ "Numerical integration of ordinary differential equations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The class `integrator` creates an object that numerically integrates ordinary differential equations of the form \n", "\n", "$$ \\frac{dY}{dt} = F(t,Y) $$\n", "\n", "$Y$ is the dependent variable snd $t$ is the independent variable. In your own application, these might have different names. This equation could represent a first order system in which the solution $Y(t)$ is just a real (or complex) valued function of $t$, but it could also represent a higher order system in which both $Y$ and the slope function $F$ are vectors (arrays). \n", "\n", "`integrator` uses the Runge-Kutta method for carrying out the integration.\n", "\n", "The first argument of `integrator` is the function defining the slope ($F$ in the equation above). The second argument is the initial value of the independent variable ($t$ above) and the third argument is the initial value of the dependent variable $Y$ above.\n", "\n", "First, here's an example for a first order system with $F(t,Y) = - Y$. We'll use different names for $Y$, $F$ and $t$ just to emphasize that you an choose whatever names that help you remember what you are computing" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def slope(x,Z): #Function must have independent variable as an argument, even if not used\n", " return -Z \n", "xStart = 0.\n", "ZStart = 1.\n", "m = integrator(slope,xStart,ZStart)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 64 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here we are using the integrator. The method that steps the solution from one value of the independent variable to the next (an increment `dx` further on) is called `next` and takes the increment `dx` as an argument (smaller is usually more accurate). It returns a list containing the new value of the independent and dependent variable. Here is a typical use in a loop. This loop compares the approximate result to the exact result." ] }, { "cell_type": "code", "collapsed": false, "input": [ "x = xStart\n", "xFinish = 5.\n", "while x" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 70 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we'll illustrate how to integrate a higher order system. As our example we'll use the system\n", "\n", "$$ \\frac{dx}{dt} = - y , $\\frac{dy}{dt} = x$$\n", "\n", "which will be re-cast in the vector form\n", "\n", "$$\\frac{d}{dt} \\left[ \\begin{array}{c} x\\\\y \\end{array} \\right] = \\left[ \\begin{array}{c} -y\\\\x \\end{array} \\right] $$\n", "\n", "Thus the slope function $F$ is the vector on the right hand side, and the \"state variable\" is the vector on the left hand side, which we'll call $S$. $F$ is a function of $S$.\n", "\n", "Here is how we implement the solution. `integrator` is used exactly the same way. All we need to do is to write the slope function so that it takes a `numpy` array as input and produces a `numpy` array as output. Note that the array returned must be a *newly created* array . The initial value for the dependent variable given to `integrator` must also be a `numpy` array." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def F(t,S):\n", " x,y = S\n", " return numpy.array([-y,x])\n", "tStart = 0.\n", "SStart = numpy.array([1.,0.])\n", "m = integrator(F,tStart,SStart)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 71 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here we are doing the integration and plotting the results in the x-y plane" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy\n", "SList = [SStart]\n", "t = tStart\n", "while t<10.:\n", " t,S = m.next(.1)\n", " SList.append(S.copy()) #Need to make a copy, otherwise list just contains all refs to same S!\n", "\n", "#SList is a list of numpy arrays. The following separates out the x values and y values\n", "xL = [S[0] for S in SList]\n", "yL = [S[1] for S in SList]\n", "#Put in a Curve object and plot\n", "c = Curve()\n", "c.addCurve(xL,'x')\n", "c.addCurve(yL,'y')\n", "plot(c)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 73, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nRJj6rgAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 73 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Did you expect to see a circle? I hope so!" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "phys.py" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Watch This Space" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "planets.py" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Watch This Space" ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }