{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Light Curve Analysis Module Solutions\n", "\n", "**Lecturer:** Melissa Hayes-Gehrke
\n", "**Jupyter Notebook Authors:** Melissa Hayes-Gehrke & Cameron Hummels\n", "\n", "This is a Jupyter notebook lesson taken from the GROWTH Summer School 2019. For other lessons and their accompanying lectures, please see: http://growth.caltech.edu/growth-school-2019.html\n", "\n", "If you're looking for periods:
\n", "1856 Ruzena: 5.9601 h (published in The Minor Planet Bulletin (2018))
\n", "4404 Enirac: 2.9983 h (published in The Minor Planet Bulletin (2017))
\n", "The Cepheid is Zeta Gemini: 10.148 d.
\n", "The Delta Scuti is Delta Scuti: various periods of 0.19377 d, 4.6505 h, 4.4849 h, among others.
\n", "\n", "## Objective\n", "Identify periodic behavior in noisy observational data to generate light curves\n", "\n", "## Key steps\n", "- Extract a periodic signal from noisy data when we know the period of the oscillation\n", "- Use the Lomb Scargle algorithm to extract a light curve from data when we do not know the period\n", "- Apply the Lomb Scargle to real Cepheid observational data\n", "\n", "## Required dependencies\n", "\n", "See GROWTH school webpage for detailed instructions on how to install these modules and packages. Nominally, you should be able to install the python modules with `pip install `. The external astromatic packages are easiest installed using package managers (e.g., `rpm`, `apt-get`).\n", "\n", "### Python modules\n", "* python 3\n", "* astropy\n", "* numpy\n", "* matplotlib\n", "\n", "### External packages\n", "None" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from astropy.stats import LombScargle\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import os" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "cwd = os.getcwd()\n", "data_dir = os.path.join(cwd, 'data')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Generate a Synthetic Lightcurve\n", "\n", "First, we need to generate a lightcurve to work with. The function below generates a series of timestamps t, and a sinusoidal signal y with noise dy added to it. We will use this lightcurve to test our functions. Note that our y values are generated with a sin function with a frequency of 2pi, or equiaveletly, a period of 1." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Flux')" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# \"Generates a sample lightcurve with times t, magnitudes y, and errors dy\n", "\n", "rand = np.random.RandomState(42)\n", "t = 100 * rand.rand(100)\n", "y = np.sin(2 * np.pi * t) + 0.1 * rand.randn(100)\n", "dy = 0.1 * (1 + rand.rand(100))\n", "\n", "plt.errorbar(t,y,dy,ls='none',c='k')\n", "plt.xlabel('Time')\n", "plt.ylabel('Flux')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, this lightcurve is not very interesting when we plot it. This is where we need to use period finding analysis to learn more. Below, we try plotting the function in a new way--phase folding it. When we do this, we assume a period, and compute what phase each timestamps corresponds to between 0 and 1, assuming that period. Below, we try folding our lightcurve with the period equal to 1." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "rand = np.random.RandomState(42)\n", "t = 100 * rand.rand(100)\n", "y = np.sin(2 * np.pi * t) + 0.1 * rand.randn(100)\n", "dy = 0.1 * (1 + rand.rand(100))\n", "\n", "\n", "\n", "# \"this function takes times t, mags y, and errors dy, and a period and phase folds the lightcurve at this period\n", "\n", "def phase_fold(t,y,dy,period):\n", " phases=np.remainder(t,period)/period\n", " phases=np.concatenate((phases,phases+1))\n", " y=np.concatenate((y,y))\n", " dy=np.concatenate((dy,dy))\n", " plt.errorbar(phases,y,dy,ls='none',c='k')\n", " plt.xlabel('Phase')\n", " plt.ylabel('Flux')\n", " \n", "phase_fold(t,y,dy,1)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Phase-folding can be used as a rudimentary method of period determination. One may make educated guesses about the period of the phenomenon and phase-fold the lightcurve to see if a repeating pattern emerges. Try this for this observations of the asteroid 1856 Ruzena, observed by non-Astronomy majors from the University of Maryland in April 2018 along with collaborators in Malta. Asteroids typically have rotation periods between 2 and 12 hours.\n", "\n", "The code below plots the raw, or unphased lightcurve, for all four nights of observations of the asteroid." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Differential Magnitude')" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEGCAYAAAB/+QKOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO2dfZhcdXn3P98sg9kAsqHk8QoLMWgllBCTlSBIWh9AbSxvrghFCirqI9VWBcTU0NImKJZcRoVe+vQFELHCg7x2C4QabHmrVNANmwCBpFWRlwUlSFZespLN5n7+mDOb2dlzzpzdnTNz9pz7c11zZeY3vzNz78mZc/9+96vMDMdxHMepZVqrBXAcx3GyiSsIx3EcJxRXEI7jOE4oriAcx3GcUFxBOI7jOKHs1moBGsm+++5rc+fObbUYjuM4U4Z169a9YGazwt7LlYKYO3cuvb29rRbDcRxnyiDpyaj33MTkOI7jhOIKwnEcxwnFFYTjOI4TiisIx3EcJxRXEI7jOE4ouYpichzHKQI9ff2sXruZZwcG2a+jnWVL59Hd1dnw73EF4TiOM4Xo6evnglseYXBoGID+gUEuuOURgIYrCTcxOY7jTCFWr908ohwqDA4Ns3rt5oZ/lysIx3GcKcSzA4PjGp8MbmJyHCeTNMvOPtXYr6Od/hBlsF9He8O/K7UdhKSrJD0v6dGa8c9I2iRpo6SvhBx3gKS7JT0WzDknLRkdx8kmFTt7/8Agxi47e09ff6tFaznLls6jvdQ2aqy91MaypfMa/l1pmpiuBt5bPSDpGOB9wEIzmw98NeS4HcD5ZnYIcCTw55IOSVFOx3EyRjPt7FON7q5OLjl5AZ0d7Qjo7GjnkpMXTK0oJjO7T9LcmuFPAavM7LVgzvMhxz0HPBc8f1nS40An8FhasjqOky3CTCiQjp19KtLd1dkUc1uzndQHAX8g6UFJ90o6PG5yoGC6gAdj5pwtqVdS75YtWxoqrOM4zSfOjLR3e6mJkjjNVhC7AftQNh0tA26QpLCJkvYEbgbONbOXoj7QzC43s8VmtnjWrNCS5o7jTCHizEjhdwsnLZqtIJ4BbrEyPwZ2AvvWTpJUoqwcrjWzW5oso+M4LSTOjDSwbaiJkjjNVhA9wDEAkg4CdgdeqJ4Q7Ci+BTxuZl9vsnyO47SYjhnRZqS495zGk5qTWtJ1wNHAvpKeAVYAVwFXBaGv24GPmJlJ2g+40syOA5YAHwIekbQ++Li/NLM70pLVcRqJx+9PDrOJvec0njSjmE6PeOvMkLnPAscFz38IuKXRmZI0s05OXvnNYLQZKe49p/F4qQ3HaSAevz954jKC08gWdqJxBeE4DaSZdXKmMj19/SxZdRcHLl/DklV3jQptPebg8GjEtmlKJVvYicZrMTlOAxlPnZyi+irqmeHu3hSez7TX63YrxPmB7FwbvoNwnAaStE5OkWsN1TPDRe22iuJ/yNK14QrCcRpI0jo5RfZV1CujEeVnKEoWdZauDTcxOU6DSVInp6i+ip6+fgSERatWFMOypfNYduMGhnaOnvXq9h309PXn3syUpWvDdxCO0wKiVsl5j9JZvXZzqHIQjJjhurs62X23sbemoWErxA4rKhmwFdeGKwjHSYG4KB1obk3/LBG1CjZ25Yn09PXz6vbh0HlF2GG98tsdY8aniZZcG25icpwGkyRZrvJvFiJVmklUlFdn1eo4bpdQhB1WrWkNIGSoKZFOvoNwnAaTxMmYlTDGZhOV41A9HrdLKOoOCxhz/TQj0skVhOM0mHpOxiyFMTabqByH6vGoXUJHeyn3SjRuh1R9XTUr0skVhOM0mHoO6CyFMTabJBE6Uf6ZlSfNT1W2LDD3d5KVGYkKFY4anyiuIBynwdRzQGcpjLHZROUyTC/tuhU1s+dylujp6+f+n70Y+X61ea0tonNS1PhEcSe14zSYeg7ovdtLDIRkBRchESzq/jU4tHNUjkOzei5niXo7yOrzMRxR9zxqfKK4gnCcFIi7wUXdJIvQTjOuI9zqtZsLpxSqSbqDjPNVNXoH4SYmx2kyWyNuklHjeSKuI1wRTGxxxDmoO6p2l3E7jUbvIFxBOE6TiVvl5TmSKSoJrEL1DbJeomEeiQoBBjhh4eyR53GKtLPBeSKuIBynycSt8vIcyRSVBAajnfhFDQOOCgEGuP7HT4/8/XG+qkbnibiCcJwmM7OgZpa4v+0Dh3WOcu4XMQw47vwM7TRW3roRiPZVzShNa7gPx53UjtNgevr6WXnrxpFIpZkzSqw4cf7IjzfOTBxno5/qRJXZgNGr56KGAcedH2DkeoryVW0b2tlwmXwH4TgNpKevn2U3bhgVxrp12xDLbtowYiKIa3zTYB9jpogzf1Tf/Ita6TapeSjKh5VGEJwrCMdpIFF29upS1XE3urD8iLzQ3dUZaV6rPidFrXRbzzxUOXdRPiyj8UEOriAcp4HEmUEq78Xd6Bodx541jn/r7DEr3dqbf1EzqSH+/3/FieVSI3GRSl6LyXEyTNzuoPJe3I2u0XHsWaKnr5+b1/WPahgkRjuoK3R3dXL/8mN5YtXx3L/82EIoB4DTjzggdHzJm/cZOQdJTXWNwBWE4zSQZUvnMS1kEVhq06gfdtQqsNFx7FkiLDrJGBveWcQciAoXdy/gzCPnjOwk2iTOPHIO137iHSNzkprqGoFHMTlOg2mT2FmzEzjt8ANGrYKXLZ03qqkQ5N/OHrW67R8YHKnDlKTZUt65uHsBF3cviJ2z4sT5Tbl+XEE4TgOJclLXrpKL2FEuLoxz2U0bgOgciPNvKL+f5/MzHpp1/chyZPNcvHix9fb2tloMp8AcuHwNYb8oAU+sOr7Z4mSKnr5+zrt+fej5gbJ57dkgezqM9lJbYZzVzUTSOjNbHPae+yAcp4EUNYY/Cd1dnZE3f2BkJRxFEbKpK2TFD+MKwnEaSFFj+JMS54SvmElqz181ec+mhmzVonIF4TgNpMgx/ElYtnQepZAwr0qUV+X8ReUDFGEnlqVaVO6kdpwGU8RuaEmpnJe4WlWVf4sW5VWhXi2qnr7+pgU3uIIIoZn/AY5TNJIo0CJGeVWIivbar6M9NAz4vOvX0/vki3VDYydCYgUhaYaZbWu4BBnD47AdJxsUdScWlyMTlWx47QNPsfiN+zT8fNX1QUg6StJjwKbg9UJJf99QKTJElux/juMUjzg/VpT5yUin2VQSJ/WlwFLg1wBmtgF4Z72DJF0l6XlJj9aMf0bSJkkbJX0l4tj3Stos6aeSlieQsWEUtRa94zSTrIRxZpXurk6WLZ3HfkFuyOq1m+np64910qdxj0oUxWRmT9cMDYdOHM3VwHurByQdA7wPWGhm84Gv1h4kqQ34v8AfAYcAp0s6JImcjcDj2J1G4DfAaLIUxplVos7RMQfPiuz7kMY9KomCeFrSUYBJKkn6PPB4vYPM7D7gxZrhTwGrzOy1YM7zIYe+Hfipmf3czLYD36OsVJqCx7E7kyXJDbDICqSeGbfI56ZC1Dm6e9MWzjhyTt2S6Y0iiYL4JPDnQCfQDywKXk+Eg4A/kPSgpHslHR4ypxOo3rE8E4yFIulsSb2SerdsiW76nRSPY3cmS5IbYJFX0HFm3KKfm4pyjKpZ9ezAIBd3L+DS0xaNJB22SSPXV6PPU90oJjN7ATijgd+3D3AkcDhwg6Q32SQKQpnZ5cDlUK7F1Aghixo94TSGen6sOAVShOsuLoyzyOemNoIyjNqeImlHXEYqCEnfgOjSKWb22Ql83zPALYFC+LGkncC+QPXSvx+o7pqxfzDWVDwXwpkoUTfAvdvLNfyLHghxzMGzuOaBp0LHrw0Zh2KcmzDlWE2tGakZyjTOxNQLrAOmA28D/id4LAJ2n+D39QDHAEg6KPicF2rm/AR4i6QDJe0OfBC4dYLfNzEhC77NdSZHVDmJV7fviI1EKUogRG3p8+rxIp+bOCUYZupuxkIjUkGY2XfM7DvAW4GjzewbZvYN4F2UlUQskq4DfgTMk/SMpI8DVwFvCkJfvwd8xMxM0n6S7gi+dwfwaWAtZWf4DWa2cXJ/5vjwXAhnMnR3dbLn9LGb86FhY/XazZEF6bYFCiTvxN3YihwkEqUEOzvaQ9uuNkOZJnFSzwReX/V6z2AsFjM73cxmm1nJzPY3s2+Z2XYzO9PMDjWzt5nZXcHcZ83suKpj7zCzg8zszWb25fH+UZOl6CYAZ/IMbBsKHX92YHAkEKKjfXTbyK3bhgqxU427sdUGiXS0l5hemsZ516/PfUTTeJVjM5RpEgWxCuiTdLWk7wAPAX/bMAkySEeT+r06+aXe6q67q5M9Xjd2l1GEnWq9G1t3Vyf3Lz+WS09bxGs7drJ121AhTL3jjaBsRsRlkiimb0v6N+CIYOgLZvbLhkmQMXr6+nnltzvGjNc2nXecOJL0nC7qTjVpIb4iRjSNN4Iy7YjLugpCUqWsxtbg34MkHRQkwuWOi27bGNpTGLPcXpRO44m7CVYi5KJCBIuwU01yYyuqAq1HdYTl3u0lpLJJM41oyyTVXJdVPZ9OOdN5HXBsw6TICD19/WyNsB0P7YQLex5JpaSuk0/CboL1Yt2L4pBNQly+RFGpvX4qPTUgnTyIuj4IMzux6vEe4FB27SZyRT3b73UP1pakcpzxERfr7ln7oylyRFMU9XIlGu3DmkjDoGeA32uYBBmi3tZ1eOIJ344DRF9jAu5fnrtN+aQoctOgKJKY1xppgkvig6jOqJ5GOQfioYZJkCGitrQVovrkOk5Sim42GW+FAi97M5p696jKnEaRZAfRW/V8B3Cdmd3fMAkyxLKl81h244ZwJzVw+hEHhI47ThhhN8Mk0U15JWm3Ri9zE01UmZIKrciD6KhkVZvZtWZ2v6RzGiZBhuju6mT1qQtpL40+LQLOPHKOO6idxESVawEKWy04SYUCL3MTT1SZEkjnWkqiID4SMnZWwyTIJKNNSdNLbSx+4z4tksWZini5lrEkCVv18xZPPR9W03pSSzpd0m3AgZJurXrczdhGQLnBL1CnEUT9kCsr4iKukKNs4wYjZTQ89yGeZhczjNtB/BfwNWBT8G/lcT7lHtW5xC9QpxFE/WArzV2qKcoCJKpIIexSlEUvc1Ovm16zQ3/jqrk+aWb3mNk7zOzeqsdDQcXVXFLkcsNO44j6IUeFSvcPDOa+GF117aAwBoeGMaOwuQ9J/C/N7ngZZ2L6YfDvy5Jeqnq8LOmlVKTJAGG1/EvTvA6TMz6ifshRN0cohrmpUogvKmD8N4ND7sSvImx3WTmHT6w6PhW/QzWRYa5m9vvBv3ul9u0ZpPfJF8eGuXr6gzMBomL440pt5L0YXYW4fJCi5j5k0bydJIoJSW1BU585lUfagrWCnr7+0JaHlUYvjjNZ6plZoBj+Li+jMZYsmrfrKghJnwF+BfwAWBM8bk9ZrpYQV2GzCD9apzlUTARRSqII/q5m29KnAllUmkkyqc8B5pnZr9MWptXEKYEi/Gid5lLkrGrwMhq1ZLH2VBIF8TTwm7QFyQJRdlFBYX60TvPI4g3BaS1ZU5pJFMTPgXskrQFeqwya2ddTk6pFhK3oBJxx5JxM/ac5+SFrNwTHqSaJgngqeOwePHKLr+gcx3F2IctRj4PFixdbb29v/YmOkxJeiXTy+DmMp9HnR9I6M1sc9l6SfhC3wZjgnt9QLgP+T2b22wlL5jg5Imk5a6dM2I0O8HMYQ7OvsSR5ED8HXgGuCB4vAS8DBwWvHcfBCz2Oh6iyEhfdttHPYQzNvsaS+CCOMrPDq17fJuknZna4pI2pSOU4U5AsZsJmlagbXVSGuZ/DMs2+xpLsIPaszpwOnu8ZvNyeilSOMwXJYiZsVhnvDc3PYZkslfuucD7wQ0l3S7oH+E/g85L2AL6TilSOMwXJYiZsVom6oXW0l/wcxtDsa6yuicnM7pD0FuDgYGhzlWP6slSkcpwpiIdJ16fimO4fGESMjn5pL7Wx8qT5gJ/DKJp9jSUKc5V0KHAIML0yZmb/nIpEk8DDXB0nu9RG4AAjSqLTFUHLmGyY6wrgaMoK4g7gj4AfAplTEI4z1ShSzH+YY7qiHO5ffmxrhMoQWbwWkkQxnQIsBPrM7KOS3gBck65YjpN/ipY34VFe0Uz0WkhbqSRxUg+a2U5gh6TXA88DBzRMAscpKEXLm/Aor2gmci309PWz7MYNo3JJlt24oaEdCZMoiF5JHZST4tYBDwE/apgEjpMj6jWdr6ZoK2qP8opmItfCyls3jul+ObTTWHlr49LTkkQx/Vnw9B8lfR94vZk93DAJHCcnjNdMENd2M494lFc0E7kWBgaHxjU+ESIVhKS3xb1nZg81TArHyQFxZoKwm2ARGwZ5efNwsnotxO0geoFHgReC16p6z4DYsANJVwEnAM+b2aHB2ErgE8CWYNpfmtkdIceeB/yf4HseAT7qRQGdrDNeM4GvqMdyYc8jXPfg0wyb0SZx+hEHcHH3glaLlTrdXZ30PvniqL/9A4eFK9OKYzqKmTNKDZMrTkF8jnIE0yDwPeBfzOyVcXz21cA3GRsOe6mZfTXqIEmdwGeBQ8xsUNINwAeDz3OczDIRM4GvqHdxYc8jXPPAUyOvh81GXuddSfT09XPzun6Gg7y0YTOu//HTrHn4OQa2DUVWu62l1CZWnDi/YXJFOqnN7DIz+33gM5Sjlv5D0g2SFiX5YDO7D3hxgnLtBrRL2g2YATw7wc9xnKaR1Ak7Hkd2kbjuwafHNZ4nwsyTQzuNrduG6la7rdDZ0c7qUxY2dMGRxEn9c0n/CrQDH6Jc5nv9JL7z05I+TNmEdb6Zba35vn5JX6XcxW4QuNPM7oz6MElnA2cDzJkzJ2paYrKYrOJMDZKYjHr6+ll20waGhssrxf6BQZbdtGHU8UVlOKKqQ9R4nkgSuRZX7VaQSrJhZKkNSW+ibNp5H/A0ZTPTGjNLHIMnaS5we5UP4g2UfRoGfAmYbWYfqzlmJnAzcBowANwI3GRmdZPzJltqI6wUQHupjUtOXlD4H68zfsIWGxfdtpGt28ZGmcycUaLvb/6wBVK2lupzFKUG2iR+dslxTZWr2SxZdVeoeTIpk8lGjyu1EZcH8VPgj4HvU857mAN8StLnJH1uIoKY2a/MbDhIvLsCeHvItHcDT5jZFjMbAm4BjprI942XoiUuOekR1RAnTDkAbN02VDhzU+05iuL0I/Kflxtmngyj2dVu40xMX2RXscU9Y+YlRtJsM3suePl+ylFStTwFHClpBmUT07som6NSp2iJS056RC024sh7qY1aws5RNUWLYoJd5sm920u8un3HiCkSWlPtNlJBmNnKyXywpOsoF/nbV9IzwArg6MDJbcAvgD8N5u4HXGlmx5nZg5JuopyxvQPoAy6fjCxJKVrikpMeE11UxOVN5I2ocyTgiVXHN1eYDFAb0RbnD23W9ZGkWN+EMLPTQ4a/FTH3WeC4qtcrKCuUprJs6bxRDkQoh421OlnFmRpU/6CnSaHO1Y72Eq++tmNMiYRqirJj9QVZPFkIgU5Si6lY1P5u8x9A4TSAWnt6VOTNCQtns/rUhXTG3ASLcoP02kzZxxVEFavXbg4tfuVOaqce9ezpFe7etIXurk7uX34sl522qNA3yO6uTi45eQGdHe2IciSORwyOptU5M3G1mGIjlczs640Xp7W4k9qZKEmvkep5lRvhyls3jhRYm14q1potC2aUrBJW/HHZjRu46LaNo7Kr0zx/cVfjXnUeucPr1TsTJek1EjbvtR07R55v3TbEBbc8UqhwVyecpNnVaV4rcVFMF6X2rRklqxUVnewTdu3UEnYtjbcCbJ7wqgXxJM2uTvNaSdKTejrwcWA+ML0yXpsBnQe8uqYzUcKunWMOnsXtG56LNR8VyaxZrRBq4/yLlgOShKgor1rSvFaShLl+F9gELKWcPHcG8HhqErUYt4k6EyUsjv3mdbu2/xXzUWUuFCfUs9aeHtbUpig7p6Qk2ZVCutdKEgXxu2Z2qqT3mdl3JP0/4D9Tk8hxckKU+WjlrRtHraRLbRqTMZs3s2bSKK887pySEmZyu+TkBXWzq9O8VpIoiIqqH5B0KPBL4H+lJpHj5ISom93A4NDICnpgcIjSNDFzRqlpkSmtIOmNP287p6REtau95OQFo4rwNdtvk0RBXB5UWP1r4FbKdZn+JjWJHCcnJLUhVyJTOnOqHCDZucjjzikpSYMVmm0CT9IP4srg6b3Am9IVx3GmLrWru2MOnsXN6/oTmVYg347aMHt6aZrYc/puud45JSWrwQpxiXJnmtk1UQlzeUyUc5yJEmYiuHldPx84rJO7N20ZURrbtu+ILPkN+XXUeoRgPFkNVojbQewR/BuWFOcVihyniigTwd2btoyxIdeLTGn1qjEtPEIwmqzmYMUlyv1T8PTfzez+6vckLUlVKseZYiQ1EVSvpKNs8q1eNaZFEgdrUZPnsrrDSuKk/gbwtgRjjlNYkpoIqm+AHS0IW2wVUVE6sOvmmGROnkmyw8pMFJOkd1Bu9Tmrxg/xeqB+bzzHKRBRJoJjDp7FklV3jcSxv/zaDoaDisEDg0NME7kPcYVkUTpFLjsSRauzz+N2ELtTDmndjdF+iJeAU1KRxnGmKFGlNqqjmMKyhyvV5fPeQS3KBNc/MDiiQKMcm3n1ydQjC9nncT6Ie4F7JV1tZk+m8u2OkyNqTQRLVt2VKMQ1LqopL0SZ4AR18yPy6pOpRxayz5MUn3+dpMsl3SnprsojNYkcJycUdeUbRlj3OFE/HDKvPpkkZCH7PImT+kbgH4ErgWQZP47jJM6k7mgvNUGa1hJmgos7N4Jc+2SSkOT6KbWp5bWYdpjZP6QmgePklGMOnsU1DzwVO6c0Taw8aX6TJGotYSa4sBtgZ0f7qNyRojChTPyUM9KSmJhuk/RnkmZL2qfySFcsx5n63L1pS+h4mzTSg3n1qQsLu0IOMzsV1aRUcUj3B8766kz8Ss/uNmnMcUM7jdVrN6cmV5IdxEeCf5dVjRlel8lxYomyIe80y33UUhKymhzWCpJk4h+4fE3osS1tGGRmB6b27Y6TY6JsyNMkDly+ptA3xApefqNMkkz8VtRrqmtikjRD0oWSLg9ev0XSCalJ5Dg5IcyEAjBs1rSm887UIOomXz3eCpNcEh/Et4HtlLOqAfqBi1OTyHGmKD19/SxZdRcHLl/DklXlSPBLTl4Qa0OuJDo5xSbq5l/JxD9w+RpWr93M2+bsPXIdtUl84LB0d2Ayi3eDS+o1s8WS+sysKxjbYGYLU5NqgixevNh6e3tbLYZTQMKqtLaX2rjk5AUjP+ADl6+JDDrp7GgvvB0eilusDyYWxVR7jU0ESevMbHHYe0mc1NsltRMEVEl6M/DahKVxnBySpI5QkmziohWoq8aL9Y0/Ez/tUhtJTEwrgO8DB0i6FvgP4C9SkcZxpihJnIxJs4nzanaqNcHV+l7ilGwRSRqd1LIoJkkCNgEnA0dSvp7PMbMXUpPIcaYgSSJMxpNNnLcyHUl2B1ltu9kqkmbityyKycoOijvM7NdmtsbMbnfl4DhjSRph0t3Vyf3Lj+WJVcdz//Jj6UwQvZIHkuwOkkTyFIljDp5Vd04WopgeknR4ahI4Tg7o7uocFbHU2dGeyHlYlGziiZrg8ngukpIkE3+yDup6JHFSHwGcIelJ4FUCs6mZvTU1qRxnCjKRpK+iZBNHmUv2bi+N9IPYr6OdDxzWyd2btuT6XCQlC5n4SRTE0tSlcJwcMJmey3m/CYZ13CtNE69u3zHSCKdSfyjtVfFUoRWZ07XUNTEFzYIOAI4Nnm9LcpzjFImwYmu1WdJJ5uSVMBPcntN3G9WPG4odtVRLFkxuSUptrAC+AFwQDJWAaxIcd5Wk5yU9WjW2UlK/pPXB47iIYzsk3SRpk6THg/7YjpNZkjhhix7GWeugH4jopFfUqKVaJurXaiRJTEzvB7qAhwDM7FlJe8UfAsDVwDeBf64Zv9TMvlrn2L8Dvm9mp0jaHZiR4Pscp2UkccJ6GOdosmBCyTqtNj8myqQ2M5NUyaTeI8kHm9l9kuaOVyBJewPvBM4KPmc75VpQjpNZkjhhp0kMh5S2KeoNcdnSeSy7cQNDO3edk9K0dDukZZWslhhJ4ku4QdI/AR2SPgH8O3DFJL7z05IeDkxQM0PePxDYAnxbUp+kK+OUkqSzJfVK6t2yJTwszHHSJsxeXHHCVnwOYcqhyGGcQDkmsoqhnca5169n7vI1dH3xzkL4Z7Lsm4os1ifpdWb2WvD8PcAfUv7vXGtmP0j04eUdxO1mdmjw+g3AC5SrC3wJmG1mH6s5ZjHwALDEzB6U9HfAS2b21/W+z4v1Oa2kdhW4bfsOtobY2dskdpplaqXYDJKen2pKbWL1KfnuuhfVerWjvcT6FX+Y+vdPtFjfj4C3SfqumX0ISKQU4jCzX1UJdQVwe8i0Z4BnzOzB4PVNwPLJfrfjpE2tvTiqA1gRO8qFldpIwtCwpVqMLgtE+aAGBofo6evPrA9id0l/Ahwl6eTaN83slvF+maTZZvZc8PL9wKO1c8zsl5KeljTPzDYD7wIeG+93OU6r8Y5yuwiL4EpK3p34cTWXKhFuq9dupn9gkLbAj9XZpGsnzgfxSeAPgA7gxJpH3Y5ykq6jvAuZJ+kZSR8HviLpEUkPA8cA5wVz95N0R9XhnwGuDeYtAv523H+Z47QY7yi3i8nc5PPuxI/zQVWukYoCqfixmnXtxO0gZpvZp4JGQZeP94PN7PSQ4W9FzH0WOK7q9Xog1CbmOFOF2jIaYVFMadfzzwpJK5PWUmrLf1RTd1cnF922MdJfFbXzasa1E7eDqCTGfTK1b3ecnFOdHLYzIiAk7yYUiO6FEcfMGaXcO6grrDhxfmjWdFjkWzVpXztxO4hfS7oTOFDSrbVvmtlJ6YnlOPmjyIlhYUUJw1pqNqKF5lQkqmhjxfcQRdrXTpyCOB54G/Bd4GupSuE4OaBeslNYwbqi5EFEnZvFb9wnkwlirSAqa7r2mqnQDPNbpIIIMpgfkHSUmXkGmuPEENcxDXatDPduLzG9NI2BbUOFuSHW6yZX+fsrSuS869cX5tzUo7urk7HU/HQAABDfSURBVN4nX+TaB54a05p27EDjiVQQki4zs3OBqyplNqpxE5Pj7CKqEN/KWzfy2o6dI+8NDA7RXmrj0tMWFebmF1eksFo51GtJWkR6+vq5eV1/qC4Y2pl+jkiciem7wb/1Cus5TuGJS3aqpSiRSxWSFClMokSKSL38kZY5qc1sXfDvvZJmBc/d1OQ4IYw3jLMIkUsVkjjnvdJtOPX+/rSd1LHF+oL+DS8Am4H/lrRF0t+kKpHjTEGimrvMnFEKnV+EyKUK9Rrf9PT1M03hQa9FOk9hxP39zQhwiFQQkj4HLAEON7N9zGwm5f7USySdl6pUjjPFiGruEhXfXoTIpQpxjW8qvoeweP+2gpb+riYqG3/mjFJTwoHjfBAfAt5jZi9UBszs55LOBO4ELk1VMseZYsQ1d/FQznDibOzDO43eJ18sxLmK61Xe++SLXPfg06OU6Izdk7TymTxx31KqVg4VzGyLpPB9s+MUlLgciFZ3BWs1cRFK9Wzs1z34NBd3L0hdxlZSL0T65nX9Y3ZYzYryilMQcV3cvMOb4wTUC9HMarewZhEXoVTPuV+v1EQeqNerPKu1mBZKeink8TKQb5XuOOMg7gfe09fPsps2jOoWdu716wvTLQ3iI5SibOwV2iKc13mhp68/UkE+OzBYd4fVyjDX6P+1nFL0lZ4zMeJugBfdtpGh4bGr4K3bhgqTCBYX5lr52y+45WEGh3aOmXP6EQekLl+rqOw8o+iYUcIsPJemek6aJOlJXQiy3BfWyTZRoYj7dbTHttSsNiPkmXphrt1dnTz+pT/izCPnjOwY2iTOPHJOrv0P9ZLgzKDeBiptC1xzXOFTAM/kdCZKXBG+c69fH3vsRHokTDWiKpXW/q4u7l6Qa4VQSz3z0G9idg7jmTMZCq8gKmalODug48QRdwNceevGWBNB3m3sFYoeyRVGPQd9ZWea1XLfuac2+iSMomdyOsmIugGuPGk+y27cwNDOcFtAEaJ0nHDCdp4Vqk1wSeakRaEVRD0bYNEyXp3GU1Ea59+wIVQZdPoCBIALex4ZVdJ6j93b+PL78904qHrn2T8wSFvQkrYzxARXa+Vok/jAYenvygrtpI4zH1WXA3CcydDd1cnX/nhh4UtuRHHGFT/impp+B69uH+b8Gzd4kAjl66fW0T9sxs3r+lM/P4VWEFHmo86Odu5ffqwrB6dhxNUjKjI9ff3c/7MXQ98bDvod5JXqyEnYZW4Mi6C86LaNscl0aVFoBVEv/M5xnHS56LaNse/nOUgkzsRdffO/sOeRyHDpliXKFYGk4XeOM1m8Y1o4cXkikO8gkSRZ0j19/Vz7wFORczyKKWU8/M5Jm56+/lAntefZ1CfPu/kkYa6r126ObT3tUUwpU11eY+/2EhKFaijvpEulFlNUOGueTShJEMTeAPP8+0sS5npeTKKlSP/8FFpB1G77qxOa3ATgJKFe/a6oWkwV8mxCSUKccsh7EmGSMNe4JN5mZNAUWkHUy4NwE4ATR5hf4dzr13PRbRtZceJ8urs669rYjzl4VjNEzSydMWaWIiQR1jNxx5Vr6WhPvy1PoaOYkmzvi24CcKKJWmBUKrUmiVG/e9OWNESbMixbOo+ofYInEZYVyB67hxfWbsYGq9A7iHpOosocxwkj7tqp7D472kuxtZiKvgCptNS8tiZRrkjh5j19/aNqds2cURrZgQJs2x5u5RioszttBIXeQdRrVlKki9QZP/Vs5P0Dg6w8aX7sHF+AlKu4XnraokImEV7Y8wjnXr9+1CJi67Yhlt20K4s8rpx82hRaQdRmt3a0l5g5o1S4i9SZGPVs5G0S3V2dzIxo6iLyHcbpxNPT1881ETkOQ8O7ssij/FTN8F8V2sQEngfhTJx65qOKAllxYnhF1zOOnOPXHsVNIqxXJqNiflzz8HOh7695+LnU+2cUegfhOJOhnpOw2sla20yzbZpY/MZ9Gi/UFCSuWVeeqed/qpiQoiLh6kXINYLCK4ievn6WrLqLA5evYcmqu7x6pJOYek7Civnoots2MlyzexjeaXXrEBWFuJ7eeaaeDyEL5sdCKwjvQ+1Mhno/8Ip5pJUrwKlAK52wraSeAqhcP1H5DlM6D0LSVZKel/Ro1dhKSf2S1geP42KOb5PUJ+n2tGQs6tbWaQz1fuC+0EhGUasqd3d1Mi3CTFkdIbfypPmUaiaWpqluhFwjSHMHcTXw3pDxS81sUfC4I+b4c4DHU5EsoKhbW6cxdHd1sntbtCOistCImpHvQhLJKXKvjD85Yk7o+OlHHDDyvLurk9WnLhx1flafurAp5ye1KCYzu0/S3IkcK2l/4Hjgy8DnGijWKKIS5aZJ9PT1F+ICdSbH9pg6S5WFRtSM/BeSSE5RowkrUUjXPfg0w2a0SZx+xAFjopNadX5aEeb6aUkfBnqB881sa8icy4C/APaq92GSzgbOBpgzJ1wbRxFVTXHYrBBhdk66VGzoUeGwzbAhO9nn4u4FqYerTpRmO6n/AXgzsAh4Dvha7QRJJwDPm9m6JB9oZpeb2WIzWzxr1vgSRypb27CMWPdFOEmISoKDXT6KqHDYnBcrdXJAUxWEmf3KzIbNbCdwBfD2kGlLgJMk/QL4HnCspGvSkqm7q5OdXqvfmSArTpxPKcQPcWZVElxUOGwzauk4zmRoqoKQNLvq5fuBR2vnmNkFZra/mc0FPgjcZWZnpinX3hFb/ahxx6nQ3dXJ6lNGOxAvO23RKJNBUcM4nalPaj4ISdcBRwP7SnoGWAEcLWkRZf/cL4A/DebuB1xpZpFhr2kS1RPCTQBOEpLU9K/1dRUhjNOZ+qQZxXR6yPC3IuY+C4xRDmZ2D3BPQwWr4cKeR3htR20hhDJuAnAaQXXnsKjOc46TRQpfrO/aiGqK4CYAJxn12o5CccM4nalN4RVEXCx60dtBOvUpaiVSpxgUuhZTPYreDtKpj5drcfJMoRVEvVo5Hubq1MPLtTh5ptAKot4qz30QTj08hNXJM4VWEPVWee6DcOpR1EqkTjEotIKot8pzH4RTjyJXInXyT6GjmKKK9VVwO7KTBA9hdfJKoXcQccX6wO3IjuMUm0IrCCgriermHNW4D8JxnCJTeAUB0b4G90E4jlNkXEHgseyO4zhhuILAY9kdx3HCcAWBx7I7juOEUegw1wpejtlxHGcsriACPJbdcRxnNG5ichzHcUJxBeE4juOE4grCcRzHCcUVhOM4jhOKKwjHcRwnFJnFdWWeWkjaAjzZajkywL7AC60WIuP4OYrHz088eTo/bzSz0MJzuVIQThlJvWa2uNVyZBk/R/H4+YmnKOfHTUyO4zhOKK4gHMdxnFBcQeSTy1stwBTAz1E8fn7iKcT5cR+E4ziOE4rvIBzHcZxQXEE4juM4obiCyBmS3itps6SfSlreanmyhKSrJD0v6dFWy5JVJB0g6W5Jj0naKOmcVsuUJSRNl/RjSRuC83NRq2VKE/dB5AhJbcB/A+8BngF+ApxuZo+1VLCMIOmdwCvAP5vZoa2WJ4tImg3MNrOHJO0FrAO6/RoqI0nAHmb2iqQS8EPgHDN7oMWipYLvIPLF24GfmtnPzWw78D3gfS2WKTOY2X3Ai62WI8uY2XNm9lDw/GXgccAbpQRYmVeCl6XgkdtVtiuIfNEJPF31+hn8x+1MEElzgS7gwdZKki0ktUlaDzwP/MDMcnt+XEE4jjMGSXsCNwPnmtlLrZYnS5jZsJktAvYH3i4pt+ZKVxD5oh84oOr1/sGY4yQmsK3fDFxrZre0Wp6sYmYDwN3Ae1stS1q4gsgXPwHeIulASbsDHwRubbFMzhQicMJ+C3jczL7eanmyhqRZkjqC5+2UA0I2tVaq9HAFkSPMbAfwaWAtZefiDWa2sbVSZQdJ1wE/AuZJekbSx1stUwZZAnwIOFbS+uBxXKuFyhCzgbslPUx5QfYDM7u9xTKlhoe5Oo7jOKH4DsJxHMcJxRWE4ziOE4orCMdxHCcUVxCO4zhOKK4gHMdxEiBptaRNkh6W9C+VcNeIuW2S+iTdXjV2taQnqqLDFgXje0u6raoA4EeD8UWSfhSMPSzptKrP+lYw/2FJNwWJjfXkPzr43o2S7k3yN7uCcAqNpFfqvH+PpMXB8zvibgrj+M6zJG0JbiD/I2mtpKMSHNct6ZDJfr9Tn+BmenXN8A+AQ83srZSLYl4Q8xHnUA41r2WZmS0KHuuDsT8HHjOzhcDRwNeCPKZtwIfNbD7lZLzLqq6/88xsYSDLU5TD2+P+ng7g74GTgs87NW5+BVcQjpMQMzsuyJ5tBNebWZeZvQVYBdwi6ffqHNMNuIJoEWZ2Z5BrBPAA5UoFY5C0P3A8cGXSjwb2CpIU96RcUHKHmf23mf1P8N3PUq79NCt4/VLwXQLag8+oJPLdLOknwWNJ8B1/AtxiZk8Fxz+fRDBXEE7hCVaL1aaAb0o6K2TeLyTtGzzvkbQu2K6fXTXnFUlfDrb/D0h6Q73vN7O7Kfc4Pjv4jE8EP+4NwY99RrDDOAlYHZgJ3hw8vh/I8Z+SDp70yXCS8jHg3yLeuwz4C2BnyHtfDsxCl0p6XTD2TeD3gGeBRyiXDx91rKS3A7sDP6sa+zbwS+Bg4BvB8N8Bl5rZ4cAH2KWkDgJmBjvidZI+nOSPdAXhOBPjY2Z2GLAY+Kyk3wnG9wAeCMwF9wGfSPh5D1H+oUN5pXd48BmPAx83s/+iXDalYqL4GWWl8plAjs9TNiE4k0DSg0Gl1iuBk6r8BUur5vwVsAO4NuT4E4DnzWxdyMdfQPn/+HBgH+ALwfhSYD2wH7AI+Kak11d95mzgu8BHqxWHmX00OOZxoOKfeHdw/HrK18vrA//EbsBhlHc2S4G/lnRQvfOxW70JjuOE8llJ7w+eHwC8Bfg1sB2o7EbWUa7VkwRVPT9U0sVAB2WTw9oxk8s/+qOAG8tWBgBeVzvPGR9mdgSUd5XAWWZ2VvX7wc7yBOBdFl6GYgllxXIcMJ3yDfoaMzvTzJ4L5rwWrP4/H7z+KLAq+LyfSnqCsiL5caAo1gB/FdaUyMyGJX2P8o7l25QX/Uea2W9r5H4G+LWZvQq8Kuk+YCFlX0okvoNwnPJqsPq3MD1ucnDzeDfwjmCV31d1zFDVjWOY5IuwLnY5Na8GPm1mC4CLIuSZBgxUOTwXmVk9H4YzCSS9l/KN+CQz2xY2x8wuMLP9zWwu5WKZd5nZmcHxs4N/RdmfVGl9+xTwruC9NwDzgJ8Hjup/odwB8aYqOSTpd6s+6yR2FQy8E/hM1dxFwdN/BX5f0m6SZgBHEO5EH4UrCMeBJ4FDJL0uiPZ4V535ewNbzWxbYPc/cjJfLul/U/Y/XBEM7QU8p3LZ7TOqpr4cvFdxUj4h6dTgMyRp4WTkcOryTcrn/weB2ekfASTtJ+mOBMdfK+kRyn6GfYGLg/EvAUcF7/0H8AUzewH4Y+CdwFkaHRor4DtVnzUb+GLwWZ8FFgd+jseATwKY2ePA94GHgR8DV5pZ3d7sXqzPKSySdgN+ZWa/I+krwPuBJyj3rb7VzK6WdA/weTPrlfQLyj6Hl4EeYC6wmbIpaKWZ3SPpFTPbM/j8U4ATIswUqyn36pgRfOcXzez+4P1PUV6pbqHczW0vMzsriEi5AngNOIWyE/QfKN8gSsD3zOyLOE6DcAXhFJZgxX2Fmb291bI4ThZxE5NTSCR9ErgOuLDVsjhOVvEdhOM4jhOK7yAcx3GcUFxBOI7jOKG4gnAcx3FCcQXhOI7jhOIKwnEcxwnl/wPnKmO4nm5QlAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data=np.loadtxt(os.path.join(data_dir,'asteroid1.csv'),delimiter=',',skiprows=1)\n", "t=data[:,0]\n", "y=data[:,1]\n", "plt.plot(t,y,ls='none',marker=\"o\")\n", "plt.xlabel('Julian Date')\n", "plt.ylabel('Differential Magnitude')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Why does the plot above show four vertical strings of points? Each vertical \"string\" of points is one night of observations. Compared to the entire period of time along the x-axis, each night is a very small length of time. If you alter the code in the cell and change the limits on the x axis, you, can view each night of data individually. (This will help you get an idea of the length of the asteroid's rotation period, so this is an especially useful exercise.)\n", "\n", "It's not unusual for astronomers to have large gaps in lightcurves due to daytime and longer periods of time when observations were not able to be made (i.e., weather, length of observing cycles). Phase-folding, or phasing, the lightcurve to trial periods allows one to remove these gaps and visualize the data more easily.\n", "\n", "Below, you will try phasing the data for 1856 Ruzena to trial periods to see if you can determine the asteroid's rotation period by the trial-and error method. Don't spend more than 5 minutes trying different test periods - you could do this all day and never get lucky with the correct period, since you'll need several decimal places of precision. (The students from the class published the rotation periods to 4 decimal places of precision using only these data.)\n", "\n", "Also, consider carefully: when you have correctly determined the asteroid's rotation period and have a phased lightcurve, how many maxima and minima should it have in one complete phase?" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data=np.loadtxt(os.path.join(data_dir,'asteroid1.csv'),delimiter=',',skiprows=1)\n", "t=data[:,0]\n", "y=data[:,1]\n", "period=2\n", "#period in units of days\n", "\n", "def phase_fold(t,y,period):\n", " phases=np.remainder(t,period)/period\n", " phases=np.concatenate((phases,phases+1))\n", " y=np.concatenate((y,y))\n", " plt.plot(phases,y,ls='none',marker=\"o\")\n", " plt.xlabel('Phase')\n", " plt.ylabel('Flux')\n", " \n", "phase_fold(t,y,period)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From your experience with the trial-and-error method above, you can see that a better method of finding test periods is needed. This is where the Lomb-Scargle Periodogram method is used. This method essentially measures how much power is present at each frequency within the data: more power at a certain frequency should indicate a repeating signal within the data. However, that signal could be from a physical phenomenon, such as a pulsating star or rotating asteroid, or it could be an artifact, such as the day/night cycle or other artificial frequencies caused by the observing process. The astronomer must interpret the data to make a final decision.\n", "\n", "The code below applies the Lomb-Scargle Periodogram to the synthetic sine curve constructed at the beginning of this notebook. In this case, we know that the period is 1 day; usually one does not know this ahead of time, and so we will use the LS Periodogram to tell us this.\n", "\n", "The function below returns the best period and the power spectrum (which shows us the relative strength of signals at different frequencies (frequency = 1/period). You should see a large spike at period = 1. Try changing the value of the period and watch the periodogram (the power spectrum graph) change." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING: AstropyDeprecationWarning: Importing LombScargle from astropy.stats has been deprecated and will no longer be supported in future. Please import this class from the astropy.timeseries module instead [astropy.stats.lombscargle]\n" ] }, { "data": { "text/plain": [ "1.0003718852975687" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "period=1\n", "\n", "\n", "rand = np.random.RandomState(42)\n", "t = 100 * rand.rand(100)\n", "y = np.sin(2 * np.pi /period* t) + 0.1 * rand.randn(100)\n", "dy = 0.1 * (1 + rand.rand(100))\n", "\n", "def lomb_scargle(t,y,dy):\n", "\n", " frequency, power = LombScargle(t, y, dy).autopower()\n", " plt.plot(frequency, power)\n", " plt.show\n", " plt.xlabel('Frequency')\n", " plt.ylabel('Power')\n", " return 1/frequency[np.argmax(power)]\n", "lomb_scargle(t,y,dy)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use the frequency with the most power to find the best period to represent the signal in the data. In the code below, we put the LS algorithm together with the phase-folding code to plot the phase-folded data with the best period." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "period=1\n", "\n", "\n", "rand = np.random.RandomState(42)\n", "t = 100 * rand.rand(100)\n", "y = np.sin(2 * np.pi /period* t) + 0.1 * rand.randn(100)\n", "dy = 0.1 * (1 + rand.rand(100))\n", "\n", "def lomb_scargle(t,y,dy):\n", "\n", " frequency, power = LombScargle(t, y, dy).autopower()\n", " return 1/frequency[np.argmax(power)]\n", "\n", "def plot_best_period(t,y,dy):\n", " phase_fold(t,y,lomb_scargle(t,y,dy))\n", "\n", "plot_best_period(t,y,dy)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us apply the Lomb-Scargle Periodogram to real data. First, let's take a look at unphased Cepheid data using the code below. (These data are from the American Association of Variable Star Observers.) Please fill in the code block below to plot the unphased data. Notice how these data span a very long time period. You may alter the code block in order to examine shorter time periods. Do you have an educated guess about the period of this Cepheid?" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'V Magnitude')" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data=np.loadtxt(os.path.join(data_dir,'cepheid.csv'),delimiter=',',skiprows=1)\n", "t=data[:,0]\n", "y=data[:,1]\n", "plt.plot(t,y,ls='none', marker=\"o\")\n", "plt.xlabel('Julian Date')\n", "plt.ylabel('V Magnitude')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we apply the LS algorithm to the Cepheid data. " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10.148137476588284\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data=np.loadtxt(os.path.join(data_dir,'cepheid.csv'),delimiter=',',skiprows=1)\n", "t=data[:,0]\n", "y=data[:,1]\n", "def lomb_scargle(t,y):\n", "\n", " frequency, power = LombScargle(t, y).autopower()\n", " return 1/frequency[np.argmax(power)]\n", "\n", "def phase_fold(t,y,period):\n", " phases=np.remainder(t,period)/period\n", " phases=np.concatenate((phases,phases+1))\n", " y=np.concatenate((y,y))\n", " plt.scatter(phases,y,c='k')\n", " plt.xlabel('Phase')\n", " plt.ylabel('Flux')\n", " print(period)\n", "\n", "def plot_best_period(t,y):\n", " phase_fold(t,y,lomb_scargle(t,y))\n", "\n", "plot_best_period(t,y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, let's apply the LS algorithm to the 1856 Ruzena data in order to see which frequencies the algorithm says have the most power. This should tell us the rotation period of the asteroid. Please complete the code in the block below in order to plot the periodogram for the 1856 Ruzena data. It would be most useful in interpreting the periodogram if the \"best\" period was outputted in hours, since astronomers are used to discussing asteroid rotation period in hours.\n", "\n", "Once you get the outputted best period (in hours), when you put it into the phase-folding code that we used for the asteroid above, does it yield a good phased lightcurve for the asteroid? BE CAREFUL HERE: should an asteroid's lightcurve have one or two maxima (and minima) per rotation? And does the LS algorithm output take that into account? Human interpretation is always necessary in science." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.9738761062643166" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data=np.loadtxt(os.path.join(data_dir,'asteroid1.csv'),delimiter=',',skiprows=1)\n", "t=data[:,0]\n", "y=data[:,1]\n", "\n", "def lomb_scargle(t,y):\n", "\n", " frequency, power = LombScargle(t, y).autopower()\n", " plt.plot(frequency, power)\n", " plt.show\n", " plt.xlabel('Frequency')\n", " plt.ylabel('Power')\n", " return 1/frequency[np.argmax(power)]*24\n", " #puts returned number into units of hours for asteroid rotation period\n", "lomb_scargle(t,y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Challenge: The above data sets were relatively straightfoward to work with using the Lomb-Scargle Periodogram because the data were rather \"clean\" and did not exhibit much power at alternative frequencies. You can find two additional data sets in the data director for this module. One is \"asteroid2\", which is for the asteroid 4404 Enirac observed by student at the University of Maryland in Spring 2017. The other is \"delta-scuti\", which is for a Delta Scuti-type variable star. You will find that both of these objects have very \"messy\" periodograms, in which is its unclear what the \"best\" period is. You can attack each of these objects by lookig at subsets of the data (and running LS on the subsets), potentially temporarily eliminating data points which are outliers, and otherwise being clever in your analysis You can begin your analysis in the space below.\n", "\n", "You can also download your own data for many variable objects from the American Association of Variable Star Observers' website, aavso.org." ] }, { "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.3" } }, "nbformat": 4, "nbformat_minor": 2 }