{ "metadata": { "name": "", "signature": "sha256:691b7148afe233cab64e0412435d0a8f097f1a5051a07ac73216bcf91f1ab992" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "from IPython.core.display import HTML\n", "\n", "with open('creative_commons.txt', 'r') as f:\n", " html = f.read()\n", " \n", "name = '2013-10-28-ephem-ison'\n", "\n", "html = \"\"\"\n", "\n", "

This post was written as an IPython notebook. It is available for\n", "download or as a static\n", "html.

\n", "

\n", "%s \"\"\" % (name, name, html)\n", "\n", "%matplotlib inline\n", "from matplotlib import style\n", "style.use('ggplot')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since the last post I've been playing more with\n", "[PyEphem](http://rhodesmill.org/pyephem/). One of the many interesting features of this\n", "astronomical computations module is the ability to read external orbital elements.\n", "\n", "Here is an example on how to create an [ISON comet](http://www.nasa.gov/content/goddard/timeline-of-comet-ison-s-dangerous-journey/)\n", "object.\n", "\n", "We can get the ISON comet orbital data from\n", "[this](http://www.minorplanetcenter.net/iau/Ephemerides/Comets/Soft03Cmt.txt)\n", "link." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import ephem\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "ISON = \"C/2012 S1 (ISON),h,11/28.7744/2013,62.3994,295.6528,345.5644,1.000002,0.012444,2000,7.5,3.2\"\n", "comet = ephem.readdb(ISON)\n", "print(comet)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's create a date vector from today up to the end of year and check\n", "ISON distance from the Earth and the Sun." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from pandas import DataFrame, date_range\n", "\n", "days = date_range(start='2013/10/28', end='2013/12/31', freq='D')\n", "\n", "earth_d, sun_d = [], [] \n", "for day in days:\n", " comet.compute(day)\n", " earth_d.append(comet.earth_distance)\n", " sun_d.append(comet.sun_distance)\n", " \n", "df = DataFrame(np.c_[earth_d, sun_d], index=days, columns=['Earth', 'Sun'])\n", "\n", "from scipy import constants\n", "conversion = constants.au * 1e-3\n", "df['Sun km'] = df['Sun'] * conversion\n", "df['Earth km'] = df['Earth'] * conversion\n", "\n", "df.head(5)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
EarthSunSun kmEarth km
2013-10-281.3439781.0915591.632950e+082.010563e+08
2013-10-291.3150591.0682801.598124e+081.967301e+08
2013-10-301.2863991.0447471.562919e+081.924426e+08
2013-10-311.2580321.0209491.527318e+081.881990e+08
2013-11-011.2299980.9968741.491302e+081.840051e+08
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ " Earth Sun Sun km Earth km\n", "2013-10-28 1.343978 1.091559 1.632950e+08 2.010563e+08\n", "2013-10-29 1.315059 1.068280 1.598124e+08 1.967301e+08\n", "2013-10-30 1.286399 1.044747 1.562919e+08 1.924426e+08\n", "2013-10-31 1.258032 1.020949 1.527318e+08 1.881990e+08\n", "2013-11-01 1.229998 0.996874 1.491302e+08 1.840051e+08" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "kw = dict(markeredgecolor='k', marker='o', linestyle='none')\n", "arrowprops = dict(arrowstyle=\"->\", connectionstyle=\"arc3,rad=.2\", color='k')\n", "\n", "fig, ax = plt.subplots(figsize=(8, 4))\n", "sx, sy, sm = df['Sun'].argmin(), df['Sun'].min(), df['Sun km'].min()\n", "ex, ey, em = df['Earth'].argmin(), df['Earth'].min(), df['Earth km'].min()\n", "\n", "ax.plot(ex, ey, markerfacecolor='#339933', **kw)\n", "ax.plot(sx, sy, markerfacecolor='#ff3333', **kw)\n", "\n", "ax.annotate('Closest to Earth is\\n%s km' % em,\n", " xy=(ex, ey), xycoords='data',\n", " xytext=(-20, 30), textcoords='offset points', arrowprops=arrowprops)\n", "\n", "ax.annotate('Closest to the Sun is\\n%s km' % sm,\n", " xy=(sx, sy), xycoords='data',\n", " xytext=(-180, 30), textcoords='offset points', arrowprops=arrowprops)\n", "\n", "ax = df[['Earth', 'Sun']].plot(ax=ax, zorder=0, color=['#339933', '#ff3333'], linewidth=2)\n", "_ = ax.set_ylabel('Distance [AU]')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAikAAAENCAYAAADKRvWjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlYVGX7wPHvzDDDOoBsLghuuJKiuSsuKC5o5pa41KvZ\n4p5mpWn6Wr3lr6wsLXMrlzStUMs9l0xR3DUXBE1xQQUXkG3YBmb5/TEySQIOCMwMPJ/r4rpg5sw5\n983DHO4551kker1ejyAIgiAIgoWRmjsAQRAEQRCEgogiRRAEQRAEiySKFEEQBEEQLJIoUgRBEARB\nsEiiSBEEQRAEwSKJIkUQBEEQBItUbkXKkiVLeP3113nnnXeK3C4mJobhw4dz/PjxcopMEARBEARL\nVG5FSlBQELNmzSpyG51Ox/r16wkICCinqMpXVFSUuUN4aiIHy2DtOVh7/CBysBQih4qt3IqURo0a\n4ejoWOQ2u3btol27djg7O5dTVOWrIvwhihwsg7XnYO3xg8jBUogcKjaL6ZOSlJTEyZMn6dmzp7lD\nEQRBEATBAlhMkbJ69WpefPFF489itn5BEARBqNwk5bl2T0JCAvPmzeOLL7547LlJkyYBhuJEpVJh\na2vL2LFjadWq1WPbRkVF5bs8FhoaWnZBC4IgCIKFCgsLM37v7++Pv7+/GaMpfeVapNy/f5958+Yx\nf/78IrdbvHgxLVu2pG3btibvOz4+/mnDK3NKpRKVSmXuMJ6KyMEyWHsO1h4/iBwsRWXOoUaNGmUQ\njWWxKa8DLVy4kOjoaFQqFePHjyc0NBSNRoNEIiE4OLi8whAEQRAEwUqUW5EyZcoUk7edMGFCGUYi\nCIIgCII1sJiOs4IgCIIgCI8SRYogCIIgCBapwhQpYsiyIAiCIFQsFaZI+eDEB8Slx5k7DEEQBEEQ\nSkmFKVLOJJzhjfA3+OHiD2Rrss0djiAIgiAIT6nCFCk9fHqg0WvYdHUTEw5MICI+QtwCEgRBEAQr\nVmGKlDcC3uDzjp/j5+JHYnYin/31GXOOz+Gm6qa5QxMEQRAEoQQqTJEC0LBKQz4P/JwJTSeglCs5\nl3iOKQensDJ6JZm5meYOTxAEQRCEYqhQRQqATCKjd63eLAlaQm/f3uj0OjZf28z4A+PZf3u/uAUk\nCIIgCFaiwhUpeZwVzkxoNoH5gfNp6NqQZHUyX539inePvMvV1KvmDk8QBEEQhCeosEVKHj9XP+Z1\nnMeUgCm42rpyKfkSbx16i8WRi0nLSTN3eIIgCIIgFKLCFykAUomU7j7dWdJ1Cf3r9EcikbArdhfj\n949n542daPVac4coCIIgCMK/VIoiJY+j3JFX/V/l685f08y9GapcFUsvLOWtQ29x4cEFc4cnCIIg\nCMIjKlWRksdX6ctH7T5iRssZeNp7cj3tOu8dfY/P//qchKwEc4cnCIIgCAKVtEgBkEgkdKjegcVd\nFzO8wXAUUgWH4g8x4cAEfrnyCznaHHOHKAiCIAiVWqUtUvLYymwZ3mA4i7supkP1Dqi1atb9vY6J\n4RM5eueoGLIsCIIgCGZS6YuUPF4OXsxoOYOP231MLWUt7mXe45PTn/DfY//lRtoNc4cnCIIgCJWO\nKFL+pZlHMxZ0WsDYZ8biJHfi/IPzvHnwTZZGLhVDlgVBEAShHIkipQAyqYy+tfuyNGgpfWv3BQns\njN3JuP3j2H59O1qdGLIsCIIgCGVNFClFcFY4M/aZsSzstJAAjwDSc9NZHrWcKYemcCbhjLnDEwRB\nEIQKzaa8DrRkyRL++usvXFxc+OKLLx57PiIigi1btgBgZ2fH66+/jq+vb3mFV6RazrX4X9v/cfze\ncVZGr+Sm6ibvH3+f1l6tGd1kNDWdapo7REEQBEGocMrtSkpQUBCzZs0q9HkvLy8+/PBDPv/8cwYP\nHsyyZcvKKzSTSCQS2lVrx6IuixjVaBT2NvacvH+SN8Lf4Puo70nPSTd3iIIgCIJQoZRbkdKoUSMc\nHR0Lfb5BgwY4ODgAUL9+fZKSksortGJRyBQM9hvM0qCl9PTpiU6vY+v1rYzdP9Ywxb7oryIIgiAI\npcIi+6Ts27eP5s2bmzuMIlWxrcKkgEl81ekrmro3NU6xP/ngZE7fP23u8ARBEATB6pVbnxRTXbhw\ngQMHDvC///2v0G2ioqKIiooy/hwaGopSqSyP8B4ToAxgofdCbqff5mziWdJz07mjvcOp1FO08GyB\nq62rcVuFQmG2OEuLyMEyWHsO1h4/iBwsRWXPISwszPi9v78//v7+pRWWRbCoIiU2Npbly5fz3nvv\n4eTkVOh2BTWESqUq6/CK5IorHat0ZPuN7YRdCSNDk4EUKT19ezK84XCq2FZBqVSaPc6nJXKwDNae\ng7XHDyIHS1GZc1AqlYSGhpZBRJajXG/36PX6QqeZT0xMZP78+UyaNIlq1aqVZ1ilRi6TM7DeQJZ1\nW2acX2XXzV2M2z+OjTEbRX8VQRAEQSiGcruSsnDhQqKjo1GpVIwfP57Q0FA0Gg0SiYTg4GA2btxI\neno6K1asQK/XI5PJ+OSTT8orvFKVN79K39p9WRW9ipP3T7Lm0hrcXNyQqqV09u6MVGKR3YEEQRAE\nwWJI9BVkBb34+Hhzh1CoswlnWRm9kp4NerL89HL8XPwY3Xg0TT2amju0YqvMl1YtibXnYO3xg8jB\nUlTmHGrUqFEG0VgW8XG+HDT3bM5Xnb+ibdW2uNm6EZMaw6xjs/joxEfcUt0yd3iCIAiCYJFEkVJO\nZBIZdV3qsqzbMl5s+CL2soeTwR18g8XnF5OsTjZ3iIIgCIJgUUSRUs5sZbYMrT+Upd2W0rtWb+Bh\n59o/x/HT5Z/I1GSaOUJBEARBsAyiSDGTKrZVmNB0Aou6LKJN1TZkabP46fJPjP3TMHOtRqcxd4iC\nIAiCYFaiSDGzmk41md16Np+0/4SGrg1JzUll6YWlTDwwkYj4iEKHbAuCIAhCRSeKFAvh7+7PZx0/\nY0bLGXg7enMn8w6f/fUZ70S8w/nE8+YOTxAEQRDKnUXNOFvZSSQSOlTvQNuqbdl7ay8/Xf6JK6lX\nmH1sNi08W/Cfhv/Bz9XP3GEKgiAIQrkQRYoFkkll9K7Vm67eXdlyfQu/Xf2NMwlnOJNwhg7VO/BS\nw5eo6VTT3GEKgiAIQpkSt3ssmJ2NHUPrD2V5t+UMrDsQhVTBkTtHmBQ+iW/OfUNCVoK5QxQEQRDK\nmTQ1FeWPP5o7jHIhihQr4KxwZnST0SwNWkpP354A7L21l3H7x7EiagUp6hQzRygIgiCUNWliIs7f\nfYfXq6+ifGT144qswhQpThs3Isms2HOMeNh7MKnZJL7t8i2danQiV5fLlutbGPPnGNZeWkt6Trq5\nQxQEQRBKmSw+HpdFi6g6ZgxO27Yhzckhu1Urc4dVLirM2j20aoXO0ZGM554jvV8/9M7O5o7oMaW9\nxsTV1Kus/3s9J++fBMDRxpH+dfvzfJ3ncZA7lNpxHlWZ18mwJNaeg7XHDyIHS1GRc7C5cQOnjRux\nj4hAotOhl0jIDgxENXgwmrp1K8XaPRWmSFGPGoVtVBQAOjs7Mnv3Jn3AAHRubmaO7B9l9Wa6lHyJ\ndX+v41ziOcNx5EoG+w2mb+2+2MpsS/VYFfmEYE2sPQdrjx9EDpaiIuYgv3IFp7Aw7I8fB0Avk5EZ\nFET64MFovb2N24kixYrEx8ejiI7GKSwMu7/+AkAvl5MZHGxoWC8vM0dY9m+myMRI1l1eR3RSNAAu\nChcG+w0mpFZIqRUrFfGEYI2sPQdrjx9EDpaiIuWgiIoy/A87cwYAvUJBRs+eZAwciNbT87HXiSLF\nisTHxxu/l8fE4LRhA/ZHjwKPVKEvvIDWjI1aHm8mvV7PmYQzrPt7HVdSrwClW6xUpBOCNbP2HKw9\nfhA5WAqrz0GvxzUjA9ncuf/cDbC3J6NPHzKefx5dlSqFvlQUKVbk0SIlj83Nm4b7eQcPGu7nSaVk\ndepE+pAhaHx9yz3G8nwz6fV6Tt8/bZwQDgzFyqB6gwipFYKdjV2J9mv1JwREDpbA2uMHkYOlsNoc\n9HpsT55EGRaGomtXWL7c0K+yXz9Dv0ql8om7EEWKFSmoSMkji4/HadMmHP78E4lWC0BWhw6ohgxB\nU69eeYVoljdTUcVK71q9sbexL9b+rPaE8AiRg/lZe/wgcrAUVpeDTofdsWMof/kF+fXrhofeeIP0\ntDQyQkLQO5g+6EEUKVakqCIlj+z+fZx+/RWHvXuR5OYCkN2mDaqhQ8mtX7+sQzTrm6mgYkUpV9Kv\nTj+eq/McTnInk/ZjdSeEAogczM/a4weRg6Wwmhy0WuwjInDasAH5zZuGh9zcSB84EOmwYaiysoq9\nS1GkWBFTipQ80gcPcNq8GYfff0eakwNAdsuWhmKlUaOyCtEi3kx5xUpYTBiXki8B4GDjQJ/afehf\npz8uti5Fvt4ScnhaIgfzs/b4QeRgKSw+B60W+/BwlBs2YBMXB4DGw4P0F14gMzgYFIoS5yCKFCtS\nnCIljzQlBcfNm3HcuRNpdjYA2c2bkz50KDn+/qUdokW9mfR6PZEPItkQs8E4dFkhVdC7Vm8G1h2I\nu717ga+zpBxKSuRgftYeP4gcLIXF5qDRYL9/v6E4uXvX8FDVqobipFs3kMuNm4oipXDlVqQsWbKE\nv/76CxcXF7744osCt1m5ciVnz57F1taWiRMnUrt2bZP3X5IiJY80LQ3HrVtx3LYN6cNLbuqmTVEN\nG0ZO06Yl3u+/Weqb6VLyJTZc2WCcFM5GYkOXml0YVHcQPkqffNtaag7FIXIwP2uPH0QOlsLicsjN\nxeHPP3HasAGb+/cB0NSogWrIELK6dAGbx9f1FUVK4cqtSLl06RJ2dnYsWrSowCLlzJkz7Nq1i5kz\nZ3LlyhVWr17N3LlzTd7/0xQpeSTp6TjlFSsZGQCo/f1RDR9uKFYkkqfav8W9mf7lWuo1NsRs4Oid\no+jQAdCmahsG1xtMY7fGgOXnYAqRg/lZe/wgcrAUFpNDbi4Of/yB08aN2CQYFn/N9fYmfehQsjp1\nApms0JeKIqVwj5d0ZaRRo0YkJBS+au/Jkyfp0qULAPXr1yczM5OUlBRcXV3LK0T0Tk6oRowgvX9/\nHLdtw2nLFmyjorCdPRt1kyaGYqVZs6cuVixVXZe6vNvyXeIz4tl8bTP7bu3jxL0TnLh3gsZVGjOo\n3iC6O3U3d5iCIAiWIzcXh717UW7ciCwx0fCQjw/poaFkBQYWWZwIT1ZuRcqTJCUl4e7+Tz8INzc3\nkpKSyrVIyaN3dCR92DAy+vXDcft2Q7ESHY3tf/+LunFjQ7ESEFBhi5UajjWY0HQCwxsMZ8f1HeyI\n3cHF5IvMPTUXtVxNRnoG3Wp2K/Up9wVBEKxGQcWJry+qYcPI7tABpBVm/V6zspgipTiioqKIejgz\nH0BoaChKEya+KTalEl57jYxRo1Bcvozi0iVsc3KwvX0bTXY2OU2boq1a1eRiRfGwF7e1UCqVjPcY\nz2stX+Nq6lX+Tv6b+u71OZ1zmvDEcPxc/ajvUr/MFjMsK9bWDgWx9hysPX4QOViKcs9Bq0V+7RqK\n6GikOh0MGoTWxYWcZ55B4+ODXCJB/uS95PM0OYSFhRm/9/f3x78MBn2Yk8UUKW5ubjx48MD484MH\nD3ArZHHAghqizO9J+voi8fDAcccOnDZvxkalwgYMt4FGjDDcBnoCi7l3WgLeNt5Uda9Kmj6NA1cP\ncDnlMgAyiYzAGoH0r9MfP1c/M0dpGmtuhzzWnoO1xw8iB0tRbjnk9TnZsAGbvCsntWoZrpy0b2+4\ncpKeXqJdlzQHpVJJaGhoiY5pLcq1SNHr9RTWT7dVq1bs3r2bDh06cPnyZRwdHc1yq6coegcH0ocM\nIaNvX8NtoM2bDbeBZs9G/cwz/3SwraBspDbUUtbi846fcyn5Eluub+HYnWOEx4UTHhdO4yqN6VO7\nDx2qd0AuLe5nCcHaJGQlcEt1i+aezZFKxKVtoYLSaHDYtw+nsLB/OsT+uzgRykyRo3t0Op1pO5FI\nkDzhlsfChQuJjo5GpVLh4uJCaGgoGo0GiURCcHAwACtWrODs2bPY2dkxfvx46tata3IipTG6p7gk\nmZmGDrabN/8zGqhpU8OVlQIuuVXETy33Mu+x/cZ29t7cS6YmEwBXW1d6+vakt29vPOw9zBVqoSpi\nO5SX5OxkDt85zKH4Q1xMvgjAgLoDeKXJK8Xaj2gDyyByKELePCe//GIcSlxWfU7E6J7CFVmkDB06\n1KSdKBQK1q5dW2pBlYQ5ipQ8kowM42igvGIlu3lzVCNG5JvBtiKfEDI1mRy4fYCdsTu5qTJM+SyV\nSGlbtS19avehmXuzJxay5aUit0NZUOWoOHr3KIfiDxGZGGkcnq6QKtDoNej0Ot5r9R7tqrUzeZ+i\nDSyDyKEAWi32Bw4YipOHk7Dl+vgYipOOHcvkyokoUgpX5O0ehULBl19+WeQO9Ho906dPL9WgrI1x\nNNBzzxnmWdm6FbuzZ7E7e5bsVq1QDR9eLmsDmVPe1PohtUKISopi542dHL171Pjl7ehND98eBNUM\noopt4UuPC5YjV5fL+r/Xs+XaFjR6DWCY6K+VVys61ehE66qt2XNzDyujV7Lw7EJqd6pNNcdqZo5a\nEEpIq8X+0CGUP/+MzcMPvRpvb1TDhomhxGZU5JWUsLAwkzrlbNy4kRdeeKFUAysuc15J+TeJSoXT\nli35ZrDNatMG3YwZpBYw26A1KU7F/yD7AXtu7mF37G6S1EmAoaNtm6pt6Onbk+aezZFJyv+NLz49\nPll8Rjxf/PUFMakxSJES4BlApxqdaFe1HU6Kfxaj1Ov1fHLqE47dO0Zd57p81vEzFDKF2eMvDyIH\ny/DUOeh02B09inL9euS3bgGgqVYN1fDhZHXuXC7FibiSUrhKvXZPWZOmpeH466847tiBVK2GMWPI\niopCNWIEGh+fJ+/AApXkzaTVaTmdcJo9N/dw6v4pdHrD7QIPOw+CfYLp5tONag7l9wlcnJiLtv/2\nfpZGLiVLm4WnvSdvt3ibJm5NCt0+PTedtw69xd3Mu/T27c2EZhOeeAzRBpahUueg12N74gTO69cj\nv34dAI2XF6qhQ8nq1q1cr5yIIqVwTyxSLly48NhjMpkMT09PPDwsp1OkJRYpeaTJyTj9+iuO1asj\nWboUvVRKVpcuqIYNQ1u9urnDK5anPak9yH7An7f/ZO/NvdzNvGt8vIlbE7p6dyWwemC+T+ploVKf\nmIuQmZvJkgtLCI8LByCweiATmk3ASf7k9riaepXph6eTq8vlreZv0bVm1yK3F21gGSplDno9tmfO\noFy3DsWVKwBo3d1RhYYaViWWl//IRFGkFO6JRcrEiRMfe0yr1ZKamoqfnx9Tp04tdD6T8mTJRUoe\nZ5kMyaJFOOzdi0SjQS+TkRkcjCo0FJ2np7nDM0lpndR0eh0XHlxg7629HL1zlBxdDmAY5tzKqxVB\n3kG08mqFXFb6J4xKeWJ+gkvJl5h/Zj73Mu9hK7NljP8Ygn2Ci9XZeVfsLhZHLsZWZsv8wPn4Kn0L\n3Va0gWWobDkooqJQrl2LbXQ0AFpXV9JfeIGM3r1B8eTblGVFFCmFK/HtHrVazbp160hJSeGtt94q\n7biKzRqKlLw/RNnduyh/+QX7/fuR6HTobWzICAkh/YUX0FWx7E6lZfIJXpPJsbvHOHD7AOcTzxtH\njzjKHelQrQMdqnegmUezUpt7pbKdmIuSnJ3Mxqsb2XFjBzq9jjrOdZj27DRqOtUs9r70ej1fnv2S\n8LhwfJx8mB84HzsbuwK3FW1gGSpLDvIrV1D++CN2Z84AoFMqSR80iIy+fdHbFfw3Wp5EkVK4p+qT\nkp2dzeTJk1m+fHlpxlQi1lSk5JHdvo3y55+xP3QIiV6PztaWjH79SB80CL1T2d7yKKmyPqk9yH7A\nwbiDHIg7wPW068bHHeWOtK3alo7VO9Lco/lTXWGpLCfmoqSqU/n16q/suLHDeBWrf53+jGw08ql+\nt1maLN6JeIdb6bfo6t2Vqc2nFng1RrSBZajoOdjcvInyxx+xP3YMAJ29PekDBpDRvz96B8tZzkMU\nKYV7qiIlNzeXcePGsWLFitKMqUSssUjJY3PjBsp167A/fhwAnaMj6QMHktGvH3p7+/IOs0jleVK7\nqbrJ4TuHOXLnCLGqWOPj9jb2tKnahrZV29LCswWOcsdi7bein5iLospR8du139h+fTvZ2mwA2lVt\nx/CGw6njXKdUYrupusnbEW+j1qp5we8F/tPwP48VKpW5DSxJRc1BducOyp9+wj483PABUKEgs29f\nVIMHo3d2NlOkhRNFSuGeqkjZvHkzUVFRzJo1qzRjKhFrLlLyyP/+G+cff8T23DkAtC4upIeGGu6X\nmqEzV0HMdVK7nX6bI3eOcPjO4XxXWGQSGU3cmtDSqyWtvFrh4+TzxH4UFfXEXJRkdTK/3/idLde3\nkKUxDItv5dWKEQ1GlMmaS4fjD/P5mc/R6XX08u3FuKbj8g03r4xtYIkqWg7SBw9Q/vKLod+fVove\nxobMnj0N/f4soO9kYUSRUrgnFilz5sx57KSv0WhITExEoVAwY8YMvL29yzRIU1SEIiWP4tw5nNeu\nRXHZsIifxsMD1YgRZAUFmX1CIUs4qd3JuMORO0c4df8UF5MvGoc0A3jZe9HKqxXNPZvzjNszBY4U\nsoQcnpYpOeRoczhx7wR/3v6TvxL+Mv6eWni2YHiD4TSq0qjI1z+tE/dO8Nnpz8jR5dChWgfebvG2\n8VZSZWkDS1dRckiPj8dp0yYct29HmpNjGEHZtSuq4cMNK9VbOFGkFO6JRcqBAwcee0wmk+Hh4UH9\n+vWxsZDJySpSkQIYhsmdPInz2rXIYw23OnJ9fFC99BLZ7dqBmaaYt7STWnpOOmcSz3Dq3ilOJ5wm\nLSfN+JwECXWc69DUoynN3JvRxK0JjnJHi8uhJArLQa/XczH5Ivtv7yciPoIMjWGZBplERkuvlgys\nOxB/9/Jbyj06KZqPTnxEhiaDZu7NeK/1ezjYOFToNrAm1p6DJCsLt4QE5O++a1ySJKt9e1QvvojG\nt/DRZZZGFCmFe6rbPTqdjrNnz/Lss8+WZkwlUuGKlDw6HfYHD6Jctw6be/cAyGnQgLSRI8lp1qwM\noiyaJZ/UtHotMSkxnL5/mvMPznM5+bJxOncAKVLqutRlXKtxxD2Io75rfWo41rDKFXwfbYf03HQu\nPLhAZGIkJ++fzDf/jJ+LH0E1g+hcozMuti5mifV62nU+OP4Byepk/Fz8mNNmDj4ePhb7d2QqS34v\nmMpqc8jNxWHPHpS//IIsNBSWL0cdEEDayJFWuQSJKFIKV6IiJTY2lvDwcA4dOoROpxMdZ030VCeE\n3Fwc9u5F+fPPyFJSgIeLGI4cSa5f6fcpKIw1ndTUWjWXki8RmRhJ5INILqdcRqvXMqblGJafNoxI\nc7RxxM/VDz8XP+q71qe2sjZVHauaZbp+U6m1anLluWyK2sT5xPNcTb1qHLYN4GbrRteaXQnyDqKW\ncy0zRvqPuxl3mXN8Dncz7+Lt6M2ykGXosk1bZd1SWdN7oTBWl4NOZ1hfZ9064+J/2pkzSXZwICcg\nwMzBlZwoUgpncpGSmprKoUOHOHjwILGxsUgkEkaPHk1QUBAKM06Ck6fCFykPSbKzcdy6Fadff0Wa\nmQlAVqdOpL34Itpy+IO1upPaI7I12VxKvoSbixtrz63lSsoV45pCj7KR2uDt6E1Np5rGLx8nH7zs\nvXCUO5bbas5avZa7GXeJVcVyU3WTW+m3uKm6SVx6HK88+4qx0LKR2NCgSgOauTcjwCOARm6NLLLI\nSs5O5oMTH3A97TpT2k7BV+5LfVfr+9Sbx5rfC3msJge9Htu//sJ5zRrjFPa5NWui+s9/kPfogSo9\n3cwBPh1RpBTuiUXK0aNHCQ8P59y5c3h7exMYGEjHjh2ZNWsWn3/+OS4u5rmE/G+VpUjJI1GpUG7c\niOP27Uhycw2z1/bqhWro0DKdEM5qTmpFeDSHB9kPuJJyhZiUGK6kXuGW6haJ2YmFvlYhVeBu546H\nvQdudm6427njbueOo9wRO5kd9jb22NvYYyezw87GDjuZHXr0aHVatHrDl06vQ6vTkqvLJS0njZSc\nFFLVqaSoU0jJSSFFnUJSdhLxGfHk6nIfi0GChOkdpnP57mWaeTTD382/0EnTLE16bjofn/yYwDqB\nrDyzkjH+Y+jl26vcCr/SVNHeC5ZK/vffOK9Zg21kJPBwCvvhw8ns3h1kMqvI4UlEkVK4JxYpQ4cO\nxcnJibFjx9KmTRvj42PGjBFFSjGVxZtJmpCA8qefcPjzTyQ6HTo7OzL69yd94MAymayoMpwQsjRZ\n3E6/bfy6lX6LuPQ4ErMSydJmlWOk4Gnvia+TL77Kf75qOtXEq4qX1bZDrjaXa+prTPtzGgBdvbsy\noekEqym08lSG94I5yeLicF67FvsjRwDQOTmheuEFMvr2BVtb43aWnIOpRJFSOJNG94SHh3Px4kXq\n1atHYGAgHTp0YPr06Xz22WeiSCmGsnwz2dy8iXLNGuxPnABA6+xM+tChpT7HSmU+IYBhEb4H2Q/y\nfSVlJ5GlySJLm0WWJotsTTbZ2mzD99psJEiwkdogk8iQSqTIJDLjz0qFEleFK662hi8XWxfjzzUc\na+AgL7jQtPZ2UCqVbL+0nUXnF6HWqvFV+jKj5YwSTcdvLtbeBmCZOUiTk1H+/DMOe/YY5jpRKEjv\n14/0wYMLnInbEnMoLlGkFM7kPikJCQnGzrL3798HYOzYsXTu3Bmp1PyjIyp7kZJHER2N8+rVKC5d\nAkBTrRppI0eS3bFjqQxbrswnBEti7TnkxX9TdZNPT3/K7fTb2MvseSPgDQJrBJo7PJNYexuAZeUg\nyczEafNmHDdvRpqdjV4qJbN7d1QjRqBzdy/0dZaUQ0mJIqVwJRrdc+nSJcLDwzl27BgKhYJly5aV\nRWzFIoqUR+j12B0/jnLNGuS3bwMPhy2//DI5zzzzVLuuzCcES2LtOTwaf5Ymi0XnF3Eo/hAAz9V+\njpcbv4wZz08SAAAgAElEQVRCZv4O+UWx9jYAC8lBozEMJ/7pJ2SpqQBkt2lD2siRJs11YhE5PCVR\npBTuqdfuOXnyJB06dCjNmEpEFCkF0GoNw5Z/+glZcjJQvDd/QSrzCcGSWHsO/45fr9ezM3YnK6JW\noNFr8FX68mbAm2UyZX9psfY2ADPn8PDDlPMPP2ATFwdATsOGhg9T/qZPOFiZ26HSFynx8fEm/RJM\n3e7s2bOsXr0avV5PUFAQAwYMyPd8ZmYm33zzDYmJieh0Ovr160fXrl2fnAWiSCmKJCsLxy1bcPrt\nN6RZWYbLqMHBqF58sdgjgSrzCcGSWHsOhcV/OfkyX539iriMOGQSGUP8hhBaPxQbqWXMbP0oa28D\nMF8O8r//xnnVKmyjowHQVK9O2qhRZLdvX+zb0pW5HSpDkVJkZ5KZM2eatBNTFhjMm/Rt1qxZzJ8/\nn8OHDxP3sHrOs3v3bnx8fPj88895//33WbNmDVqt1qQYhMLp7e1JHzaM+0uXktGnDwCOe/bgNXYs\nTj//jCQ728wRCoJBgyoNWNB5Af3q9EOr1/LzlZ+ZdngasWmxT36xYPFkd+9S5bPP8Jw2DdvoaLTO\nzqSMGcP9b78lu0MHsy33IViuIj+eqNVq3n///SJ3oNfr0Wg0RW4DEBMTQ/Xq1fH09ASgY8eOnDx5\nMt/ihBKJhKwswxDP7OxslEolMjMvqFeR6KpUIXXcONKfew7nH37A/vhxnNevx3HXLtJefJGsbt3M\nvoChINjKbHnd/3XaVW3HwnMLuZp6lakRU3mxwYsMqDfAIieqE4omUalQhoXhuGMHEo3mnxE7L7yA\n3tHR3OEJFqzIImXcuHEm7cSU0T1JSUm4P9JD283NjZiYmHzb9O7dm3nz5jF27Fiys7N58803TTq+\nUDzamjVJnjWLjAsXcF65EkVMDFW++QanbdtIGz0adYsW5g5REGjq0ZSvu3zNquhV7L65mx8u/cDx\ne8eZ1GwSvkrrWTyuUsvNxXHnTpS//II0PR29REJmUBBpL72E7uEHVkEoylN1nC2OY8eOce7cOcaO\nHQvAwYMHiYmJ4ZVXXsm3zeXLlxk5ciR3797l448/5osvvsDOLv8kT1FRUURFRRl/Dg0NtYp7kgqF\ngpycHHOHkZ9ej01sLLbnzhmn2ddUr466RQt0BcyBY5E5FJPIwfyKG398Rjwn7p0gS5OFBAmNqjTi\nGfdnzNpXxdrbAMowB70em9u3sT17FunDKes1Vauibt4cnZtbqR6qMreDUqkkLCzM+LO/vz/+xeh0\nbA3K7R3u5uZGYuI/040nJSXh9q8/1gMHDhg701arVg0vLy/i4uKoV69evu0KaghrKFIstoOXuzsE\nBuK0bRtOGzZgk5mJTCo1TLM/YkS+YsVicygGkYP5FTd+JUraurZl7aW17IrdhR49XvZejH1mLK2r\nti7DSIuIycrbAMomB/mVKzivXIntww+Sud7epL3yCupWrQx9Tkr5eJW5HZRKJaGhoWUQkeUot1nY\n/Pz8uHv3LgkJCWg0Gg4fPkyrVq3ybePh4UHkw/UZUlJSuHPnDlWrVi2vECs3hYL0wYO5v2wZGSEh\nADj+/jteY8fi+OuvkPv4GjKCUJ6c5E6MbzqeeR3nUce5Dvez7vPRyY/45NQnJGYVvt6SUD6kiYm4\nfvUVnm+/jW1UFFqlkpSxY0n45hvUrVuLTrFCiZTb7R4wDEFetWoVer2ebt26MWDAAPbu3YtEIiE4\nOJjk5GQWL15M8sM5PQYMGEBgoGmzT4ohyKXL5uZNnFetwu70acBwqTbt5ZeR9+pVaVcctSTWnsPT\nxq/Vadl+Yzvr/l5HtjYbe5k9IxqOoG/tvuV2C8ja2wBKaWV2tRrHX381rMyuVqO3sSGjXz9UQ4YU\nOI19aavM7VAZhiAXu0jR6XSkpqZSpQxX2i0JUaSUDdu//sJ5xQrkt24BoJk1i2R3d3L9LHeSrSex\nxnb4N2vPobTiT8hK4Puo7zl69ygAPk4+vNLkFVp6tXzqfT+JtbcBPGUOOh32Bw/ivGYNsoe38rM6\ndCDt5ZfRVqtWilEW7WnbISEhgffff59z587h4uKCh4cHH374IXK5nFGjRrFv375SjPZxYWFhPPfc\nczgUsCBsWFgYXbt2xcvLq8DXFlSkjB49mvDwcFxdXdHr9Tg6OhIREWFyPLGxsRw5coThw4cD8MMP\nP3Dq1Cm++eabIl83ZswY3nrrLRo1amTysUxh8keOjIwMvv/+e44dO4aNjQ1r167l1KlTxMTEMGzY\nsFINSrAc6mefJSEgwDBt9bp12CQk4PF//2dYU+M//yn2ZHCCUJo87T2Z2WomJ++d5Luo77iVfosP\nT3xIK69WvNLkFatasNCayC9dwuX771FcvgxATt26pL322lMvu2EOr776KkOHDmXx4sUAXLx4kcTE\nRKpXr46kHG5RhYWF8eyzz+JXwAe/sLAwGjVqVGiRUpj58+czcODAYsei1Wq5fv0669evNxYpgEm/\nh+XLlxf7eKYwuU/Kd999h4ODA4sXL8bGxlDbNGjQgCMPl9EWKjCZjMyQEO4vW0ZOo0YgleL4xx94\njRuH06ZNor+KYHatq7bm2y7fMrrxaBxsHDh1/xRvhL/Bd1HfkZ5j3bcnLYk0MRHX+fPxnD4dxeXL\naKtUIXnyZBLnz7fKAuXw4cMoFApefPFF42ONGzemdev8nbHVajVvvfUWwcHB9O7d2/h/7/Llyzz3\n3HP06tWLHj16cOPGDQB+/fVX4+MzZsxAr9ej0+mYOnUqwcHBBAcH8/3337Njxw7Onz/P66+/Tq9e\nvVCr1cZj5j33xhtvGJ87dOgQvXr1Ijg4mHfeeYfcQs69Op3uscfylrBp2bIlgYGBXLlyBTBcKenf\nvz/du3cnODiYmTNncujQIZ599lkWLlwIQFxcHCEhITRs2JB33323wGMGBQXx119/odPpGD16NM2a\nNSMgIMC4j5Iy+UpKZGQky5YtMxYoAM7OzqQ+XBBKqPj0jo6oW7QgedEiXFauxO7kSZx/+AGH3btJ\ne+UVstu2FZ3jBLORy+QMrDeQoJpBrPt7HXtu7mHb9W0cuH2AEQ1H0Mu3l0VOr28V1GqcNm/GaeNG\nQ78TuZz0AQNIHzwYfQG3KazF33//TdOmTZ+43erVq5FKpfzxxx/ExMQwYsQIIiIiWLt2La+99hoD\nBgxAo9Gg1WqJiYlh69atbNmyBZlMxnvvvcevv/5KgwYNuHv3Ln/88QdgGJGqVCpZvXo18+bNo27d\nuvmO2bdvX1avXs3777/PM888YyyUNmzYQO3atZkyZQpLlixh8uTJj8U7bdo05s6dCxhGw65du5bG\njRsTERGBVCpl3759zJw5k40bNwJw5swZIiMjcXFxITw8nPnz57N161bAUMScO3eOs2fPIpfLadiw\nIZMnT843Eeujzp49S1xcHOfPnwcgLS3NxNYomMnvWAcHB1QqVb6+KImJiRbXN0Uoe1pvb5L++19s\nz5zB+fvvkd+6hdv//R/qgABSX3+9xIsXCkJpcLV1ZWKzifSp3Yfvo74n8kEkyy4sY+u1rfyn0X/o\nUL0DUkm5DWy0bno9dkeP4rxyJTb37wPm6XdibidPnjTO6eXn54ePjw/Xrl2jZcuWfP3118THxxMS\nEkKdOnWIiIggMjKSPn36oNfrUavVeHp6EhwczM2bN5kzZw7dunWjS5cugGHW9sK6hj763NWrV6lV\nqxa1a9cGYMiQIYSFhRVYpHzxxRcMGjQo32MpKSmMHDmSK1euIJFI8s0U36NHD1wKmBcrT/fu3XF6\n2Am6SZMmxMbGFlqk1K1bl+vXrzNlyhT69OlDz549C92vKUx+p3bv3p358+dz4cIF9Ho9ly9f5ttv\nv6VHjx5PFYBgvdQtWpCwcCEpY8agc3LC9tw5PCdPxvm775BY+QggwfrVca7Dx+0+ZmbLmXg7enMn\n8w6f/fUZ70S8w7nEc+YOz+LZ3LiB++zZuH36KTb375NbqxaJH39M8owZFaZAadCggfETf3HkFQ4D\nBgxg9erV2NnZMXLkSI4cOYJer2fIkCHs3r2bPXv2EB4eztSpU3FxceGPP/6gffv2rF27lmnTppX4\nuCXx3//+l27duhEZGcm2bdvIfmTNNscnLE1ga2tr/F4mkxW5FI6rqyvnzp2ja9euLFu2jNdee63E\nMUMxipT+/fvToUMHVqxYgVarZcmSJbRq1Yo+DxesEyopGxsyn3uOe48sXui0bRte48bhsGcPiAUi\nBTOSSCS0r96eb7p8w4SmE3CzdSMmNYb/Hvsvc47N4WrqVXOHaHEkKhUuS5fi+eab2EZGolMqSRk3\njoQFC8hp1szc4ZWqwMBAcnJyWL9+vfGxixcvcvLkyXzbtWnTht9++w0wXNGIj4+nXr163Lx5E19f\nX1555RV69uzJxYsXCQwMZMeOHTx48AAwXMGIi4sjKSkJrVZLSEgI06dPN84J5uTkVOjopEdHLtWr\nV4/bt28TG2tYbHPTpk3GqzH/VlAxk5aWZrz6sWrVqkJ/J087WurBgwdotVoGDhzIRx99xJkzZ0q8\nLyjG7R6JREKfPn1EUSIUSO/sTOq4cWT06oXL8uXYRkXhumgRDrt2kfr66+Q2bmzuEIVKzEZqQ+9a\nvQmqGcTW61v5NeZXziae5eyhs3Sq0YnhDYaLkUBaLQ5//IFyzRpkKhV6qZT0vn1RjRiBXqk0d3Rl\nZsWKFcyZM4dvv/0WOzs7atasyYcffphvm1GjRjFz5kyCg4OxsbFhwYIFyOVytm3bxqZNm7CxsaFq\n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\n", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, if ISON survives its \"sungrazing orbit,\" we can try to see it when it will be closest to the Earth." ] }, { "cell_type": "code", "collapsed": false, "input": [ "obs = ephem.Observer()\n", "obs.lon = np.deg2rad(-46.665)\n", "obs.lat = np.deg2rad(-23.473)\n", "obs.date = ex\n", "comet.compute(obs)\n", "print(\"Date: %s\\nRight ascension: %s\\nDeclination: %s\\nMagnitude: %s\" %\n", " (obs.date, comet.ra, comet.dec, comet.mag))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Date: 2013/12/27 00:00:00\n", "Right ascension: 16:22:39.01\n", "Declination: 52:59:54.6\n", "Magnitude: 5.69\n" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "from IPython.display import YouTubeVideo\n", "YouTubeVideo(\"A1yH_DuC88M\", autoplay=0, theme=\"light\", color=\"red\")" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", " \n", " " ], "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "HTML(html)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", "\n", "

This post was written as an IPython notebook. It is available for\n", "download or as a static\n", "html.

\n", "

\n", "
python4oceanographers by Filipe Fernandes is\n", "licensed under a Creative Commons\n", "Attribution-ShareAlike 4.0 International License.
Based on a work at https://ocefpaf.github.io/.\n", " " ], "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "" ] } ], "prompt_number": 7 } ], "metadata": {} } ] }