{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Catalog Utils" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Use catalogutils to interact with the MAYA catalog of numerical relativity waveforms (https://cgp.ph.utexas.edu/waveform). Use this to obtain the parameters (such as mass ratio, spins, etc) for simulations, search for simulations with given parameters, plot parameters, or download waveforms. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from mayawaves.utils.catalogutils import Catalog\n", "from mayawaves.utils.catalogutils import Parameter as p" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create an instance of the Catalog class\n", "\n", "This updates the metadata for the catalog and creates a Catalog object for you to interact with." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "catalog = Catalog()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Catalog has a property to list all simulations in the maya catalog" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of waveforms in the metadata file is 635. First waveform is GT0001\n", "The first ten waveforms are ['GT0001', 'GT0002', 'GT0003', 'GT0004', 'GT0005', 'GT0006', 'GT0007', 'GT0008', 'GT0009', 'GT0010']\n" ] } ], "source": [ "all_simulations = catalog.simulations \n", "print(f\"Total number of waveforms in the metadata file is {len(all_simulations)}. First waveform is {all_simulations[0]}\")\n", "print(f\"The first ten waveforms are {all_simulations[:10]}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Parameter enum allows you to easily reference specific parameters" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Parameter.NAME\n", "Parameter.MASS_1\n", "Parameter.MASS_2\n", "Parameter.IRREDUCIBLE_MASS_1\n", "Parameter.IRREDUCIBLE_MASS_2\n", "Parameter.MASS_RATIO\n", "Parameter.SYMMETRIC_MASS_RATIO\n", "Parameter.DIMENSIONLESS_SPIN_1\n", "Parameter.DIMENSIONLESS_SPIN_X_1\n", "Parameter.DIMENSIONLESS_SPIN_Y_1\n", "Parameter.DIMENSIONLESS_SPIN_Z_1\n", "Parameter.DIMENSIONLESS_SPIN_2\n", "Parameter.DIMENSIONLESS_SPIN_X_2\n", "Parameter.DIMENSIONLESS_SPIN_Y_2\n", "Parameter.DIMENSIONLESS_SPIN_Z_2\n", "Parameter.CHI_EFF\n", "Parameter.CHI_P\n", "Parameter.F_LOWER_AT_1MSUN\n", "Parameter.SEPARATION\n", "Parameter.ECCENTRICITY\n", "Parameter.MEAN_ANOMALY\n", "Parameter.MERGE_TIME\n", "Parameter.MAYA_SIZE_GB\n", "Parameter.LVCNR_SIZE_GB\n" ] } ], "source": [ "print(*[(param) for param in p], sep = \"\\n\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Catalog has properties to grab all nonspinning, aligned spin, or precessing simulations" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of waveforms with no spin: 103. First waveform is GT0370\n" ] } ], "source": [ "nonspinning_simulations = catalog.nonspinning_simulations\n", "print(f\"Total number of waveforms with no spin: {len(nonspinning_simulations)}. First waveform is {nonspinning_simulations[0]}\")" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of waveforms with aligned spins: 157. First waveform is GT0355\n" ] } ], "source": [ "aligned_spin_simulations = catalog.aligned_spin_simulations\n", "print(f\"Total number of waveforms with aligned spins: {len(aligned_spin_simulations)}. First waveform is {aligned_spin_simulations[0]}\")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of precessing waveforms: 370. First waveform is GT0001\n" ] } ], "source": [ "precessing_simulations = catalog.precessing_simulations\n", "print(f\"Total number of precessing waveforms: {len(precessing_simulations)}. First waveform is {precessing_simulations[0]}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Get simulations with a given mass ratio " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of waveforms with q = 2 is 53. First waveform is GT0428\n" ] } ], "source": [ "mass_ratio = 2\n", "sims = catalog.get_simulations_with_mass_ratio(mass_ratio = mass_ratio) \n", "print(f\"Total number of waveforms with q = {mass_ratio} is {len(sims)}. First waveform is {sims[0]}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### You can also enter a tolerance for a parameter, and will receive simulations that are within that tolerance of the requested mass ratio" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of waveforms with q = 2 and tolerance 0.1 is 92. First waveform is GT0376\n" ] } ], "source": [ "mass_ratio = 2\n", "tol = 0.1\n", "sims = catalog.get_simulations_with_mass_ratio(mass_ratio=mass_ratio, tol=tol) \n", "print(f\"Total number of waveforms with q = {mass_ratio} and tolerance {tol} is {len(sims)}. First waveform is {sims[0]}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Get simulations with a given symmetric mass ratio" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of waveforms with eta = 0.23 and tol = 0.005 is 9. First waveform is GT0376\n" ] } ], "source": [ "eta = 0.23\n", "tol = 0.005\n", "sims = catalog.get_simulations_with_symmetric_mass_ratio(eta=eta, tol=tol)\n", "print(f\"Total number of waveforms with eta = {eta} and tol = {tol} is {len(sims)}. First waveform is {sims[0]}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Get the all the parameters of a given simulation" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The mass ratio of GT0378 is 2.050005889145129\n" ] } ], "source": [ "simulation_parameters = catalog.get_parameters_for_simulation(\"GT0378\")\n", "print(f'The mass ratio of GT0378 is {simulation_parameters[p.MASS_RATIO]}')" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "All available parameters of GT0378 are:\n", "\n", "name: D10_a0.0_q2.05_m103_Qs\n", "m1: 0.672130590009755\n", "m2: 0.3278676386095844\n", "m1_irr: 0.67213059\n", "m2_irr: 0.3278676386\n", "q: 2.050005889145129\n", "eta: 0.220371\n", "a1: 1.0775370384725463e-05\n", "a1x: -6.189079683097315e-13\n", "a1y: -5.31375343569779e-15\n", "a1z: 1.0775370384725444e-05\n", "a2: 1.5292461249223795e-05\n", "a2x: -1.0523082784791894e-11\n", "a2y: -1.0845157044129532e-13\n", "a2z: 1.5292461249220173e-05\n", "chi_eff: 1.2256380923285683e-05\n", "chi_p: 4.652204568862241e-12\n", "f_lower_at_1MSUN: 1807.5340709236116\n", "separation: 9.99995249833483\n", "eccentricity: 0.005865368688535364\n", "mean_anomaly: -1.0\n", "merge_time: 998.6407813\n", "maya file size (GB): 0.3597998470067978\n", "lvcnr file size (GB): 0.00412185862660408\n" ] } ], "source": [ "simulation_parameter_string = '\\n'.join([f'{par.value}: {value}' for par, value in simulation_parameters.items()])\n", "print(f\"All available parameters of GT0378 are:\\n\\n{simulation_parameter_string}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Get all simulations with given parameters\n", "\n", "### This method can be used with any number of parameters. It is better to use non-zero tolerances while searching for waveforms to ensure you get all simulations that fit your desired parameters." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "125\n", "21\n", "27\n" ] } ], "source": [ "simulations = catalog.get_simulations_with_parameters(params = [p.MASS_RATIO, p.DIMENSIONLESS_SPIN_Z_1], values = [1, 0.5], tol = [0.01, 0.5] )\n", "print(len(simulations))\n", "\n", "simulations = catalog.get_simulations_with_parameters(params = [p.MASS_RATIO, p.DIMENSIONLESS_SPIN_X_1, p.DIMENSIONLESS_SPIN_Y_1, p.DIMENSIONLESS_SPIN_Z_1, p.DIMENSIONLESS_SPIN_X_2, p.DIMENSIONLESS_SPIN_Y_2, p.DIMENSIONLESS_SPIN_Z_2], values = [1, 0.0, 0.0, 0.6, 0.0, 0.0, 0.6], tol = [0.01, 0.001, 0.001, 0.5, 0.001, 0.001, 0.4999] )\n", "print(len(simulations))\n", "\n", "simulations = catalog.get_simulations_with_parameters(params = [p.MASS_RATIO, p.DIMENSIONLESS_SPIN_2], values = [1, 0.1], tol = [0.01, 0.1] )\n", "print(len(simulations))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting the distribtution of waveform parameters in the catalog" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEGCAYAAACUzrmNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAAsTAAALEwEAmpwYAAAqCUlEQVR4nO3df3Rc5X3n8fdXkiUbOQF7Y6gxPwwNhpiSX9VSUULtDaYlNI3jbpOlqQlQCqRJGtqTtiZtN2dP9uwe0g1tkpMAdQg1jtOSHAKF7tI0ATYONFEOgk3jYIhwSQGDaysVcmsBkm1994+5Y0Z3njtz78zcuTPy53WOjzTP3Jl5LFvP9z6/vo+5OyIiIrX0FF0BERHpfAoWIiJSl4KFiIjUpWAhIiJ1KViIiEhdfUVXIA+ve93rfOXKlUVXQ0Skqzz66KM/cfdloefmZbBYuXIlo6OjRVdDRKSrmNkzSc9pGEpEROpSsBARkboULEREpC4FCxERqUvBQkRE6pqXq6EaNTI2zd0jLzNxYJali3vYMLyI4VUDRVdLRKRwhfcszOxiM/uRme0ys+sDzx9rZn9rZv9oZo+b2ZV51GNkbJovfWuKiQOzAEwcmOVL35piZGw6j48TEekqhQYLM+sFPg+8A1gN/LqZrY5d9iFgp7u/CVgL3Ghm/a2uy90jLzNzaG7ZzKFSuYjI0a7onsW5wC53f9rdZ4A7gPWxaxx4jZkZsBiYAGLNevPKPYq05SIiR5Oig8UK4LmKx7ujskqfA94AvADsAK5z96oW3MyuMbNRMxsdHx/PXJGli8M/iqRyEZGjSdEtoQXK4kf3/RLwfeBE4M3A58zstVUvct/s7kPuPrRsWTC1SU0bhhfRH5vu7+8rlYuIHO2KDha7gZMrHp9EqQdR6UrgLi/ZBfwYOKvVFRleNcBlaweP9CSWLu7hsrWDWg0lIkLxS2cfAc4ws9OA54FLgffFrnkWuBB4yMxOAM4Ens6jMsOrBhQcREQCCg0W7n7IzD4M/D3QC9zm7o+b2Qei528B/juwxcx2UBq22uTuPyms0iIiR6Giexa4+33AfbGyWyq+fwH4xXbXS0REXlX0nIWIiHQBBQsREalLwUJEROoqfM6ikyiRoIhImIJFpJxIsJwfqpxIEFDAEJGjnoahIkokKCKSTMEiokSCIiLJFCwiSiQoIpJMLWFEiQRFRJJpgjtSnsTWaigRkWoKFhWUSFBEJEzDUCIiUpeChYiI1KVgISIidSlYiIhIXZrgzlle+aaUx0pE2qnwYGFmFwOfoXRS3q3ufkPgmrXAp4EFwE/cfU0edQk1wBBeTpvm2nNO7ePhJ2Y4HG0Cnzgwy5YHk/NNpQ0AymMlIu1m7l7ch5v1AmPARcBuSmdy/7q776y45jjgO8DF7v6smR3v7vtqve/Q0JCPjo5mqku8AQbo7QEcDlf8iPr74Lwz+/nuj2bmXmuAcSQw1DK40Pj0by6p+/n9fXDZ2sGqALBp62QwDcnSxT188v3H1a+AiEiAmT3q7kOh54qeszgX2OXuT7v7DHAHsD52zfuAu9z9WYB6gaJRoUSCh2fnBgooJRd8aOdM9bWeLlAATL1SHaCzJDJUHisRabeig8UK4LmKx7ujskqrgCVm9i0ze9TM3h96IzO7xsxGzWx0fHw8c0WyNLSzOXTGsgQA5bESkXYrunWxQFm8Ke4Dfhb4ZeCXgP9qZquqXuS+2d2H3H1o2bJlra9phZ5QrTMYbHJaQXmsRKTdig4Wu4GTKx6fBLwQuObr7j7l7j8Bvg28qU31q9LfBxes7q9qrHstmuOIlcXjSq/BpRcMNlWH4VUDXLZ28EhPYuninuDchohIqxS9GuoR4AwzOw14HriU0hxFpXuAz5lZH9AP/Bzw562uSI+Fh5cMWLK4p2qF0uuXp1s5FSoLNepJn5/Ui1EeKxFpp0KDhbsfMrMPA39Paensbe7+uJl9IHr+Fnd/wsy+DvwAmKW0vPaHra7LBav72f74TFX5L5zdz8Y1i6vKkxrrtGVpP/+C1f11XysikrdCl87mpZGlswDbth/goZ0zzHrpjv6C1eFAkZeiP19Ejm61ls4WPQwlDdIObhFpJwWLyLbtB+YMA8060eMDbbm7z/L52sFdooAp0j5Fr4bqGKH5glrlrfbQzvDnhMqzbOCbr8oBs7wPpRwwR8amC66ZyPyknkWDWn1Xm7TRL1TebTu48+gB1AqY6l2ItJ6CRQPyGAbKsnR2abSUN1TeafIaMuu2gCnS7RQsGpDlrjbtXXWWpbMbhhcFkw42u4N7ZGyaOx5+6UjuqsGB0gbCZhr1vHoA3RQwReYD/WY1IO1dbZZx9Y1rFnPWit45ZWet6E3c49HqHdwjY9NseXBqTpLDqWnY8kBz8wB59QCU8kSkvdSzaEDau9qsPZCn9x6eU/b03sOMjE0nbvRr5dj83SMvB7PmHvbmegF59QDK9dFqKJH2ULBoQNphoCx31UVP2Na602+mF5DXkBko5YlIOylYRL7wwaVcfdNEsDwu7V1tlrvqrMM1rd7tnVRXaC5LrnoAIvODgkWFUGBIkuauNstddZbAkscGwg3Di/ji/VPhJ625nOzqAYh0P01w5yjLRPQ5p4bjdqg8ywa+LHVNEjrZT0SOLupZVMgjkd+uPQeZnCr1GCanZtm152CwYR79p4PB14/+00E2rplblmUDXxZajioiSRQsIlmHdtLsn8jynkl37+28q98wvIgtD07NWRXV26PlqCKiYagjsgztpN0/kcdwUe7isUkjUCJCB/QszOxi4DOUDj+61d1vSLjuPwIjwH9x9ztbXY9aQzubtk7O6UEkLXO94+GX5vQ28houysvdIy9zOFa3ZvdZiMj8UGiwMLNe4PPARZTO2n7EzO51952B6z5J6US9tov3IOKBomzqFWcquhXvxhxFyrckIkmKHoY6F9jl7k+7+wxwB7A+cN3vAF8D9rWzciFJgUJEZD4rOlisAJ6reLw7KjvCzFYAG4Bbar2RmV1jZqNmNjo+Pt7yiuYtnheqXrmISDsVHSxCu73iI/qfBja5++HAta++yH2zuw+5+9CyZctaVb+gUNrwZu3bH57ISCoXEWmnoie4dwMnVzw+CXghds0QcIeVdhG/DrjEzA65+9+0pYYx/X1w3pn9fPdHM3OGpHp7AKdqgjgtzReISCcrumfxCHCGmZ1mZv3ApcC9lRe4+2nuvtLdVwJ3Ah/MI1Akpfq4al31DuyNaxZX7cy+4u2DXHHh3LKr1g1m+qyiJdU3qXw+GhmbZtPWSa6+aYJNWyd1TKtIpNCehbsfMrMPU1rl1Avc5u6Pm9kHoudrzlO00sjYdNVpdeXhpk++/7iq65PyHYXK4pv3mpXXTuukM7w7delsq49rzetUP5H5oOhhKNz9PuC+WFkwSLj7FXnVY9v2qar9D7NeKm+0ocir8ckr7XdeQ2F5nMGdx8+26DTxIp2s8GDRKabDqZkSy9PI0vj09cKhwBR+X2AxVF5pv/PoseQVMPNo2POcN8ojYIq0U9FzFvNalsZnICFs90BwDD2UoLBZG4YX0Rtb6dVrzfVYajXqzcijYU8Kis2c5wHZjtcV6VQKFh1iKqHdmDlcvYP8xnv2s/3xmSPDZuUEhdu2H2i+IvFlwU0uE87rbj2pYW+mFxQKlgCvHKSphj2vgCnSTgoWkTVn9wfLz1rR25bVMWn3bswcgiefD285+fbjcxMUZl3ZEzqH+/Bsc41aHo065NMLGl41wMKB6n+IZn8GWhYt84GCReQ7T4QzwT75/OFchg/i79GK5IKVb9HI0EcejdqG4UX0x4bYWnUGd6t7QZCcEj6P4S2dEyLdRP9bIwdTtgVZhg9qperIewiikaGPPBq14VUDnHdm/5GeU4+VNjU2O7mbRy8I8hveyi1girSJgkUDJg7Mphri+ej6Y2u+RyPijU7W96/1uXk0aiNj03z3R3PnV777o5mme2d5De3k8TPIcryuSKfS0tkGDC601MtBBxdacGgjy51qeUlrecnlF++fSv2aLJ+bZUlu2qWgee1dyGtjYl7LkpM2cYp0CwWLjPr7APdUDeDI2DSvTFcHiqxHlcZ3kKcJFo1u3EvTqGXZO5FnDyCPjYmghl0kRMNQKcSHD5KWucYbwNDJcwALF1Q3qlnGypNWblWWNzr0kWZ4Lct8SF6TuxraEWkv9SxSiN/Zl4co4uINYNLdcyjYnHNqH9sfr16Rdc6pjf8T1bpDDg0jAal6DFl6C+oBiMwPChYN2DC8iC0PTM3pNYTW+GcZV9/xTPgIvlD5QzvDy3wf2jnDxjXV5fHAcM6pfXNSrJeDwoLe6pMAQ8NrWf5eec0BiEh7KVg0ypi7sSGwxj9pMjp0V53lbj1pT0aoPDS/EOrBzBxKPjI2XoesvQX1AES6n4JFA2qt8a9sFO8bfSn4+vtGXwrOWbRidc+mrZNz7uBD8wtZxXeXd0pvQcn5RNpHwaIBaXsBeybDXYBQ+YbhRdx2/1RVZyXr2H58x3azgQLCPZaiews6e0KkvQpfDWVmF5vZj8xsl5ldH3j+N8zsB9Gf75jZm4qoZ6U8Vvjs2nOw6vBxj8obNXMofc6p/r7k7KqdmJZCyflE2qvQnoWZ9QKfBy6idB73I2Z2r7vvrLjsx8Aad3/RzN4BbAZ+rp31jA/tbBhexJYHp+YMRfX2lFYuVV6bRa1J69cvnzvcksWslwJBfH7hvDP72fHMoZqrocrXdmJaCiXnE2mvooehzgV2ufvTAGZ2B7AeOBIs3P07FdePACe1tYZUD+2cd2Y/8W7A7Cw8vHPmyAqprI1WrUnr+HBLFpVzF2nH9rthHiCvHdwiElZ0sFgBPFfxeDe1ew1XAX+Xa43qmDlUutuPN+4OwQ14acXP/45/ZiPKvYIs8wtFz0Wklef+DRGpVnSwCI2oB5tMM/tPlILF2xKevwa4BuCUU05pVf2CWpFOPG7Vib2J51Sk1WNw3GBP072CblhlNLxqgF17Dh4J3K3KZtsNf3eRIhQdLHYDJ1c8Pgl4IX6Rmb0RuBV4h7v/a+iN3H0zpfkMhoaGcmjOWyveKE1Nh4eX4ts5apn16t3mjdSr1auM8miAk7LZvn75dFP11AorkbCiB3gfAc4ws9PMrB+4FLi38gIzOwW4C7jM3cfyqsiiBemuS5sivN5nxQ8mmk5Y9OQt+sy07nj4pZauMsrr/Ok8VkNphZVIskKDhbsfAj4M/D3wBPBVd3/czD5gZh+ILvs48B+Am8zs+2Y2mkddzl2VfKxqPFldLZXXXrVukGNjQ+jHLoJFAz2Z5iHiCfPyMjI23fKT4vJqgPNYDaUVViLJih6Gwt3vA+6Lld1S8f1vAb+Vdz1CKTCgdKzqFz64dE5ZrRTh8WGgf3jiFfZXzEUsX5p9biI+6Xz1TROZXp9WI6fo1ZNXA5zHaiitsBJJpt+CFOLpuuO9hbJ4+Y337K8KDE8+f5jeFpwVnYd6p+g1IqmhTdoAmFYeJ9rp+FORZAoWKVWOtX/qyqXB4aVPXTm3B5LUgzjs6ech0u7AboVaDXujE7wbhhcFg+MrB2lq3iKP8yx0RoZIssKHobpJZbrueGCA6lU/tVy2dnDOtUl39aFlukl7MpoNLElnagy9Pjyfk8bwqgHuePilqrmQUOLFRt671Q15t+wzEWk3BYuMkhr10LLLWuKN0oc2TwQnvUM9kKQ9GatO7K35mfWM7grP24zuCp+TkVarJ81FpP3qBgszO9/d/8HMBty9ufWOHWzN2f2Jk9yVyj2GeC9i+lD1udxZHEx4bah83/5w45tUnlbScbFJ5WkNLrRgwOjkiWNtzhOZK81v62ejr9/NsyJF2ztZf4VSebIztHcg6e456X3ikl4dKu+mJZ4jY9O8Ml39t+jt6dyJ47z2hoh0szTDUAfN7C+Bk8zss/En3f0jra9W+9Vbzlp5d7lp62RTvYjQa7PMQ+Q1Z5HUAxhc2Pgb3z3ycjBn1sIFnbsrutbekE6ts0je0vQs3klp09zLwKOBP/PeVetKG/G+eP/UkRTkzQgNv1ywOjyJHCrPcqxqFpe+7Rh6Y1Xr7SmVNyrpZ9Xs0FaeuqnnJtIuaXoWf+Dum8zsFHe/PfcadaAsE9e1VjaVnXNq9Y9945rFwIE5ifEuWN0flaf7jGbnAPI4LrXbNrrVGmrq1DqLtEOaYHGJmf0JpbxNf5pzfTpSliGn8g7ukbHpxJ3eSauLNq5ZnGrVUZ7puVu9dDRpOW4oYHaCWrvYO3WORaQd0vzGfh34CTBoZv/Gq4lQDXB3f22O9esqlXeew6sGEoNFs0MweaXnzsOOZ8KRNqm8aLV6hZ348xUpy3sFX91+tbv/gbsfC/wfd3+tu7+m8mvLatLl2pkWIik9dyeu1um28f+kyfxmJvlF8taOFXypB2Hdfb2ZnWpm6wDMbJGZvaZlNSnY8uOyNQZrzu6vmxYia8MzMjbNpq2TVbmo4roplXbSOH/Hjv97wiqBpHKRDtCONiH1wLGZXU3pJLqlwE9TOqjoFuDCltWmQJ943xI+/lcvsmcyXaMQmniOG/rpBVXj9Umri7IcvNNNd+vdNmeR18ZEkTy1o03I8hv7IeBc4HsA7v6UmR3fspp0gE+8b8mcx0nLZNPcFZeHiuLe9obw3MJ8XdvfTXMWWgkl3aodqw6zvNO0ux9p/cysj/QnfnalZlJWhxp/SG4ku6m3kEU3/b20Ekq6Vain3up51Cw9i+1m9kfAIjO7CPgg8LfNVsDMLgY+A/QCt7r7DbHnLXr+EuAl4Ap3f6zZzw1Jc6jQzKHS5rxaByDVMnFgNvPhRVffNFE6/8HCO6zj15Z3eFe+plxW72tIvdfUWnmR9Y4ny4qOVq/+0EqoEuXF6i4jY9N8OzDU2+oVkll6FtcD48AO4FpKp9v9STMfbma9wOeBdwCrgV83s9Wxy94BnBH9uQa4uZnPTJLX6XOtMjWdnL01rtzoV76mcuVUra+13i/pa62VFwN94TcOlWdZ0ZHH6o+kM0baeQZ60ZQXq/t86VtTwSGe0DB4M7Kshpp19y+4+3vc/dei74/U0cy+1sDnnwvscvenoyGuO4D1sWvWA1u9ZAQ4zsyWN/BZkqOklRdJCwZC5VlWdOSx+iNp82UzecC6TTettJOSdv2/beWs3ekNvGYF8FzF491RWdZrMLNrzGzUzEbHx8cbqIo0q9l5iCzzG900F9JN9HOVJK0MFo1Mdoc2HMTfJ801uPtmdx9y96Fly5Y1UBVpVrMrL7Lsyei6/RtdQj9XSVL0/4DdwMkVj08CXmjgGilY0sqLpM2OofIsq8+aWakmyfRzlSStDBaN5EN4BDjDzE4zs35KyQrvjV1zL/B+KxkG9rv7nibr2jXKZ1QMDqRPORF6Tbms3tda75f0NWkHO8D0ofAbh8qHVw1w2drBujvjs14r6ennKklauc5jU9YXuPshM/swpfMyeoHb3P1xM/tA9PwtlFZdXQLsorR09srWVflV/b0wEzj/qL8XPn/t0obf9yNfmODlg68+XrQAPnt16f1qbforZ68N+d3bXkw8pOjTv7kk8IriZB0Dz5L1ttUZcrstnXpeWv1zlXyVM7uGylspzRncX3X395rZjlidylln30jpm280UgF3v49SQKgsu6Xie6e0ezxXCxYYM4Ej3RYsaO5HXg4MIQ1PJnZR/qJuaoDzTP0ukpcsRzI3I03P4rro6ztb/NkdJWkPQ5aztUNqbXBqtCHtpvxF3ZQbKo/Dn0Ty1q4bsrq/seX5AXd/pqWf3GEGFsD0wXB5SJpdriNj02x5cIrD0b/jxIFZtjz4anLARu9k+3rhUGDIrK+35ssK0U25oUBDMNJ92tUjTh16zOxXzewpM9tvZv9mZv8eHYY0L4QCRVJ52l2udzz80pFAUXZ4tlQOjU8mhgJFrfIiad2+SL7atSghy1jAnwK/4u5PtLQGXShthtg0Q1vz/U62m+YsKik/knSTdrQjWX5j9ypQlOhuOb2kuYlOnLMoU34kkWppVkP9avTtqJl9Bfgb4MhvjbvflU/VOlfRd8uas8jXfD1bRKQZaW7vfiX66pT2OfxixXMOHHXBougllpqzyFc31lkkb2lWQ10JYGa3A9e5+2T0eAlwY66161Bpl1jm1QMpumeTRVJdBzv4Br2bfr4i7ZJl4PiN5UAB4O4vmtlbWl+l7pBmQimvHsjxxxoTB8LlnWbD8CK2PDBFfL/jKwdLcwOdOKxTdM9RpBNluVXqiXoTAJjZUlqbLqRQltDOJpWnMbxqgNNPmDuRcPoJvU03kGMvhMebksqLNLxqgIUD1T/Ew7Ode0aC8iOJVMvS2N8IfMfM7qQ0V/Fe4H/kUqsC5JFBY9v2Azz5/NwG/MnnD7Nt+wE2rlnc8PsmnWpX67S7IiUtIe7kOYD5vqRZJKssJ+VtBf4zsJfS8aq/6u5fyqti88FDO8PHGiaVz1c6I0Gk+2UaRnL3ncDOnOoy73RbDyAvmgMQ6X7zZs6hE/VYODDUOjtiPlKCPpHup2CRowtW9wczrl6wur+A2hRLcwAi3a2wYBGtpvoKsBL4Z+C97v5i7JqTga3ATwGzwGZ3/0x7axqWJnfQxjWL2Tu5f84k91krehMnt9PmI2rXYSciImVFzjBeDzzg7mcAD0SP4w4BH3X3NwDDwIfMbHUb6xiUNnfQyNg0T+2ZuxrqqT2HgzmGsuQjatdhJyIiZUUGi/XA7dH3twPvjl/g7nvc/bHo+38HngBWtKuCSWrlDqpUL0V5I+8pIlKEIoPFCRUHK+0Bjq91sZmtBN4CfC/h+WvMbNTMRsfHx1td1znS5g7Kcvqe8hGJSCfLdc7CzO6nNN8Q98cZ32cx8DXgd909eOCSu28GNgMMDQ3lOiKj3EH16TwIkfkl12Dh7uuSnjOzvWa23N33mNlyYF/CdQsoBYovd0o69LT7BgYHwudid3ISvVYoz7+Ufz7l+RdAAUOkSxV5K3wvcHn0/eXAPfELzMyALwJPuPuftbFuNaXNHdSX8NMNlSftvejGPRmafxGZf4rcZ3ED8FUzuwp4FngPgJmdCNzq7pcA5wOXATvM7PvR6/7I3e8roL5zpNk3sD+hbQyVz6c9GZp/EZl/CgsW7v6vwIWB8heAS6LvH6ZN2weK3m1d2ntxgId2zjDrpc+9YHV/UwkHi6I5HZH5Rzu4I52Qx2njmsVsXFP/urNW9FZlsy2XdwLlghKZf3Srl6Plx4W7JUnlaZ3/hoVV52yYlco7gc6DEJl/1LPI0Sfet4SP/9WL7Jl8tXuy/DjjE+9bUuNV9d098nLVORvupfJOaZCVC0pkflGwyFmzgSFEE8gi0m4KFh1k2/Z0E9xFT8a3kjbviXQHBYsOsW37gTlLZ2ed6HH1EaydMBnfCtq8J9I9NMHdIbIcwTpfNvBp855I91Cw6BBZegvzpWehuReR7qFhqJzdeE/14UcfXX9s1XVZ5iHmS84pbd4T6R4KFpFjF4XTcBzbxD6yeKAAePL5w9x4z37Of8PCORO7q04Mb7QLpfs4WH1ZzfJOpc17It1DwSLy5tPDuZnefHrjuZlCjX+5/Om9cyd2D7xS6nWMvXC47mqo+Dh/vfJOVZ7E1mookc6nYBGpNcGcJgVHVqGJ3X37nb/47aWt/7AOps17It1Bg8ORTpg0TjuxO7gwvOwpqVxEpFnqWUTy2OjWa3A4Q7AZWADX3jxRdxjq0rcdw5YHp+ac793bUyoXEcmDehaRpHMjmjlP4ooLB4Pla87upz8WpnsMpg++GrDKm/K2bT9Q9frhVQNc8fa5ifqueHvnJuobGZtm09ZJrr5pgk1bJxkZCyzlEpGOpmAR2bhmMWvO7j/Sk+ixUqPezHkSw6sGuGrd3Eb9qnWDbFyzuCora9JwV9Jcyq49B5mcKnUtJqdm2bXnYMP1zFN5l3Z5iK28S1sBQ6S7FDYMZWZLga8AK4F/Bt7r7i8mXNsLjALPu/s786rT3snDc+7s904mr0VNm9Mo1KiXJ3Urr7/6pong54SCSJbUIEWrtUu7U3tCIlKtyJ7F9cAD7n4G8ED0OMl1wBN5VqbWnoi4tHfL5UY9zdBSFqElvrXKi6Rd2iLzQ5HBYj1we/T97cC7QxeZ2UnALwO35lmZWnsi4tLmNMrSqA8sCNcrqTwv27Yf4NqbJ7j6pgmuvXmi6cCWtEJLu7RFukuRv7EnuPsegOjr8QnXfRr4Q6DmraiZXWNmo2Y2Oj4+3tKKxuVxtzydMOWQVJ6HVveERsameWW6ehytt0e7tEW6Ta7BwszuN7MfBv6sT/n6dwL73P3Rete6+2Z3H3L3oWXLljVd91qS7oqbuVvO4z2zypL5No27R14OLh1euEApyEW6Ta4T3O6+Luk5M9trZsvdfY+ZLQf2BS47H3iXmV0CLARea2bb3H1jTlVOJY+cRuec2hccnjrn1PatQWj1xsSknlYoCaKIdLYiN+XdC1wO3BB9vSd+gbt/DPgYgJmtBX6/6EAB+eQ02vFMOLFTqDyvbK1ZNybWWxGmrLIi80eRweIG4KtmdhXwLPAeADM7EbjV3S9pZ2WyNpRpchplec8s8yB59UIuWB1OphjamJjmlDtllRWZPwq7xXP3f3X3C939jOjrRFT+QihQuPu38txjkccO7izvmWXOIksvJIssGxPTrAgbXjVQtfnwsrWdu9NcRJIpN1Sk1CAe4KGdM3VzM+XxnlnuwvPcu7BxzeJUWXbT1kFZZUXmBwWLCuWGsjwWv/3xGXY8M9nUfETaxjfLPEh/L8wEtoX09zZUxTnS7kzXfITI0UXBIibNWHxe0t6F53VSXpa/e9qeUNrgIyKdTbeBMWl3ZxcpaSVrs0dvZPm7p5mPUBJBkflDPYuYbshllMfZG5D9716vJ6QkgiLzh3oWMZ2wk7qePFZuQev/7t0QeEUkHfUsKmzbfiDYkLVrb8C27elWTm1cs5i9k3Oz5J61orfp9OSt3hehSXCR+UO/tZH4GRFlAwtoy96ALEn8RsameXrv3Nnsp/cebnouoNX7IjYML6o6EVCb8kS6k3oWkaRkeQcPtSfpXa0kfvGlt3nOBbRyX0QeaVFEpBgKFpFWJ9HL8/O7aS4gHjDKK6sUMES6i4JFJK8VRnl8fjfNBcSH99q5b0VEWqfzWpeC5LXCKI/P3zC8iN5YEOm15ucCRsam2bR1kqtvmmDT1smm50BGxqaD80Cdtm9FROpTzyKSR26oXD/fmLsLr8keUB4712sFhE4cMhORZAoWHSRtHqm7R17mcKytPTzb3AR32knzLOk7agWEpLO5RaQzaRgq0urzp/OUxwR3mvfMmr6j1hxK6GxuEelchQULM1tqZt80s6eir0sSrjvOzO40syfN7AkzOy+P+rT6/Ok8Jd2VN3O3nmb3dta8WbXmUEJnc4tI5ypyGOp64AF3v8HMro8ebwpc9xng6+7+a2bWDxyTR2WyLp1NOxyTZdgm9bWeUKmk8hTS7N5uJHfUF++farhOItI5igwW64G10fe3A98iFizM7LXALwBXALj7DJDLrX58vriyPC7tZHCWSeMs104lLFJKKk8jzQa6blqyKyKtVWSwOMHd9wC4+x4zOz5wzenAOPCXZvYm4FHgOnevul01s2uAawBOOeWUzJVZkHCg0ILAgUJpJ4Oz7LTOcm1ee0Lq7d7WmdoiR69cbwnN7H4z+2Hgz/qUb9EHvBW42d3fAkxRGq6q4u6b3X3I3YeWLVuWua6hQJFUnnY4JsuwTZZri9ptrjO1RY5eufYs3H1d0nNmttfMlke9iuXAvsBlu4Hd7v696PGdJASLZmUZYkl7bR7vCTA4EB5yGmxDm60ztUWOTkUONt8LXB59fzlwT/wCd/8X4DkzOzMquhDYmUdlsmRITXttHu8JgCWMNyWVp7Rt+wGuvXmCq2+a4NqbJzpy2bCIFKPIOYsbgK+a2VXAs8B7AMzsROBWd78kuu53gC9HK6GeBq7MozJZMqSmvTaP9wSYeiU83pRUnkY8h1N5nwkcaGoX++BCC9ZLm/JEuot5E8stO9XQ0JCPjo4WXY3cbNo6mThk9cn3H9fQe15780TipPlf/PbSht4TSqu8tjw4NWfHeW8PXPF2zXWIdBoze9Tdh0LPKd1HgrSn1hUhj1VJeU2a60wLkflBwSIgryGZVsmjAc4zRbsmxUW6n4JFQJZT64rS6gb4gtX9wXTi7UrRLiKdTcEioOhT84pQdIr2TpElPYvI0UTBIqDoU/OKkjZF+nyVx5keIvOFkvoEFH1qnhQja1ZdkaOJgkXAxjWLWXN2/5GeRI/BmrOPviGZo00e54SIzBcahkpwtA/JHI2UVVckmX4LRCKZUq6IHGXUsxCJaAOhSDIFC5EK2kAoEqZhKBERqUvBQkRE6lKwEBGRuhQsRESkLgULERGpq7BgYWZLzeybZvZU9HVJwnW/Z2aPm9kPzeyvzWxhu+sqInK0K7JncT3wgLufATwQPZ7DzFYAHwGG3P1ngF7g0rwqNDI2zaatk1x90wSbtk4yMjad10eJiHSVIoPFeuD26PvbgXcnXNcHLDKzPuAY4IU8KlPOOFpO91DOOKqAISJSbLA4wd33AERfj49f4O7PA58CngX2APvd/RuhNzOza8xs1MxGx8fHM1dGGUdFRJLlGizM7P5oriH+Z33K1y+h1AM5DTgRGDSzjaFr3X2zuw+5+9CyZcsy11UZR0VEkuWa7sPd1yU9Z2Z7zWy5u+8xs+XAvsBl64Afu/t49Jq7gJ8HtrW6rso4KiKSrMiW8F7g8uj7y4F7Atc8Cwyb2TFmZsCFwBN5VEYZR0VEkhUZLG4ALjKzp4CLoseY2Ylmdh+Au38PuBN4DNhBqb6b86jM8KoBLls7eKQnsXRxD5etHVRSORERwNwDh013uaGhIR8dHS26GiIiXcXMHnX3odBzGpAXEZG6FCxERKQuBQsREalLwUJEROpSsBARkbrm5WooMxsHnim6HjGvA35SdCUy6Kb6qq756Ka6QnfVt1Preqq7B1NgzMtg0YnMbDRpSVon6qb6qq756Ka6QnfVt5vqWqZhKBERqUvBQkRE6lKwaJ9c0pTkqJvqq7rmo5vqCt1V326qK6A5CxERSUE9CxERqUvBQkRE6lKwyJmZnWxm/9fMnjCzx83suqLrVI+Z9ZrZ/zOz/110XWoxs+PM7E4zezL6+Z5XdJ1qMbPfi/4P/NDM/trMFhZdpzIzu83M9pnZDyvKlprZN83sqejrkiLrWJZQ1/8V/T/4gZndbWbHFVjFOUL1rXju983Mzex1RdQtCwWL/B0CPurubwCGgQ+Z2eqC61TPdeR0yFSLfQb4urufBbyJDq6zma0APgIMufvPAL3ApcXWao4twMWxsuuBB9z9DOCB6HEn2EJ1Xb8J/Iy7vxEYAz7W7krVsIXq+mJmJ1M6y+fZdleoEQoWOXP3Pe7+WPT9v1Nq0FYUW6tkZnYS8MvArUXXpRYzey3wC8AXAdx9xt0nC61UfX3AIjPrA44BXii4Pke4+7eBiVjxeuD26PvbgXe3s05JQnV192+4+6Ho4QhwUtsrliDhZwvw58AfAl2xykjBoo3MbCXwFuB7BVellk9T+g9cfSB5ZzkdGAf+Mhoyu9XMBouuVBJ3fx74FKW7yD3Afnf/RrG1qusEd98DpZse4PiC65PWbwJ/V3QlajGzdwHPu/s/Fl2XtBQs2sTMFgNfA37X3f+t6PqEmNk7gX3u/mjRdUmhD3grcLO7vwWYonOGSapE4/3rgdOAE4FBM9tYbK3mHzP7Y0pDv18uui5JzOwY4I+BjxddlywULNrAzBZQChRfdve7iq5PDecD7zKzfwbuAN5uZtuKrVKi3cDu6Jx2KJ3V/tYC61PPOuDH7j7u7geBu4CfL7hO9ew1s+UA0dd9BdenJjO7HHgn8Bve2RvIfprSTcM/Rr9rJwGPmdlPFVqrOhQscmZmRmlc/Ql3/7Oi61OLu3/M3U9y95WUJl8fdPeOvPt1938BnjOzM6OiC4GdBVapnmeBYTM7Jvo/cSEdPCEfuRe4PPr+cuCeAutSk5ldDGwC3uXuLxVdn1rcfYe7H+/uK6Pftd3AW6P/0x1LwSJ/5wOXUbpL/37055KiKzVP/A7wZTP7AfBm4H8WW51kUQ/oTuAxYAel372OSflgZn8NfBc408x2m9lVwA3ARWb2FKVVOzcUWceyhLp+DngN8M3od+yWQitZIaG+XUfpPkREpC71LEREpC4FCxERqUvBQkRE6lKwEBGRuhQsRESkLgULERGpS8FCRETq6iu6AiJHiyhv0fuB5yglQXzU3T9VbK1E0lGwEGkDM/tZSilU3kLp9+4xoBsSNooAChYi7XIBcHc5b5GZ3VtwfUQy0ZyFSPsot450LQULkfb4NrDBzBaZ2WuAXym6QiJZaBhKpA3c/TEz+wrwfeAZ4KFiaySSjbLOihTAzP4bcECroaRbaBhKRETqUs9CRETqUs9CRETqUrAQEZG6FCxERKQuBQsREalLwUJEROr6/5ShEiXHI9PMAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEGCAYAAACKB4k+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAAsTAAALEwEAmpwYAAAR80lEQVR4nO3df6zdd33f8ecLJw2/gojlm9TY1pwhjzVBxWmvMtZoEyPt4tIWh64go8KsNcVIhBYmqi5ppZVp8oQ0fgzRhskpIW6XkVpAFrdqOzyXjVVjpE4WQmyTxmrS5BLXvpB2pJ2Uzea9P87Xnxzse2+Ow/3e772+z4d0dL7fz/l+z3kluTev+/15UlVIkgTwoqEDSJKWD0tBktRYCpKkxlKQJDWWgiSpuWjoAN+LdevW1ebNm4eOIUkryv333//Nqpqa67UVXQqbN2/m0KFDQ8eQpBUlyZ/P95q7jyRJjaUgSWosBUlSYylIkhpLQZLUWAqSpMZSkCQ1loIkqbEUJEnNir6i+Xv1rtueHuRzb3/P2kE+V5Kej1sKkqTGUpAkNZaCJKmxFCRJjaUgSWosBUlSYylIkhpLQZLUWAqSpMZSkCQ1loIkqbEUJEmNpSBJaiwFSVLTWykkeXGS+5J8NcnhJP+qG1+b5ECSR7vny8bWuTXJsSSPJLmhr2ySpLn1uaXwLPDGqnodsBXYluT1wC3AwaraAhzs5klyFbADuBrYBtyWZE2P+SRJZ+mtFGrkr7vZi7tHAduBvd34XuDGbno7cHdVPVtVjwHHgGv7yidJOlevxxSSrEnyIHASOFBVXwGuqKrjAN3z5d3iG4Anx1af6cYkSUuk11KoqtNVtRXYCFyb5LULLJ653uKchZJdSQ4lOTQ7O7tISSVJsERnH1XVXwH/ldGxghNJ1gN0zye7xWaATWOrbQSemuO99lTVdFVNT01N9RlbkladPs8+mkryym76JcCPAl8H9gM7u8V2Avd20/uBHUkuSXIlsAW4r698kqRzXdTje68H9nZnEL0I2FdVv5fky8C+JDcBTwBvBaiqw0n2AUeAU8DNVXW6x3ySpLP0VgpV9RBwzRzj3wKun2ed3cDuvjJJkhbmFc2SpMZSkCQ1loIkqbEUJEmNpSBJaiwFSVJjKUiSGktBktRYCpKkxlKQJDWWgiSpsRQkSY2lIElqLAVJUmMpSJIaS0GS1FgKkqTGUpAkNZaCJKmxFCRJjaUgSWosBUlSYylIkpreSiHJpiRfTHI0yeEk7+vGP5jkG0ke7B5vGlvn1iTHkjyS5Ia+skmS5nZRj+99CvhAVT2Q5FLg/iQHutc+VlUfHl84yVXADuBq4FXAf0nyd6rqdI8ZJUljettSqKrjVfVAN/0McBTYsMAq24G7q+rZqnoMOAZc21c+SdK5luSYQpLNwDXAV7qh9yZ5KMkdSS7rxjYAT46tNsMcJZJkV5JDSQ7Nzs72GVuSVp3eSyHJy4HPAe+vqm8DnwReDWwFjgMfObPoHKvXOQNVe6pquqqmp6am+gktSatUr6WQ5GJGhXBXVX0eoKpOVNXpqvoOcDvP7SKaATaNrb4ReKrPfJKk79bn2UcBPgUcraqPjo2vH1vsLcDD3fR+YEeSS5JcCWwB7usrnyTpXH2efXQd8E7ga0ke7MZ+BXh7kq2Mdg09DrwboKoOJ9kHHGF05tLNnnkkSUurt1Koqj9m7uMEv7/AOruB3X1lkiQtzCuaJUmNpSBJaiwFSVJjKUiSGktBktRYCpKkxlKQJDWWgiSpsRQkSY2lIElqLAVJUmMpSJIaS0GS1FgKkqTGUpAkNZaCJKmxFCRJjaUgSWosBUlSYylIkhpLQZLUWAqSpKa3UkiyKckXkxxNcjjJ+7rxtUkOJHm0e75sbJ1bkxxL8kiSG/rKJkmaW59bCqeAD1TVDwCvB25OchVwC3CwqrYAB7t5utd2AFcD24DbkqzpMZ8k6Sy9lUJVHa+qB7rpZ4CjwAZgO7C3W2wvcGM3vR24u6qerarHgGPAtX3lkySda0mOKSTZDFwDfAW4oqqOw6g4gMu7xTYAT46tNtONnf1eu5IcSnJodna219yStNr0XgpJXg58Dnh/VX17oUXnGKtzBqr2VNV0VU1PTU0tVkxJEj2XQpKLGRXCXVX1+W74RJL13evrgZPd+AywaWz1jcBTfeaTJH23Ps8+CvAp4GhVfXTspf3Azm56J3Dv2PiOJJckuRLYAtzXVz5J0rku6vG9rwPeCXwtyYPd2K8AHwL2JbkJeAJ4K0BVHU6yDzjC6Mylm6vqdI/5JEln6a0UquqPmfs4AcD186yzG9jdVyZJ0sIm2n2U5OAkY5KklW3BLYUkLwZeCqzrrjw+85f/K4BX9ZztgvWu254e5HNvf8/aQT5X0srxfLuP3g28n1EB3M9zpfBt4Df6iyVJGsKCpVBVHwc+nuQXquoTS5RJkjSQiQ40V9UnkvwIsHl8nar6rZ5ySZIGMFEpJPlt4NXAg8CZ00QLsBQk6QIy6Smp08BVVXXObSckSReOSa9ofhj4/j6DSJKGN+mWwjrgSJL7gGfPDFbVm3tJJUkaxKSl8ME+Q0iSlodJzz76b30HkSQNb9Kzj57hue82+D7gYuBvquoVfQWTJC29SbcULh2fT3IjflWmJF1wXtD3KVTVfwLeuLhRJElDm3T30U+Pzb6I0XULXrMgSReYSc8++qmx6VPA48D2RU8jSRrUpMcU/lnfQSRJw5v0S3Y2JrknyckkJ5J8LsnGvsNJkpbWpAeaPw3sZ/S9ChuA3+3GJEkXkElLYaqqPl1Vp7rHncBUj7kkSQOYtBS+meQdSdZ0j3cA3+ozmCRp6U1aCj8HvA34C+A48DOAB58l6QIz6Smp/xrYWVV/CZBkLfBhRmUhSbpATLql8INnCgGgqp4GrllohSR3dGcrPTw29sEk30jyYPd409hrtyY5luSRJDec7z+IJOl7N2kpvCjJZWdmui2F59vKuBPYNsf4x6pqa/f4/e79rgJ2AFd369yWZM2E2SRJi2TS3UcfAf5Hks8yur3F24DdC61QVV9KsnnC998O3F1VzwKPJTnG6IZ7X55wfUnSIphoS6Gqfgv4J8AJYBb46ar67Rf4me9N8lC3e+nM1scG4MmxZWa6sXMk2ZXkUJJDs7OzLzCCJGkuE98ltaqOVNWvV9UnqurIC/y8TwKvBrYyOovpI9145vrIeXLsqarpqpqemvJSCUlaTC/o1tkvVFWdqKrTVfUd4Hae+06GGWDT2KIbgaeWMpskaYlLIcn6sdm3AGfOTNoP7EhySZIrgS3AfUuZTZI0+YHm85bkM8AbgHVJZoBfA96QZCujXUOPA+8GqKrDSfYBRxjdmvvmqjrdVzZJ0tx6K4Wqevscw59aYPndPM8ZTZKkfi3p7iNJ0vJmKUiSGktBktRYCpKkxlKQJDWWgiSpsRQkSY2lIElqLAVJUmMpSJIaS0GS1FgKkqTGUpAkNZaCJKmxFCRJjaUgSWosBUlSYylIkhpLQZLUWAqSpMZSkCQ1loIkqemtFJLckeRkkofHxtYmOZDk0e75srHXbk1yLMkjSW7oK5ckaX59bincCWw7a+wW4GBVbQEOdvMkuQrYAVzdrXNbkjU9ZpMkzaG3UqiqLwFPnzW8HdjbTe8Fbhwbv7uqnq2qx4BjwLV9ZZMkzW2pjylcUVXHAbrny7vxDcCTY8vNdGPnSLIryaEkh2ZnZ3sNK0mrzXI50Jw5xmquBatqT1VNV9X01NRUz7EkaXVZ6lI4kWQ9QPd8shufATaNLbcReGqJs0nSqrfUpbAf2NlN7wTuHRvfkeSSJFcCW4D7ljibJK16F/X1xkk+A7wBWJdkBvg14EPAviQ3AU8AbwWoqsNJ9gFHgFPAzVV1uq9skqS59VYKVfX2eV66fp7ldwO7+8ojSXp+y+VAsyRpGbAUJEmNpSBJaiwFSVJjKUiSGktBktT0dkqqlp933Xb2/QmXzu3vWTvYZ0uanFsKkqTGUpAkNZaCJKmxFCRJjaUgSWosBUlSYylIkhpLQZLUWAqSpMZSkCQ1loIkqbEUJEmNpSBJaiwFSVJjKUiSmkG+TyHJ48AzwGngVFVNJ1kL/A6wGXgceFtV/eUQ+SRptRpyS+EfVdXWqpru5m8BDlbVFuBgNy9JWkLLaffRdmBvN70XuHG4KJK0Og1VCgV8Icn9SXZ1Y1dU1XGA7vnyuVZMsivJoSSHZmdnlyiuJK0OQ31H83VV9VSSy4EDSb4+6YpVtQfYAzA9PV19BZSk1WiQLYWqeqp7PgncA1wLnEiyHqB7PjlENklazZa8FJK8LMmlZ6aBfww8DOwHdnaL7QTuXepskrTaDbH76ArgniRnPv8/VtUfJvkTYF+Sm4AngLcOkE2SVrUlL4Wq+jPgdXOMfwu4fqnzSJKes5xOSZUkDcxSkCQ1loIkqbEUJEmNpSBJaiwFSVJjKUiSGktBktRYCpKkxlKQJDWWgiSpsRQkSY2lIElqLAVJUmMpSJIaS0GS1FgKkqRmiK/jlJbMu257erDPvv09awf7bOmFcktBktRYCpKkxlKQJDUeU9CSGHLfvtSXC/GYlVsKkqRm2ZVCkm1JHklyLMktQ+eRpNVkWZVCkjXAbwA/DlwFvD3JVcOmkqTVY7kdU7gWOFZVfwaQ5G5gO3Bk0FTSCnIh7ufW0klVDZ2hSfIzwLaq+vlu/p3A36uq944tswvY1c2+BnhkyYMubB3wzaFDTGglZYWVldes/VhJWWH55v1bVTU11wvLbUshc4x9V2tV1R5gz9LEOX9JDlXV9NA5JrGSssLKymvWfqykrLDy8sIyO6YAzACbxuY3Ak8NlEWSVp3lVgp/AmxJcmWS7wN2APsHziRJq8ay2n1UVaeSvBf4z8Aa4I6qOjxwrPO1bHdtzWElZYWVldes/VhJWWHl5V1eB5olScNabruPJEkDshQkSY2lsEiSbEryxSRHkxxO8r6hMz2fJGuS/K8kvzd0loUkeWWSzyb5evfv9+8PnWk+Sf5599//4SSfSfLioTONS3JHkpNJHh4bW5vkQJJHu+fLhsx4xjxZ/233c/BQknuSvHLAiM1cWcde+6UklWTdENnOl6WweE4BH6iqHwBeD9y8Am7R8T7g6NAhJvBx4A+r6u8Cr2OZZk6yAfhFYLqqXsvoZIkdw6Y6x53AtrPGbgEOVtUW4GA3vxzcyblZDwCvraofBP4UuHWpQ83jTs7NSpJNwI8BTyx1oBfKUlgkVXW8qh7opp9h9D+uDcOmml+SjcBPAL85dJaFJHkF8A+BTwFU1f+tqr8aNNTCLgJekuQi4KUss+tsqupLwNn3wdgO7O2m9wI3LmWm+cyVtaq+UFWnutn/yehapsHN8+8V4GPAL3PWRbjLmaXQgySbgWuArwwcZSH/jtEP63cGzvF8/jYwC3y629X1m0leNnSouVTVN4APM/qr8Djwv6vqC8OmmsgVVXUcRn/cAJcPnGdSPwf8wdAh5pPkzcA3quqrQ2c5H5bCIkvycuBzwPur6ttD55lLkp8ETlbV/UNnmcBFwA8Bn6yqa4C/Yfns3vgu3b747cCVwKuAlyV5x7CpLkxJfpXRLtu7hs4ylyQvBX4V+JdDZzlflsIiSnIxo0K4q6o+P3SeBVwHvDnJ48DdwBuT/IdhI81rBpipqjNbXZ9lVBLL0Y8Cj1XVbFX9P+DzwI8MnGkSJ5KsB+ieTw6cZ0FJdgI/CfxsLd8LrV7N6I+Dr3a/ZxuBB5J8/6CpJmApLJIkYbTf+2hVfXToPAupqluramNVbWZ0IPSPqmpZ/kVbVX8BPJnkNd3Q9SzfW6k/Abw+yUu7n4frWaYHxc+yH9jZTe8E7h0wy4KSbAP+BfDmqvo/Q+eZT1V9raour6rN3e/ZDPBD3c/zsmYpLJ7rgHcy+qv7we7xpqFDXSB+AbgryUPAVuDfDBtnbt3WzGeBB4CvMfr9Wla3OUjyGeDLwGuSzCS5CfgQ8GNJHmV0psyHhsx4xjxZfx24FDjQ/Y79+0FDdubJuiJ5mwtJUuOWgiSpsRQkSY2lIElqLAVJUmMpSJIaS0GS1FgKkqRmWX1Hs3Qh6O7L80+BJxndzO/+qvrwsKmkyVgK0iJK8sOMbh1yDaPfrweAlXDjQQmwFKTF9g+Ae87clyfJ/oHzSOfFYwrS4vPeMVqxLAVpcX0JeEuSlyS5FPipoQNJ58PdR9IiqqoHkvwO8CDw58B/HzaRdH68S6rUoyQfBP7as4+0Urj7SJLUuKUgSWrcUpAkNZaCJKmxFCRJjaUgSWosBUlS8/8BdYm71UuU75kAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Minimum q: 0.9996440633567225, maximum q: 15.07085918507278\n", "Minimum chi_eff: -0.8089458636660637, maximum chi_eff: 0.8085713846964644\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "catalog.plot_catalog_parameters(p.MASS_RATIO, p.CHI_EFF, dpi = 500)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Minimum q: 0.9996440633567225, maximum q: 15.07085918507278\n", "Minimum chi_p: 4.990315336895653e-18, maximum chi_p: 0.9316840649738882\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "catalog.plot_catalog_parameters(p.MASS_RATIO, p.CHI_P, dpi = 500, color = \"salmon\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### You can also provide a directory to save the figures in and they will be saved rather than displayed." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Minimum q: 0.9996440633567225, maximum q: 15.07085918507278\n", "Minimum a2: 3.8462054439966505e-10, maximum a2: 0.9261967059788215\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "catalog.plot_catalog_parameters(p.MASS_RATIO, p.DIMENSIONLESS_SPIN_2, dpi = 500 , color = \"green\", save_path='.')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Downloading waveforms\n", "To download waveforms from the Center for Gravitational Physics website, use download_waveforms. Here, we will download GT0898 to the current directory." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total size of requested waveforms is 0.92 GB.\n", "Downloading 1 waveforms and saving in ..\n", "----------------------------------------------------------\n", "Downloading waveform GT0898. This waveform has the following parameters\n", "Catalog id: GT0898\n", "name GW15_D12_q1.2_a0.0_m140\n", "m1 0.5455\n", "m2 0.4545\n", "m1_irr 0.5455\n", "m2_irr 0.4545\n", "q 1.2000\n", "eta 0.2479\n", "a1 0.0000\n", "a1x -0.0000\n", "a1y -0.0000\n", "a1z 0.0000\n", "a2 0.0000\n", "a2x -0.0000\n", "a2y -0.0000\n", "a2z 0.0000\n", "chi_eff 0.0000\n", "chi_p 0.0000\n", "f_lower_at_1MSUN 1445.3053\n", "separation 12.0000\n", "eccentricity 0.0021\n", "mean_anomaly 3.2766\n", "merge_time 1891.1250\n", "maya file size (GB) 0.9177\n", "lvcnr file size (GB) 0.0084\n" ] } ], "source": [ "catalog.download_waveforms(['GT0898'], save_wf_path = '.')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Waveforms can also be downloaded in the lvc-nr format (https://arxiv.org/abs/1703.01076)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total size of requested waveforms is 0.01 GB.\n", "Downloading 1 waveforms and saving in ..\n", "----------------------------------------------------------\n", "Downloading waveform GT0898. This waveform has the following parameters\n", "Catalog id: GT0898\n", "name GW15_D12_q1.2_a0.0_m140\n", "m1 0.5455\n", "m2 0.4545\n", "m1_irr 0.5455\n", "m2_irr 0.4545\n", "q 1.2000\n", "eta 0.2479\n", "a1 0.0000\n", "a1x -0.0000\n", "a1y -0.0000\n", "a1z 0.0000\n", "a2 0.0000\n", "a2x -0.0000\n", "a2y -0.0000\n", "a2z 0.0000\n", "chi_eff 0.0000\n", "chi_p 0.0000\n", "f_lower_at_1MSUN 1445.3053\n", "separation 12.0000\n", "eccentricity 0.0021\n", "mean_anomaly 3.2766\n", "merge_time 1891.1250\n", "maya file size (GB) 0.9177\n", "lvcnr file size (GB) 0.0084\n" ] } ], "source": [ "catalog.download_waveforms(['GT0898'], save_wf_path='.', lvcnr_format=True)" ] } ], "metadata": { "kernelspec": { "display_name": "mayawaves_dev", "language": "python", "name": "mayawaves_dev" }, "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.8.15" }, "vscode": { "interpreter": { "hash": "9ee898cfcefe93ea644ca7ed734d8d550cc1b147ea2aba333482e5508484ebd4" } } }, "nbformat": 4, "nbformat_minor": 2 }