{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Radial Velocity Correction\n", "\n", "Be careful with the fact that the date/hours recorded in the HDF file can be different than the real hours when the cube has been taken at least because there is only one date recorded in the HDF5 file but your data may have been taken over multiple nights at different hours. Is is possible to get a more precise radial velocity correction from the exact moment when each individual image of the data cube has been recorded." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import orcs.process" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[0mmaster.03e73|INFO| Cube is level 3\u001b[0m\n", "\u001b[0mmaster.03e73|INFO| shape: (2048, 2064, 840)\u001b[0m\n", "\u001b[0mmaster.03e73|INFO| wavenumber calibration: True\u001b[0m\n", "\u001b[0mmaster.03e73|INFO| flux calibration: True\u001b[0m\n", "\u001b[0mmaster.03e73|INFO| wcs calibration: True\u001b[0m\n" ] } ], "source": [ "cube = orcs.process.SpectralCube('/home/thomas/M31_SN3.merged.cm1.1.0.hdf5')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Print default barycentric radial velocity correction " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[0mmaster.03e73|INFO| Observation date: 2016-08-25T00:00:00.000 = 2457625.5 Julian days\u001b[0m\n", "\u001b[0mmaster.03e73|INFO| Observatory location: LAT 19.825231999999996 deg |LON -155.46876099999997 deg |ALT 4214.999999999996 m\u001b[0m\n", "\u001b[0mmaster.03e73|INFO| Observed Target: 00h42m44.3572s +41d16m07.8713s\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Barycentric velocity correction: 20.13 km/s\n" ] } ], "source": [ "corr = cube.get_radial_velocity_correction(kind='barycentric')\n", "print('Barycentric velocity correction: {:.2f} km/s'.format(corr))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Use more precise dates\n", "Here we have created a file (`abell426.dates.list`) which records all the dates at which the individual files have been taken (as supplied by the keyword DATE of each individual FITS file).\n", "\n", "```\n", "~/data/1867004o.fits 2016-01-10T05:06:02\n", "~/data/1867005o.fits 2016-01-10T05:06:32\n", "~/data/1867006o.fits 2016-01-10T05:07:03\n", "~/data/1867007o.fits 2016-01-10T05:07:33\n", "~/data/1867008o.fits 2016-01-10T05:08:06\n", "~/data/1867009o.fits 2016-01-10T05:08:36\n", "~/data/1867010o.fits 2016-01-10T05:09:06\n", "~/data/1867011o.fits 2016-01-10T05:09:36\n", "~/data/1867012o.fits 2016-01-10T05:10:08\n", "~/data/1867013o.fits 2016-01-10T05:10:39\n", "~/data/1867014o.fits 2016-01-10T05:11:09\n", "~/data/1867015o.fits 2016-01-10T05:11:40\n", "~/data/1867016o.fits 2016-01-10T05:12:11\n", "~/data/1867017o.fits 2016-01-10T05:12:42\n", "...\n", "```\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2016-01-10T05:06:02 -25.108024947940848\n", "2016-01-10T05:06:32 -25.10872665532921\n", "2016-01-10T05:07:03 -25.10945122668723\n", "2016-01-10T05:07:33 -25.110151840441453\n", "2016-01-10T05:08:06 -25.110921992491928\n", "2016-01-10T05:08:36 -25.111621499831095\n", "2016-01-10T05:09:06 -25.1123204739662\n", "2016-01-10T05:09:36 -25.113018931539077\n", "2016-01-10T05:10:08 -25.11376331911631\n", "2016-01-10T05:10:39 -25.114483922797103\n", "2016-01-10T05:11:09 -25.115180639934692\n", "2016-01-10T05:11:40 -25.11590001158794\n", "2016-01-10T05:12:11 -25.116618782071917\n", "2016-01-10T05:12:42 -25.11733703466232\n", "2016-01-10T05:13:12 -25.118031506152114\n", "2016-01-10T05:13:43 -25.118748483745776\n", "2016-01-10T05:14:14 -25.119464883635143\n", "2016-01-10T05:14:45 -25.120180669374616\n", "2016-01-10T05:15:15 -25.120872792004022\n", "2016-01-10T05:15:45 -25.12156431299819\n", "2016-01-10T05:16:18 -25.122324275692225\n", "2016-01-10T05:16:48 -25.123014603733846\n", "2016-01-10T05:17:19 -25.12372731659372\n", "2016-01-10T05:17:49 -25.124416398329103\n", "2016-01-10T05:18:20 -25.125127811096363\n", "2016-01-10T05:18:51 -25.125838632280043\n", "2016-01-10T05:19:21 -25.126525934338723\n", "2016-01-10T05:19:51 -25.127212530351354\n", "2016-01-10T05:20:24 -25.12796718343801\n", "2016-01-10T05:20:54 -25.128652526953648\n", "2016-01-10T05:21:24 -25.1293372691336\n", "2016-01-10T05:21:54 -25.130021378657954\n", "2016-01-10T05:22:27 -25.130773207993116\n", "2016-01-10T05:22:57 -25.131456024946967\n", "2016-01-10T05:23:27 -25.13213822894913\n", "2016-01-10T05:23:57 -25.13281975925696\n", "2016-01-10T05:24:30 -25.133568758317033\n", "2016-01-10T05:25:00 -25.134248950355907\n", "2016-01-10T05:25:31 -25.134951188485335\n", "2016-01-10T05:26:01 -25.135630126596013\n", "2016-01-10T05:26:33 -25.13635355592547\n", "2016-01-10T05:27:03 -25.13703109149647\n", "2016-01-10T05:27:34 -25.13773056758229\n", "2016-01-10T05:28:06 -25.138451865526722\n", "2016-01-10T05:28:37 -25.13914985819359\n", "2016-01-10T05:29:07 -25.139824736597756\n", "2016-01-10T05:29:39 -25.140543780340494\n", "2016-01-10T05:30:09 -25.141217252909897\n", "2016-01-10T05:30:40 -25.141912416133767\n", "2016-01-10T05:31:10 -25.142584483933486\n", "2016-01-10T05:31:42 -25.143300623245167\n", "2016-01-10T05:32:13 -25.14399362692604\n", "2016-01-10T05:32:43 -25.144663605977087\n", "2016-01-10T05:33:14 -25.145355158557436\n", "2016-01-10T05:33:45 -25.14604598365707\n", "2016-01-10T05:34:15 -25.146713805461694\n", "2016-01-10T05:34:46 -25.14740314670969\n", "2016-01-10T05:35:17 -25.148091733683632\n", "2016-01-10T05:35:48 -25.148779587951328\n", "2016-01-10T05:36:18 -25.149444505358176\n", "2016-01-10T05:36:48 -25.150108769773112\n", "2016-01-10T05:37:20 -25.1508164504781\n", "2016-01-10T05:37:50 -25.151479234236632\n", "2016-01-10T05:38:21 -25.152163291705357\n", "2016-01-10T05:38:51 -25.15282454501514\n", "2016-01-10T05:39:23 -25.153529109538493\n", "2016-01-10T05:39:53 -25.154188896304138\n", "2016-01-10T05:40:23 -25.15484789840776\n", "2016-01-10T05:40:54 -25.155528113845037\n", "2016-01-10T05:41:26 -25.15622946669597\n", "2016-01-10T05:41:56 -25.156886175389758\n", "2016-01-10T05:42:26 -25.157542182098112\n", "2016-01-10T05:42:56 -25.158197414196096\n", "2016-01-10T05:43:29 -25.15891727272256\n", "2016-01-10T05:43:59 -25.159570972108515\n", "2016-01-10T05:44:29 -25.160223839037126\n", "2016-01-10T05:45:00 -25.160897689642216\n", "2016-01-10T05:45:32 -25.161592421742977\n", "2016-01-10T05:46:02 -25.162242931689992\n", "2016-01-10T05:46:33 -25.162914316043263\n", "2016-01-10T05:47:03 -25.16356323959171\n", "2016-01-10T05:47:35 -25.164254606216314\n", "2016-01-10T05:48:05 -25.164901959874893\n", "2016-01-10T05:48:35 -25.165548477814333\n", "2016-01-10T05:49:06 -25.166215794007044\n", "2016-01-10T05:49:38 -25.166903664750144\n", "2016-01-10T05:50:08 -25.167547823012008\n", "2016-01-10T05:50:38 -25.16819112884634\n", "2016-01-10T05:51:08 -25.168833615669914\n", "2016-01-10T05:51:40 -25.169518083958724\n", "2016-01-10T05:52:10 -25.170158921377794\n", "2016-01-10T05:52:41 -25.170820274338826\n", "2016-01-10T05:53:11 -25.17145947656551\n", "2016-01-10T05:53:43 -25.172140343829767\n", "2016-01-10T05:54:13 -25.172777861371276\n", "2016-01-10T05:54:43 -25.17341458782702\n", "2016-01-10T05:55:13 -25.17405044411504\n", "2016-01-10T05:55:45 -25.174727829876336\n", "2016-01-10T05:56:15 -25.175361965299853\n", "2016-01-10T05:56:45 -25.175995252223313\n", "2016-01-10T05:57:15 -25.176627780512558\n", "2016-01-10T05:57:47 -25.177301522845937\n", "2016-01-10T05:58:17 -25.17793227967954\n", "2016-01-10T05:58:47 -25.178562183652918\n", "2016-01-10T05:59:17 -25.17919122248441\n", "2016-01-10T05:59:49 -25.17986134728455\n", "2016-01-10T06:00:19 -25.18048866704886\n", "2016-01-10T06:00:49 -25.181115073110437\n", "2016-01-10T06:01:19 -25.181740645583023\n", "2016-01-10T06:01:51 -25.18240701518876\n", "2016-01-10T06:02:21 -25.183030835077528\n", "2016-01-10T06:02:51 -25.183653733275488\n", "2016-01-10T06:03:21 -25.184275839588874\n", "2016-01-10T06:03:53 -25.184938417121916\n", "2016-01-10T06:04:23 -25.185558680619515\n", "2016-01-10T06:04:53 -25.1861780712867\n", "2016-01-10T06:05:23 -25.186796550813995\n", "2016-01-10T06:05:56 -25.18747587434933\n", "2016-01-10T06:06:25 -25.188071984635126\n", "2016-01-10T06:06:55 -25.18868775780236\n", "2016-01-10T06:07:25 -25.18930262199314\n", "2016-01-10T06:07:57 -25.189957532005256\n", "2016-01-10T06:08:28 -25.190590985113975\n", "2016-01-10T06:08:58 -25.191203079972023\n", "2016-01-10T06:09:28 -25.19181427247707\n", "2016-01-10T06:10:00 -25.192465210351955\n", "2016-01-10T06:10:30 -25.19307453331444\n", "2016-01-10T06:11:00 -25.193682910189203\n", "2016-01-10T06:11:29 -25.19427017953903\n", "2016-01-10T06:12:02 -25.19493737923897\n", "2016-01-10T06:12:32 -25.19554293103089\n", "2016-01-10T06:13:01 -25.19612747794465\n", "2016-01-10T06:13:31 -25.196731201698725\n", "2016-01-10T06:14:04 -25.19739424074284\n", "2016-01-10T06:14:34 -25.197996073519683\n", "2016-01-10T06:15:04 -25.19859693707667\n", "2016-01-10T06:15:34 -25.199196853780407\n", "2016-01-10T06:16:06 -25.199835725866578\n", "2016-01-10T06:16:36 -25.200433681431154\n", "2016-01-10T06:17:06 -25.20103072925077\n", "2016-01-10T06:17:36 -25.201626800860968\n", "2016-01-10T06:18:08 -25.202261556491997\n", "2016-01-10T06:18:38 -25.20285569179263\n", "2016-01-10T06:19:08 -25.203448803554494\n", "2016-01-10T06:19:38 -25.204040978647903\n", "2016-01-10T06:20:10 -25.204671595723465\n", "2016-01-10T06:20:40 -25.20526178012183\n", "2016-01-10T06:21:10 -25.205850960652064\n", "2016-01-10T06:21:40 -25.20643926026396\n", "2016-01-10T06:22:12 -25.207065619428874\n", "2016-01-10T06:22:42 -25.20765185229259\n", "2016-01-10T06:23:12 -25.208237082186827\n", "2016-01-10T06:23:42 -25.20882134509121\n", "2016-01-10T06:24:14 -25.20944347606778\n", "2016-01-10T06:24:44 -25.21002571023391\n", "2016-01-10T06:25:14 -25.21060691277334\n", "2016-01-10T06:25:44 -25.211187180474923\n", "2016-01-10T06:26:16 -25.211804967003363\n", "2016-01-10T06:26:46 -25.21238313480625\n", "2016-01-10T06:27:16 -25.212960310523414\n", "2016-01-10T06:27:46 -25.21353645318268\n", "2016-01-10T06:28:18 -25.214149909441826\n", "2016-01-10T06:28:48 -25.21472398711694\n", "2016-01-10T06:29:18 -25.215297058128098\n", "2016-01-10T06:29:48 -25.215869123806637\n", "2016-01-10T06:30:21 -25.216497207197705\n", "2016-01-10T06:30:50 -25.217048092360262\n", "2016-01-10T06:31:20 -25.217617010603824\n", "2016-01-10T06:31:50 -25.21818489262754\n", "2016-01-10T06:32:23 -25.21880841040063\n", "2016-01-10T06:32:53 -25.219374120932525\n", "2016-01-10T06:33:23 -25.219938819375216\n", "2016-01-10T06:33:52 -25.220483674306113\n", "2016-01-10T06:34:25 -25.221102571043946\n", "2016-01-10T06:34:55 -25.221664012615026\n", "2016-01-10T06:35:24 -25.22220582844922\n", "2016-01-10T06:35:54 -25.222765259488202\n", "2016-01-10T06:36:27 -25.223379473982153\n", "2016-01-10T06:36:57 -25.22393669648461\n", "2016-01-10T06:37:27 -25.2244928687548\n", "2016-01-10T06:37:56 -25.22502948987677\n", "2016-01-10T06:38:29 -25.225638957323575\n", "2016-01-10T06:38:59 -25.226191872189617\n", "2016-01-10T06:39:29 -25.226743687996287\n", "2016-01-10T06:39:59 -25.2272944879527\n", "2016-01-10T06:40:31 -25.2278808527528\n", "2016-01-10T06:41:01 -25.22842937590793\n", "2016-01-10T06:41:31 -25.228976906977337\n", "2016-01-10T06:42:01 -25.22952330773402\n", "2016-01-10T06:42:33 -25.230105002871458\n", "2016-01-10T06:43:03 -25.2306491770186\n", "2016-01-13T07:37:27 -25.45248667171002\n", "2016-01-13T07:37:56 -25.452845074934586\n", "2016-01-13T07:38:26 -25.453214503401156\n", "2016-01-13T07:38:55 -25.453570289898526\n", "2016-01-13T07:39:27 -25.45396146466982\n", "2016-01-13T07:39:57 -25.454326696134824\n", "2016-01-13T07:40:26 -25.454678471453246\n", "2016-01-13T07:40:55 -25.45502894045501\n", "2016-01-13T07:41:27 -25.45541419726039\n", "2016-01-13T07:41:57 -25.455773953498568\n", "2016-01-13T07:42:26 -25.456120407793314\n", "2016-01-13T07:42:55 -25.45646552781314\n", "2016-01-13T07:43:27 -25.45684488399338\n", "2016-01-13T07:43:57 -25.457199093145345\n", "2016-01-13T07:44:26 -25.45754017971946\n", "2016-01-13T07:44:56 -25.457891664038936\n", "2016-01-13T07:45:27 -25.45825342218875\n", "2016-01-13T07:45:57 -25.458602053666826\n", "2016-01-13T07:46:26 -25.45893775048653\n", "2016-01-13T07:46:56 -25.459283680330817\n", "2016-01-13T07:47:27 -25.459639624559404\n", "2016-01-13T07:47:57 -25.459982702427663\n", "2016-01-13T07:48:26 -25.460312985096046\n", "2016-01-13T07:48:56 -25.460653269134816\n", "2016-01-13T07:49:27 -25.46100345282914\n", "2016-01-13T07:49:57 -25.461340922469123\n", "2016-01-13T07:50:26 -25.46166574801699\n", "2016-01-13T07:50:56 -25.462000463568156\n", "2016-01-13T07:51:28 -25.46235591097171\n", "2016-01-13T07:51:57 -25.462676597664547\n", "2016-01-13T07:52:27 -25.463007045419825\n", "2016-01-13T07:52:56 -25.463325046355177\n", "2016-01-13T07:53:28 -25.46367446196274\n", "2016-01-13T07:53:57 -25.46398971513317\n", "2016-01-13T07:54:26 -25.46430367629891\n", "2016-01-13T07:54:56 -25.464627004648396\n", "2016-01-13T07:55:28 -25.464970355575716\n", "2016-01-13T07:55:57 -25.46528012819394\n", "2016-01-13T07:56:27 -25.465599125475322\n", "2016-01-13T07:56:56 -25.46590618990288\n", "2016-01-13T07:57:28 -25.466243444929898\n", "2016-01-13T07:57:57 -25.46654768500686\n", "2016-01-13T07:58:27 -25.466861037148394\n", "2016-01-13T07:58:56 -25.467162557218998\n", "2016-01-13T07:59:28 -25.467493704796283\n", "2016-01-13T07:59:57 -25.46779236490278\n", "2016-01-13T08:00:27 -25.46809998150608\n", "2016-01-13T08:00:56 -25.468395959250024\n", "2016-01-13T08:01:28 -25.46872096253258\n", "2016-01-13T08:01:57 -25.469014075552863\n", "2016-01-13T08:02:27 -25.46931591434769\n", "2016-01-13T08:02:56 -25.469606334088382\n", "2016-01-13T08:03:28 -25.469925187351414\n", "2016-01-13T08:03:58 -25.470222617560523\n", "2016-01-13T08:04:27 -25.470508769405477\n", "2016-01-13T08:04:56 -25.47079356986772\n", "2016-01-13T08:05:28 -25.47110625776747\n", "2016-01-13T08:05:58 -25.471397900981817\n", "2016-01-13T08:06:27 -25.471678455482248\n", "2016-01-13T08:06:56 -25.471957612768378\n", "2016-01-13T08:07:28 -25.47226410757957\n", "2016-01-13T08:07:58 -25.47254994449464\n", "2016-01-13T08:08:27 -25.472824823300833\n", "2016-01-13T08:08:57 -25.473107785640277\n", "2016-01-13T08:09:28 -25.473398629547795\n", "2016-01-13T08:09:58 -25.473678621421424\n", "2016-01-13T08:10:27 -25.47394789855621\n", "2016-01-13T08:10:57 -25.474224968425016\n", "2016-01-13T08:11:28 -25.47450977644265\n", "2016-01-13T08:11:58 -25.474783897346867\n", "2016-01-13T08:12:27 -25.4750474646384\n", "2016-01-13T08:12:57 -25.47531870946923\n", "2016-01-13T08:13:29 -25.475606429706293\n", "2016-01-13T08:13:58 -25.47586569937979\n", "2016-01-13T08:14:28 -25.476132449287114\n", "2016-01-13T08:14:57 -25.47638894832982\n", "2016-01-13T08:15:29 -25.47667033026176\n", "2016-01-13T08:15:58 -25.476923907699046\n", "2016-01-13T08:16:28 -25.47718476869708\n", "2016-01-13T08:16:57 -25.477435544083807\n", "2016-01-13T08:17:29 -25.477710601589912\n", "2016-01-13T08:17:58 -25.47795846705378\n", "2016-01-13T08:18:28 -25.47821342213458\n", "2016-01-13T08:18:57 -25.478458461184267\n", "2016-01-13T08:19:29 -25.478727202685292\n", "2016-01-13T08:19:58 -25.478969299427128\n", "2016-01-13T08:20:27 -25.479210019657092\n", "2016-01-13T08:20:57 -25.479457577446908\n", "2016-01-13T08:21:29 -25.479720007169888\n", "2016-01-13T08:21:58 -25.47995634344403\n", "2016-01-13T08:22:28 -25.48019936260891\n", "2016-01-13T08:22:57 -25.480432880723214\n", "2016-01-13T08:23:29 -25.48068896814703\n", "2016-01-13T08:23:58 -25.480919504013105\n", "2016-01-13T08:24:28 -25.481156572660662\n", "2016-01-13T08:24:57 -25.48138431160186\n", "2016-01-13T08:25:29 -25.48163395607677\n", "2016-01-13T08:25:58 -25.48185875344236\n" ] } ], "source": [ "# The results of the radial velocity correction for \n", "# each individual file of the initial inteferometric \n", "# cube are recorded here\n", "fout = open('abell426.barycorr.list', 'w') \n", "\n", "# we loop in the dates file\n", "with open('abell426.dates.list', 'r') as f:\n", " for line in f:\n", " date = line.split()[1]\n", " \n", " corr = cube.get_radial_velocity_correction(\n", " kind='barycentric', date=date, silent=True)\n", " \n", " fout.write('{} {}\\n'.format(date, corr))\n", " print(date, corr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## output\n", "File `abell426.barycorr.list` has been created with the previous code.\n", "\n", "```\n", "2016-01-10T05:06:02 -21.4663846704\n", "2016-01-10T05:06:32 -21.4671673847\n", "2016-01-10T05:07:03 -21.4679767479\n", "2016-01-10T05:07:33 -21.4687605397\n", "2016-01-10T05:08:06 -21.4696233171\n", "2016-01-10T05:08:36 -21.4704082077\n", "2016-01-10T05:09:06 -21.4711936166\n", "2016-01-10T05:09:36 -21.4719795406\n", "2016-01-10T05:10:08 -21.4728184234\n", "2016-01-10T05:10:39 -21.4736316427\n", "2016-01-10T05:11:09 -21.4744191425\n", "2016-01-10T05:11:40 -21.4752334194\n", "2016-01-10T05:12:11 -21.4760482283\n", "2016-01-10T05:12:42 -21.4768635658\n", "2016-01-10T05:13:12 -21.4776531019\n", "2016-01-10T05:13:43 -21.4784694689\n", "2016-01-10T05:14:14 -21.4792863537\n", "2016-01-10T05:14:45 -21.4801037528\n", "2016-01-10T05:15:15 -21.4808952705\n", "2016-01-10T05:15:45 -21.4816872631\n", "2016-01-10T05:16:18 -21.4825589996\n", "...\n", "```" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[33mmaster.03e73|WARNING| /home/thomas/miniconda2/envs/orb3/lib/python3.7/site-packages/pandas/plotting/_matplotlib/converter.py:103: FutureWarning: Using an implicitly registered datetime converter for a matplotlib plotting method. The converter was registered by pandas on import. Future versions of pandas will require you to explicitly register matplotlib converters.\n", "\n", "To register the converters:\n", "\t>>> from pandas.plotting import register_matplotlib_converters\n", "\t>>> register_matplotlib_converters()\n", " warnings.warn(msg, FutureWarning)\n", "\u001b[0m\n" ] }, { "data": { "text/plain": [ "Text(0, 0.5, 'Barycentric velocity correction (in km/s)')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZcAAAEGCAYAAACpXNjrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3dfbwdVX3v8c9XRBBiQCFGBPUQAb2VxuiJXrRcJAUtUAR8vFSsWMuNQa32em2RF1QRi0+09uqNShVttYKAxviE1gSaKK1GTCTEoAEJD4LiAyCBkBANfO8fs45sDnvvM+fsvc8+++T7fr3mtWfWzJr5rexkr6xZa9bINhEREd30iH4HEBER008ql4iI6LpULhER0XWpXCIioutSuURERNc9st8BTAV77723h4aG+h1Gbffeey+77757v8PoSMrQf4MeP6QM/bZmzZrbbc9qti+VCzA0NMTq1av7HUZtK1eu5PDDD+93GB1JGfpv0OOHlKHfJN3cal9ui0VERNf1pXKRdK6kDZLWSVoqac+SPiRpq6S1ZTmvRf5XSLpG0gOS5o/ad7qk6yVdK+lPJqM8ERHxUP1quSwHDrY9F7gOOL1h30bb88qyqEX+9cBLgW83Jkr6A+BE4BnAUcBHJe3U9egjIqKtvlQutpfZ3l42VwH7jTP/j21f22TX8cBFtrfZvhG4HnhuZ9FGRMR4TYUO/dcBFzds7y/pKuBu4EzbV4zjXPtSVVYjbi1pDyNpIbAQYPbs2axcuXI8MffV5s2bByreZlKG/hv0+CFlmMp6VrlIugx4QpNdZ9j+cjnmDGA7cEHZdxvwZNt3SBoGviTpGbbvrnvZJmlNZ+a0/XHg4wDz5893R6M11p0Fc8+aeP5xGuTRJSNShv4b9PghZZjKela52D6y3X5JJwPHAke4TM1sexuwrayvkbQROAioO074VuBJDdv7AT8fZ+jjt/5dk1q5RERMdf0aLXYUcBpwnO0tDemzRjrgJc0BDgRuGMepvwKcKGkXSfuX/Fd2L/KIiKijX6PFFgOPAZaPGnJ8GLBO0tXAF4BFtu8EkHT+yLBjSS+RdCvwPOBSSd8EsH0NcAnwI+DfgTfavr8nJVh3FlyoaoEH19ed1ZPLRUQMkjFvi5Uf9P8BPBHYSjUM+LKRH/2JsH1Ai/QlwJIW+05pWF8KLG1x3DnAORONrbYb/rV1em6RRcQOrmXLRdJrJf2A6hmURwPXAr8CDqVqcXxa0pMnJ8wpaPeh8aVHROxA2rVcdgf+yPbWZjslzaPq0/hpLwKb8u69aXzpERE7kJaVi+2PtMtoe233wxkguw/BliZztqXlEhExdoe+pA9ImilpZ0mXS7pd0qsnI7iIiBhMdUaLvag8xHgs1XMkBwF/09OoBkFui0VEtFSnctm5fB4DfK6TUWLTSjr0IyJaqvOE/lclbaAahvwGSbOA+3ob1gBIyyUioqV2Q5H3AbD9dqqHFefb/h2whWr24R1bWi4RES21a7l8StJjgZVUT7v/J4Dte4F7ex/aFJeWS0RESy1bLraPBg6nqlxeAqyS9EVJC3fohydHpOUSEdFS2w592/fZ/nfbb7E9H/g/VK2dxZJ27AkhX7gSdnvKw9N//S340tBkRxMRMaXUnnJf0kxgE3BRWTb3KqiIiBhsdSaufD1wNtVosZEXb9n2nF4GNhDylH5ERFN1Wi5vA55h+/ZeBzNw0qkfEdFUnYcoN1INP47R0qkfEdFUnZbL6cB3JH2P8gpiANtv7llUgyItl4iIpupULv8M/AfwQ+CB3oYzYNLnEhHRVJ3KZbvtt/Y8kkGUlktERFN1+lxWlAcn95H0uJGl55ENgvS5REQ0VadyeRWl3wVYU5bVnVxU0rmSNkhaJ2mppD1L+pCkrZLWluW8FvlfIekaSQ9Imt+QXit/16TlEhHRVJ3bYnNsuzFB0q4dXnc5cLrt7ZLeT1V5nVb2bbQ9b4z864GXUvUHjVYnf0RE9FCdlssnGzck7Q5c2slFbS+zvb1srgL2G2f+H9u+tpMYuuKEm2DWCx6evuVmWH74ZEcTETFl1Gm5/EzSx2yfWmZJvhT4RBdjeB1wccP2/pKuAu4GzrR9xTjPVyu/pIXAQoDZs2ezcuXKcQcOcMgdG2jWjLvvjg2smuA5x7J58+YJxztVpAz9N+jxQ8owpdkecwHeD5wHfB94Wc08l1Hdvhq9HN9wzBnAUkBlexdgr7I+DNwCzGxzjZVU75lhIvlHluHhYU/YshfYF/DwZdkLJn7OMaxYsaJn554sKUP/DXr8dsrQb8Bqt/hdbdlykfTShs0rgb8rn5b0UttfHKPSOrLdfkknA8cCR5Qgsb2N8qCm7TWSNgIHUXMAQaf5JySd+hERD9PuttiLR21fBexc0g20rVzakXQUVQf+C2xvaUifBdxp+35Jc4ADgRvGcd6O8kdERHe0rFxs/0UPr7uY6hbWckkAq2wvAg4Dzpa0HbgfWGT7TgBJ5wPn2V4t6SXA/wNmAZdKWmv7T9rl75k8pR8R8TC13+fSTbYPaJG+BFjSYt8pDetLqfpqaufvmdwWi4h4mDpDkaOdPKUfEfEwqVw6lZZLRMTD1HkT5S7Ay4ChxuNtn927sCIiYpDV6XP5MrCJak6xbWMcu+NJh35ExMPUqVz2s31UzyMZVC9cCV8aengF8+tvVekn3DT5MUVE9FmdPpfvSPrDnkcSERHTRp2Wy6HAayXdSHVbTIBtz+1pZBERMbDqVC5H9zyKQZd+l4iIh2g3t9hM23cD90xiPIMpw5EjIh6iXcvlQqqJJddQzSWmhn0G5vQwroiIGGDt5hY7tnzuP3nhRETEdNBytJikoXYZVRnXGySnrUwBExHxEO1ui50r6RFUD1GuAX4N7AocACwAjgDeCdza6yCnvPS5REQ8RLvbYq+Q9AfASVSvIt4H2AL8GPg6cI7t+yYlyoiIGChthyLb/hHVq4ijnTmvhfXvenj6lpth+eHVU/wRETuQzIrcDXPPgt2e0nxfbo1FxA4olUu3pFM/IuL3Url0Szr1IyJ+r9ZrjiXtCzyFh77P5du9CioiIgZbnZeFvR/4n8CPgPtLsoEJVy6SzgVeDPwW2Aj8he27yrM1PwauLYeusr2obv6y73TgL0usb7b9zYnGGRERE1On5XIC8DTb3XxR2HLgdNvbS+V1OnBa2bfR9ryJ5C9Dp08EngE8EbhM0kG2729zroiI6LI6fS43ADt386K2l9neXjZXAeN60r9N/uOBi2xvs30jcD3w3G7EHBER9dVpuWwB1kq6nIbXHNt+c5dieB1wccP2/pKuAu4GzrR9xTjy70tV2Yy4taQ9jKSFwEKA2bNns3LlyvFH3uCQ++5j1ybp9913H6s6PPdomzdv7jjefksZ+m/Q44eUYSqrU7l8pSzjIuky4AlNdp1h+8vlmDOA7cAFZd9twJNt3yFpGPiSpGeUqf+bXWN0fjU5zM3y2v448HGA+fPn+/DDD69Vrpa+tGtVDY+y66670vG5R1m5cmXXzznZUob+G/T4IWWYysasXGx/WtKjgINK0rW2f1cj35Ht9ks6mWpK/yNsu+TZRmkd2V4jaWO57uo6+alaKk9qOGw/4OdjxdoVeUo/IuL3xuxzkXQ48BPgI8BHgeskHdbJRSUdRdWBf5ztLQ3psyTtVNbnAAdS9fnUyk/VwjpR0i6S9i/5r+wk1trmngWzXjApl4qImOrq3Bb7R+BFtq8FkHQQ8DlguIPrLgZ2AZZLggeHHB8GnC1pO9VQ4kW27yzXPR84z/bqVvltXyPpEqph09uBN07qSLE8SBkRAdSrXHYeqVgAbF8nqaPRY7YPaJG+BFjSYt8pY+Uv+84BzukkvoiI6EydymW1pE8C/1a2T6J6v0tERERTdSqXU4E3Am+mGo31baq+l4iIiKbqjBbbBnywLBEREWNqWblIusT2KyX9kCbPitie29PIIiJiYLVrubylfB47GYFMC7+9a3zpERHTVMvnXGzfVlbfYPvmxgV4w+SEN2Aetef40iMipqk6E1e+sEna0d0OZFo44abmrzvecjN8aWiyo4mI6Jt2fS6nUrVQnippXcOuxwDf6XVgERExuNr1uVwIfAN4L/D2hvR7Rp6aj4iIaKZdn8sm2zcBHwLubOhv+Z2k/z5ZAUZExOCp0+fyMWBzw/a9JS0iIqKpOpWLGqa0x/YD1HuyPyIidlC1XnMs6c2Sdi7LW2gyDX4Uc147vvSIiGmoTgtkEfBh4EyqJ/Uvp7weOJqYe1a1AFwoeFXTF2FGRExrdeYW+xVw4iTEEhER00SdN1EeJOlySevL9lxJZ/Y+tGng4Hf2O4KIiL6o0+fyCeB04HcAtteRlkw9I7fHIiJ2MHUql91sj34P/fZeBBMREdNDncrldklPpUy7L+nlwG3ts0RExI6sTuXyRuCfgadL+hnw11QjyCZM0rmSNkhaJ2mppD1L+pCkrZLWluW8XuSPiIjealu5SHoEMN/2kcAs4Om2Dy3TwHRiOXBweeHYdVR9OiM22p5XllaVWKf5IyKih9pWLuVp/DeV9Xtt39ONi9peZnuk32YVsN9k5o+IiN5Sw8wuzQ+Q/g7YClxMNa8YAN2aGVnSV4GLbX9W0hBwDVVr5G7gTNtX9CK/pIWUh0Fnz549fNFFF3WjOJNi8+bNzJgxo99hdCRl6L9Bjx9Shn5bsGDBGtvzm+603XYBbmyy3FAj32XA+ibL8Q3HnAEs5cFKbhdgr7I+DNwCzGxzjY7yjyzDw8MeJCtWrOh3CB1LGfpv0OO3U4Z+A1a7xe9q2yf0S5/Lq23/1/jqM3DVT9Pu3CcDxwJHlCCxvQ3YVtbXSNoIHASs7nb+iIjonTp9Lv/Q7YtKOgo4DTjO9paG9FmSdirrc4ADaTJJZqf5IyKit+oMRV4m6WWS1MXrLqZ6XfLyUUOGDwPWSboa+AKwyKVvR9L5kuZPNH9EREyeOrMivxXYHbhf0lZAgG3PnOhFbR/QIn0JsKTFvlM6yR8REZOnzqzIj5mMQCIiYvqo9UZJScdR3XICWGn7a70LKSIiBl2dKfffB7wF+FFZ3lLSIiIimqrTcjkGmFdGjiHp08BVwNt7GVhERAyuOqPFAPZsWN+jF4FERMT0Uafl8l7gKkkrqEaKHcZDJ4qMiIh4iDqjxT4naSXwHKrK5TTbv+h1YBERMbjqdOi/BNhi+yu2vwzcJ+mE3ocWERGDqk6fyzttbxrZsH0X8M7ehRQREYOuTuXS7Jhaz8dERMSOqU7lslrSByU9VdIcSf8ErOl1YBERMbjqVC5/BfyW6mVhl1C9OOyNvQwqIiIGW53RYveSByYjImIc6j5EGRERUVsql4iI6Lo6z7k8bjICiYiI6aNOy+V7kj4v6Zguv40yIiKmqTqVy0HAx4E/B66X9B5JB/U2rIiIGGRjVi6uLLf9Z8ApwMnAlZK+Jel5PY8wIiIGzphDkSXtBbyaquXyS6rnXr4CzAM+D+zfywAjImLw1Lkt9l1gJnCC7T+1/UXb222vBs6b6IUlnStpg6R1kpZK2rOkD0naKmltWZpeQ9K7S961kpZJemJJl6QPS7q+7H/2RGOMiIiJqVO5nGn73bZvHUmQ9AoA2+/v4NrLgYNtzwWu46HviNloe15ZFrXIf67tubbnAV8D3lHSjwYOLMtC4GMdxBgRERNQp3Jp9nR+xy8Ls73M9vayuQrYb5z5727Y3B1wWT8e+EzpK1oF7Clpn07jjYiI+lr2uUg6GjgG2FfShxt2zQS2N881Ya+jmrtsxP6SrgLupmo5XdEixnOA1wCbgAUleV/globDbi1pt43Ku5CqZcPs2bNZuXJl56WYJJs3bx6oeJtJGfpv0OOHlGFKs910AZ5JNTLs5vI5srwUeGyrfKPOcRmwvslyfMMxZwBLAZXtXYC9yvowVUUxc4zrnA68q6xfChzasO9yYLhd/uHhYQ+SFStW9DuEjqUM/Tfo8dspQ78Bq93id7Vly8X21cDVki7wg7evxltxHdluv6STgWOBI0qg2N4GbCvrayRtpHrWZnWbU11IVam8k6ql8qSGffsBP59I/BERMTEt+1wkXVJWryqjrh6ydHphSUcBpwHH2d7SkD5L0k5lfQ5Vx/wNTfIf2LB5HLChrH8FeE0ZNXYIsMn2baPzR0RE77R7zuUt5fPYHl17MdUtsOVlVplVrkaGHQacLWk7cD+wyPadAJLOB85zNQz6fZKeBjxAdetuZFTZ16n6iq4HtgB/0aP4IyKihXa3xUb+t/8I4Dbb9wFIejQwu9ML2z6gRfoSYEmLfac0rL+sxTEmLzOLiOirOkORP0/VOhhxf0mLiIhoqk7l8kjbvx3ZKOuP6l1IEREx6OpULr+WdNzIhqTjgdt7F1JERAy6MSeupOoov0DSR8r2LVSTWEZERDQ1ZuVieyNwiKQZVA863tP7sCIiYpDVec3xHpI+CKwEVkj6R0l79DyyiIgYWHX6XD4F3AO8six3A//Sy6AiImKw1elzeeqoZ0reJWltrwKKiIjBV6flslXSoSMbkv4I2Nq7kCIiYtDVabmcCny69LMIuBN4bS+DioiIwVZntNha4JmSZpbtu8fIEhERO7h2Lwt7a4t0AGx/sEcxRUTEgGvXcnnMpEURERHTSrtZkd81mYFERMT0UechyoMkXS5pfdmeK+nM3ocWERGDqs5Q5E9QvaP+dwC21wEn9jKoiIgYbHUql91sXzkqbXsvgomIiOmhTuVyu6SnAgaQ9HIg76SPiIiW6jxE+Ubg48DTJf0MuBE4qadRRUTEQKvTcrnZ9pHALODptg+1fXMnF5V0rqQNktZJWippz5I+JGmrpLVlOa9F/neXvGslLZP0xJJ+uKRNDfnf0UmcERExMXUqlxslfRw4BNjcpesuBw62PRe4jmrAwIiNtueVZVGL/Ofanmt7HvA1oLESuaIh/9ldijciIsahTuXyNOAyqttjN0pa3DiR5UTYXmZ7ZFDAKmC/ceZvnIJmd0p/UERETA2y6/8uS3os8CHgJNs7dSUA6avAxbY/K2kIuIaqNXM3cKbtK1rkOwd4DbAJWGD715IOB5YAtwI/B95m+5oW+RcCCwFmz549fNFFF3WjOJNi8+bNzJgxo99hdCRl6L9Bjx9Shn5bsGDBGtvzm+60PeYCvAD4KFVn/iXAy2rkuQxY32Q5vuGYM4ClPFjJ7QLsVdaHgVuAmWNc53TgXWV9JjCjrB8D/KRO+YaHhz1IVqxY0e8QOpYy9N+gx2+nDP0GrHaL39UxR4tJuhFYWyqVv7F9b50azdUggHbnPRk4FjiiBIntbcC2sr5G0kbgIGB1m1NdCFwKvNMNt8tsf13SRyXtbfv2OjFHRER31BmK/Ex3eZp9SUcBpwEvsL2lIX0WcKft+yXNAQ4EbmiS/0DbPymbxwEbSvoTgF/atqTnUvUp3dHN2CMiYmx13ufSi/e3LKa6Bba8TOG/ytXIsMOAsyVtB+4HFtm+E0DS+cB5tlcD75P0NOAB4GZgZFTZy4FTS/6twIkjraKIiJg8dVouXWf7gBbpS6g65JvtO6Vh/WUtjllMVXFFREQf1RmKHBERMS51ptx/z8gT9GX7sZL+vrdhRUTEIKvTcjna9l0jG7Z/QzXMNyIioqk6lctOknYZ2ZD0aKrO+IiIiKbqdOh/Frhc0r9QTbPyOuDTPY0qIiIGWp2hyB+Q9EPgCEDAu21/s+eRRUTEwKo1FNn2N4Bv9DiWiIiYJlpWLpL+0/ahku7hobMOC7DtmT2PLiIiBlLLysX2oeXzMZMXTkRETAdtR4tJeoSk9ZMVTERETA9tKxfbDwBXS3ryJMUTERHTQJ0O/X2AayRdCfx+un3bx/UsqoiIGGh1Kpd39TyKiIiYVupULsfYPq0xQdL7gW/1JqSIiBh0daZ/eWGTtKO7HUhEREwf7Z5zORV4AzBH0rqGXY8BvtPrwCIiYnC1uy12IdVT+e8F3t6Qfs/I2yEjIiKaafcQ5SZgE/BnknYCZpfjZ0iaYfunkxRjREQMmDE79CW9CTgL+CXVO+uhmg5mbu/CioiIQVanQ/+vgafZfobtPyxLxxWLpHMlbZC0TtLSkbddShqStFXS2rKcN8Z53ibJkvYu25L0YUnXl3M/u9NYIyJifOpULrdQ3R7rtuXAwaWiug44vWHfRtvzyrKo1QkkPYlqNFvjLbqjgQPLshD4WNcjj4iItuo853IDsFLSpcC2kUTbH+zkwraXNWyuAl4+gdP8E/C3wJcb0o4HPmPbwCpJe0rax/ZtE482IiLGo07l8tOyPKosvfA64OKG7f0lXQXcDZxp+4rRGSQdB/zM9tWSGnftS9XaGnFrSXtI5SJpIVXLhtmzZ7Ny5couFGNybN68eaDibSZl6L9Bjx9ShinNdq0F2L3usQ15LgPWN1mObzjmDGApoLK9C7BXWR+mqihmjjrvbsD3gD3K9k3A3mX9UuDQhmMvB4bbxTk8POxBsmLFin6H0LGUof8GPX47Zeg3YLVb/K7WGS32POCTwAzgyZKeCbze9htqVFxHjnHuk4FjgSNKoNjeRrn9ZnuNpI3AQcDqhqxPBfanmrEZYD/gB5KeS9VSeVLDsfsBPx8r1oiI6J46Hfr/F/gT4A4A21cDh3V6YUlHAacBx9ne0pA+qzxXg6Q5VB3zNzTmtf1D24+3PWR7iKpCebbtXwBfAV5TRo0dAmxy+lsiIiZVncoF27eMSrq/C9deTDWVzPJRQ44PA9ZJuhr4ArDIZUYASedLmj/Geb9OVRldD3yCagqbiIiYRHU69G+R9HzAkh4FvBn4cacXtn1Ai/QlwJIW+05pkT7UsG7gjZ3GFxERE1en5bKI6sd6X6rbT/PIj3dERLQxZsvF9u3ASZMQS0RETBNjtlwkfXpkapay/VhJn+ptWBERMcjq3Baba/uukQ3bvwGe1buQIiJi0NWpXB4h6bEjG5IeR72BABERsYOqU0n8I/AdSV+gmmr/lcA5PY0qIiIGWp0O/c9IWg38MSDgpbZ/1PPIIiJiYNWZ/uUfgE/ZXjwJ8URExDRQp89lA/AJSd+TtEjSHr0OKiIiBtuYlYvt823/EfAaYIhqapYLJS3odXARETGYas0tViaSfHpZbgeuBt4q6aIexhYREQOqTp/LB4EXA/8BvMf2lWXX+yVd28vgIiJiMLWtXFS9LOU3wDMbp8Vv8NyeRBUREQOt7W2xMsPwCS0qFmxv6klUEREx0Or0uayS9JyeRxIREdNGnSf0FwCvl3QzcC/Vg5S2PbenkUVExMCqU7kc3fMoIiJiWqkz/cvNAJIeD+za84giImLg1Xmfy3GSfgLcCHwLuAn4Ro/jioiIAVanQ//dwCHAdbb3B44A/quTi0o6V9IGSeskLR15GZmkIUlbJa0ty3ljnOdtkixp77J9uKRNDfnf0UmcERExMXUql9/ZvoPqvS6PsL0CmNfhdZcDB5dBAdcBpzfs22h7XlkWtTqBpCcBLwR+OmrXFQ35z+4wzoiImIA6lctdkmYA3wYukPQhYHsnF7W9zPbIOVYB+03gNP8E/C3VO2YiImK8Ltlz7GMmSNVzkm0OkHYHtlJVRCcBewAXlNZM5wFIXwUutv1ZSUPANVStmbuBM21f0STPccARtt8i6SZgvu3bJR0OLAFuBX4OvM32NS2uuxBYCDB79uzhiy4anGnSNm/ezIwZM/odRkdShv4b9PghZejU4T9fwHZ25z+f+LUJ5V+wYMEa2/Ob7rRdewH2plRINY69DFjfZDm+4ZgzgKU8WMntAuxV1oeBW4CZo867G/A9YI+yfROwd1mfCcwo68cAP6kT6/DwsAfJihUr+h1Cx1KG/hv0+O2UoWMXUC0TBKx2i9/VlkORJR0CvA+4k6pT/99K5fIISa+x/e/tajTbR7bbL+lk4FiqFohLnm3AtrK+RtJG4CBgdUPWpwL7A1dXU5+xH/ADSc+1/YuG639d0kcl7W379naxRETsMC7ZE7aPmrnrQsEj94BX3tW1y7Trc1kMvAf4HNWMyKfYfgJwGPDeTi4q6SjgNOA4N8xbJmlWmd4fSXOAA4EbGvPa/qHtx9sesj1EdQvs2bZ/IekJZbJNJD23lK8rt+8iIqaFV95VVSSjbd/U1T6Ydg9RPtL2MgBJZ9teBWB7Q/n97sRiqltgy8u5VrkaGXYYcLak7cD9wCLbd5YYzgfOs726xTkBXg6cWvJvBU4caRVFRERx/33jS5+AdpXLAw3rW0ft6+gH2/YBLdKXUHXIN9t3Sov0oYb1xVQVV0REtPLoJ8CWm5und0m7yuWZku6mmqjy0WWdsp1pYCIiBtUJNz24fqHgVd2/wdOycrG9U9evFhERO4Q6D1FGRMR0tdtTenLaVC4RETuyxltkXZTKJSIiui6VS0REdF0ql4iI6LpULhER0XWpXCIiouvGnHJ/RyDp10CTx1WnrL2BQZ+MM2Xov0GPH1KGfnuK7VnNdqRyGUCSVrvVOxQGRMrQf4MeP6QMU1lui0VERNelcomIiK5L5TKYPt7vALogZei/QY8fUoYpK30uERHRdWm5RERE16VyiYiIrkvl0kOSjpJ0raTrJb29If1NJc2S9m6Tv+lxqny47Fsn6dkt8n9K0q8krR+Vfq6kDSXvUkktX5zdwzI8XdJ3JW2T9LY2+Ycl/bCc48Mq78WW9DhJyyX9pHw+dgqX4RxJt0jaPCr9rZJ+VL6HyyW1nPu8h2U4qVx/naTvSHpmi/xT+XuoW4ap/D0cX66/VtJqSYeO8/r7S/pe+R4ulvSoVjFMGttZerAAOwEbgTnAo4CrgT8o+54FDAE3AXu3OUfT44BjgG9QvRX0EOB7LfIfBjwbWD8q/UXAI8v6+4H396EMjweeA5wDvK1N/iuB55WyfgM4uqR/AHh7WX/7FC/DIcA+wOZR6QuA3cr6qcDFfSjD84HHlvWj2/xdmsrfQ90yTOXvYQYP9oHPBTaM8/qXACeW9fOAU1vFMFlLWi6981zgets32P4tcBFwPIDtq2zfNNYJ2hx3PPAZV1YBe0rap0n+bwN3NklfZnt72VwF7DfZZbD9K9vfB37XKm8p00zb33X1r+YzwAll9/HAp8v6pxvSp9RP4KkAAAVqSURBVFQZynGrbN/WJH2F7S1ls1/fw3ds/6ZdDAPwPYxZhnLcVP4eNpc/W4DdgWYjrZpev7Qi/xj4Qjmu3fcwaVK59M6+wC0N27eWtKl27tdR/U+019eZiH3LNZtdf/bID0X5fHybc/SzDHX9Jf3/HlrFMEjfQ7s/x07z97QMkl4iaQNwKdW/y7rX3wu4q+E/jFPi7/gj+x3ANKYmad0a992Vc0s6A9gOXNDL63SgG9fvdxnGJOnVwHzgBa0OaZLW1TJIWkD1w9rsXv9AfA9jlKFO/r5+D7aXAkslHQa8Gziy5vWn5N/xtFx651bgSQ3b+wE/b5dB0jdLh9753T53k2udDBwLnNTQHO/4OuMoQx238tBbFI3X/+XIrcDy+as25+hnGdqSdCRwBnCc7W0tDutpGSTNBc4Hjrd9R4vrT+nvoUYZxsrf9+9hRLmd/dQmAwNaXf92qlvjjxyV3l/97vSZrgtVq/AGYH8e7Hx7xqhjbqJN51+r44A/5aEd+le2yTvEwzv0jwJ+BMzqVxka0s+ifWf490sZRzqSjynp5/LQjuQPTNUyNBw3uiP5WVQdtAf28e/Sk4HrgeePkW/Kfg91yzDFv4cDeLBD/9nAz0a261wf+DwP7dB/Q50/i14ufb34dF+oRnVdV/7intGQ/maq/4Vsp/ofxvkt8jc9rvwD/0g57w+B+S3yfw64jarD+VbgL0v69VT3bteW5bw+lOEJJf1u4K6yPrNJ/vnA+nL9xQ3/APcCLgd+Uj4fN4XL8IGy74HyeVZJvwz4ZcP38JU+lOF84DcNMaxukX8qfw91yzCVv4fTgGvK9b8LHDrO68+hGtF3PVVFs0snv13dWDL9S0REdF36XCIioutSuURERNelcomIiK5L5RIREV2XyiUiIroulUvEBEi6vzwcd42kq8vMum3/PUkakvSqCVzr0ZK+JWknSYdL+tqo/f8q6eWqZrheW2bM3VTW10p6vqSdJb2vzJq7XtKVko4u+S9rN5txxESkcomYmK2259l+BvBCqucP3jlGniFg3JUL1TxTX7R9f7uDbL/E9jzgFOCKEt8829+hmk5kH+Bg2wcDLwYeU7L+G/CGCcQV0VIql4gO2f4VsBB4kypDkq6Q9IOyPL8c+j7gf5TWxP8uLZFzJX2/vMvj9S0ucRLw5YnGJ2k34H8Bf+UytYntX9q+pBzyFeDPJnr+iGYycWVEF9i+odwWezzV/FovtH2fpAOpZkqYTzU9yttsHwsgaSGwyfZzJO0C/JekZbZvHDlveenTHNeYzr2NA4Cf2r67Rey/kbSLpL08gXm5IppJ5RLRPSOz0+4MLJY0D7gfOKjF8S8C5kp6edneAzgQuLHhmL2pppYZ0WpKjU6n2vgV8EQglUt0RSqXiC6QNIeqIvkVVd/LL4FnUt16vq9VNqpbVd9sc+qtwK4N23cAozvfH0c1M24r1wNPlvQY2/e0OGbXcq2IrkifS0SHJM2imol2savJ+vYAbrP9APDnVK+nBbiHBzvRAb4JnCpp53KegyTt3nhuV29Y3EnSSAXzE+CJkv5byfMUqkpsbav4XL1l8ZPAh0ferS5pn/L+EsqbDJ9ANVNvRFek5RIxMY+WtJbqFth2qhFXHyz7PgoskfQKYAVwb0lfB2yXdDXwr8CHqEaQ/aD8wP+a5q+nXUb1AqzLbG8rlcK/lArnd8AptjeNEe+ZwN8DP5J0X4npHWXfMLDKD77JMKJjmRU5YoqT9Czgrbb/vEfn/xDVNPOX9+L8sWPKbbGIKc72VcAKSTuNefDErE/FEt2WlktERHRdWi4REdF1qVwiIqLrUrlERETXpXKJiIiuS+USERFd9/8B+h5hdDxokwMAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Now, we can then display the output file, \n", "# i.e. the barycentric velocity correction\n", "\n", "import astropy.time\n", "\n", "dates = list() ; corrs = list()\n", "with open('abell426.barycorr.list', 'r') as f:\n", " for line in f:\n", " line = line.split()\n", " dates.append(line[0])\n", " corrs.append(float(line[1]))\n", "\n", "dates = astropy.time.Time(dates, format='isot', scale='utc')\n", " \n", "import pylab as pl\n", "pl.plot_date(dates.plot_date, corrs, ls='None', marker='+', c='orange')\n", "pl.grid()\n", "pl.xlabel('Date (UTC)')\n", "pl.ylabel('Barycentric velocity correction (in km/s)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# How to use the computed correction\n", "\n", "In general, for km/s precision, just add the barycentric velocity to the measured velocity. For higher precision you can refer to http://docs.astropy.org/en/stable/api/astropy.coordinates.SkyCoord.html#astropy.coordinates.SkyCoord.radial_velocity_correction" ] } ], "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.5" } }, "nbformat": 4, "nbformat_minor": 4 }