├── LICENSE
├── README.md
├── agenda
├── Agenda-AAS243-Workshop.md
└── Agenda_AAS245_Workshop.pdf
├── handouts
└── How_to_Access_TESS_Data.pdf
├── notebooks
├── Linear Models Tutorial
│ ├── LinearModelTutorial.ipynb
│ └── README.md
└── hackathon
│ ├── Hackathon1_Find_a_Planet_from_FFI.ipynb
│ ├── Hackathon2_Stellar_rotation_periods.ipynb
│ ├── Hackathon3_Make_gif_from_FFI.ipynb
│ ├── Hackathon4_machine_learning.ipynb
│ ├── Hackathon5_AGN.ipynb
│ └── workshop_material
│ ├── TESS_EBs.csv
│ ├── exofop_tess_tois.csv
│ ├── global_lc_test.csv
│ ├── global_lc_train.csv
│ ├── global_lcs.csv
│ ├── local_lc_test.csv
│ ├── local_lc_train.csv
│ ├── local_lcs.csv
│ └── ngc4151_asas.csv
└── talks
├── Accessing-TESS-Data-At-MAST.pdf
├── How-to-Access-TESS-Data-Tutorial.ipynb
├── How-to-Find-Which-TESS-Targets-Were-Observed.ipynb
├── How-to-Propose-for-TESS-Cycle8-Data-and-Funding.pdf
├── Introduction-NASA-TESS-Interactive-Data-Workshop-2024.pdf
├── Introduction_to_TESS.pdf
├── Introduction_to_TIKE.pdf
├── Non-exoplanet-science-with-TESS.pdf
├── Optimizing_for_the_cloud_on_TIKE
├── .DS_Store
├── Optimizing Scripts for the Cloud and TIKE.ipynb
├── dask_cluster.png
├── dask_collections.png
└── dask_gateway.png
├── Querying_for_TESS_Data_in_MAST.ipynb
├── TIC-Crossmatch-Demo.ipynb
└── TIKE_Cloud_Live_Demo
├── AAS245-tess-cloud-tike-LIVE.ipynb
├── AAS245-tess-cloud-tike.ipynb
└── TIKE-Cloud-Photo.png
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 TESS Guest Investigator Program
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # TESS Interactive Workshop Materials
2 |
3 | This repository holds the materials for the two day TESS interactive workshop at the AAS 245 meeting. In this repository you'll find
4 |
5 | ## Agenda:
6 |
7 | This folder contains the agenda for the workshop.
8 |
9 | ## Talks:
10 |
11 | These pdf version of the presentations at the workshop are available for your information. These include
12 |
13 | - Introduction to TESS
14 | - Proposing for TESS Data and Funding
15 | - How to Find if Your Target was Observed by TESS
16 | - Introduction to TIKE
17 | - Non-exoplanet science from TESS
18 |
19 | ## Notebooks:
20 |
21 | These jupyter notebooks will step through how to work directly with TESS data. Inside this directory you will find:
22 |
23 | - In the `hackathon/` directory there are notebooks from the hackathon to help get you start with your science cases
24 | - In the `tutorial/` directory there are notebooks which will step you through how to fit simple linear models to data to remove systematics and work with TESS data
25 |
26 |
27 | ## Handouts:
28 |
29 | This folder contains handouts and materials available from the workshop including:
30 |
31 | - How to Access TESS Data
32 |
33 |
--------------------------------------------------------------------------------
/agenda/Agenda-AAS243-Workshop.md:
--------------------------------------------------------------------------------
1 | **NASA’s TESS Mission Interactive Data Workshop**
2 |
3 | *AAS 245 Meeting – National Harbor, MD*
4 |
5 | *Gaylord National Resort & Convention Center, Room: National Harbor 2*
6 |
7 | *Saturday 11th Jan - Sunday 12th 2025, 9am - 5pm ET*
8 |
9 | NASA’s TESS mission (launched in 2018) provides the community with high cadence, opBcal
10 | Bme-series across the sky, with nearly conBnuous observaBons lasBng between 27 days and
11 | one year. TESS operaBons have been extended through September 2025, and so TESS will
12 | conBnue to provide Bme-series data for users on hundreds of thousands of targets, as well as
13 | Full Frame Images of >2000 square degrees of the sky each month. These observaBons provide
14 | valuable resources for a wide range of astronomy; the detecBon of exoplanets, the invesBgaBon
15 | of stellar variability, the idenBficaBon of extra-galacBc transient events, the study of AGN, and
16 | more.
17 |
18 | This two-day workshop is presented to the community to learn about TESS, learn how to obtain
19 | data (and research funding!) through the TESS General InvesBgator Program, learn how to
20 | quickly get to work with the data - all of which is available with no exclusive access period, and
21 | learn about TIKE - a JupyterHub service provided by the STScI which can help you access and
22 | analyze your TESS data. This workshop is ideal for both new and established users of TESS data
23 | and TIKE. New users can expect to learn where to get started with obtaining and using data.
24 | More experienced users can expect to learn about the 200s observing mode and updated
25 | analysis techniques. We strongly encourage parBcipaBon from scienBsts at all career-stages,
26 | working on extragalacBc astronomy, stellar astronomy, exoplanet astronomy. We addiBonally
27 | encourage aZendance from anyone interested in proposing for TESS observaBons.
28 |
29 | The workshop will consist of; i) short talks introducing the NASA TESS mission ii) explanaBons of
30 | how to propose for TESS observaBons and obtain research funding in upcoming proposal calls
31 | iii) tutorials on working with TESS data iv) how to work with TIKE and to opBmize your script for
32 | the cloud v) interacBve work-with-the-experts sessions to show you how to work with TESS data
33 | and TIKE for your own targets. Please bring a laptop for these in person interacBve sessions!
34 |
35 | **Saturday 11th Jan 9am - 5pm ET**
36 |
37 | | Time | Title | Duration |
38 | | ---- | ----- | -------- |
39 | | 09:00 | Introduction to this event | 10 min |
40 | | 09:10 | Introduction to TESS | 20 min |
41 | | 09:30 | Introduction to TIKE | 10 min |
42 | | 09:40 | Beyond Exoplanet Science with TESS | 20 min |
43 | | 10:00 | Break | 10 min |
44 | | 10:10 | Proposing for TESS Data and Time | 40 min |
45 | | 10:50 | How to Find if Your Target was Observed by TESS | 20 min |
46 | | 11:10 | Break | 10 min |
47 | | 11:20 | MAST: How to Access TESS Data | 30 min |
48 | | 11:50 | Tutorial: Detrending Spacecraft Systematics | 40 min |
49 | | 12:30 | Lunch (Not Included) | 60 min |
50 | | 13:30 | Hackathon: Work with the experts directly on your science areas! | 3 hrs |
51 | | 16:30 | Wrap Up | 20 min |
52 | | 17:00 | End | |
53 |
54 | **Sunday 12th Jan 9am - 5pm ET**
55 |
56 | | Time | Title | Duration |
57 | | ---- | ----- | -------- |
58 | | 09:00 | Introduction to day 2 | 10 min |
59 | | 09:10 | Introduction to MAST | 10 min |
60 | | 09:20 | Querying for data in MAST | 20 min |
61 | | 09:40 | Cross-matching the TIC | 20 min |
62 | | 10:00 | Break | 10 min |
63 | | 10:10 | Tutorial: Introduction to the Cloud and TIKE (code along) | 60 min |
64 | | 11:10 | Break | 10 min |
65 | | 11:20 | Optimizing your scripts for the cloud/TIKE | 60 min |
66 | | 12:20 | TIKE as a tool for education | 10 min |
67 | | 12:30 | Lunch (Not Included)| 60 min |
68 | | 13:30 | Hackathon: Work with the experts directly on your science areas! | 3 hrs |
69 | | 16:30 | Wrap Up | 20 min |
70 | | 17:00 | End | |
71 |
--------------------------------------------------------------------------------
/agenda/Agenda_AAS245_Workshop.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tessgi/InteractiveWorkshop/f149edecbb7efa9435a817cfd09755f1ecc7f722/agenda/Agenda_AAS245_Workshop.pdf
--------------------------------------------------------------------------------
/handouts/How_to_Access_TESS_Data.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tessgi/InteractiveWorkshop/f149edecbb7efa9435a817cfd09755f1ecc7f722/handouts/How_to_Access_TESS_Data.pdf
--------------------------------------------------------------------------------
/notebooks/Linear Models Tutorial/README.md:
--------------------------------------------------------------------------------
1 | # Linear Model Tutorial
2 |
3 | In this part of the workshop we will go through a short tutorial on understanding and building linear models. You can follow along with the tutorial either using the notebook above, or as slides at [this link (https://christinahedges.github.io/LinearModelTutorial).](https://christinahedges.github.io/LinearModelTutorial).
--------------------------------------------------------------------------------
/notebooks/hackathon/workshop_material/local_lc_test.csv:
--------------------------------------------------------------------------------
1 | 181804752,P,1.014830379,1.000702213,0.992128305,1.006153554,1.01559405,0.996077371,1.000887797,1.001889896,1.001889896,1.006401109,1.007933703,0.998338846,1.003085369,1.003085369,0.988374529,0.987029216,0.987590334,0.98573848,0.98573848,0.989146655,0.989069605,0.977314864,0.982314994,0.982314994,0.985342755,0.983971841,0.990845828,0.978200801,0.978200801,0.988401819,0.974091471,0.998883431,0.984850627,0.986428937,0.991442095,0.986781005,0.977924521,0.989963776,0.987568339,0.98733976,0.994867626,0.994867626,0.984822985,0.99158026,0.993846892,0.98627761,0.98627761,0.973883413,0.977224541,0.977930948,0.983254024,0.983254024,0.993836673,0.983790415,0.996023234,0.993674114,0.993674114,0.995546188,0.978493249,0.988188372,0.989861668,0.989861668,0.997099196,0.99382946,0.985428125,0.976676483,0.989997395,0.997254316,0.98214643,0.990470446,1.001941949,0.981023643,0.988140612,0.987007343,0.987007343,0.99762565,0.986486645,0.984374196,0.98850571,0.98850571,0.995280612,0.988903079,0.984053984,0.987737745,0.987737745,0.998031171,0.996381081,0.983353968,0.995509197,0.995509197,1.006016991,1.014314958,0.994687283,0.993476281,0.993476281,1.001784017,1.019518128,1.0199171,1.004125064,1
2 | 65412605,P,0.999979142,0.999970472,1.000233597,1.000115968,1.000163174,1.000466011,1.000263933,1.000337611,1.000561386,1.000472552,1.000482325,1.000878231,1.000740115,0.999851378,0.998962785,0.998480927,0.997680631,0.996655758,0.996932751,0.997104583,0.995708266,0.995809945,0.996141874,0.995882274,0.997201401,0.996147789,0.995473102,0.996205908,0.995085975,0.996300061,0.996062594,0.996323012,0.995463,0.997334344,0.995825042,0.995867876,0.996402409,0.995504831,0.995614008,0.996444113,0.996055161,0.995952009,0.995617176,0.996011995,0.996468046,0.996069629,0.996388728,0.996145813,0.99679627,0.996588519,0.996714776,0.996717109,0.996328527,0.996761138,0.996894476,0.996609799,0.995985394,0.997019335,0.997216621,0.996966193,0.996175271,0.996947621,0.99672089,0.996513045,0.996599314,0.996385262,0.997813505,0.997554389,0.997772161,0.997596797,0.996923141,0.996902157,0.99788684,0.99807569,0.997794945,0.997522194,0.997870031,0.998650438,0.998572684,0.997460603,0.997873735,0.99727782,0.997308919,0.998510796,0.998730297,1.000336498,1.000299115,1.000889904,1.000538462,1.001041797,1.000652583,1.00031547,0.999803629,1.000092055,0.999854978,1.000520616,1.000736716,1.000657208,1.000248722,1
3 | 48103627,P,1.002675174,1.001638969,0.998116635,1.000283466,1.001655284,1.004409239,1.005025504,1.000583057,1.001627399,1.004870308,1.002060494,1.001101552,1.001794643,1.002515206,1.002678479,0.999525466,0.99477351,0.995533024,0.99793734,0.998019714,0.999310997,0.997200813,0.999038867,0.99995507,0.997201201,0.99791386,0.999267878,0.999273575,1.000407087,0.998854238,0.99053282,0.996297214,0.994602425,0.999556695,0.996578909,0.996278434,0.995428318,0.992024809,0.99880714,0.997883742,0.997459052,0.995146707,0.996779123,0.995876744,0.99850197,0.994534818,0.996081278,0.996412479,0.992559632,0.996491376,0.999747307,0.997948439,0.99633657,0.994556491,0.996172986,0.997293622,0.995906124,0.998158145,0.993084727,0.996980561,0.993870773,0.999485965,0.99508009,0.99600068,0.995524291,0.994395281,0.998414172,0.997828077,0.997743088,0.994744656,0.998552433,0.998767737,0.99678375,1.002165141,0.99770224,0.998194123,0.995146518,0.999344707,0.997647467,0.999344695,0.998745535,0.998013553,0.999021263,1.000622582,1.003545738,1.003199662,1.004283705,1.001093305,1.001953153,0.999844687,1.001939651,0.999216063,1.001639289,1.001294136,1.000145736,0.999089733,1.00110784,1.00332224,1.001065031,1
4 | 63074282,EB,1.003765009,1.003743207,1.005993476,1.003339281,1.003767932,0.999784691,1.003353529,1.00053984,1.001011787,1.001649035,0.997972539,0.997327491,0.998828519,0.996859657,0.998103649,0.997558539,0.997805938,0.99702414,1.000135888,0.998925724,0.998247846,1.000118135,1.00174399,1.001156297,1.002424364,0.999698667,0.991681895,0.983289289,0.979954013,0.974565515,0.973505053,0.9667182,0.961138384,0.95741885,0.951083193,0.947922752,0.946523471,0.942062211,0.939994865,0.935714573,0.933389329,0.931181103,0.927206791,0.927390327,0.926232006,0.923814635,0.923142361,0.923042282,0.920931094,0.920349224,0.922089224,0.924652114,0.921770013,0.923381635,0.926434173,0.928142875,0.92838862,0.931385091,0.933504606,0.936542327,0.938082503,0.945087481,0.948027661,0.948185777,0.951923021,0.957621425,0.962939294,0.965780401,0.974547701,0.978285349,0.982902816,0.988717633,0.993413894,0.999262694,1.003739551,1.001864508,1.00338378,0.999730394,1.000473839,0.9988298,0.995668755,0.99648822,0.997424823,0.998654641,0.997814741,0.995556637,0.998010289,0.998613967,0.997443923,0.999375139,0.998593058,1.001164319,1.003754503,1.001507252,1.001754189,1.003656578,1.003484527,1.006138925,1.003962335,1
5 | 339672028,P,0.998615605,0.998741069,0.998788885,0.999147881,0.998738291,0.998580413,0.997859342,0.999302818,0.999490992,0.99875881,0.997991266,0.9994592,0.999252896,0.998593118,0.998649913,0.998998624,0.998664648,0.99903594,0.999297012,0.998649565,0.997925495,0.998027906,0.998813371,0.998865831,0.997990286,0.998656389,0.998261181,0.998237022,0.997122661,0.997994191,0.998591361,0.998158456,0.997617922,0.997749797,0.998818095,0.997710025,0.999218305,0.997766358,0.998282093,0.997537896,0.997507754,0.999077215,0.998251925,0.997490707,0.998299192,0.997423756,0.998503211,0.998137593,0.998636768,0.997990218,0.997676365,0.999068368,0.99797441,0.999051382,0.998435564,0.998510664,0.99778301,0.998109052,0.998429853,0.997646063,0.99817787,0.998862894,0.997036533,0.998115041,0.9982676,0.997914552,0.998483989,0.998135102,0.998850161,0.998527769,0.997514151,0.997501389,0.998471216,0.998505976,0.998364079,0.997864805,0.998403797,0.997981132,0.998422293,0.998963537,0.998267191,0.998670693,0.998074402,0.998146167,0.997666214,0.997671692,0.998530486,0.998570053,0.998256794,0.998311551,0.998432715,0.998822419,0.999526804,0.998685712,0.997855657,0.997906258,0.997652333,0.998847413,0.997375196,1
6 | 261136679,P,1.00001931,0.999854938,0.999916068,0.999916132,0.999871043,0.999978527,0.999869139,0.999942567,0.99991483,0.999990538,0.999998708,1.000099147,0.999928152,0.999831701,0.999953935,0.999974577,0.999937045,0.999992176,0.999978209,0.999970586,0.999918721,0.999863724,1.000007745,0.999998244,1.00001103,0.999925507,1.00008036,0.999969925,0.999951068,0.99993984,1.000022737,0.999986912,0.999996713,1.000083746,1.000034626,1.000094869,0.999988462,1.000065693,1.000045242,0.999899207,1.00003645,1.000105526,0.999975924,0.999929138,0.999908728,1.000065131,1.000017956,0.999987142,0.999996527,0.999910015,1.00001687,0.999945242,0.999931382,1.000040715,0.999952234,0.99995798,0.999897735,1.000063722,1.00000351,1.000001089,0.999925779,0.999990425,0.999950623,1.000003865,1.000027966,1.000030833,0.99985057,0.999967796,0.99993046,0.999966631,0.999988329,1.00000753,0.999920469,0.999818119,0.999882746,0.999881684,0.999887436,0.999963326,0.99978612,1.000019616,1.000012625,0.999904141,0.999889946,0.999953209,1.000022031,0.999862684,0.999823511,0.999856802,0.999876075,0.999959393,0.999936005,0.999764066,0.999955975,0.999921152,0.999972334,0.999888756,0.999986792,1.000101539,1.000077783,1
7 | 229510866,P,1.000171043,0.999899109,1.000008761,0.999996124,0.999944714,0.999883635,0.999917749,0.999826941,1.000374074,1.000345413,1.000189597,0.999998433,1.000031196,0.999899851,1.000179738,0.999937049,0.999992671,1.00002024,0.999854944,0.9997873,1.00022824,0.999578379,1.000147816,0.999954317,0.999997679,0.999933857,0.999895074,1.00026975,0.999586631,0.999969,0.999598701,0.999785231,0.99905801,0.996279522,0.994465075,0.994742758,0.993970944,0.993964226,0.99388464,0.993591564,0.99411072,0.993744194,0.993747095,0.993554022,0.993354191,0.993474604,0.99348241,0.993739843,0.993266645,0.99326551,0.993507536,0.99327747,0.993487942,0.993572054,0.993496303,0.993417581,0.99343625,0.993414351,0.993775588,0.993699982,0.993860452,0.993841258,0.99439344,0.994707615,0.995031939,0.996232694,0.998516577,0.999980349,1.000049403,1.000056361,1.000154345,1.00019412,1.000458245,1.000041258,1.000267365,0.999902085,0.999678715,0.999998132,0.999757664,0.999933952,1.000026566,1.000147074,1.000329109,0.999951921,0.999803876,0.999998335,1.000104317,1.000390512,0.999981285,0.999699204,1.000027032,1.000074207,0.99960001,0.999949534,0.999911208,1.000058389,1.000350608,1.000543078,0.999888013,1
8 | 411608801,P,1.000607214,1.000648662,1.001163027,1.002295667,1.001193888,1.000990075,1.000472003,1.001149177,1.000500466,1.000546957,1.000912137,1.000736389,0.999666047,1.000212711,0.998992936,0.998399324,0.997392314,0.998006686,0.997742589,0.996521862,0.996529602,0.996154425,0.996750692,0.996205113,0.996883014,0.996392314,0.995904281,0.995443831,0.996396352,0.996880076,0.995283672,0.995117805,0.995535861,0.995475276,0.996725364,0.994928126,0.995579272,0.996264911,0.995308063,0.994727614,0.995255459,0.995033758,0.995532804,0.99541622,0.994499711,0.994128346,0.994882934,0.995006476,0.995514243,0.995234657,0.994911424,0.995183709,0.995045242,0.994830085,0.994464498,0.995367467,0.994271357,0.996178647,0.994614347,0.995148259,0.995763891,0.996861757,0.996257809,0.995733729,0.994753554,0.994691829,0.994929547,0.994801196,0.995411435,0.995195106,0.997946104,0.996444918,0.99664041,0.996972889,0.996425696,0.996355673,0.997277852,0.996512906,0.995770162,0.996953761,0.997610379,0.997178764,0.998561064,0.998957261,0.998900461,0.998750974,0.999796933,0.999510021,1.000339944,1.000373555,0.999595915,1.000682454,1.000659691,1.000531914,1.000429286,1.001587076,1.001182805,1.001157122,1.000929933,1
9 | 183985250,P,1.000084281,1.000079981,1.000027873,0.999826469,0.99999727,0.999922972,0.999884984,1.000069295,1.000049089,0.999987806,0.999935372,1.000015732,1.000053731,0.999948729,0.999910509,0.999963748,1.000074395,0.999836804,1.000218756,1.000034957,1.000006942,0.999999338,0.99987334,0.999986895,0.999924739,0.999911297,1.000060463,0.999913741,0.999957051,0.999813549,0.999976706,0.999964908,0.999935474,1.000007641,1.000016041,0.999857464,0.999860631,0.999860049,0.999942069,0.999790278,1.000013617,0.999907204,1.000073611,0.999899366,0.999531712,0.999027267,0.998580069,0.998384787,0.998435816,0.998191735,0.998586953,0.998441613,0.998438561,0.998702071,0.998530533,0.999005099,0.99936249,0.999929525,0.999900796,1.000109993,0.999933438,1.000013654,1.000144664,1.000045149,1.000127254,0.999934157,1.000092911,1.000114378,1.00010075,1.000177169,1.000096117,1.000369161,0.999926089,1.000085989,0.999910186,1.000010091,0.999997208,1.00009118,1.000026749,0.999954507,0.999917033,0.99995615,0.999948402,1.000083255,1.000019509,0.999934721,0.99999982,0.999946351,1.000039794,1.000116958,0.999999088,1.000111739,0.999946463,0.999871296,1.000013769,0.999910119,1.000148133,1.000025519,1.000051148,1
10 | 212344482,EB,1.000112559,1.000014339,1.000031094,0.999907996,0.999997294,0.999930858,1.000049369,0.999997753,1.000179649,1.000205784,1.000153184,0.999966899,0.999837438,0.999968471,1.000142567,0.999946674,0.999985745,0.999889692,0.999720922,0.999397741,0.999636349,0.999834691,0.999780315,0.999929369,1.00028826,0.99826315,0.996257823,0.994274207,0.992190942,0.990325779,0.988801968,0.986516316,0.984931992,0.98337757,0.981380438,0.976051409,0.965389265,0.952208753,0.936546845,0.919286838,0.901349837,0.884133861,0.866254069,0.850674546,0.837579916,0.828202001,0.822276689,0.82017207,0.818835506,0.818529063,0.818772227,0.820204852,0.822474392,0.828400663,0.838480959,0.851705577,0.868486721,0.885029229,0.902974525,0.921188061,0.937577467,0.953449479,0.966515574,0.976429781,0.981409148,0.983449929,0.984807269,0.986810511,0.988680565,0.990740731,0.992371805,0.994621485,0.996653708,0.998667663,1.000307165,1.00026883,1.000114876,0.999777672,0.999776253,0.999504765,0.999742336,0.999950182,1.000057495,1.000025135,0.999976494,1.000161615,1.000004431,0.999874691,0.999925495,1.000026108,1.00004616,0.999890124,1.000131275,0.99981713,0.999852459,0.999796299,1.000231343,0.999858444,1.000306741,1
11 | 121457732,EB,1.00033311,0.99926271,0.998948942,0.999661601,1.000534775,0.999845649,0.999509251,1.000235363,0.99989072,1.000017341,1.000343218,1.000282069,1.000131623,0.9996065,0.999171306,1.000096877,1.000225721,0.999403013,0.999948395,1.001477128,0.998686495,0.999356301,0.999308277,0.999800408,1.000587048,0.997750064,0.996507542,0.993654985,0.991664355,0.989650618,0.987164588,0.986727903,0.98099584,0.974041312,0.960828252,0.950029749,0.936786212,0.921996836,0.908690786,0.894216618,0.880686019,0.8736205,0.870927139,0.869702054,0.867332578,0.866503326,0.86527942,0.865340366,0.865845922,0.86553469,0.865123308,0.864876808,0.864661591,0.866033001,0.867134233,0.869487416,0.870434567,0.873547451,0.880100248,0.891776728,0.904678447,0.921452114,0.936867202,0.95176082,0.962328891,0.971889345,0.980772591,0.985232246,0.985293101,0.987480518,0.990485069,0.994283983,0.996258903,0.998581538,1.000046988,0.999792487,0.997809337,0.999891923,1.000283875,0.999589084,1.000490962,1.001336335,0.997977168,1.000972515,0.999316243,0.999734785,0.998747949,1.000208965,1.00025825,1.001070833,1.002053355,0.999915794,0.999172614,0.999515234,0.999899761,1.000431955,1.000305651,1.000192895,0.999827707,1
12 | 169815759,EB,0.999545127,0.99810134,0.99841019,0.996113935,1.000669876,0.997770934,0.997506006,0.99450206,0.999915617,0.99651953,0.996558255,0.992699975,0.999324335,0.995620924,0.995587398,0.992699442,0.999692477,0.995459078,0.999521704,0.991401632,1.000148349,0.995590557,0.99217228,0.995513331,0.995467127,0.995264464,0.991869264,0.999255678,0.995846941,0.9955802,0.992757741,0.998003818,0.994911731,0.994872409,0.992937242,0.99776911,0.994702308,0.994419741,0.991662151,0.996862693,0.99423561,0.990963592,0.997367619,0.994543659,0.994471014,0.99080609,0.997222334,0.994461363,0.994263377,0.99129743,0.997876241,0.994491227,0.994814896,0.9918801,0.996884706,0.994597215,0.994890943,0.992240397,0.994490105,0.994561887,0.991949338,0.996581084,0.994139999,0.99450703,0.991114391,0.996778995,0.994231331,0.993976797,0.991311082,0.997260377,0.994399904,0.994597183,0.991046998,0.997618746,0.994635843,0.998123059,0.991222512,0.998198608,0.994848395,0.991484499,0.998838373,0.995430331,0.995777598,0.992784939,1.000105136,0.996207932,0.996296838,0.993133898,0.99974481,0.996776085,0.9969012,0.994884367,1.000344183,0.997458538,0.997936688,0.997203695,0.999370626,0.999243781,0.999626297,1
13 | 436660156,EB,0.997026551,0.997525055,1.002445093,1.017827161,1.040572659,1.070047423,1.102188274,1.137355494,1.171311106,1.202225607,1.230535173,1.257626787,1.280225411,1.302069532,1.320635183,1.338719253,1.355814739,1.371787697,1.387343078,1.40061511,1.411481068,1.421597461,1.428383895,1.433108523,1.435909084,1.436501803,1.433954609,1.428275358,1.423200101,1.411931318,1.40087218,1.386103857,1.370453538,1.352192541,1.333333629,1.312680898,1.289896898,1.266528546,1.239275116,1.212033778,1.179839778,1.146787122,1.112398757,1.078235131,1.045303944,1.016648709,0.992524661,0.977596269,0.972251082,0.971635993,0.973789813,0.978295944,0.992424001,1.014908543,1.046158776,1.07878141,1.114840077,1.148268984,1.180263328,1.210936554,1.240604004,1.267677273,1.292942248,1.315507861,1.335000015,1.353652972,1.371774696,1.387875682,1.401092143,1.413474047,1.422735994,1.429487174,1.435274795,1.435896178,1.437062835,1.433370831,1.427938599,1.421317552,1.41046079,1.399656021,1.386165714,1.3719405,1.355344468,1.337473187,1.320950358,1.301801765,1.281373568,1.258892126,1.233115889,1.205730428,1.172685585,1.140511274,1.107285287,1.075239182,1.045741431,1.021411754,1.003887072,0.998371626,0.99731138,1
14 | 199708835,EB,0.938764742,0.91584624,0.914273984,0.909291447,0.905594231,0.90151318,0.897855736,0.875343435,0.888187064,0.886174081,0.881997172,0.878440863,0.877190399,0.873037315,0.888219321,0.865355772,0.860829888,0.859086523,0.85600244,0.853920678,0.850409802,0.832504484,0.84555402,0.842907531,0.838560027,0.837589391,0.835097881,0.834811122,0.846054718,0.828951927,0.827094231,0.828045183,0.82982666,0.827002381,0.827142635,0.81176818,0.827176281,0.82593517,0.824330497,0.824317197,0.823651758,0.825117231,0.834768122,0.825369754,0.824214599,0.824101951,0.8228875,0.822219313,0.822951138,0.810577332,0.824050715,0.822060652,0.821744505,0.82289489,0.809864971,0.823065814,0.834674738,0.822195672,0.822847494,0.823797357,0.823592525,0.823761099,0.823165026,0.814426646,0.825006271,0.825490725,0.827772411,0.824394516,0.827711016,0.829797783,0.837279021,0.831403689,0.83195911,0.834342599,0.826749077,0.838107976,0.841102893,0.843361309,0.838341951,0.849405118,0.850880435,0.85406827,0.854943362,0.857830633,0.869962352,0.865632148,0.869719,0.871720008,0.875691554,0.877858607,0.880742019,0.884709403,0.883472971,0.893764989,0.896684349,0.899575669,0.903267754,0.906212345,0.910862052,1
15 | 219998089,EB,1.007887613,1.007557817,1.005733248,1.005864419,1.004562197,1.002551114,0.998963523,0.994595473,0.992215867,0.982269145,0.976413045,0.97208745,0.966607169,0.958625582,0.953393586,0.949654484,0.943699437,0.936193639,0.929345842,0.927326502,0.919552684,0.914139025,0.908587629,0.902546208,0.897122634,0.890876335,0.886115254,0.879416984,0.874163268,0.871075945,0.865584407,0.861046424,0.855993994,0.853197815,0.848664223,0.847259571,0.842970885,0.841950734,0.841265738,0.838830319,0.838623073,0.837986213,0.837094449,0.836195179,0.83686916,0.836557041,0.836071357,0.836345066,0.836206397,0.834777741,0.834845885,0.836520579,0.836555276,0.836812963,0.836543528,0.837378391,0.837919315,0.836684478,0.83937431,0.838308083,0.839228243,0.841618405,0.844359482,0.845695834,0.848853069,0.851934325,0.856270538,0.860343756,0.864359494,0.869483024,0.876779961,0.879732725,0.884720876,0.890597951,0.895528637,0.900517378,0.906432532,0.912843459,0.920756171,0.923560956,0.930295552,0.935837739,0.942224169,0.946773769,0.953199004,0.960902065,0.965294935,0.969993795,0.977329856,0.983682791,0.987915227,0.991214179,1,1.002362645,1.003104899,1.003587048,1.00395108,1.006051339,1.006290197,1
16 | 159202185,EB,0.982204229,0.986617267,0.991668049,0.997256299,0.99996543,1.000383601,1.000705198,1.001802682,1.002251855,1.003090814,1.003682982,1.004037813,1.005263129,1.005963749,1.006036451,1.007006146,1.007308865,1.007404283,1.008167923,1.008100253,1.008740314,1.008624944,1.008729843,1.00859638,1.008134165,1.008670675,1.008248409,1.007862492,1.006886842,1.006465188,1.005574564,1.005241145,1.004589739,1.003937607,1.003586209,1.002376753,1.001367994,1.000594278,1.000142274,0.999240528,0.998422402,0.997985886,0.997375235,0.996524053,0.996144422,0.995794222,0.991306504,0.985801105,0.980260688,0.978331729,0.979694423,0.984385061,0.991520046,0.996245095,0.996948133,0.997702911,0.99798656,0.999063407,0.999353869,1.000254251,1.001711422,1.002378218,1.002993995,1.003991267,1.005050115,1.005268328,1.006402246,1.006697755,1.007431967,1.007673278,1.008124264,1.008179867,1.008411131,1.008724204,1.008781695,1.008373039,1.008179855,1.00807692,1.007372076,1.006615956,1.006281038,1.005724889,1.005165136,1.004636506,1.003474997,1.003068082,1.002139047,1.001548863,1.000835153,1.000392105,0.999624464,0.999208742,0.998969451,0.998144958,0.998070529,0.996180604,0.991085255,0.985545358,0.98207512,1
17 | 259377017,P,1.000590688,1.001475588,1.002596675,0.999808833,0.999808833,1.001727892,1.001727892,1.001346895,1.001346895,0.997595243,0.997595243,0.996834857,0.996834857,0.998044335,0.998044335,0.998722591,0.998722591,0.998232716,0.998232716,0.999499434,0.997645062,0.99970057,0.997454813,0.997454813,0.997835063,0.997835063,0.997147357,0.997147357,0.999565471,0.999565471,0.997526596,0.997526596,0.997414204,0.997414204,0.995629366,0.995629366,0.995697529,0.995697529,0.996029255,0.995695248,0.996440655,0.998177659,0.998177659,0.997026015,0.997026015,0.999766556,0.999766556,0.998292281,0.998292281,0.998115429,0.998115429,0.997547245,0.997547245,0.99826711,0.99826711,0.998210265,0.998210265,0.998072428,0.99667203,0.997483774,0.997709162,0.997709162,0.998795408,0.998795408,0.998350503,0.998350503,0.998467435,0.998467435,0.997151839,0.997151839,0.996317878,0.996317878,0.997615911,0.997615911,0.996816697,0.996816697,0.99843232,0.998043196,0.997918075,0.996608077,0.996608077,0.997441973,0.997441973,0.998972601,0.998972601,0.998416374,0.998416374,0.997135352,0.997135352,0.999206756,0.999206756,0.998602497,0.998602497,0.998240704,0.998240704,0.999880616,1.000033717,0.999864875,1.001247974,1
18 | 408636441,P,1.001928795,1.001928795,0.999455969,0.999455969,0.999455969,0.999562736,0.999562736,0.999562736,1.000048156,1.000048156,1.000048156,0.998803021,0.998803021,0.998803021,0.99909693,0.99909693,0.99909693,0.998336365,0.998336365,0.998336365,0.998713793,0.998713793,0.998713793,0.998815782,0.998815782,0.998815782,1.001379678,1.001379678,1.001379678,1.001220183,1.001220183,1.001220183,1.000823399,1.000823399,1.000437661,1.000437661,1.000437661,0.999686124,0.999686124,0.999686124,1.001937853,1.001937853,1.001937853,1.00162624,1.00162624,1.00162624,0.999298996,0.999298996,0.999298996,0.999717592,0.999717592,0.999717592,1.001434046,1.001434046,1.001434046,1.000075131,1.000075131,1.000075131,1.002732006,1.002732006,1.002732006,0.999895401,0.999895401,0.999895401,1.000084067,1.000084067,0.999767394,0.999767394,0.999767394,0.998948053,0.998948053,0.998948053,1.00052815,1.00052815,1.00052815,0.999533473,0.999533473,0.999533473,1.001247962,1.001247962,1.001247962,1.001247962,1.001247962,1.001247962,1.000362417,1.000362417,1.000362417,0.998595708,0.998595708,0.998595708,1.000172283,1.000172283,1.000172283,0.999853496,0.999853496,0.999853496,0.997989786,0.997989786,0.997989786,1
19 | 173795590,EB,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan
20 | 167123437,EB,1.000491116,0.996765093,1.001436492,0.998592686,1.001460522,1.000607915,0.995853052,1.005108111,1.002704072,1.001489884,0.998593277,1.000679426,1.000736615,1.001181366,0.995696956,1.004230986,1.00141587,1.000078582,1.001798477,1.002223612,1.002304193,1.00089014,1.000321537,1.000751864,1.000289592,0.997306415,1.003917045,1.001885012,1.002498529,0.997591662,1.001400961,1.003121305,1.001304824,1.009074713,0.996753263,0.999423263,0.99724762,0.997240394,1.002226794,0.997354215,0.99913006,1.00218592,0.994046791,0.985467338,0.967516115,0.954522564,0.940786201,0.931110268,0.922836049,0.919141205,0.926995374,0.935083541,0.949796301,0.961185968,0.977497602,0.985999368,0.997528902,0.996845872,0.994516059,0.996084257,0.998520727,0.996225432,1.000684289,0.995985455,0.997142071,0.995711224,1.000216747,0.997440267,1.001805727,0.996812413,0.995542108,1.000548254,1.001849279,0.999462228,1.000084436,1.003704039,0.99726164,0.997123749,1.002943076,0.999372783,1.003087435,0.997530359,0.999394227,1.002747023,0.999533194,1.002409588,0.997976678,1.004499196,0.998455874,1.001969084,0.9972039,1.000625744,1.001024813,1.001514143,0.999716653,0.999585691,1.001769916,1.002068975,0.998463624,1
21 | 156376126,EB,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan
22 | 467179528,P,0.995862188,0.997934632,0.997842418,0.997842418,0.998477888,1.000342584,1.000342584,0.998921779,0.99959022,1.001478925,1.001478925,1.001364968,1.000797715,1.000797715,0.996861935,0.999937385,0.999937385,0.999670613,0.99926334,0.99926334,0.997294912,1.000252422,1.000252422,0.995485819,1.001210693,1.001210693,1.001517872,1.001537203,1.001537203,0.998993426,1.003369478,1.003369478,0.9992967,0.999739846,1.000073593,1.000073593,1.002981552,0.997563793,0.997563793,1.000839843,0.998983844,1.002484842,1.002484842,1.001624099,1.001022402,1.001022402,1.00116294,1.000298615,1.000298615,0.997883793,0.999673235,0.999673235,0.999251584,1.003986865,1.003986865,0.998767814,1.002855551,1.002855551,1.00049332,0.99891786,0.99891786,0.995168197,0.99799257,0.99799257,0.997926713,1.001877486,0.998108691,0.998108691,0.998978124,1.001892601,1.001892601,1.000705405,0.999641108,0.999837888,0.999837888,0.998495249,1.000767057,1.000767057,0.998024756,1.000932806,1.000932806,1.000301611,0.99931751,0.99931751,0.997842098,0.999980714,0.999980714,0.996907193,0.998386882,0.998386882,0.998625212,0.998362773,0.998362773,1.000348687,0.998747568,0.998747568,0.995940813,0.999973947,0.999973947,1
23 | 199376584,P,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan
24 | 146039664,EB,0.997039477,0.996992424,0.996913431,0.997094052,0.996415673,0.996968498,0.996437464,0.996738978,0.996738978,0.996551921,0.997043299,0.996262962,0.996979324,0.99629855,0.996655581,0.996271765,0.996506408,0.996506408,0.996105123,0.996693737,0.996472889,0.997002018,0.996117568,0.996725011,0.99626711,0.996089327,0.996089327,0.996197091,0.996467565,0.995593722,0.996549941,0.995805974,0.996434013,0.995802152,0.99609265,0.99609265,0.996268938,0.996451643,0.996030042,0.996406339,0.99569205,0.996394086,0.995942068,0.996032591,0.996032591,0.996333517,0.996382608,0.99590023,0.99607174,0.995816899,0.996411795,0.99555184,0.996057307,0.996057307,0.995903824,0.996660778,0.995441181,0.996530819,0.995854926,0.996584203,0.995800228,0.996175087,0.996175087,0.996125043,0.996656916,0.995340866,0.996602104,0.995675549,0.996219221,0.996156351,0.996588792,0.996588792,0.996107061,0.99654451,0.996091337,0.996613433,0.995790523,0.996307785,0.995963989,0.996237849,0.996237849,0.996292776,0.996860136,0.995641992,0.996380538,0.99633836,0.996844675,0.996119485,0.996553526,0.996553526,0.996490907,0.996820556,0.996469611,0.997138807,0.996268358,0.99690703,0.9964192,0.996502172,0.996502172,1
25 | 120896927,P,0.999572711,0.999666371,1.000105862,0.999893092,0.999790045,1.000039566,1.000217636,1.000140772,1.000796725,0.999568777,0.999900015,0.999861845,1.00003531,1.000031446,0.999671784,0.999860061,0.999939791,1.000149233,0.999724872,1.00023082,1.00012736,0.999950225,0.999907311,0.999771658,1.000152552,0.999906798,0.999624015,0.99974973,0.999862211,0.999569465,0.999938225,0.999800893,0.999655246,1.000113064,0.999509984,0.999625297,0.999535753,0.999999329,0.999584455,1.000126868,0.999904401,0.99908324,0.999987485,0.999394807,0.999923084,0.999978124,0.999959423,0.999751552,0.999982286,0.999685012,0.99973163,0.999772859,1.000068593,1.000007072,0.999814483,0.999900691,1.000160241,0.99965632,0.999175431,0.999762408,0.999770622,0.999984805,0.999575345,0.999749367,0.999259485,1.000075166,0.999712377,1.000093725,0.999796758,0.999499657,1.00005207,0.998987176,1.000011207,1.000063368,1.000075502,1.000010588,1.000365974,0.999474905,0.999480745,0.999650798,0.999970481,0.999706276,1.000004779,0.999757111,0.999654433,0.999919398,0.999996743,1.000189791,1.000486766,1.000162915,1.000172819,0.999980511,1.000580756,1.000046934,1.00004763,0.999988834,0.999864763,0.999919768,1.000181462,1
26 | 251857120,EB,0.997011871,0.9965351,1.010122043,1.03047854,1.057539857,1.086633554,1.116151019,1.14467279,1.171817049,1.197191286,1.219863169,1.24016034,1.256964345,1.270155415,1.280333862,1.28951023,1.29950127,1.30961846,1.320342772,1.329199705,1.338889686,1.347428972,1.354790747,1.360531704,1.365216306,1.367995916,1.369097111,1.369121364,1.368102849,1.36433886,1.361032275,1.354274874,1.348529199,1.341236048,1.333783669,1.325552895,1.309916347,1.286061342,1.254491907,1.209477786,1.157900791,1.097254285,1.026663735,0.947263282,0.865462711,0.776487987,0.684514656,0.604193122,0.573770202,0.566453148,0.570961942,0.609808636,0.691292588,0.774563718,0.85999093,0.939322321,1.014420278,1.079833062,1.137582624,1.188834761,1.229047809,1.263879678,1.287994924,1.306332553,1.31451876,1.323733668,1.334586937,1.345309163,1.356025774,1.365235965,1.370267127,1.377509289,1.377404628,1.383348982,1.387499121,1.389949086,1.387043579,1.384488593,1.376625706,1.373117049,1.368043728,1.35824963,1.349299002,1.338013921,1.331288123,1.320922274,1.305953638,1.284761737,1.263115386,1.237967095,1.20940483,1.178753196,1.144583896,1.112142092,1.079463348,1.046145774,1.017563157,1.001219481,0.998874826,1
27 | 420112589,P,1.002260624,1.00167847,1.00167847,1.003770337,1.003770337,1.00348866,1.00348866,0.99383304,0.99383304,0.995420737,0.995420737,1.000755025,1.000755025,1.000925389,0.997797014,0.997797014,1.00625142,1.00625142,0.990855188,0.990855188,0.994827939,0.994827939,0.99566085,0.99566085,0.988763796,0.988763796,1.002230971,1.002230971,0.996287223,0.998175259,0.998175259,1.005861009,1.005861009,0.999979491,0.999979491,0.99307814,0.99307814,0.993219906,0.993219906,1.007741245,1.007741245,0.997379685,0.997379685,1.004020219,0.997994999,0.997994999,0.999617272,0.999617272,1.003379186,1.003379186,0.992348711,0.992348711,1.00040949,1.00040949,0.996030529,1.001096031,1.001096031,0.991571006,0.991571006,0.991647133,0.991647133,0.998273289,0.998273289,1.001183421,1.001183421,0.997479258,0.997479258,1.000653658,1.000653658,1.000653658,1.008618105,1.008618105,0.992599729,0.992599729,0.991630654,0.991630654,0.995727548,0.995727548,0.99299066,0.99299066,1.000462358,1.000462358,1.001634558,1.001634558,1.003301339,0.99987203,0.99987203,1.004178978,1.004178978,0.994744956,0.994744956,0.994263269,0.994263269,1.003013758,1.003013758,1.003156878,1.003156878,1.00268809,1.00268809,1
28 | 285048486,P,1.000282052,0.999904561,0.999374737,1.000705434,1.001447634,0.998902851,0.999941354,1.00060138,1.000926023,1.000517196,1.000688935,0.999030571,1.000927828,1.001396659,1.001182681,0.999962834,0.999912185,1.000900388,1.001784258,1.001442105,0.998286754,0.997926993,0.998666187,0.997481208,0.997027901,0.996279467,0.996411147,0.99614397,0.995971635,0.995598551,0.996028103,0.99536629,0.995950138,0.994981638,0.994199718,0.99747929,0.995613732,0.995380618,0.994344518,0.995204562,0.995778045,0.995350353,0.995919425,0.995058435,0.995581863,0.996351105,0.993986144,0.995974965,0.995043767,0.996158535,0.994165683,0.995027085,0.995829166,0.995609236,0.994926716,0.996101503,0.995778806,0.996071121,0.995722291,0.994717099,0.995139385,0.994290432,0.995601154,0.99610938,0.996475604,0.995743834,0.996803874,0.997044884,0.996043915,0.996513988,0.996344896,0.996286209,0.996249305,0.996358757,0.9964057,0.995387147,0.997233335,0.998007143,0.998984125,0.998855934,1.000399244,1.00002122,1.000659986,1.000887433,1.000993833,1.000644233,1.000654216,0.999791968,1.000639139,1.001218281,1.000826309,1.000098076,1.000318413,1.000633678,1.001577097,1.00133087,1.000097155,1.00045544,0.999591205,1
29 | 284613090,EB,0.880590715,0.876160879,0.87188951,0.867413353,0.864853325,0.861468059,0.857443028,0.854077348,0.849582259,0.847405477,0.844109034,0.840652364,0.837461063,0.832362002,0.830885479,0.825230268,0.82255573,0.819699506,0.819673529,0.810721686,0.808074451,0.804395699,0.801699103,0.799980333,0.796601109,0.793117593,0.790389538,0.78777872,0.784234983,0.782666595,0.780545193,0.777314175,0.775330643,0.77356445,0.771767104,0.769652473,0.767875829,0.767084779,0.764497062,0.763170925,0.762230137,0.76096482,0.758404,0.758262505,0.75615657,0.756316839,0.755456465,0.754576697,0.754407276,0.753602596,0.753493847,0.754066987,0.753535556,0.753890717,0.753544845,0.753546689,0.755654918,0.75599833,0.756990032,0.75711781,0.758665041,0.760035315,0.761195695,0.763627674,0.764576694,0.76625276,0.768653644,0.770290163,0.772471338,0.774354158,0.776658168,0.779491151,0.78289834,0.784449142,0.787810054,0.789248079,0.792630597,0.795949847,0.79796068,0.8016971,0.794638296,0.810086036,0.813011504,0.818828846,0.81962669,0.823814625,0.82804395,0.831036439,0.834230071,0.838393134,0.84173081,0.8461321,0.849844344,0.853342676,0.857566294,0.861180461,0.864188975,0.867920964,0.872601161,1
30 | 258773798,EB,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan
31 | 61351519,EB,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan
32 | 403224672,P,0.999997498,0.999994147,0.999926406,1.000008579,1.000030434,1.000012476,0.999954921,1.000043419,1.000057099,0.999990905,0.999992639,0.999954307,0.999951943,1.000045721,0.999970285,1.000027124,1.000025016,1.000002863,1.000012982,0.999982779,0.999980953,1.000023732,1.000018589,1.000013928,1.000005775,1.000031018,0.999996341,0.999951931,0.999983845,0.999980006,0.999987933,0.999996131,1.000050018,0.999969599,1.000019466,0.99999184,1.000017608,0.999978006,0.999917639,0.999860043,0.999772775,0.999880979,0.999843209,0.999718185,0.999812923,0.999735341,0.999809105,0.999766345,0.999752023,0.999731667,0.999858952,0.999786228,0.999797775,0.999780756,0.999831936,0.999957282,1.000004879,1.000058325,1.000078976,1.000014412,1.000057012,1.000008381,1.000089751,0.999951139,1.000037878,1.000000989,1.000046181,1.000015238,1.000043688,0.999974234,1.000017908,0.999970276,1.000038126,1.000058597,1.000045096,0.999910134,0.999989133,0.999988964,1.000008147,1.000019713,1.000006291,0.99997735,1.000057894,0.999993304,1.000044774,0.999980647,0.999987887,1.000007153,1.000018738,1.000019783,0.999995703,0.999994938,0.999989719,1.000001257,0.999951733,1.000041817,0.999996987,0.999966496,1.000052883,1
33 | 50528312,EB,1.002295052,0.999448009,0.997135442,0.993991394,0.990862054,0.986700685,0.982433201,0.977652698,0.973379843,0.967984449,0.96400338,0.958676898,0.95249773,0.947396025,0.941619835,0.934767748,0.929392229,0.922769998,0.917303704,0.911185722,0.904624152,0.898510632,0.892601492,0.885339556,0.879399352,0.873279408,0.866058411,0.859933213,0.854016582,0.847934214,0.84160168,0.836204818,0.829924034,0.824274126,0.820282034,0.815244799,0.812847041,0.81032471,0.809521737,0.808168529,0.807607048,0.80613897,0.80584014,0.805310863,0.804922168,0.804431305,0.804287018,0.803916478,0.803448282,0.808946679,0.803314754,0.80461311,0.805108821,0.805520172,0.806538418,0.806898624,0.80797268,0.808725572,0.809730696,0.81116525,0.811949768,0.81386751,0.815622809,0.819686894,0.824487213,0.828992292,0.833465682,0.839705915,0.846041319,0.852202598,0.858828476,0.865456891,0.872110758,0.879215326,0.884566492,0.89113981,0.898152921,0.904737831,0.91159684,0.918773529,0.924714433,0.930789265,0.93736651,0.943024721,0.948917659,0.954770188,0.961040968,0.966770713,0.971787817,0.97842821,0.982807284,0.988314756,0.993170041,0.998067544,1.001870838,1.00459033,1.006850149,1.008647327,1.010458195,1
34 | 287095354,EB,0.985436639,0.992409468,1.004588039,1.021707935,1.043063778,1.065548404,1.086901839,1.107820965,1.124593687,1.134816571,1.139876537,1.145309505,1.151338211,1.157515319,1.164621123,1.171201929,1.17835075,1.184632929,1.191738072,1.197986459,1.204417876,1.20867925,1.213040569,1.216419199,1.219817357,1.220947403,1.222507726,1.222933328,1.22051651,1.21955982,1.215393468,1.210818569,1.206693433,1.200746174,1.195292678,1.186725015,1.180002498,1.171560756,1.16504375,1.15787292,1.144329425,1.116118745,1.079289776,1.037226389,0.988779545,0.939770457,0.892478279,0.854804514,0.830121252,0.822928004,0.829561701,0.852811076,0.8874279,0.934518679,0.985347212,1.039464167,1.087419508,1.127485771,1.1552887,1.167613125,1.17306531,1.17952296,1.185590724,1.191911882,1.198027212,1.203711767,1.209184911,1.214061493,1.218235164,1.221884312,1.224005206,1.226176467,1.227127446,1.226550572,1.225500135,1.222901731,1.219877541,1.213614524,1.209620933,1.203260725,1.197792872,1.189418082,1.182672441,1.175428616,1.167584395,1.16098643,1.152711544,1.145266708,1.139015763,1.131660771,1.121683589,1.105098647,1.084455603,1.061751985,1.039099435,1.019093745,1.001629598,0.99061202,0.984791683,1
35 | 181804752,P,1.014830379,1.000702213,0.992128305,1.006153554,1.01559405,0.996077371,1.000887797,1.001889896,1.001889896,1.006401109,1.007933703,0.998338846,1.003085369,1.003085369,0.988374529,0.987029216,0.987590334,0.98573848,0.98573848,0.989146655,0.989069605,0.977314864,0.982314994,0.982314994,0.985342755,0.983971841,0.990845828,0.978200801,0.978200801,0.988401819,0.974091471,0.998883431,0.984850627,0.986428937,0.991442095,0.986781005,0.977924521,0.989963776,0.987568339,0.98733976,0.994867626,0.994867626,0.984822985,0.99158026,0.993846892,0.98627761,0.98627761,0.973883413,0.977224541,0.977930948,0.983254024,0.983254024,0.993836673,0.983790415,0.996023234,0.993674114,0.993674114,0.995546188,0.978493249,0.988188372,0.989861668,0.989861668,0.997099196,0.99382946,0.985428125,0.976676483,0.989997395,0.997254316,0.98214643,0.990470446,1.001941949,0.981023643,0.988140612,0.987007343,0.987007343,0.99762565,0.986486645,0.984374196,0.98850571,0.98850571,0.995280612,0.988903079,0.984053984,0.987737745,0.987737745,0.998031171,0.996381081,0.983353968,0.995509197,0.995509197,1.006016991,1.014314958,0.994687283,0.993476281,0.993476281,1.001784017,1.019518128,1.0199171,1.004125064,1
36 | 234994474,P,0.999954087,1.000003707,0.99993365,1.000041437,0.999945383,1.000120647,1.000026403,0.999880887,1.000192435,1.000046938,1.000013583,1.000178662,0.999696556,0.999946523,1.00012233,0.999944594,0.999942411,1.000042799,1.00024536,0.999568438,0.999803036,1.000123626,1.000171823,0.999960597,1.000107272,1.0000263,0.999862815,1.000205065,1.000422074,1.000184569,1.000063823,0.999984512,1.000180019,0.999970176,0.99992383,0.999953466,0.999957606,1.000045894,0.999879253,0.999464909,0.999803005,0.999624319,0.999379338,0.999524665,0.999631499,0.999367774,0.99959628,0.99931331,0.999659169,0.99918991,0.999453297,0.999530976,0.999289975,0.999386923,0.999364842,0.999207899,0.99959495,0.999554176,0.999550993,0.999758786,0.999766468,1.000142723,1.000257476,0.999877188,0.999846141,1.000226816,1.000076429,1.000088059,0.999932231,1.000202905,0.999722999,1.000007867,0.999979458,1.000164079,1.000039614,0.99999805,1.000107882,0.999886214,0.99971119,1.000050714,0.999936136,1.000196603,0.999823364,1.000017262,1.000109477,1.000000489,1.000100069,0.999883924,1.000059852,0.999939227,1.000142052,0.99975847,1.000136595,0.999963269,0.999955229,1.000129814,0.999575044,0.999843648,0.999864153,1
37 | 67688552,EB,0.999987474,1.000031938,1.00017485,1.000016524,1.000056078,0.999934056,1.000156124,0.999945808,0.999900338,0.999998443,0.999807979,1.000118651,0.999869169,1.00000659,1.000200746,1.000183046,1.000088069,0.999867174,1.000138888,1.000100012,0.999936633,0.999846333,0.999943054,0.999962604,0.99976579,0.999885887,0.999750344,0.999526922,0.99958174,0.999666894,0.999706851,0.9996782,0.999395825,0.999576031,0.999395765,0.997567255,0.989987173,0.979191647,0.966702431,0.953282535,0.938455871,0.922154893,0.906643076,0.891853699,0.877991981,0.866606922,0.856168997,0.848898256,0.84421854,0.843219438,0.844197514,0.848964148,0.85680251,0.866618655,0.878711748,0.892766445,0.907672629,0.922874968,0.93818973,0.95281993,0.967672824,0.980575742,0.989981775,0.997782593,0.999188729,0.999612701,0.99948663,0.999648934,0.999603238,0.99955148,0.999863458,0.999628495,0.999878262,0.999959334,0.999904932,0.99999243,1.000055661,0.999705514,0.999864904,1.000337088,0.999895656,1.000020956,1.000078009,0.999822585,1.000031631,1.000085083,1.000117994,1.000052902,1.000066184,1.00003546,0.999972965,0.99985404,1.000017057,1.000005172,0.999849589,1.000118297,1.000125104,1.000055074,1.000056738,1
38 | 219854185,P,1.000083409,0.999521258,1.000201356,1.000355781,0.99915177,0.999018149,1.000663347,0.999537075,1.000795681,1.000105706,1.000769157,1.000353394,1.000862494,1.001774459,1.001121928,1.001269313,1.001673136,1.001110884,1.000644195,0.999768923,0.998156272,0.997058868,0.997956352,0.997695782,0.997901729,0.997232065,0.997337264,0.997472613,0.996239398,0.997320861,0.997162412,0.998071048,0.997293563,0.997062429,0.99718539,0.997664561,0.99635491,0.99666902,0.996384763,0.996064472,0.997800733,0.997020515,0.996754141,0.996147052,0.997780429,0.99554614,0.996482681,0.997105932,0.997100946,0.997046913,0.996946577,0.996044449,0.99678444,0.995900949,0.996200302,0.997545548,0.996805182,0.996565444,0.99683364,0.997046332,0.996663115,0.997709161,0.99680779,0.996573839,0.998247229,0.997467673,0.997357202,0.997673131,0.998179741,0.998266157,0.997855111,0.998080227,0.998846833,0.996871479,0.99927699,0.997927859,0.997857369,0.999476456,0.999592261,0.999689783,0.999857989,1.002051633,1.001470861,1.001776893,1.000860542,0.999966302,1.000253886,1.001089411,1.000983436,1.000211344,1.000796718,1.00025736,0.999886275,0.999749087,0.999766298,0.998621094,0.999413291,0.999337348,0.999918136,1
39 | 34068865,P,1.000020001,0.999978934,1.000009835,0.999965851,0.999987567,1.000042154,0.999989273,1.00005542,1.000041729,0.999963555,1.000011495,0.999942212,1.000013276,0.999925451,0.999983996,1.000002299,0.999968845,0.999985869,0.999933752,0.999947683,1.000013229,0.999906798,0.99993895,0.999998452,1.000017506,0.99989155,0.999985266,0.999966746,0.999965908,0.999975726,1.00007287,1.000004476,0.999956017,1.000043181,0.999977197,1.00004147,0.999980957,0.999997572,1.000060057,0.999943726,1.000030251,1.000056796,0.999987224,1.000040255,1.000047129,1.000078759,1.000017063,1.000026151,0.99994358,0.999769653,0.999704617,0.999744796,0.999769876,0.999809548,0.999814144,0.999800806,0.99993667,0.99991794,1.000035587,1.000037554,0.999983464,1.000034509,1.000007479,1.000048906,0.999987252,0.999966888,1.000015478,1.000023457,0.999953692,0.99997646,1.000073445,0.999979397,1.000026498,0.99996732,1.000011734,0.999984926,1.000003503,1.000031194,0.999996845,1.000049043,1.000021288,1.0000589,1.000058658,0.999970544,0.999989399,0.999996084,0.999937078,1.000072505,1.000021925,1.000021879,1.000104445,0.999964254,0.99997646,0.999972417,0.99999685,1.000011112,0.99998344,0.999995659,1,1
40 | 259377017,P,1.000590688,1.001475588,1.002596675,0.999808833,0.999808833,1.001727892,1.001727892,1.001346895,1.001346895,0.997595243,0.997595243,0.996834857,0.996834857,0.998044335,0.998044335,0.998722591,0.998722591,0.998232716,0.998232716,0.999499434,0.997645062,0.99970057,0.997454813,0.997454813,0.997835063,0.997835063,0.997147357,0.997147357,0.999565471,0.999565471,0.997526596,0.997526596,0.997414204,0.997414204,0.995629366,0.995629366,0.995697529,0.995697529,0.996029255,0.995695248,0.996440655,0.998177659,0.998177659,0.997026015,0.997026015,0.999766556,0.999766556,0.998292281,0.998292281,0.998115429,0.998115429,0.997547245,0.997547245,0.99826711,0.99826711,0.998210265,0.998210265,0.998072428,0.99667203,0.997483774,0.997709162,0.997709162,0.998795408,0.998795408,0.998350503,0.998350503,0.998467435,0.998467435,0.997151839,0.997151839,0.996317878,0.996317878,0.997615911,0.997615911,0.996816697,0.996816697,0.99843232,0.998043196,0.997918075,0.996608077,0.996608077,0.997441973,0.997441973,0.998972601,0.998972601,0.998416374,0.998416374,0.997135352,0.997135352,0.999206756,0.999206756,0.998602497,0.998602497,0.998240704,0.998240704,0.999880616,1.000033717,0.999864875,1.001247974,1
41 | 250195155,EB,0.972208025,0.963508023,0.954244716,0.949562044,0.940561795,0.931229259,0.925988912,0.916130148,0.906918028,0.901499382,0.892147681,0.886394922,0.877101932,0.867231392,0.860837992,0.850891703,0.841650824,0.833514473,0.823043744,0.814964461,0.806734417,0.798229278,0.789105102,0.781099942,0.773137956,0.765639812,0.755587504,0.747909067,0.740351607,0.730919517,0.723986352,0.717362515,0.710438904,0.703752451,0.697137508,0.691643804,0.686285298,0.68141869,0.677167374,0.674516214,0.672700718,0.671969414,0.671384883,0.671537212,0.671402999,0.671580642,0.671840893,0.67226675,0.673769208,0.675231222,0.678303954,0.684081615,0.687980136,0.692820174,0.701303265,0.704257866,0.71316136,0.71976939,0.725819907,0.736164333,0.743624407,0.751270322,0.761438995,0.768924072,0.776759501,0.789836505,0.791336071,0.803539228,0.811839602,0.819897994,0.830206648,0.838708651,0.845995682,0.856492182,0.864321359,0.872364604,0.883293778,0.887669055,0.897796352,0.906272675,0.913694685,0.923861819,0.93181397,0.938905132,0.948513975,0.955960323,0.96293981,0.974374403,0.975572984,0.986713596,0.993366202,0.997559012,1.003480938,1.005983081,1.008121854,1.009780047,1.012109518,1.013487293,1.015357925,1
42 | 394137592,P,0.998448265,0.998148676,0.998518974,0.998304984,0.998734709,0.998533842,0.998182709,0.998616016,0.998329936,0.99833288,0.998465705,0.998408664,0.998769836,0.999017534,0.998355478,0.99812844,0.998277889,0.998397066,0.998613088,0.998762907,0.998083478,0.998522074,0.998521963,0.998495475,0.998475736,0.998347914,0.998037948,0.998549301,0.998378589,0.998490336,0.998444894,0.998323987,0.998251042,0.998155115,0.998285243,0.997990178,0.998354918,0.998125748,0.997965313,0.998408982,0.997875613,0.99824374,0.998320516,0.998131167,0.998507102,0.998028751,0.998305211,0.998533511,0.997929818,0.998255517,0.998094001,0.997889623,0.998506402,0.998074,0.997975972,0.998447113,0.99811183,0.997795627,0.998301558,0.998398484,0.997862005,0.998203196,0.99816851,0.997860681,0.998231342,0.998503173,0.998202201,0.997901418,0.998383325,0.998047964,0.997968887,0.997988313,0.998194129,0.998028465,0.998026263,0.997870316,0.998198985,0.997541574,0.998607415,0.998245574,0.997489013,0.998988572,0.998201431,0.997299977,0.998812683,0.998090322,0.997613035,0.998434831,0.997901977,0.997360097,0.998809365,0.998078434,0.997518097,0.998773349,0.998269755,0.99811188,0.99881799,0.998410301,0.9974473,1
43 | 259377017,P,1.000590688,1.001475588,1.002596675,0.999808833,0.999808833,1.001727892,1.001727892,1.001346895,1.001346895,0.997595243,0.997595243,0.996834857,0.996834857,0.998044335,0.998044335,0.998722591,0.998722591,0.998232716,0.998232716,0.999499434,0.997645062,0.99970057,0.997454813,0.997454813,0.997835063,0.997835063,0.997147357,0.997147357,0.999565471,0.999565471,0.997526596,0.997526596,0.997414204,0.997414204,0.995629366,0.995629366,0.995697529,0.995697529,0.996029255,0.995695248,0.996440655,0.998177659,0.998177659,0.997026015,0.997026015,0.999766556,0.999766556,0.998292281,0.998292281,0.998115429,0.998115429,0.997547245,0.997547245,0.99826711,0.99826711,0.998210265,0.998210265,0.998072428,0.99667203,0.997483774,0.997709162,0.997709162,0.998795408,0.998795408,0.998350503,0.998350503,0.998467435,0.998467435,0.997151839,0.997151839,0.996317878,0.996317878,0.997615911,0.997615911,0.996816697,0.996816697,0.99843232,0.998043196,0.997918075,0.996608077,0.996608077,0.997441973,0.997441973,0.998972601,0.998972601,0.998416374,0.998416374,0.997135352,0.997135352,0.999206756,0.999206756,0.998602497,0.998602497,0.998240704,0.998240704,0.999880616,1.000033717,0.999864875,1.001247974,1
44 | 38586438,EB,0.999254984,1.000294389,1.000122571,0.999295276,0.999544782,0.99947781,0.999561705,0.999849382,0.999755171,0.999218382,1.000229252,0.999419522,0.999971606,0.999854978,1.00037046,0.999948107,0.999767833,0.99981727,1.000423099,1.000275554,1.000182491,1.000601621,0.999907235,0.999885641,1.00034895,1.001088752,1.000050051,1.00045532,1.000324353,1.000834266,1.000668091,0.99921863,1.00026351,0.999603753,1.000584691,1.000021106,1.0000467,0.99967908,0.998418754,0.991269076,0.9789326,0.962071456,0.942856182,0.922565889,0.901841137,0.885424506,0.869965465,0.856600934,0.847879486,0.846015339,0.848426058,0.856140382,0.867883483,0.885481435,0.901868869,0.923323058,0.944683725,0.963212547,0.980664077,0.993480464,0.99935826,0.999742172,0.999926908,0.999826724,0.999962047,0.999927148,0.999517621,0.999722246,0.999969989,1.000684576,1.00123127,1.000080874,0.99934434,1.000540703,1.000161357,0.99982405,0.999913525,1.000374551,0.999963468,0.999595736,1.00131189,0.999833937,1,0.999936651,0.999760741,1.001118619,1.000691485,0.999548697,0.998739047,1.000149116,1.000059915,1.000344298,0.999642973,0.999095274,0.99978278,1.001030258,0.999755151,0.999076448,1.000500161,1
45 | 390996644,EB,1.000294826,1.000018292,0.999641558,1.000012378,1.000164449,1.000272909,1.00053338,0.999916803,1.000155126,0.999805929,0.999854636,0.999972381,0.999995015,1.000187182,0.999903732,0.99986037,1.000037462,1.000009502,0.999766949,0.999964941,0.999920936,0.999993093,0.999727254,0.999763856,0.999882264,0.999804011,0.999887779,0.999197662,0.995045424,0.98494388,0.973410298,0.959932381,0.941855927,0.922366173,0.900712388,0.87640092,0.85412289,0.829271944,0.804378277,0.776818882,0.747171594,0.716445065,0.688025498,0.661555731,0.630876985,0.601678535,0.573368996,0.551021786,0.545707188,0.544496224,0.545515172,0.54917115,0.568280767,0.596069188,0.626178794,0.653383114,0.683024121,0.713337536,0.741427431,0.771001846,0.800380509,0.824738767,0.850827673,0.873067338,0.897741478,0.920089106,0.939373729,0.957560378,0.971217936,0.983846742,0.994307766,0.999694779,0.999841356,0.999835012,0.999941936,0.999934837,0.999797482,0.999900949,0.999797889,0.999933228,0.999782742,1.000174439,1.000106234,1.000278878,0.999850322,0.999981829,0.999871031,1.000160093,1.000404271,1.000236561,1.000030343,0.999710947,0.999921532,0.999997285,0.999700657,0.999952332,1.000025363,1.000004233,0.999791726,1
46 | 259126645,EB,1.000329951,1.000635061,0.999927463,1.000643187,1.000230607,1.000416476,1.000250863,1.000232022,0.999954861,1.000437446,1.000054188,1.000647173,1.003506432,1.010017698,1.012804826,1.013367425,1.007810153,0.999870703,0.991709662,0.982727525,0.972343168,0.959918037,0.947687278,0.934696966,0.921434855,0.906670988,0.891457646,0.875293914,0.859369306,0.840762853,0.824629489,0.808468265,0.790451763,0.772713876,0.7536544,0.734991334,0.716751683,0.697466959,0.678499802,0.660053996,0.640987505,0.622289093,0.602332625,0.585093895,0.566362028,0.550345065,0.535211754,0.5256095,0.523141712,0.522299248,0.523401581,0.525592915,0.535215897,0.549786244,0.56690427,0.58474705,0.60327178,0.622209294,0.640639162,0.658051885,0.676866703,0.696868078,0.716474341,0.734438597,0.753206587,0.771191549,0.789675819,0.807609797,0.824694332,0.841313909,0.857870238,0.87383013,0.88976913,0.90463365,0.919083293,0.931622699,0.944609215,0.957620243,0.968238953,0.978588218,0.987622649,0.994945606,1.002890653,1.008975108,1.010108873,1.01034543,1.008101972,1.005147582,1.003804102,1.003665581,1.003289579,1.003175099,1.002630633,1.002321128,1.001917082,1.00108014,1.001015336,1.000285993,1.000832135,1
47 | 163539739,P,1.004934459,1.001976085,1.001976085,1.001976085,0.999408395,0.999408395,1.00123202,1.00123202,1.00123202,0.99840312,0.99840312,0.998058532,0.998058532,0.998058532,0.996383358,0.996383358,0.998162555,0.998162555,0.99606257,0.99606257,1.004200898,1.004200898,1.004200898,1.003995019,1.003995019,1.003526058,1.003526058,1.003526058,1.00387222,1.00387222,1.000104169,1.000104169,1.000104169,0.99915935,0.99868569,0.99868569,0.99868569,0.999611776,0.999611776,1.002988442,1.002988442,1.002988442,1.000047622,1.000047622,1.00618095,1.00618095,1.00618095,0.996643091,0.996643091,1.007795195,1.007795195,0.997379602,0.997379602,0.995402654,0.995402654,0.995402654,0.998478496,0.998478496,0.99595573,0.99595573,0.99595573,1.001303252,1.001303252,0.997365423,0.997365423,0.997365423,0.998452859,0.994679894,0.994679894,0.994679894,1.000015983,1.000015983,0.9959964,0.9959964,0.9959964,0.992230819,0.992230819,0.994069816,0.994069816,0.994069816,1.001179331,1.001179331,0.997963593,0.997963593,1.001322837,1.001322837,0.99983339,0.99983339,0.99983339,1.000422749,1.000422749,1.001949497,1.001949497,1.001949497,0.99867077,0.99867077,1.001032108,1.001032108,1.001032108,1
48 | 98796344,P,1.000694489,1.000694489,1.001118074,0.999782004,1.000371878,1.001749844,1.000687739,1.000832374,0.999297235,0.999545998,0.999653937,0.998973206,0.998973206,0.998337807,0.998337807,0.999279764,0.999324639,0.998339473,0.998142355,0.998925304,0.997136933,0.99758247,0.999035518,0.999519417,0.998629559,0.998629559,0.998892746,0.998759322,0.998120462,0.999722943,0.998034706,0.998972428,0.99899813,0.998525505,0.999167495,0.997504178,0.997504178,0.998173619,0.998173619,0.998026852,0.998443889,0.998843416,0.998106584,0.997923886,0.999038022,0.99807177,0.999211042,0.998255594,0.997418754,0.997418754,0.998663682,1.000467473,0.998204843,0.998613509,0.9991509,0.998115676,0.999759931,0.998026491,0.99892933,0.999500513,0.999500513,0.998168936,0.998168936,0.999247186,0.998937011,0.998512958,0.998362695,0.99949854,0.998069285,0.998365637,0.998555578,1.000520251,0.999124491,0.999124491,0.999489481,0.997677352,0.998601786,1.000103889,0.998920895,0.998726963,0.998937966,0.998579311,0.999610015,0.998145763,0.998145763,0.998545741,0.998545741,0.998483666,0.99810078,0.997765444,0.999659366,0.999819783,0.998886799,1.000970927,1.000174206,1.001112072,1.000790852,1.000790852,1.001496185,1
49 | 53708889,EB,0.997813978,0.999988168,0.999329163,1.003525358,1.006520479,1.00595204,1.009301972,1.005406679,1.006008079,0.995926032,0.987486344,0.974530145,0.96610908,0.952998479,0.942953462,0.932072719,0.923390606,0.910720374,0.902711926,0.888274435,0.876561378,0.864449247,0.856351974,0.8430979,0.832354714,0.821801888,0.810338604,0.800426629,0.787833447,0.778725746,0.76796953,0.757048722,0.742444115,0.732346284,0.723611705,0.712498155,0.701835756,0.692805939,0.683128841,0.672965697,0.663351454,0.656931787,0.64765009,0.639518373,0.632450296,0.626790047,0.623404994,0.619720262,0.61417624,0.611992984,0.612868643,0.613085846,0.618208196,0.61853187,0.621972444,0.626947442,0.629511901,0.636620845,0.643942733,0.650194525,0.655414176,0.662938946,0.671870985,0.680088261,0.687558192,0.695822518,0.730759603,0.716795559,0.725529712,0.736071458,0.766450153,0.757557714,0.766689093,0.777788637,0.785235695,0.798689353,0.809929754,0.820368064,0.830415539,0.84348771,0.853632908,0.863999371,0.874528364,0.882157172,0.89411408,0.905233585,0.914606448,0.921894857,0.932284246,0.939325096,0.950136372,0.955303949,0.964374228,0.977417116,0.981112147,0.989661791,0.960411553,1.002160354,0.999057272,1
50 | 149160359,EB,0.997900254,0.99930602,0.999591976,0.99955743,1.000041535,0.999926563,0.999707911,1.000028699,1.000242924,0.99986303,0.999714218,0.999806549,1.000349583,1.000521908,0.99922557,0.999533207,1.000513938,1.001144441,0.999280902,0.998911531,1.000551528,1.000230042,0.999822528,0.999282658,1.000493146,1.000381977,0.99828276,0.998105518,0.997284523,0.997539941,0.996126106,0.995208809,0.994552529,0.994210774,0.992779512,0.991809104,0.991595554,0.991476233,0.990636453,0.987210692,0.97389201,0.952441224,0.934167387,0.926602338,0.926478582,0.926407226,0.926660367,0.92608903,0.925898899,0.926023086,0.925750518,0.926437508,0.926918148,0.926596484,0.92640322,0.92687531,0.93567281,0.955736847,0.974677246,0.987433786,0.989774781,0.990590796,0.991090678,0.991328455,0.992395946,0.99272151,0.99357252,0.994179057,0.99529581,0.995717822,0.996955885,0.998115286,0.998516754,0.999003823,1.000030748,1.000651042,1.000128521,0.999227978,0.999673555,1.000234443,1.000261385,0.999878653,1.00059468,1.000865367,0.999405444,0.999022951,1.000650513,1.001113996,0.999920043,0.999026796,1.00003049,1.000996981,1.000058515,0.99935544,1.000027616,1.00013855,0.999423952,0.998661715,0.998048904,1
51 | 180695581,P,1.000066417,0.999908879,0.999952366,0.99997348,1.000050589,1.00009582,0.999998284,0.999965424,0.999883963,0.999946768,1.00013809,0.999986767,0.999907934,0.999899415,0.999959362,1.00004671,1.000106746,0.999845017,1.000006148,0.999852272,0.999919902,0.999967505,1.000091795,1.000116027,1.000063886,0.999969955,1.00002982,1.000034358,1.000032461,1.000090394,1.000058812,1.000109872,1.000006766,1.000056735,0.999917401,1.000152854,0.999973024,1.000021599,0.999934595,1.00001269,1.000128768,0.999942853,1.000001715,1.00016268,0.999867694,0.99975507,0.999849343,0.999747548,0.99959933,0.999730341,0.999615514,0.999701093,0.999830525,0.99991353,1.000097192,1.000171372,1.000122191,1.000103978,1.000135295,1.000058556,1.000130936,1.00004619,1.000174382,1.000191133,0.999960772,1.00013657,1.000250613,1.000032203,1.000070227,1.000138826,1.000235018,1.000069498,0.999963483,1.000168791,1.000067238,0.999965054,0.999967652,1.000137189,0.999947173,1.000044977,0.999910906,0.999981424,0.999987531,0.999996562,0.999944736,0.999903757,0.999867109,1.000051174,1.000050044,1.00000261,0.999976148,1.000019663,1.000033829,0.999932537,1.000071208,1.000036785,1.000050037,0.999995178,0.999923131,1
52 | 66572840,EB,1.008713054,1.00916741,1.006802812,1.004549895,1.004754076,1.005318106,1.00261659,1.003117485,1.001956664,0.99514246,0.989263652,0.982383053,0.976396678,0.972812501,0.967900211,0.96329896,0.959610301,0.953381355,0.946050143,0.9610424,0.936165721,0.931505632,0.926187065,0.918551839,0.91508626,0.90888801,0.902738934,0.898836553,0.894663619,0.890054104,0.883121678,0.878074752,0.874905533,0.869345728,0.866175347,0.862801417,0.859319657,0.855555705,0.852286626,0.849182881,0.846472594,0.845250739,0.841392292,0.838337399,0.837609459,0.838618719,0.836788643,0.835500901,0.835634624,0.834282029,0.834577087,0.836250041,0.835941731,0.836213969,0.839260065,0.840192718,0.842518101,0.845620302,0.848234948,0.861950615,0.853164411,0.857499461,0.871735925,0.865886919,0.868446026,0.872478875,0.876950681,0.880528077,0.885421236,0.88891503,0.896957106,0.901245302,0.906164873,0.91321399,0.916468217,0.922734417,0.927389133,0.933993834,0.938616025,0.943523286,0.95159303,0.954066402,0.960487926,0.965904623,0.970982804,0.976946468,0.98231484,0.985477305,0.99014341,0.997533946,1.001280076,1.003489178,1.005288796,1.006875105,1.008116313,1.009140646,1.008852334,1.008361405,1.010443847,1
53 | 260004324,P,0.999849865,0.999574721,0.999394733,0.99979971,1.000300774,0.999968348,0.999770916,0.999686512,0.999696198,1.000891927,1.000928582,1.000040597,1.00045761,0.999891232,1.000020808,0.999759845,0.99983188,0.999738831,0.999200869,1.00004646,0.998720645,0.999763872,1.000048315,1.000384208,1.000334707,0.999046461,0.999011271,0.999742593,0.999311175,0.998955856,0.998402001,0.99980664,0.999303324,0.999835762,1.000426734,0.99858016,0.99977137,1.000424016,0.999969836,1.000625291,0.999432364,0.999410929,0.999963516,0.999809401,0.997886702,1.000053617,0.999562911,0.999449264,1.000392904,0.999196646,0.999419742,0.999644775,0.999461977,1.000778481,0.999107557,1.000965635,0.99928192,0.999473133,0.999118875,0.999332739,0.998570233,0.999984061,0.99882034,0.999253669,0.999588717,0.999580507,0.998829464,0.999363892,0.998416737,0.999942066,0.999059036,1.001369136,0.999692311,0.999133106,0.999758898,1.000093914,0.999729069,1.000442277,0.998845748,0.999475865,0.999595038,0.999045318,1.000020664,1.000875295,1.000584793,1.000665479,1.001092519,0.99893686,1.0009927,0.998673531,0.999452657,1.000422919,0.998455725,1.0008474,0.999495795,1.000566096,0.999544493,1.000084867,1.000116635,1
54 | 272086869,EB,1.001803417,1.001369754,1.000856443,1.000636886,1.001800013,1.001408982,1.00189479,1.000671262,1.001622889,1.001200055,1.000256449,1.000967066,1.00071032,1.000394124,1.000268101,1.000618582,1.000194632,0.999073986,0.999085289,0.998965356,0.999182258,0.99706681,0.99766283,0.996456167,0.997131087,0.996081177,0.995410466,0.994284973,0.993788282,0.993038229,0.993081039,0.99106415,0.991749534,0.989610538,0.991272947,0.9903236,0.989781712,0.988158006,0.988819966,0.987153534,0.987976526,0.987073829,0.986556419,0.986057697,0.98638046,0.986318089,0.985211385,0.985200593,0.986240624,0.986230045,0.986209821,0.985833073,0.985469185,0.985473661,0.985171727,0.986291657,0.986110091,0.987387602,0.987895556,0.987634457,0.98757059,0.987512019,0.989344391,0.990015766,0.989783857,0.991309842,0.991495826,0.992278118,0.991833548,0.994081559,0.993254261,0.993920974,0.994436011,0.996957946,0.996536941,0.996679395,0.99792143,0.997197764,0.998435355,0.998618729,0.999164727,0.999307762,0.999011692,0.999911342,1.000992394,1.001146304,1.000818048,1.000939738,1.000751324,1.000654427,1.000440515,1.000703869,1.001534421,1.000616129,1.00076399,1.001008846,1.001989237,1.000725293,1.000741216,1
55 | 387690507,P,1.004642605,0.999316875,0.985301725,0.985301725,0.979031258,0.993921976,0.993921976,0.980210847,0.997485864,0.997485864,1.001766103,1.004566401,1.002474478,1.002474478,0.997618036,1.004758109,1.004758109,0.998494737,0.991440326,0.991440326,1.000252252,0.990510583,0.998697173,1.000019206,0.985679481,0.990092361,0.990092361,0.983339019,0.986188338,0.986188338,1.000782935,0.977138292,0.991350905,0.986626416,0.978417524,0.989015029,0.989015029,0.996647633,0.994041289,0.994041289,0.983327307,0.990447457,0.990447457,0.994402731,0.990785238,0.987268154,0.987268154,0.987888767,0.98482876,0.98482876,0.991172948,0.998855535,0.998855535,0.988357442,0.989990528,0.992168647,0.992168647,1.006497568,0.990225335,0.990225335,0.980965243,0.997601719,0.997601719,0.99869108,0.97923757,0.99555355,0.998443111,0.988480641,0.992529443,0.992529443,0.982196716,0.988555135,0.988555135,0.998779364,0.989504518,0.978008484,0.986605116,0.999103776,0.984706682,0.984706682,0.997922803,1.001814363,1.001814363,1.008059877,0.996523561,0.996523561,0.985066595,0.993153086,0.993272569,0.993272569,0.991651866,0.997793446,0.997793446,0.994460468,1.001315597,1.001315597,1.013493784,1.005415615,0.995573633,1
56 | 290032774,EB,0.986364981,0.989714209,0.99318882,0.998494142,1.004472744,1.012734478,1.021407786,1.03075495,1.039461564,1.047736843,1.055125459,1.060826249,1.064121658,1.068030886,1.071270613,1.07497406,1.07942474,1.082675088,1.086112047,1.089572371,1.092558212,1.094202893,1.096159958,1.096327737,1.096204933,1.096843003,1.094631116,1.091978588,1.089618162,1.08526348,1.081316578,1.076423426,1.07113659,1.065342089,1.060005671,1.053604892,1.047458412,1.041272795,1.035028868,1.023302232,1.007138224,0.989687673,0.968472316,0.94588411,0.92551872,0.903309015,0.884111198,0.87030671,0.860790045,0.857654246,0.860466375,0.869616465,0.883800305,0.901145628,0.922550564,0.94585057,0.968317735,0.989196278,1.006550247,1.023476299,1.03504928,1.042878248,1.048231259,1.053402436,1.060402753,1.066519667,1.072371318,1.077987157,1.082827732,1.087320383,1.091441286,1.094255898,1.096669903,1.097773871,1.098973745,1.0987554,1.097266994,1.096774677,1.094568749,1.091799613,1.088789904,1.085167394,1.081711321,1.078441584,1.074239973,1.070277402,1.066621171,1.062755662,1.056742113,1.050163256,1.041302099,1.032965396,1.023137548,1.014926823,1.006133624,0.999114009,0.993598332,0.989700705,0.98716486,1
--------------------------------------------------------------------------------
/notebooks/hackathon/workshop_material/ngc4151_asas.csv:
--------------------------------------------------------------------------------
1 | HJD,UT Date,Camera,FWHM,Limit,mag,mag_err,flux,flux_err,Filter
2 | 2459595.87671,2022-01-16.3736776,bs,1.52,15.501,11.598,0.013,83.323,0.983,g
3 | 2459595.87794,2022-01-16.3749053,bs,1.55,15.440,11.608,0.013,82.544,0.996,g
4 | 2459595.87917,2022-01-16.3761322,bs,1.51,15.453,11.611,0.013,82.352,0.960,g
5 | 2459595.91463,2022-01-16.4116015,bs,1.53,15.476,11.603,0.013,82.965,0.985,g
6 | 2459595.91588,2022-01-16.4128498,bs,1.51,15.457,11.595,0.012,83.542,0.961,g
7 | 2459595.91711,2022-01-16.4140799,bs,1.54,15.466,11.588,0.013,84.110,1.008,g
8 | 2459597.80482,2022-01-18.3016730,bs,1.55,15.173,11.578,0.015,84.910,1.143,g
9 | 2459597.80607,2022-01-18.3029158,bs,1.52,15.261,11.597,0.013,83.427,1.033,g
10 | 2459597.80732,2022-01-18.3041659,bs,1.52,15.322,11.590,0.013,83.950,1.039,g
11 | 2459600.05617,2022-01-20.5528815,bC,1.75,15.472,11.607,0.012,82.668,0.956,g
12 | 2459600.05743,2022-01-20.5541410,bC,1.82,15.477,11.605,0.012,82.760,0.944,g
13 | 2459600.05869,2022-01-20.5554085,bC,1.86,15.500,11.614,0.013,82.129,0.954,g
14 | 2459602.04458,2022-01-22.5411931,bC,1.67,15.569,11.594,0.013,83.704,0.972,g
15 | 2459602.04585,2022-01-22.5424550,bC,1.71,15.553,11.618,0.013,81.771,0.957,g
16 | 2459602.04710,2022-01-22.5437109,bC,1.65,15.566,11.597,0.013,83.416,0.971,g
17 | 2459602.06724,2022-01-22.5638513,bC,1.66,15.513,11.599,0.013,83.210,1.007,g
18 | 2459602.06852,2022-01-22.5651295,bC,1.80,15.549,11.598,0.013,83.309,1.005,g
19 | 2459602.06978,2022-01-22.5663973,bC,1.62,15.598,11.603,0.013,82.971,0.992,g
20 | 2459602.13192,2022-01-22.6285258,bC,1.90,15.547,11.574,0.013,85.178,0.987,g
21 | 2459602.13319,2022-01-22.6297899,bC,2.07,15.552,11.607,0.013,82.672,0.957,g
22 | 2459602.13444,2022-01-22.6310517,bC,1.80,15.533,11.573,0.013,85.307,0.975,g
23 | 2459603.90511,2022-01-24.4016225,bC,1.78,15.496,11.569,0.012,85.583,0.960,g
24 | 2459603.90639,2022-01-24.4028981,bC,1.72,15.506,11.561,0.012,86.220,0.938,g
25 | 2459603.90767,2022-01-24.4041728,bC,1.87,15.517,11.574,0.013,85.143,0.978,g
26 | 2459603.92611,2022-01-24.4226201,bC,1.82,15.507,11.587,0.012,84.151,0.951,g
27 | 2459603.92735,2022-01-24.4238652,bC,1.80,15.515,11.577,0.012,84.949,0.949,g
28 | 2459603.92861,2022-01-24.4251222,bC,1.75,15.521,11.578,0.012,84.865,0.927,g
29 | 2459604.85253,2022-01-25.3489928,bs,1.47,15.509,11.601,0.012,83.175,0.919,g
30 | 2459604.85378,2022-01-25.3502386,bs,1.47,15.514,11.568,0.012,85.661,0.952,g
31 | 2459604.85501,2022-01-25.3514684,bs,1.45,15.514,11.587,0.013,84.219,0.979,g
32 | 2459606.05053,2022-01-26.5469282,bC,1.52,15.651,11.653,0.013,79.195,0.943,g
33 | 2459606.05181,2022-01-26.5482052,bC,1.55,15.648,11.643,0.013,79.964,0.963,g
34 | 2459606.05306,2022-01-26.5494645,bC,1.55,15.627,11.632,0.013,80.733,1.014,g
35 | 2459607.89029,2022-01-28.3866005,bC,1.43,15.596,11.645,0.012,79.829,0.900,g
36 | 2459607.89156,2022-01-28.3878693,bC,1.44,15.588,11.631,0.013,80.845,0.952,g
37 | 2459607.89284,2022-01-28.3891429,bC,1.45,15.587,11.634,0.012,80.609,0.909,g
38 | 2459607.93561,2022-01-28.4319219,bC,1.43,15.638,11.635,0.012,80.558,0.938,g
39 | 2459607.93687,2022-01-28.4331826,bC,1.42,15.640,11.640,0.012,80.190,0.918,g
40 | 2459607.93814,2022-01-28.4344515,bC,1.44,15.650,11.642,0.012,80.029,0.930,g
41 | 2459609.94289,2022-01-30.4391118,bC,1.40,15.642,11.643,0.013,80.011,0.942,g
42 | 2459609.94417,2022-01-30.4403826,bC,1.45,15.642,11.627,0.013,81.131,0.958,g
43 | 2459609.94543,2022-01-30.4416468,bC,1.39,15.649,11.643,0.013,79.907,0.938,g
44 | 2459609.99301,2022-01-30.4892225,bC,1.64,15.646,11.628,0.012,81.072,0.925,g
45 | 2459609.99426,2022-01-30.4904795,bC,1.65,15.663,11.648,0.012,79.562,0.885,g
46 | 2459609.99552,2022-01-30.4917413,bC,1.67,15.651,11.644,0.012,79.862,0.904,g
47 | 2459615.93902,2022-02-05.4349866,bC,1.42,15.681,11.699,0.013,75.903,0.863,g
48 | 2459615.94029,2022-02-05.4362554,bC,1.43,15.672,11.687,0.013,76.786,0.868,g
49 | 2459615.94156,2022-02-05.4375184,bC,1.45,15.670,11.686,0.013,76.797,0.872,g
50 | 2459617.86569,2022-02-07.3615781,bC,1.56,15.576,11.690,0.013,76.581,0.889,g
51 | 2459617.86695,2022-02-07.3628407,bC,1.55,15.582,11.683,0.013,77.038,0.910,g
52 | 2459617.86822,2022-02-07.3641070,bC,1.59,15.585,11.686,0.013,76.846,0.887,g
53 | 2459617.91187,2022-02-07.4077643,bC,1.45,15.668,11.673,0.012,77.758,0.903,g
54 | 2459617.91315,2022-02-07.4090307,bC,1.47,15.647,11.673,0.013,77.780,0.889,g
55 | 2459617.91440,2022-02-07.4102924,bC,1.51,15.667,11.693,0.013,76.349,0.892,g
56 | 2459619.88402,2022-02-09.3798475,bC,1.36,15.629,11.709,0.013,75.236,0.884,g
57 | 2459619.88529,2022-02-09.3811120,bC,1.42,15.619,11.691,0.013,76.513,0.894,g
58 | 2459619.88656,2022-02-09.3823864,bC,1.44,15.599,11.681,0.013,77.199,0.912,g
59 | 2459620.81852,2022-02-10.3143130,bs,1.49,15.641,11.660,0.012,78.697,0.855,g
60 | 2459620.81977,2022-02-10.3155686,bs,1.50,15.669,11.699,0.012,75.955,0.797,g
61 | 2459620.82101,2022-02-10.3168078,bs,1.47,15.635,11.654,0.011,79.144,0.809,g
62 | 2459621.74886,2022-02-11.2446172,bs,1.48,15.586,11.676,0.012,77.566,0.845,g
63 | 2459621.75010,2022-02-11.2458626,bs,1.46,15.578,11.671,0.012,77.904,0.865,g
64 | 2459621.75132,2022-02-11.2470915,bs,1.47,15.617,11.713,0.012,74.913,0.845,g
65 | 2459623.84698,2022-02-13.3426780,bC,1.54,15.457,11.696,0.013,76.133,0.936,g
66 | 2459623.84822,2022-02-13.3439280,bC,1.49,15.453,11.708,0.013,75.348,0.911,g
67 | 2459623.84949,2022-02-13.3451920,bC,1.43,15.462,11.697,0.013,76.097,0.918,g
68 | 2459625.05811,2022-02-14.5537711,bC,2.04,15.552,11.713,0.012,74.932,0.848,g
69 | 2459625.05936,2022-02-14.5550232,bC,2.04,15.587,11.720,0.012,74.507,0.858,g
70 | 2459625.06061,2022-02-14.5562839,bC,2.04,15.569,11.720,0.012,74.473,0.812,g
71 | 2459632.83287,2022-02-22.3283721,bC,1.51,15.620,11.718,0.013,74.619,0.880,g
72 | 2459632.83415,2022-02-22.3296468,bC,1.41,15.631,11.713,0.013,74.999,0.873,g
73 | 2459632.83542,2022-02-22.3309259,bC,1.44,15.627,11.701,0.013,75.844,0.890,g
74 | 2459634.01739,2022-02-23.5128696,bC,1.69,15.674,11.714,0.013,74.862,0.865,g
75 | 2459634.01865,2022-02-23.5141371,bC,1.73,15.668,11.708,0.013,75.351,0.877,g
76 | 2459634.01991,2022-02-23.5153902,bC,1.67,15.656,11.720,0.012,74.425,0.848,g
77 | 2459636.83493,2022-02-26.3303759,bC,1.87,15.585,11.679,0.011,77.341,0.807,g
78 | 2459636.83620,2022-02-26.3316459,bC,1.63,15.616,11.689,0.012,76.649,0.847,g
79 | 2459636.83746,2022-02-26.3329063,bC,1.65,15.623,11.700,0.012,75.903,0.864,g
80 | 2459637.81420,2022-02-27.3096317,bs,1.43,15.686,11.698,0.012,76.003,0.832,g
81 | 2459637.81544,2022-02-27.3108721,bs,1.45,15.675,11.671,0.012,77.896,0.854,g
82 | 2459637.81668,2022-02-27.3121196,bs,1.43,15.672,11.655,0.012,79.089,0.880,g
83 | 2459637.85224,2022-02-27.3476821,bs,1.43,15.673,11.668,0.012,78.116,0.860,g
84 | 2459637.85348,2022-02-27.3489158,bs,1.46,15.688,11.679,0.011,77.305,0.825,g
85 | 2459637.85472,2022-02-27.3501663,bs,1.45,15.678,11.678,0.012,77.438,0.843,g
86 | 2459637.89388,2022-02-27.3893231,bs,1.63,15.671,11.684,0.012,77.027,0.850,g
87 | 2459637.89511,2022-02-27.3905497,bs,1.55,15.664,11.666,0.012,78.252,0.864,g
88 | 2459637.89635,2022-02-27.3917915,bs,1.51,15.672,11.676,0.012,77.558,0.862,g
89 | 2459639.91799,2022-03-01.4134182,bC,1.44,15.676,11.685,0.013,76.924,0.888,g
90 | 2459639.91927,2022-03-01.4146918,bC,1.42,15.684,11.680,0.012,77.267,0.883,g
91 | 2459639.92051,2022-03-01.4159362,bC,1.42,15.690,11.678,0.012,77.394,0.881,g
92 | 2459639.95274,2022-03-01.4481622,bC,1.42,15.700,11.676,0.012,77.535,0.882,g
93 | 2459639.95401,2022-03-01.4494309,bC,1.40,15.696,11.672,0.012,77.801,0.900,g
94 | 2459639.95527,2022-03-01.4506915,bC,1.38,15.698,11.679,0.012,77.329,0.889,g
95 | 2459643.83404,2022-03-05.3294509,bC,1.45,15.647,11.674,0.013,77.694,0.906,g
96 | 2459643.83532,2022-03-05.3307265,bC,1.41,15.643,11.675,0.013,77.643,0.903,g
97 | 2459643.83659,2022-03-05.3319906,bC,1.38,15.639,11.664,0.013,78.382,0.900,g
98 | 2459645.06673,2022-03-06.5621381,bC,1.57,15.691,11.697,0.013,76.047,0.893,g
99 | 2459645.06799,2022-03-06.5633905,bC,1.51,15.694,11.694,0.013,76.261,0.896,g
100 | 2459645.06923,2022-03-06.5646396,bC,1.52,15.693,11.706,0.013,75.453,0.874,g
101 | 2459647.88243,2022-03-09.3778459,bC,1.44,15.679,11.721,0.013,74.354,0.856,g
102 | 2459647.88369,2022-03-09.3791098,bC,1.39,15.696,11.731,0.013,73.723,0.854,g
103 | 2459647.88496,2022-03-09.3803748,bC,1.43,15.703,11.729,0.013,73.851,0.843,g
104 | 2459648.80772,2022-03-10.3031410,bs,1.50,15.689,11.714,0.012,74.897,0.787,g
105 | 2459648.80896,2022-03-10.3043853,bs,1.49,15.683,11.712,0.012,75.036,0.833,g
106 | 2459648.81021,2022-03-10.3056353,bs,1.48,15.708,11.743,0.012,72.921,0.825,g
107 | 2459649.84263,2022-03-11.3380618,bs,1.44,15.695,11.752,0.012,72.292,0.822,g
108 | 2459649.84387,2022-03-11.3393039,bs,1.47,15.688,11.761,0.012,71.709,0.800,g
109 | 2459649.84511,2022-03-11.3405398,bs,1.51,15.687,11.734,0.012,73.508,0.815,g
110 | 2459650.89603,2022-03-12.3914636,bs,1.63,15.680,11.746,0.012,72.755,0.801,g
111 | 2459650.89727,2022-03-12.3927103,bs,1.63,15.686,11.759,0.011,71.847,0.743,g
112 | 2459650.89851,2022-03-12.3939518,bs,1.65,15.682,11.756,0.012,72.040,0.765,g
113 | 2459651.95658,2022-03-13.4520305,bs,1.45,15.679,11.745,0.012,72.739,0.823,g
114 | 2459651.95782,2022-03-13.4532745,bs,1.50,15.672,11.749,0.012,72.554,0.820,g
115 | 2459651.95906,2022-03-13.4545114,bs,1.47,15.679,11.748,0.012,72.609,0.826,g
116 | 2459654.79714,2022-03-16.2926270,bC,1.37,15.233,11.729,0.015,73.835,0.989,g
117 | 2459655.82943,2022-03-17.3249285,bC,1.49,15.359,11.712,0.014,75.052,0.963,g
118 | 2459655.83070,2022-03-17.3261925,bC,1.56,15.408,11.707,0.014,75.350,0.953,g
119 | 2459655.83195,2022-03-17.3274484,bC,1.58,15.385,11.730,0.014,73.773,0.958,g
120 | 2459656.95569,2022-03-18.4512052,bC,1.50,15.503,11.691,0.014,76.456,0.967,g
121 | 2459657.95551,2022-03-19.4510476,bC,1.44,15.467,11.669,0.014,78.012,0.996,g
122 | 2459657.95676,2022-03-19.4523012,bC,1.49,15.537,11.671,0.013,77.899,0.960,g
123 | 2459657.95802,2022-03-19.4535517,bC,1.54,15.520,11.681,0.013,77.174,0.942,g
124 | 2459659.92528,2022-03-21.4208562,bC,1.46,15.606,11.649,0.013,79.536,0.931,g
125 | 2459659.92654,2022-03-21.4221181,bC,1.44,15.600,11.642,0.013,80.065,0.941,g
126 | 2459659.92781,2022-03-21.4233780,bC,1.43,15.616,11.654,0.013,79.145,0.926,g
127 | 2459661.90373,2022-03-23.3993478,bC,1.47,15.352,11.615,0.010,82.019,0.768,g
128 | 2459661.90497,2022-03-23.4005943,bC,1.49,15.534,11.624,0.014,81.357,1.048,g
129 | 2459661.90622,2022-03-23.4018501,bC,1.52,15.613,11.627,0.013,81.192,0.960,g
130 | 2459663.77282,2022-03-25.2684855,bs,1.45,15.640,11.620,0.011,81.681,0.861,g
131 | 2459663.77406,2022-03-25.2697285,bs,1.47,15.647,11.631,0.011,80.897,0.863,g
132 | 2459663.77530,2022-03-25.2709642,bs,1.45,15.624,11.595,0.012,83.522,0.935,g
133 | 2459664.79633,2022-03-26.2920231,bs,1.46,15.511,11.592,0.013,83.841,0.966,g
134 | 2459664.79755,2022-03-26.29325,bs,1.46,15.529,11.620,0.013,81.655,0.938,g
135 | 2459664.79879,2022-03-26.2944920,bs,1.45,15.567,11.572,0.012,85.381,0.945,g
136 | 2459665.85365,2022-03-27.3493790,bs,1.45,15.630,11.622,0.012,81.538,0.881,g
137 | 2459665.85488,2022-03-27.3506106,bs,1.46,15.620,11.605,0.011,82.867,0.876,g
138 | 2459665.85612,2022-03-27.3518488,bs,1.47,15.611,11.599,0.012,83.275,0.933,g
139 | 2459666.84767,2022-03-28.3434281,bs,1.47,15.601,11.635,0.011,80.550,0.825,g
140 | 2459666.84890,2022-03-28.3446594,bs,1.47,15.587,11.583,0.011,84.538,0.899,g
141 | 2459666.85014,2022-03-28.3458968,bs,1.47,15.595,11.612,0.012,82.213,0.879,g
142 | 2459669.93226,2022-03-31.4281163,bC,1.45,15.651,11.607,0.012,82.642,0.938,g
143 | 2459669.93353,2022-03-31.4293784,bC,1.53,15.643,11.623,0.012,81.418,0.909,g
144 | 2459669.99866,2022-03-31.4945118,bC,1.60,15.622,11.611,0.012,82.338,0.900,g
145 | 2459672.98221,2022-04-03.4781686,bC,1.51,15.658,11.637,0.013,80.409,0.939,g
146 | 2459672.98347,2022-04-03.4794335,bC,1.48,15.647,11.622,0.013,81.482,0.960,g
147 | 2459672.98472,2022-04-03.4806918,bC,1.51,15.650,11.630,0.012,80.933,0.940,g
148 | 2459674.82329,2022-04-05.3193263,bs,1.48,15.626,11.651,0.012,79.370,0.869,g
149 | 2459674.82454,2022-04-05.3205746,bs,1.46,15.616,11.638,0.012,80.319,0.908,g
150 | 2459674.82577,2022-04-05.3218094,bs,1.48,15.613,11.621,0.011,81.571,0.869,g
151 | 2459674.88966,2022-04-05.3857004,bs,1.47,15.613,11.654,0.012,79.148,0.891,g
152 | 2459674.89090,2022-04-05.3869413,bs,1.45,15.609,11.652,0.013,79.310,0.906,g
153 | 2459674.89213,2022-04-05.3881715,bs,1.46,15.585,11.616,0.012,81.971,0.891,g
154 | 2459676.88811,2022-04-07.3842293,bs,1.44,15.612,11.693,0.013,76.344,0.888,g
155 | 2459676.88935,2022-04-07.3854663,bs,1.49,15.596,11.692,0.012,76.448,0.836,g
156 | 2459676.89059,2022-04-07.3867123,bs,1.48,15.607,11.695,0.012,76.245,0.864,g
157 | 2459678.68890,2022-04-09.1850994,bs,1.48,15.619,11.701,0.012,75.789,0.836,g
158 | 2459678.69015,2022-04-09.1863471,bs,1.48,15.602,11.673,0.012,77.787,0.883,g
159 | 2459678.69137,2022-04-09.1875760,bs,1.49,15.626,11.712,0.012,75.025,0.823,g
160 | 2459679.80458,2022-04-10.3008273,bs,1.45,15.584,11.688,0.012,76.708,0.851,g
161 | 2459679.80581,2022-04-10.3020584,bs,1.48,15.590,11.697,0.013,76.046,0.887,g
162 | 2459679.80705,2022-04-10.3033003,bs,1.46,15.593,11.711,0.012,75.118,0.862,g
163 | 2459680.87324,2022-04-11.3695443,bs,1.47,15.547,11.673,0.012,77.762,0.868,g
164 | 2459680.87450,2022-04-11.3708075,bs,1.47,15.577,11.665,0.012,78.344,0.852,g
165 | 2459680.87574,2022-04-11.3720435,bs,1.42,15.609,11.726,0.013,74.124,0.857,g
166 | 2459680.90723,2022-04-11.4035355,bs,1.48,15.630,11.722,0.012,74.367,0.835,g
167 | 2459680.90845,2022-04-11.4047575,bs,1.46,15.615,11.711,0.012,75.107,0.833,g
168 | 2459680.90968,2022-04-11.4059829,bs,1.47,15.611,11.685,0.012,76.927,0.858,g
169 | 2459682.72485,2022-04-13.2212331,bs,1.56,15.534,11.693,0.012,76.367,0.889,g
170 | 2459682.72609,2022-04-13.2224711,bs,1.50,15.523,11.704,0.012,75.615,0.841,g
171 | 2459682.72732,2022-04-13.2237037,bs,1.59,15.545,11.701,0.012,75.759,0.849,g
172 | 2459686.86709,2022-04-17.3636986,bs,1.54,15.404,11.746,0.013,72.679,0.866,g
173 | 2459686.86832,2022-04-17.3649179,bs,1.65,15.337,11.752,0.013,72.323,0.887,g
174 | 2459686.86956,2022-04-17.3661668,bs,1.68,15.409,11.731,0.013,73.733,0.864,g
175 | 2459688.96184,2022-04-19.4585440,bC,1.47,15.662,11.799,0.013,69.242,0.833,g
176 | 2459688.96310,2022-04-19.4598118,bC,1.45,15.593,11.776,0.014,70.745,0.896,g
177 | 2459688.96435,2022-04-19.4610721,bC,1.40,15.565,11.761,0.014,71.674,0.880,g
178 | 2459693.85797,2022-04-24.3549597,bC,1.73,15.550,11.798,0.013,69.272,0.833,g
179 | 2459693.86050,2022-04-24.3574927,bC,2.09,15.113,11.734,0.012,73.500,0.805,g
180 | 2459693.91575,2022-04-24.4127446,bC,1.57,15.444,11.773,0.014,70.937,0.909,g
181 | 2459693.91701,2022-04-24.4140006,bC,1.65,15.510,11.802,0.016,69.086,0.996,g
182 | 2459693.91826,2022-04-24.4152523,bC,1.64,15.542,11.783,0.014,70.320,0.913,g
183 | 2459693.94277,2022-04-24.4397665,bC,1.57,13.385,11.976,0.064,58.840,3.437,g
184 | 2459693.94403,2022-04-24.441025,bC,1.67,14.113,12.090,0.046,52.956,2.212,g
185 | 2459693.94529,2022-04-24.4422798,bC,1.57,14.348,12.027,0.035,56.150,1.813,g
186 | 2459695.73072,2022-04-26.2278238,bs,1.47,15.661,11.784,0.012,70.251,0.799,g
187 | 2459695.73197,2022-04-26.2290771,bs,1.46,15.662,11.812,0.012,68.427,0.787,g
188 | 2459695.73325,2022-04-26.2303511,bs,1.47,15.685,11.841,0.013,66.627,0.793,g
189 | 2459697.80553,2022-04-28.3027583,bs,1.49,15.638,11.805,0.013,68.827,0.806,g
190 | 2459697.80676,2022-04-28.3039987,bs,1.45,15.640,11.798,0.012,69.318,0.795,g
191 | 2459697.80802,2022-04-28.3052593,bs,1.50,15.639,11.790,0.012,69.826,0.800,g
192 | 2459697.85906,2022-04-28.3562903,bs,1.46,15.611,11.792,0.012,69.675,0.790,g
193 | 2459697.86035,2022-04-28.3575848,bs,1.51,15.613,11.806,0.013,68.847,0.808,g
194 | 2459697.86160,2022-04-28.3588393,bs,1.51,15.598,11.794,0.013,69.569,0.796,g
195 | 2459699.66842,2022-04-30.1657646,bs,1.52,15.681,11.785,0.012,70.115,0.779,g
196 | 2459699.66965,2022-04-30.1670031,bs,1.53,15.681,11.783,0.012,70.308,0.783,g
197 | 2459699.67091,2022-04-30.1682554,bs,1.53,15.672,11.766,0.012,71.386,0.774,g
198 | 2459707.92943,2022-05-08.4273358,bC,2.07,15.638,11.874,0.013,64.590,0.752,g
199 | 2459707.93069,2022-05-08.4286070,bC,2.04,15.703,11.872,0.012,64.735,0.708,g
200 | 2459707.93197,2022-05-08.4298839,bC,2.01,15.678,11.863,0.012,65.304,0.747,g
201 | 2459710.66655,2022-05-11.1646490,bs,1.52,15.554,11.901,0.013,63.091,0.764,g
202 | 2459710.66783,2022-05-11.1659321,bs,1.50,15.597,11.930,0.013,61.363,0.752,g
203 | 2459710.66912,2022-05-11.1672270,bs,1.45,15.559,11.914,0.014,62.331,0.779,g
204 | 2459712.67548,2022-05-13.1737347,bs,1.48,15.553,11.943,0.014,60.620,0.748,g
205 | 2459712.67678,2022-05-13.1750246,bs,1.46,15.522,11.927,0.014,61.519,0.770,g
206 | 2459712.67807,2022-05-13.1763203,bs,1.53,15.518,11.924,0.014,61.715,0.774,g
207 | 2459714.88249,2022-05-15.3809024,bC,1.40,15.609,11.946,0.014,60.525,0.766,g
208 | 2459714.88376,2022-05-15.3821711,bC,1.51,15.558,11.965,0.015,59.422,0.821,g
209 | 2459714.88500,2022-05-15.3834164,bC,1.51,15.563,11.945,0.014,60.524,0.785,g
210 | 2459716.77797,2022-05-17.2765225,bs,1.54,15.328,11.978,0.017,58.756,0.897,g
211 | 2459716.77928,2022-05-17.2778265,bs,1.51,15.242,11.967,0.017,59.331,0.932,g
212 | 2459716.78060,2022-05-17.2791449,bs,1.39,15.243,11.954,0.017,60.045,0.938,g
213 | 2459718.81330,2022-05-19.3120039,bs,1.50,15.538,11.941,0.013,60.771,0.749,g
214 | 2459718.81467,2022-05-19.3133699,bs,1.48,15.519,11.952,0.013,60.160,0.751,g
215 | 2459718.81600,2022-05-19.3147056,bs,1.51,15.532,11.954,0.013,60.052,0.740,g
216 | 2459720.79821,2022-05-21.2970615,bs,1.44,15.665,11.950,0.013,60.218,0.723,g
217 | 2459720.79952,2022-05-21.2983700,bs,1.46,15.662,11.945,0.013,60.548,0.722,g
218 | 2459720.80083,2022-05-21.2996861,bs,1.48,15.662,11.936,0.013,61.030,0.725,g
219 | 2459723.84310,2022-05-24.3421902,bC,1.41,15.794,11.944,0.013,60.571,0.739,g
220 | 2459723.84436,2022-05-24.3434530,bC,1.41,15.802,11.931,0.013,61.357,0.739,g
221 | 2459723.84563,2022-05-24.3447280,bC,1.43,15.792,11.939,0.013,60.876,0.735,g
222 | 2459726.74323,2022-05-27.2425440,bC,1.73,15.638,11.971,0.013,59.092,0.736,g
223 | 2459726.74449,2022-05-27.2437988,bC,1.66,15.616,11.935,0.013,61.088,0.745,g
224 | 2459726.74575,2022-05-27.2450614,bC,1.74,15.663,11.962,0.013,59.606,0.727,g
225 | 2459727.77661,2022-05-28.2760032,bs,1.56,15.053,11.857,0.018,65.601,1.099,g
226 | 2459727.77784,2022-05-28.2772343,bs,1.47,15.198,11.899,0.013,63.168,0.780,g
227 | 2459727.77908,2022-05-28.2784753,bs,1.48,15.206,11.889,0.014,63.738,0.840,g
228 | 2459729.77291,2022-05-30.2724700,bs,1.57,15.606,11.843,0.014,66.499,0.835,g
229 | 2459729.77414,2022-05-30.2736990,bs,1.52,15.622,11.901,0.013,63.044,0.769,g
230 | 2459729.77536,2022-05-30.2749148,bs,1.54,15.646,11.945,0.014,60.545,0.759,g
231 | 2459731.71722,2022-06-01.2169244,bs,1.48,15.651,11.933,0.014,61.234,0.812,g
232 | 2459731.71845,2022-06-01.2181561,bs,1.52,15.728,12.034,0.014,55.762,0.739,g
233 | 2459731.71968,2022-06-01.2193854,bs,1.47,15.678,11.968,0.014,59.226,0.755,g
234 | 2459733.76916,2022-06-03.2690245,bs,1.43,15.648,11.959,0.014,59.752,0.764,g
235 | 2459733.77041,2022-06-03.2702745,bs,1.47,15.681,11.983,0.015,58.463,0.815,g
236 | 2459733.77165,2022-06-03.2715162,bs,1.43,15.628,11.898,0.013,63.202,0.744,g
237 | 2459738.75385,2022-06-08.2541054,bC,2.26,15.593,11.890,0.012,63.718,0.713,g
238 | 2459738.75509,2022-06-08.2553516,bC,2.25,15.650,11.904,0.012,62.869,0.693,g
239 | 2459738.75637,2022-06-08.2566211,bC,2.23,15.635,11.886,0.012,63.952,0.695,g
240 | 2459741.65165,2022-06-11.1521335,bs,1.54,14.969,11.888,0.018,63.783,1.055,g
241 | 2459741.65288,2022-06-11.1533636,bs,1.37,14.829,11.900,0.019,63.061,1.098,g
242 | 2459741.65412,2022-06-11.1546019,bs,1.95,13.863,11.703,0.039,75.708,2.734,g
243 | 2459743.65044,2022-06-13.1510782,bs,1.44,14.945,11.849,0.020,66.181,1.182,g
244 | 2459743.65167,2022-06-13.1523070,bs,1.51,14.980,11.834,0.017,67.112,1.052,g
245 | 2459743.65291,2022-06-13.15355,bs,1.57,14.991,11.921,0.020,61.925,1.126,g
246 | 2459750.78165,2022-06-20.2828401,bC,2.00,15.732,11.897,0.012,63.259,0.701,g
247 | 2459750.78292,2022-06-20.2840987,bC,1.79,15.744,11.893,0.012,63.461,0.693,g
248 | 2459750.78417,2022-06-20.2853592,bC,1.83,15.719,11.883,0.012,64.107,0.721,g
249 | 2459750.79312,2022-06-20.2943109,bC,1.79,15.745,11.903,0.012,62.948,0.720,g
250 | 2459750.79439,2022-06-20.2955693,bC,1.86,15.728,11.886,0.012,63.937,0.738,g
251 | 2459750.79563,2022-06-20.2968123,bC,1.86,15.729,11.886,0.012,63.948,0.723,g
252 | 2459752.69980,2022-06-22.2011317,bs,1.43,15.578,11.866,0.013,65.110,0.773,g
253 | 2459752.70103,2022-06-22.2023651,bs,1.46,15.563,11.882,0.014,64.154,0.855,g
254 | 2459752.70227,2022-06-22.2036028,bs,1.46,15.509,11.986,0.016,58.303,0.881,g
255 | 2459755.70510,2022-06-25.2066598,bs,1.44,15.518,11.923,0.011,61.737,0.632,g
256 | 2459755.70633,2022-06-25.2078900,bs,1.48,15.563,11.922,0.016,61.822,0.919,g
257 | 2459755.70755,2022-06-25.2091115,bs,1.47,15.522,11.878,0.012,64.385,0.668,g
258 | 2459757.69992,2022-06-27.2016280,bs,1.44,15.645,11.916,0.012,62.134,0.699,g
259 | 2459757.70116,2022-06-27.2028651,bs,1.44,15.634,11.900,0.012,63.132,0.711,g
260 | 2459757.70239,2022-06-27.2040939,bs,1.45,15.647,11.922,0.012,61.796,0.708,g
261 | 2459760.75965,2022-06-30.2615843,bC,1.65,15.758,11.898,0.013,63.233,0.746,g
262 | 2459760.76091,2022-06-30.2628355,bC,1.65,15.743,11.906,0.013,62.711,0.773,g
263 | 2459760.76217,2022-06-30.2641010,bC,1.68,15.744,11.923,0.013,61.780,0.754,g
264 | 2459762.66466,2022-07-02.1667178,bs,1.48,15.612,11.855,0.013,65.763,0.756,g
265 | 2459762.66590,2022-07-02.1679582,bs,1.45,15.601,11.858,0.012,65.555,0.746,g
266 | 2459762.66714,2022-07-02.1691988,bs,1.45,15.605,11.909,0.012,62.583,0.695,g
267 | 2459769.64424,2022-07-09.1467725,bs,1.54,15.261,11.921,0.018,61.868,1.007,g
268 | 2459769.64547,2022-07-09.1480062,bs,1.53,15.207,11.867,0.020,65.079,1.179,g
269 | 2459769.64668,2022-07-09.1492233,bs,1.62,15.118,11.800,0.016,69.184,1.010,g
270 | 2459771.64617,2022-07-11.1488444,bs,1.47,14.606,11.911,0.025,62.444,1.430,g
271 | 2459771.64741,2022-07-11.1500884,bs,1.53,14.682,11.746,0.024,72.778,1.575,g
272 | 2459771.64865,2022-07-11.1513254,bs,1.89,14.749,12.037,0.025,55.625,1.252,g
273 | 2459773.63721,2022-07-13.1400177,bs,1.97,14.206,11.671,0.030,77.959,2.122,g
274 | 2459773.63845,2022-07-13.1412476,bs,1.92,14.797,12.152,0.036,50.040,1.676,g
275 | 2459773.63968,2022-07-13.1424839,bs,1.92,14.209,11.784,0.030,70.221,1.911,g
--------------------------------------------------------------------------------
/talks/Accessing-TESS-Data-At-MAST.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tessgi/InteractiveWorkshop/f149edecbb7efa9435a817cfd09755f1ecc7f722/talks/Accessing-TESS-Data-At-MAST.pdf
--------------------------------------------------------------------------------
/talks/How-to-Access-TESS-Data-Tutorial.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "id": "6320d8d2-4a14-4087-b6fd-69813c8c6f17",
6 | "metadata": {},
7 | "source": [
8 | "# How to Access TESS Data: `astroquery`"
9 | ]
10 | },
11 | {
12 | "cell_type": "markdown",
13 | "id": "e69949b1-217b-490f-8856-66eee4dc498d",
14 | "metadata": {},
15 | "source": [
16 | "## Introduction\n",
17 | "\n",
18 | "By the end of this Notebook, you will:\n",
19 | "- Understand how to query for TESS light curves for a single target\n",
20 | "- Apply querying techniques to look for data from an example TESS Guest Investigator program\n",
21 | "- Be able to recognize the appropriate syntax for data access in TIKE\n",
22 | "\n",
23 | "To achieve the above goals, we'll perform some advanced queries with `astroquery.mast`. We'll also take a look at the two approaches to handling data, depending on whether you're working locally or on the TIKE platform."
24 | ]
25 | },
26 | {
27 | "cell_type": "markdown",
28 | "id": "adec5027-fec0-4bcb-8d10-f70f42fff5ff",
29 | "metadata": {},
30 | "source": [
31 | "## Imports and Setup\n",
32 | "- The `Observations` module from `astroquery.mast` is needed to make the query and download the data\n",
33 | "- `s3fs` lets us read data from the S3 bucket as though it were local\n",
34 | "\n",
35 | "Note: If you are running this notebook on the TIKE, as recommended, you should not need to install or update your `astroquery` package. It \"just works\"."
36 | ]
37 | },
38 | {
39 | "cell_type": "code",
40 | "execution_count": 15,
41 | "id": "cf652882-ba92-4509-93c8-15bf0714299e",
42 | "metadata": {
43 | "tags": []
44 | },
45 | "outputs": [],
46 | "source": [
47 | "from astroquery.mast import Observations\n",
48 | "from astropy.io import fits\n",
49 | "\n",
50 | "import s3fs"
51 | ]
52 | },
53 | {
54 | "cell_type": "markdown",
55 | "id": "4a5db2d2-6e9a-4aa0-a8e4-27ccd3d2b529",
56 | "metadata": {},
57 | "source": [
58 | "Virtually all data from the TESS Mission are available for free on Amazon Web Services in public S3 bucket (as we'll see in the example below, S3 is missing data validation reports). There are two methods for access:\n",
59 | "1. Read the files \"locally\" on TIKE (recommended)\n",
60 | "2. Re-direct downloads from the MAST Servers to the AWS datacenter. [No AWS account required!](https://astroquery.readthedocs.io/en/latest/mast/mast.html#cloud-data-access).\n",
61 | "\n",
62 | "Whichever method we chose, the querying method is identical. We'll start by activating cloud access, which is necessary for method 2."
63 | ]
64 | },
65 | {
66 | "cell_type": "code",
67 | "execution_count": 2,
68 | "id": "88425042-75e0-4e43-b720-3c5d1ccb8ac7",
69 | "metadata": {
70 | "tags": []
71 | },
72 | "outputs": [
73 | {
74 | "name": "stdout",
75 | "output_type": "stream",
76 | "text": [
77 | "INFO: Using the S3 STScI public dataset [astroquery.mast.cloud]\n"
78 | ]
79 | }
80 | ],
81 | "source": [
82 | "# Enables downloads from the S3 bucket for method 2\n",
83 | "Observations.enable_cloud_dataset()"
84 | ]
85 | },
86 | {
87 | "cell_type": "markdown",
88 | "id": "966c29df-1038-4c0e-9eec-c701662843cc",
89 | "metadata": {
90 | "tags": []
91 | },
92 | "source": [
93 | "## Query for a specific target\n",
94 | "In this example, we want to retrieve all TESS data (light curves, target pixel files, and data validation files) for the target TIC 7854182, a known $\\delta$ Scuti star in an eclipsing binary (Chen et al. 2022, Kahraman Aliçavuş et al. 2017, Liakos & Niarchos 2017).\n",
95 | "\n",
96 | "Feel free to use your favorite target here instead!\n",
97 | "\n",
98 | "### A Slow Positional Query, for Completeness\n",
99 | "\n",
100 | "We're going to perform a positional query to begin. This is the most generic type of MAST Search you can perform. The entered target name is converted to coordinates by Simbad and NED, then a query begins for any spatially overlapping Observations in the MAST Archive. As you might imagine, there is a limit on how quickly this type of search can be performed, even with an \"exact match\" search `radius=0`."
101 | ]
102 | },
103 | {
104 | "cell_type": "code",
105 | "execution_count": 3,
106 | "id": "58b42980-ba7d-4cf0-9189-677a4299f3ac",
107 | "metadata": {
108 | "tags": []
109 | },
110 | "outputs": [],
111 | "source": [
112 | "# Feel free to use your favorite target here instead\n",
113 | "target_name = \"TIC 7854182\""
114 | ]
115 | },
116 | {
117 | "cell_type": "code",
118 | "execution_count": 4,
119 | "id": "64b09a75-451e-467f-8f72-daeab4e7eee4",
120 | "metadata": {
121 | "tags": []
122 | },
123 | "outputs": [],
124 | "source": [
125 | "obs = Observations.query_object(target_name, radius=\"0s\")"
126 | ]
127 | },
128 | {
129 | "cell_type": "markdown",
130 | "id": "7d8e7bbf-8801-45da-924e-5928deefee65",
131 | "metadata": {},
132 | "source": [
133 | "The results of our search are stored (as an Astropy Table) in the `obs` variable we set above. Let's print out the length of the table and then a random subset of the Observations returned."
134 | ]
135 | },
136 | {
137 | "cell_type": "code",
138 | "execution_count": 5,
139 | "id": "dd513f12-8fce-4a1c-b44a-edb8999e6eff",
140 | "metadata": {
141 | "tags": []
142 | },
143 | "outputs": [
144 | {
145 | "name": "stdout",
146 | "output_type": "stream",
147 | "text": [
148 | "TOTAL Observations available for TIC 7854182: \n",
149 | "47\n",
150 | "intentType obs_collection provenance_name ... srcDen obsid distance\n",
151 | "---------- -------------- --------------- ... ------ --------- --------\n",
152 | " science TESS SPOC ... nan 27463640 0.0\n",
153 | " science TESS SPOC ... nan 96861135 0.0\n",
154 | " science PS1 3PI ... 5885.0 2578109 0.0\n",
155 | " science HLSP TASOC ... nan 102001412 0.0\n",
156 | " science HLSP TICA ... nan 100379453 0.0\n"
157 | ]
158 | }
159 | ],
160 | "source": [
161 | "# Print total number of Observations\n",
162 | "print(f\"TOTAL Observations available for {target_name}: \\n{len(obs)}\")\n",
163 | "\n",
164 | "# Print every tenth row in the table\n",
165 | "print(obs[::10])"
166 | ]
167 | },
168 | {
169 | "cell_type": "markdown",
170 | "id": "7307a62f-1bcd-4146-bb50-1227c4f1adf0",
171 | "metadata": {},
172 | "source": [
173 | "Depending on when you run this query, you may see TESS, [PS1](https://archive.stsci.edu/panstarrs/), and [HLSP](archive.stsci.edu/hlsp). Evidently, such queries work very well for holistic searches, and there are a multitude of reasons you may want to know if you target has been observed by more than just TESS. It is also possible to filter the results from our generic search with indexing."
174 | ]
175 | },
176 | {
177 | "cell_type": "code",
178 | "execution_count": 6,
179 | "id": "11a797e7-eac9-4a66-9d13-a5b1542e63be",
180 | "metadata": {
181 | "tags": []
182 | },
183 | "outputs": [
184 | {
185 | "data": {
186 | "text/plain": [
187 | "18"
188 | ]
189 | },
190 | "execution_count": 6,
191 | "metadata": {},
192 | "output_type": "execute_result"
193 | }
194 | ],
195 | "source": [
196 | "just_tess = obs[obs['obs_collection']=='TESS']\n",
197 | "len(just_tess)"
198 | ]
199 | },
200 | {
201 | "cell_type": "markdown",
202 | "id": "67582aee-8406-4efd-aa2a-ae22778f52cc",
203 | "metadata": {},
204 | "source": [
205 | "As of Jan 2024, this gives 18 results. Regardless of when you run this code, the number of results after filtering will be lower, since we've excluded other missions from this count.\n",
206 | "\n",
207 | "However, as mentioned, this type of search is slow. It is particularly inefficient when we know the TICID, as there is a convenient shortcut we can take.\n",
208 | "\n",
209 | "### A Convenient Shortcut\n",
210 | "We can take advantage of a rather convenient shortcut, since we know two critical facts:\n",
211 | "1. The data was collected by TESS (`obs_collection=\"TESS\"`)\n",
212 | "2. The TICID of our target (`target_name=\"####\"`)\n",
213 | "\n",
214 | "We'll use a new search function, the `Observations.query_criteria` search. The full list of queryable criteria is available on the [CAOM field descriptions page](https://mast.stsci.edu/api/v0/_c_a_o_mfields.html). Passing the criteria from our list to the search function will be sufficient to narrow down our observations, and has the advantage of being quicker. We are also certain to avoid any issues with the conversion of target name to coordinates.\n",
215 | "\n",
216 | "**NOTE:** This shortcut only works because the TICID provides a consistent labeling framework for targets. Typically, this field is populated by the value submitted by the proposer in the APT file. That is to say: it is normally wildly inconsistent. Use with extreme caution, or potentially not at all, outside of the context of TESS."
217 | ]
218 | },
219 | {
220 | "cell_type": "code",
221 | "execution_count": 7,
222 | "id": "eccf710c-a810-453f-a1f7-72541937ed69",
223 | "metadata": {
224 | "tags": []
225 | },
226 | "outputs": [
227 | {
228 | "data": {
229 | "text/html": [
230 | "
Table masked=True length=5\n",
231 | "
\n",
232 | "intentType | obs_collection | provenance_name | instrument_name | project | filters | wavelength_region | target_name | target_classification | obs_id | s_ra | s_dec | dataproduct_type | proposal_pi | calib_level | t_min | t_max | t_exptime | em_min | em_max | obs_title | t_obs_release | proposal_id | proposal_type | sequence_number | s_region | jpegURL | dataURL | dataRights | mtFlag | srcDen | obsid | objID |
\n",
233 | "str7 | str4 | str4 | str10 | str4 | str4 | str7 | str7 | str1 | str47 | float64 | float64 | str10 | str14 | int64 | float64 | float64 | float64 | float64 | float64 | str1 | float64 | str7 | str1 | int64 | str47 | str1 | str79 | str6 | bool | float64 | str8 | str9 |
\n",
234 | "science | TESS | SPOC | Photometer | TESS | TESS | Optical | 7854182 | -- | tess2020133194932-s0025-0000000007854182-0182-s | 275.548647063955 | 47.568878067161 | timeseries | Ricker, George | 3 | 58983.13551149 | 59008.80681946 | 120.0 | 600.0 | 1000.0 | -- | 59050.0 | G022062 | -- | 25 | CIRCLE ICRS 275.54864706 47.56887807 0.00138889 | -- | mast:TESS/product/tess2020133194932-s0025-0000000007854182-0182-s_lc.fits | PUBLIC | False | nan | 27626482 | 70835966 |
\n",
235 | "science | TESS | SPOC | Photometer | TESS | TESS | Optical | 7854182 | -- | tess2019199201929-s0014-s0026-0000000007854182 | 275.548647063955 | 47.568878067161 | timeseries | Ricker, George | 3 | 58983.12717798611 | 59034.63613398148 | 120.0 | 600.0 | 1000.0 | -- | 59092.0 | G022062 | -- | 26 | CIRCLE 275.54864706 47.56887807 0.00138889 | -- | mast:TESS/product/tess2019199201929-s0014-s0026-0000000007854182-00353_dvt.fits | PUBLIC | False | nan | 27740920 | 116847240 |
\n",
236 | "science | TESS | SPOC | Photometer | TESS | TESS | Optical | 7854182 | -- | tess2020160202036-s0026-0000000007854182-0188-s | 275.548647063955 | 47.568878067161 | timeseries | Ricker, George | 3 | 59009.76794068287 | 59034.63613398148 | 120.0 | 600.0 | 1000.0 | -- | 59064.0 | G022062 | -- | 26 | CIRCLE 275.54864706 47.56887807 0.00138889 | -- | mast:TESS/product/tess2020160202036-s0026-0000000007854182-0188-s_lc.fits | PUBLIC | False | nan | 27671902 | 116847248 |
\n",
237 | "science | TESS | SPOC | Photometer | TESS | TESS | Optical | 7854182 | -- | tess2021175071901-s0040-0000000007854182-0211-s | 275.548647063955 | 47.568878067161 | timeseries | Ricker, George | 3 | 59390.15401666667 | 59418.35530668982 | 120.0 | 600.0 | 1000.0 | -- | 59456.0 | G04123 | -- | 40 | CIRCLE 275.54864706 47.56887807 0.00138889 | -- | mast:TESS/product/tess2021175071901-s0040-0000000007854182-0211-s_lc.fits | PUBLIC | False | nan | 62346553 | 117015989 |
\n",
238 | "science | TESS | SPOC | Photometer | TESS | TESS | Optical | 7854182 | -- | tess2021204101404-s0041-0000000007854182-0212-s | 275.548647063955 | 47.568878067161 | timeseries | Ricker, George | 3 | 59419.49001267361 | 59446.07981400463 | 120.0 | 600.0 | 1000.0 | -- | 59477.0 | G04123 | -- | 41 | CIRCLE 275.54864706 47.56887807 0.00138889 | -- | mast:TESS/product/tess2021204101404-s0041-0000000007854182-0212-s_lc.fits | PUBLIC | False | nan | 62789558 | 120240735 |
\n",
239 | "
"
240 | ],
241 | "text/plain": [
242 | "\n",
243 | "intentType obs_collection provenance_name ... srcDen obsid objID \n",
244 | " str7 str4 str4 ... float64 str8 str9 \n",
245 | "---------- -------------- --------------- ... ------- -------- ---------\n",
246 | " science TESS SPOC ... nan 27626482 70835966\n",
247 | " science TESS SPOC ... nan 27740920 116847240\n",
248 | " science TESS SPOC ... nan 27671902 116847248\n",
249 | " science TESS SPOC ... nan 62346553 117015989\n",
250 | " science TESS SPOC ... nan 62789558 120240735"
251 | ]
252 | },
253 | "execution_count": 7,
254 | "metadata": {},
255 | "output_type": "execute_result"
256 | }
257 | ],
258 | "source": [
259 | "obs = Observations.query_criteria(target_name=\"7854182\", obs_collection=\"TESS\")\n",
260 | "obs[:5]"
261 | ]
262 | },
263 | {
264 | "cell_type": "markdown",
265 | "id": "c859eb92-2dcd-48c5-b401-f9c2471095e0",
266 | "metadata": {},
267 | "source": [
268 | "Excellent. The next step is to go from `Observation` results to the underlying data files.\n",
269 | "\n",
270 | "## Accessing the Underlying Data Files\n",
271 | "We've been looking at `Observations`: an overaching colleciton of metadata and underlying data files. Now we'd like to get at the actual data, in this case a timeseries of our target star. The relevant astroquery function is `Observations.get_product_list()`. To keep this short, let's only pass the first `Observation` to this function. To get all of the light curves, just drop the `[0]` indexing."
272 | ]
273 | },
274 | {
275 | "cell_type": "code",
276 | "execution_count": 8,
277 | "id": "67b6931b-a6b0-49c1-8b0f-e88178071c9a",
278 | "metadata": {
279 | "tags": []
280 | },
281 | "outputs": [
282 | {
283 | "data": {
284 | "text/html": [
285 | "Table masked=True length=7\n",
286 | "
\n",
287 | "obsID | obs_collection | dataproduct_type | obs_id | description | type | dataURI | productType | productGroupDescription | productSubGroupDescription | productDocumentationURL | project | prvversion | proposal_id | productFilename | size | parent_obsid | dataRights | calib_level |
\n",
288 | "str8 | str4 | str10 | str47 | str33 | str1 | str81 | str7 | str28 | str3 | str1 | str4 | str20 | str7 | str63 | int64 | str8 | str6 | int64 |
\n",
289 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | full data validation report | S | mast:TESS/product/tess2020135030118-s0025-s0025-0000000007854182-00344_dvr.pdf | INFO | -- | DVR | -- | SPOC | b9bb72fe01 | G022062 | tess2020135030118-s0025-s0025-0000000007854182-00344_dvr.pdf | 5303784 | 27626482 | PUBLIC | 3 |
\n",
290 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | full data validation report (xml) | S | mast:TESS/product/tess2020135030118-s0025-s0025-0000000007854182-00344_dvr.xml | INFO | -- | DVR | -- | SPOC | b9bb72fe01 | G022062 | tess2020135030118-s0025-s0025-0000000007854182-00344_dvr.xml | 67779 | 27626482 | PUBLIC | 3 |
\n",
291 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | Data validation mini report | S | mast:TESS/product/tess2020135030118-s0025-s0025-0000000007854182-00344_dvm.pdf | INFO | Minimum Recommended Products | DVM | -- | SPOC | b9bb72fe01 | G022062 | tess2020135030118-s0025-s0025-0000000007854182-00344_dvm.pdf | 3245532 | 27626482 | PUBLIC | 3 |
\n",
292 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | TCE summary report | S | mast:TESS/product/tess2020135030118-s0025-s0025-0000000007854182-01-00344_dvs.pdf | INFO | Minimum Recommended Products | DVS | -- | SPOC | b9bb72fe01 | G022062 | tess2020135030118-s0025-s0025-0000000007854182-01-00344_dvs.pdf | 1144136 | 27626482 | PUBLIC | 3 |
\n",
293 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | Data validation time series | S | mast:TESS/product/tess2020135030118-s0025-s0025-0000000007854182-00344_dvt.fits | SCIENCE | Minimum Recommended Products | DVT | -- | SPOC | b9bb72fe01 | G022062 | tess2020135030118-s0025-s0025-0000000007854182-00344_dvt.fits | 3729600 | 27626482 | PUBLIC | 3 |
\n",
294 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | Light curves | S | mast:TESS/product/tess2020133194932-s0025-0000000007854182-0182-s_lc.fits | SCIENCE | Minimum Recommended Products | LC | -- | SPOC | b9bb72fe01 | G022062 | tess2020133194932-s0025-0000000007854182-0182-s_lc.fits | 1877760 | 27626482 | PUBLIC | 3 |
\n",
295 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | Target pixel files | S | mast:TESS/product/tess2020133194932-s0025-0000000007854182-0182-s_tp.fits | SCIENCE | Minimum Recommended Products | TP | -- | SPOC | spoc-4.0.36-20200520 | G022062 | tess2020133194932-s0025-0000000007854182-0182-s_tp.fits | 45299520 | 27626482 | PUBLIC | 2 |
\n",
296 | "
"
297 | ],
298 | "text/plain": [
299 | "\n",
300 | " obsID obs_collection dataproduct_type ... parent_obsid dataRights calib_level\n",
301 | " str8 str4 str10 ... str8 str6 int64 \n",
302 | "-------- -------------- ---------------- ... ------------ ---------- -----------\n",
303 | "27626482 TESS timeseries ... 27626482 PUBLIC 3\n",
304 | "27626482 TESS timeseries ... 27626482 PUBLIC 3\n",
305 | "27626482 TESS timeseries ... 27626482 PUBLIC 3\n",
306 | "27626482 TESS timeseries ... 27626482 PUBLIC 3\n",
307 | "27626482 TESS timeseries ... 27626482 PUBLIC 3\n",
308 | "27626482 TESS timeseries ... 27626482 PUBLIC 3\n",
309 | "27626482 TESS timeseries ... 27626482 PUBLIC 2"
310 | ]
311 | },
312 | "execution_count": 8,
313 | "metadata": {},
314 | "output_type": "execute_result"
315 | }
316 | ],
317 | "source": [
318 | "prod = Observations.get_product_list(obs[0])\n",
319 | "prod"
320 | ]
321 | },
322 | {
323 | "cell_type": "markdown",
324 | "id": "75d68375-372a-4223-ab4a-6152eed65f3e",
325 | "metadata": {},
326 | "source": [
327 | "We got back quite a bit more than light curves. That's because there is actually a substantial amount of data associated with each TESS Observation. The `description` field is useful for using `Observations.filter_products()` for particular files. Full explanations of each of the product filters that can be used in the `filter_products` function are available on the [MAST API Product Field Description page](https://mast.stsci.edu/api/v0/_productsfields.html).\n",
328 | "\n",
329 | "Here's a quick example of filtering for just the light curves:"
330 | ]
331 | },
332 | {
333 | "cell_type": "code",
334 | "execution_count": 9,
335 | "id": "14f4b60b-6f2d-450f-ae60-09b052aaa34a",
336 | "metadata": {
337 | "tags": []
338 | },
339 | "outputs": [],
340 | "source": [
341 | "# Sample filtering query\n",
342 | "filt = Observations.filter_products(prod, description=\"Light curves\")"
343 | ]
344 | },
345 | {
346 | "cell_type": "markdown",
347 | "id": "685f1032-0506-4541-847e-cd97958b4649",
348 | "metadata": {},
349 | "source": [
350 | "Now, we're ready to access the data from the AWS S3 bucket!\n",
351 | "\n",
352 | "### Method 1: TIKE\n",
353 | "With TIKE, no download is necessary; it's as though you were accessing the files locally. There is a little bit of extra work writing code, but it pays off in terms of access speeds.\n",
354 | "\n",
355 | "In order to open files with TIKE, we'll need the cloud URI. Fortunately, there is a handle function to do just that: `Observations.get_cloud_uris`. We'll also need to enable `s3fs`, which lets Python access the S3 bucket as though it were local data."
356 | ]
357 | },
358 | {
359 | "cell_type": "code",
360 | "execution_count": 10,
361 | "id": "1d1e95a3-6b86-4b17-bc8b-0b7b22ff96d9",
362 | "metadata": {
363 | "tags": []
364 | },
365 | "outputs": [],
366 | "source": [
367 | "# Get the cloud URI\n",
368 | "c_uri = Observations.get_cloud_uris(filt)\n",
369 | "\n",
370 | "# Enable Pythonic access of the S3 filesystem\n",
371 | "fs = s3fs.S3FileSystem(anon=True)"
372 | ]
373 | },
374 | {
375 | "cell_type": "markdown",
376 | "id": "674eee88-57c0-4728-9709-9a354074700f",
377 | "metadata": {},
378 | "source": [
379 | "Excellent. Now we just need one final `with` block to access the data in the file."
380 | ]
381 | },
382 | {
383 | "cell_type": "code",
384 | "execution_count": 16,
385 | "id": "1b8aac10-337e-42a0-b0a7-3cf80c57a52d",
386 | "metadata": {
387 | "tags": []
388 | },
389 | "outputs": [
390 | {
391 | "name": "stdout",
392 | "output_type": "stream",
393 | "text": [
394 | "Filename: \n",
395 | "No. Name Ver Type Cards Dimensions Format\n",
396 | " 0 PRIMARY 1 PrimaryHDU 44 () \n",
397 | " 1 LIGHTCURVE 1 BinTableHDU 161 18489R x 20C [D, E, J, E, E, E, E, E, E, J, D, E, D, E, D, E, D, E, E, E] \n",
398 | " 2 APERTURE 1 ImageHDU 49 (11, 11) int32 \n"
399 | ]
400 | }
401 | ],
402 | "source": [
403 | "# Open the file in AWS: 'F' is the S3 file\n",
404 | "with fs.open(c_uri[0], 'rb') as f:\n",
405 | " # Now actually read in the FITS file \n",
406 | " with fits.open(f, 'readonly') as HDUlist:\n",
407 | " HDUlist.info()"
408 | ]
409 | },
410 | {
411 | "cell_type": "markdown",
412 | "id": "810b715c-7f7c-4c35-9d3b-be218fbe860e",
413 | "metadata": {},
414 | "source": [
415 | "### Method 2: Redirecting (local) Downloads to the Cloud\n",
416 | "\n",
417 | "This is NOT the correct strategy on the TIKE Platform, since there's no need for a download.\n",
418 | "\n",
419 | "When set to True, the `cloud_only` parameter in `download_products` skips any data products that are not available in the cloud; all TESS Mission data are available through AWS, so none of the selected data products should be skipped.\n",
420 | "\n",
421 | "NOTE -- If you try to download the same file(s) more than once (e.g., by running the cell below multiple times), you should get the message \"Found cached file\" instead of \"Downloading URL\" in the printed manifest."
422 | ]
423 | },
424 | {
425 | "cell_type": "code",
426 | "execution_count": 18,
427 | "id": "c21a8378-dded-4b8e-b22e-4ef0495b84aa",
428 | "metadata": {
429 | "tags": []
430 | },
431 | "outputs": [
432 | {
433 | "name": "stdout",
434 | "output_type": "stream",
435 | "text": [
436 | "INFO: Found cached file ./mastDownload/TESS/tess2020133194932-s0025-0000000007854182-0182-s/tess2020133194932-s0025-0000000007854182-0182-s_lc.fits with expected size 1877760. [astroquery.mast.cloud]\n"
437 | ]
438 | }
439 | ],
440 | "source": [
441 | "manifest = Observations.download_products(filt, cloud_only=True)"
442 | ]
443 | },
444 | {
445 | "cell_type": "markdown",
446 | "id": "7d60fa49-924e-47ec-9765-1379b3f436bd",
447 | "metadata": {},
448 | "source": [
449 | "All TESS light curves for TIC 7854182 have been downloaded, and we're ready to start our science!"
450 | ]
451 | },
452 | {
453 | "cell_type": "markdown",
454 | "id": "a19de73d-033b-4b48-a31f-21e91f07583d",
455 | "metadata": {
456 | "tags": []
457 | },
458 | "source": [
459 | "## Bonus: Query for a specific Guest Investigator program\n",
460 | "In this example, we want to retrieve all TESS data (light curves, target pixel files, and data validation files) associated with Guest Investigator program G05101 from Cycle 5 (PI: Susan Mullally).\n",
461 | "\n",
462 | "Feel free to use any program here! The list of program IDs can be found at the [TESS GI List of Approved Programs](https://heasarc.gsfc.nasa.gov/docs/tess/approved-programs.html)."
463 | ]
464 | },
465 | {
466 | "cell_type": "code",
467 | "execution_count": 19,
468 | "id": "2d9af135-94c1-4214-9a58-87ecfa9ce1a0",
469 | "metadata": {
470 | "tags": []
471 | },
472 | "outputs": [],
473 | "source": [
474 | "pid = \"G05101\""
475 | ]
476 | },
477 | {
478 | "cell_type": "code",
479 | "execution_count": 20,
480 | "id": "91a25f4c-fa8a-4eca-a731-52e636fee448",
481 | "metadata": {
482 | "tags": []
483 | },
484 | "outputs": [],
485 | "source": [
486 | "obs_pid = Observations.query_criteria(obs_collection = \"TESS\",\n",
487 | " proposal_id = f\"*{pid}*\")"
488 | ]
489 | },
490 | {
491 | "cell_type": "code",
492 | "execution_count": 21,
493 | "id": "d684eac1-6ac2-4d01-baeb-2b2487988bfa",
494 | "metadata": {
495 | "tags": []
496 | },
497 | "outputs": [
498 | {
499 | "name": "stdout",
500 | "output_type": "stream",
501 | "text": [
502 | "TOTAL Number of Observations available for G05101: \n",
503 | "49\n"
504 | ]
505 | }
506 | ],
507 | "source": [
508 | "print(f\"TOTAL Number of Observations available for {pid}: \\n{len(obs_pid)}\")"
509 | ]
510 | },
511 | {
512 | "cell_type": "code",
513 | "execution_count": 22,
514 | "id": "fd7c29b0-a74b-47d1-82d3-b6db39d65976",
515 | "metadata": {
516 | "tags": []
517 | },
518 | "outputs": [
519 | {
520 | "data": {
521 | "text/html": [
522 | "Table masked=True length=5\n",
523 | "
\n",
524 | "intentType | obs_collection | provenance_name | instrument_name | project | filters | wavelength_region | target_name | target_classification | obs_id | s_ra | s_dec | dataproduct_type | proposal_pi | calib_level | t_min | t_max | t_exptime | em_min | em_max | obs_title | t_obs_release | proposal_id | proposal_type | sequence_number | s_region | jpegURL | dataURL | dataRights | mtFlag | srcDen | obsid | objID |
\n",
525 | "str7 | str4 | str4 | str10 | str4 | str4 | str7 | str9 | str1 | str52 | float64 | float64 | str10 | str14 | int64 | float64 | float64 | float64 | float64 | float64 | str1 | float64 | str34 | str1 | int64 | str43 | str1 | str79 | str6 | bool | float64 | str9 | str9 |
\n",
526 | "science | TESS | SPOC | Photometer | TESS | TESS | Optical | 383623835 | -- | tess2022330142927-s0059-0000000383623835-0248-s | 270.628087535846 | 58.6272659486741 | timeseries | Ricker, George | 3 | 59909.76229211806 | 59936.1858008912 | 120.0 | 600.0 | 1000.0 | -- | 59962.0 | G05101 | -- | 59 | CIRCLE 270.62808754 58.62726595 0.00138889 | -- | mast:TESS/product/tess2022330142927-s0059-0000000383623835-0248-s_lc.fits | PUBLIC | False | nan | 113395560 | 210506880 |
\n",
527 | "science | TESS | SPOC | Photometer | TESS | TESS | Optical | 5914520 | -- | tess2023096110322-s0064-0000000005914520-0257-s | 193.312720118104 | -18.5222248428656 | timeseries | Ricker, George | 3 | 60040.63527681713 | 60067.43903234954 | 120.0 | 600.0 | 1000.0 | -- | 60087.0 | G05101 | -- | 64 | CIRCLE 193.31272012 -18.52222484 0.00138889 | -- | mast:TESS/product/tess2023096110322-s0064-0000000005914520-0257-s_lc.fits | PUBLIC | False | nan | 139084486 | 254133156 |
\n",
528 | "science | TESS | SPOC | Photometer | TESS | TESS | Optical | 298411553 | -- | tess2022330142927-s0059-0000000298411553-0248-s | 149.476234232293 | 85.4946883170451 | timeseries | Ricker, George | 3 | 59909.7650365625 | 59936.18904974537 | 120.0 | 600.0 | 1000.0 | -- | 59962.0 | G05101_G05084_G05115_G05081 | -- | 59 | CIRCLE 149.47623423 85.49468832 0.00138889 | -- | mast:TESS/product/tess2022330142927-s0059-0000000298411553-0248-s_lc.fits | PUBLIC | False | nan | 113392111 | 210500653 |
\n",
529 | "science | TESS | SPOC | Photometer | TESS | TESS | Optical | 219097989 | -- | tess2022357055054-s0060-0000000219097989-0249-s | 269.658310781969 | 66.7811423559296 | timeseries | Ricker, George | 3 | 59936.40188498842 | 59962.08243238426 | 120.0 | 600.0 | 1000.0 | -- | 59982.0 | G05101 | -- | 60 | CIRCLE 269.65831078 66.78114236 0.00138889 | -- | mast:TESS/product/tess2022357055054-s0060-0000000219097989-0249-s_lc.fits | PUBLIC | False | nan | 114309714 | 211965772 |
\n",
530 | "science | TESS | SPOC | Photometer | TESS | TESS | Optical | 420814525 | -- | tess2022244194134-s0056-0000000420814525-0243-s | 330.794887332661 | 18.8843189579296 | timeseries | Ricker, George | 3 | 59824.761134409724 | 59852.642480821756 | 120.0 | 600.0 | 1000.0 | -- | 59873.0 | G05101_G05015_G05144_G05069 | -- | 56 | CIRCLE 330.79488733 18.88431896 0.00138889 | -- | mast:TESS/product/tess2022244194134-s0056-0000000420814525-0243-s_lc.fits | PUBLIC | False | nan | 97942919 | 184143980 |
\n",
531 | "
"
532 | ],
533 | "text/plain": [
534 | "\n",
535 | "intentType obs_collection provenance_name ... srcDen obsid objID \n",
536 | " str7 str4 str4 ... float64 str9 str9 \n",
537 | "---------- -------------- --------------- ... ------- --------- ---------\n",
538 | " science TESS SPOC ... nan 113395560 210506880\n",
539 | " science TESS SPOC ... nan 139084486 254133156\n",
540 | " science TESS SPOC ... nan 113392111 210500653\n",
541 | " science TESS SPOC ... nan 114309714 211965772\n",
542 | " science TESS SPOC ... nan 97942919 184143980"
543 | ]
544 | },
545 | "metadata": {},
546 | "output_type": "display_data"
547 | }
548 | ],
549 | "source": [
550 | "display(obs_pid[:5])"
551 | ]
552 | },
553 | {
554 | "cell_type": "markdown",
555 | "id": "3c2f097c-7f57-402a-9094-e58decf90a21",
556 | "metadata": {},
557 | "source": [
558 | "Next, we will retrieve the list of data products that are associated with each Observation.\n"
559 | ]
560 | },
561 | {
562 | "cell_type": "code",
563 | "execution_count": 23,
564 | "id": "a284a407-22ed-4123-ace4-0a33ae1cad8e",
565 | "metadata": {
566 | "tags": []
567 | },
568 | "outputs": [],
569 | "source": [
570 | "# Pick which products we want to retrieve\n",
571 | "data_prod_pid = Observations.get_product_list(obs_pid)"
572 | ]
573 | },
574 | {
575 | "cell_type": "code",
576 | "execution_count": 24,
577 | "id": "abef04aa-cf5f-4480-a2dd-7a727bdcf804",
578 | "metadata": {
579 | "tags": []
580 | },
581 | "outputs": [
582 | {
583 | "name": "stdout",
584 | "output_type": "stream",
585 | "text": [
586 | "Number of TESS data products available for G05101: \n",
587 | "106\n"
588 | ]
589 | }
590 | ],
591 | "source": [
592 | "print(f\"Number of TESS data products available for {pid}: \\n{len(data_prod_pid)}\")"
593 | ]
594 | },
595 | {
596 | "cell_type": "code",
597 | "execution_count": 27,
598 | "id": "33289b3b-44f3-4dad-9a57-adc2722700df",
599 | "metadata": {
600 | "tags": []
601 | },
602 | "outputs": [
603 | {
604 | "data": {
605 | "text/html": [
606 | "Table masked=True length=7\n",
607 | "
\n",
608 | "obsID | obs_collection | dataproduct_type | obs_id | description | type | dataURI | productType | productGroupDescription | productSubGroupDescription | productDocumentationURL | project | prvversion | proposal_id | productFilename | size | parent_obsid | dataRights | calib_level |
\n",
609 | "str8 | str4 | str10 | str47 | str33 | str1 | str81 | str7 | str28 | str3 | str1 | str4 | str20 | str7 | str63 | int64 | str8 | str6 | int64 |
\n",
610 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | full data validation report | S | mast:TESS/product/tess2020135030118-s0025-s0025-0000000007854182-00344_dvr.pdf | INFO | -- | DVR | -- | SPOC | b9bb72fe01 | G022062 | tess2020135030118-s0025-s0025-0000000007854182-00344_dvr.pdf | 5303784 | 27626482 | PUBLIC | 3 |
\n",
611 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | full data validation report (xml) | S | mast:TESS/product/tess2020135030118-s0025-s0025-0000000007854182-00344_dvr.xml | INFO | -- | DVR | -- | SPOC | b9bb72fe01 | G022062 | tess2020135030118-s0025-s0025-0000000007854182-00344_dvr.xml | 67779 | 27626482 | PUBLIC | 3 |
\n",
612 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | Data validation mini report | S | mast:TESS/product/tess2020135030118-s0025-s0025-0000000007854182-00344_dvm.pdf | INFO | Minimum Recommended Products | DVM | -- | SPOC | b9bb72fe01 | G022062 | tess2020135030118-s0025-s0025-0000000007854182-00344_dvm.pdf | 3245532 | 27626482 | PUBLIC | 3 |
\n",
613 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | TCE summary report | S | mast:TESS/product/tess2020135030118-s0025-s0025-0000000007854182-01-00344_dvs.pdf | INFO | Minimum Recommended Products | DVS | -- | SPOC | b9bb72fe01 | G022062 | tess2020135030118-s0025-s0025-0000000007854182-01-00344_dvs.pdf | 1144136 | 27626482 | PUBLIC | 3 |
\n",
614 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | Data validation time series | S | mast:TESS/product/tess2020135030118-s0025-s0025-0000000007854182-00344_dvt.fits | SCIENCE | Minimum Recommended Products | DVT | -- | SPOC | b9bb72fe01 | G022062 | tess2020135030118-s0025-s0025-0000000007854182-00344_dvt.fits | 3729600 | 27626482 | PUBLIC | 3 |
\n",
615 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | Light curves | S | mast:TESS/product/tess2020133194932-s0025-0000000007854182-0182-s_lc.fits | SCIENCE | Minimum Recommended Products | LC | -- | SPOC | b9bb72fe01 | G022062 | tess2020133194932-s0025-0000000007854182-0182-s_lc.fits | 1877760 | 27626482 | PUBLIC | 3 |
\n",
616 | "27626482 | TESS | timeseries | tess2020133194932-s0025-0000000007854182-0182-s | Target pixel files | S | mast:TESS/product/tess2020133194932-s0025-0000000007854182-0182-s_tp.fits | SCIENCE | Minimum Recommended Products | TP | -- | SPOC | spoc-4.0.36-20200520 | G022062 | tess2020133194932-s0025-0000000007854182-0182-s_tp.fits | 45299520 | 27626482 | PUBLIC | 2 |
\n",
617 | "
"
618 | ],
619 | "text/plain": [
620 | "\n",
621 | " obsID obs_collection dataproduct_type ... parent_obsid dataRights calib_level\n",
622 | " str8 str4 str10 ... str8 str6 int64 \n",
623 | "-------- -------------- ---------------- ... ------------ ---------- -----------\n",
624 | "27626482 TESS timeseries ... 27626482 PUBLIC 3\n",
625 | "27626482 TESS timeseries ... 27626482 PUBLIC 3\n",
626 | "27626482 TESS timeseries ... 27626482 PUBLIC 3\n",
627 | "27626482 TESS timeseries ... 27626482 PUBLIC 3\n",
628 | "27626482 TESS timeseries ... 27626482 PUBLIC 3\n",
629 | "27626482 TESS timeseries ... 27626482 PUBLIC 3\n",
630 | "27626482 TESS timeseries ... 27626482 PUBLIC 2"
631 | ]
632 | },
633 | "metadata": {},
634 | "output_type": "display_data"
635 | }
636 | ],
637 | "source": [
638 | "display(prod)"
639 | ]
640 | },
641 | {
642 | "cell_type": "markdown",
643 | "id": "ce6534b7-2490-44b4-9207-140fd8af03f5",
644 | "metadata": {},
645 | "source": [
646 | "As above, if we decide that we only want to download, e.g., the light curve files, we can further filter the products list based on the columns/fields in the table.\n",
647 | "\n",
648 | "For our purposes, this step is optional; I'm going to download **all** of the available data products for this program ID."
649 | ]
650 | },
651 | {
652 | "cell_type": "code",
653 | "execution_count": null,
654 | "id": "82d758f4-30b2-45e2-b193-45631a64d6ba",
655 | "metadata": {},
656 | "outputs": [],
657 | "source": [
658 | "# OPTIONAL\n",
659 | "# Select which files to download from the S3 bucket by applying additional filters\n",
660 | "# filt_prod = Observations.filter_products(data_prod_pid, description='Light curves')"
661 | ]
662 | },
663 | {
664 | "cell_type": "markdown",
665 | "id": "ad0de2de-7c5e-4c9b-bdd0-7e3cbc77b114",
666 | "metadata": {},
667 | "source": [
668 | "Now, we're ready to download the data from the AWS S3 bucket!\n",
669 | "\n",
670 | "By default, all downloads will be placed in a `./mastDownload/` directory on the TIKE. If you'd like to change this directory, use the `download_dir` parameter in the `download_products` functions. For example, you may want to place all products downloaded for GI program G05101 in a directory named `./G05101`, as shown below.\n"
671 | ]
672 | },
673 | {
674 | "cell_type": "code",
675 | "execution_count": 29,
676 | "id": "9d241f44-3fa3-46a5-a776-cdb8c2dc8901",
677 | "metadata": {
678 | "tags": []
679 | },
680 | "outputs": [
681 | {
682 | "name": "stderr",
683 | "output_type": "stream",
684 | "text": [
685 | "ERROR: Error pulling from S3 bucket: 'productFilename' [astroquery.mast.observations]\n",
686 | "WARNING: Skipping file... [astroquery.mast.observations]\n"
687 | ]
688 | },
689 | {
690 | "name": "stdout",
691 | "output_type": "stream",
692 | "text": [
693 | "INFO: Found cached file G05101/mastDownload/TESS/tess2018206190142-s0001-s0069-0000000200779640/tess2018206190142-s0001-s0069-0000000200779640-00810_dvr.xml with expected size 374231. [astroquery.mast.cloud]\n"
694 | ]
695 | },
696 | {
697 | "name": "stderr",
698 | "output_type": "stream",
699 | "text": [
700 | "ERROR: Error pulling from S3 bucket: 'productFilename' [astroquery.mast.observations]\n",
701 | "WARNING: Skipping file... [astroquery.mast.observations]\n"
702 | ]
703 | },
704 | {
705 | "name": "stdout",
706 | "output_type": "stream",
707 | "text": [
708 | "INFO: Found cached file G05101/mastDownload/TESS/tess2018206190142-s0001-s0069-0000000200779640/tess2018206190142-s0001-s0069-0000000200779640-01-00810_dvs.pdf with expected size 703837. [astroquery.mast.cloud]\n",
709 | "INFO: Found cached file G05101/mastDownload/TESS/tess2018206190142-s0001-s0069-0000000200779640/tess2018206190142-s0001-s0069-0000000200779640-00810_dvt.fits with expected size 53426880. [astroquery.mast.cloud]\n",
710 | "INFO: Found cached file G05101/mastDownload/TESS/tess2022244194134-s0056-0000000207440438-0243-s/tess2022244194134-s0056-0000000207440438-0243-s_lc.fits with expected size 2039040. [astroquery.mast.cloud]\n",
711 | "INFO: Found cached file G05101/mastDownload/TESS/tess2022244194134-s0056-0000000207440438-0243-s/tess2022244194134-s0056-0000000207440438-0243-s_tp.fits with expected size 49193280. [astroquery.mast.cloud]\n",
712 | "INFO: Found cached file G05101/mastDownload/TESS/tess2022244194134-s0056-0000000219089401-0243-s/tess2022244194134-s0056-0000000219089401-0243-s_lc.fits with expected size 2039040. [astroquery.mast.cloud]\n",
713 | "INFO: Found cached file G05101/mastDownload/TESS/tess2022244194134-s0056-0000000219089401-0243-s/tess2022244194134-s0056-0000000219089401-0243-s_tp.fits with expected size 49193280. [astroquery.mast.cloud]\n",
714 | "INFO: Found cached file G05101/mastDownload/TESS/tess2022244194134-s0056-0000000219097989-0243-s/tess2022244194134-s0056-0000000219097989-0243-s_lc.fits with expected size 2039040. [astroquery.mast.cloud]\n"
715 | ]
716 | }
717 | ],
718 | "source": [
719 | "manifest = Observations.download_products(data_prod_pid[:10], download_dir=f'{pid}', cloud_only=True)"
720 | ]
721 | },
722 | {
723 | "cell_type": "markdown",
724 | "id": "79c20955-ee97-4d1a-9f31-34f43d7ef3c1",
725 | "metadata": {},
726 | "source": [
727 | "If you scroll through the above manifest, you may notice an error:\n",
728 | "```\n",
729 | "ERROR: Error pulling from S3 bucket: 'productFilename' [astroquery.mast.observations]\n",
730 | "WARNING: Skipping file... [astroquery.mast.observations]\n",
731 | "```\n",
732 | "\n",
733 | "So, what happened here? Let's check the manifest to see which files were not downloaded.\n"
734 | ]
735 | },
736 | {
737 | "cell_type": "code",
738 | "execution_count": 30,
739 | "id": "17d2d03e-bdb8-46dd-97fe-d8bd65cd4c1e",
740 | "metadata": {
741 | "tags": []
742 | },
743 | "outputs": [
744 | {
745 | "data": {
746 | "text/html": [
747 | "Table length=2\n",
748 | "
\n",
749 | "Local Path | Status | Message | URL |
\n",
750 | "str135 | str8 | object | object |
\n",
751 | "G05101/mastDownload/TESS/tess2018206190142-s0001-s0069-0000000200779640/tess2018206190142-s0001-s0069-0000000200779640-00810_dvr.pdf | SKIPPED | None | None |
\n",
752 | "G05101/mastDownload/TESS/tess2018206190142-s0001-s0069-0000000200779640/tess2018206190142-s0001-s0069-0000000200779640-00810_dvm.pdf | SKIPPED | None | None |
\n",
753 | "
"
754 | ],
755 | "text/plain": [
756 | "\n",
757 | " Local Path ...\n",
758 | " str135 ...\n",
759 | "------------------------------------------------------------------------------------------------------------------------------------ ...\n",
760 | "G05101/mastDownload/TESS/tess2018206190142-s0001-s0069-0000000200779640/tess2018206190142-s0001-s0069-0000000200779640-00810_dvr.pdf ...\n",
761 | "G05101/mastDownload/TESS/tess2018206190142-s0001-s0069-0000000200779640/tess2018206190142-s0001-s0069-0000000200779640-00810_dvm.pdf ..."
762 | ]
763 | },
764 | "metadata": {},
765 | "output_type": "display_data"
766 | }
767 | ],
768 | "source": [
769 | "display(manifest[manifest['Status']!='COMPLETE'])"
770 | ]
771 | },
772 | {
773 | "cell_type": "markdown",
774 | "id": "ddd49f11-dad0-404a-85ca-0bce9106ca18",
775 | "metadata": {},
776 | "source": [
777 | "When we say that \"ALL\" data from the TESS Mission are available in AWS S3 buckets, there is a small caveat.\n",
778 | "\n",
779 | "The TESS Full Data Validation Reports (`*_dvr.pdf`) and Mini Data Validation Reports (`*_drm.pdf`), which are produced for all TCEs associated with a particular host star, are **not currently** hosted on AWS.\n",
780 | "\n",
781 | "As MAST moves towards a more cloud-based model for data access, MAST is considering adding these types of data products to the AWS S3 bucket, but for now, if we want to download them to our local directory, we'll need to download them directly from MAST. To do this, we set `cloud_only=False`. If set to False and cloud data access is enabled (`enable_cloud_dataset` above), files that are not found in the cloud will be downloaded from MAST."
782 | ]
783 | },
784 | {
785 | "cell_type": "code",
786 | "execution_count": 31,
787 | "id": "8ed6cade-79e5-4786-a031-dffe08e662a6",
788 | "metadata": {
789 | "tags": []
790 | },
791 | "outputs": [
792 | {
793 | "name": "stdout",
794 | "output_type": "stream",
795 | "text": [
796 | "Downloading URL https://mast.stsci.edu/api/v0.1/Download/file?uri=mast:TESS/product/tess2018206190142-s0001-s0069-0000000200779640-00810_dvr.pdf to G05101/mastDownload/TESS/tess2018206190142-s0001-s0069-0000000200779640/tess2018206190142-s0001-s0069-0000000200779640-00810_dvr.pdf ..."
797 | ]
798 | },
799 | {
800 | "name": "stderr",
801 | "output_type": "stream",
802 | "text": [
803 | "ERROR: Error pulling from S3 bucket: 'productFilename' [astroquery.mast.observations]\n",
804 | "WARNING: Falling back to mast download... [astroquery.mast.observations]\n"
805 | ]
806 | },
807 | {
808 | "name": "stdout",
809 | "output_type": "stream",
810 | "text": [
811 | " [Done]\n",
812 | "INFO: Found cached file G05101/mastDownload/TESS/tess2018206190142-s0001-s0069-0000000200779640/tess2018206190142-s0001-s0069-0000000200779640-00810_dvr.xml with expected size 374231. [astroquery.mast.cloud]\n",
813 | "Downloading URL https://mast.stsci.edu/api/v0.1/Download/file?uri=mast:TESS/product/tess2018206190142-s0001-s0069-0000000200779640-00810_dvm.pdf to G05101/mastDownload/TESS/tess2018206190142-s0001-s0069-0000000200779640/tess2018206190142-s0001-s0069-0000000200779640-00810_dvm.pdf ..."
814 | ]
815 | },
816 | {
817 | "name": "stderr",
818 | "output_type": "stream",
819 | "text": [
820 | "ERROR: Error pulling from S3 bucket: 'productFilename' [astroquery.mast.observations]\n",
821 | "WARNING: Falling back to mast download... [astroquery.mast.observations]\n"
822 | ]
823 | },
824 | {
825 | "name": "stdout",
826 | "output_type": "stream",
827 | "text": [
828 | " [Done]\n",
829 | "INFO: Found cached file G05101/mastDownload/TESS/tess2018206190142-s0001-s0069-0000000200779640/tess2018206190142-s0001-s0069-0000000200779640-01-00810_dvs.pdf with expected size 703837. [astroquery.mast.cloud]\n",
830 | "INFO: Found cached file G05101/mastDownload/TESS/tess2018206190142-s0001-s0069-0000000200779640/tess2018206190142-s0001-s0069-0000000200779640-00810_dvt.fits with expected size 53426880. [astroquery.mast.cloud]\n",
831 | "INFO: Found cached file G05101/mastDownload/TESS/tess2022244194134-s0056-0000000207440438-0243-s/tess2022244194134-s0056-0000000207440438-0243-s_lc.fits with expected size 2039040. [astroquery.mast.cloud]\n",
832 | "INFO: Found cached file G05101/mastDownload/TESS/tess2022244194134-s0056-0000000207440438-0243-s/tess2022244194134-s0056-0000000207440438-0243-s_tp.fits with expected size 49193280. [astroquery.mast.cloud]\n",
833 | "INFO: Found cached file G05101/mastDownload/TESS/tess2022244194134-s0056-0000000219089401-0243-s/tess2022244194134-s0056-0000000219089401-0243-s_lc.fits with expected size 2039040. [astroquery.mast.cloud]\n",
834 | "INFO: Found cached file G05101/mastDownload/TESS/tess2022244194134-s0056-0000000219089401-0243-s/tess2022244194134-s0056-0000000219089401-0243-s_tp.fits with expected size 49193280. [astroquery.mast.cloud]\n",
835 | "INFO: Found cached file G05101/mastDownload/TESS/tess2022244194134-s0056-0000000219097989-0243-s/tess2022244194134-s0056-0000000219097989-0243-s_lc.fits with expected size 2039040. [astroquery.mast.cloud]\n"
836 | ]
837 | }
838 | ],
839 | "source": [
840 | "manifest = Observations.download_products(data_prod_pid[:10], download_dir=f'{pid}', cloud_only=False)"
841 | ]
842 | },
843 | {
844 | "cell_type": "markdown",
845 | "id": "4c152c6a-56e6-4bd2-9603-3833fe9cf697",
846 | "metadata": {},
847 | "source": [
848 | "All TESS data products (light curves, target pixel files, and data validation files) associated with Guest Investigator program G05101 have been downloaded"
849 | ]
850 | },
851 | {
852 | "cell_type": "markdown",
853 | "id": "0e0e8d71-6f08-47c4-9e2f-3e906cda104a",
854 | "metadata": {
855 | "tags": []
856 | },
857 | "source": [
858 | "## About this Notebook\n",
859 | "\n",
860 | "**Author:** Hannah M. Lewis, STScI Data Scientist. Edits by Nicole Schanche and Thomas Dutkiewicz.\n",
861 | "\n",
862 | "**Last updated:** 5 Jan 2023\n",
863 | "\n",
864 | "
"
865 | ]
866 | }
867 | ],
868 | "metadata": {
869 | "kernelspec": {
870 | "display_name": "TESS Environment",
871 | "language": "python",
872 | "name": "tess"
873 | },
874 | "language_info": {
875 | "codemirror_mode": {
876 | "name": "ipython",
877 | "version": 3
878 | },
879 | "file_extension": ".py",
880 | "mimetype": "text/x-python",
881 | "name": "python",
882 | "nbconvert_exporter": "python",
883 | "pygments_lexer": "ipython3",
884 | "version": "3.8.16"
885 | }
886 | },
887 | "nbformat": 4,
888 | "nbformat_minor": 5
889 | }
890 |
--------------------------------------------------------------------------------
/talks/How-to-Propose-for-TESS-Cycle8-Data-and-Funding.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tessgi/InteractiveWorkshop/f149edecbb7efa9435a817cfd09755f1ecc7f722/talks/How-to-Propose-for-TESS-Cycle8-Data-and-Funding.pdf
--------------------------------------------------------------------------------
/talks/Introduction-NASA-TESS-Interactive-Data-Workshop-2024.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tessgi/InteractiveWorkshop/f149edecbb7efa9435a817cfd09755f1ecc7f722/talks/Introduction-NASA-TESS-Interactive-Data-Workshop-2024.pdf
--------------------------------------------------------------------------------
/talks/Introduction_to_TESS.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tessgi/InteractiveWorkshop/f149edecbb7efa9435a817cfd09755f1ecc7f722/talks/Introduction_to_TESS.pdf
--------------------------------------------------------------------------------
/talks/Introduction_to_TIKE.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tessgi/InteractiveWorkshop/f149edecbb7efa9435a817cfd09755f1ecc7f722/talks/Introduction_to_TIKE.pdf
--------------------------------------------------------------------------------
/talks/Non-exoplanet-science-with-TESS.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tessgi/InteractiveWorkshop/f149edecbb7efa9435a817cfd09755f1ecc7f722/talks/Non-exoplanet-science-with-TESS.pdf
--------------------------------------------------------------------------------
/talks/Optimizing_for_the_cloud_on_TIKE/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tessgi/InteractiveWorkshop/f149edecbb7efa9435a817cfd09755f1ecc7f722/talks/Optimizing_for_the_cloud_on_TIKE/.DS_Store
--------------------------------------------------------------------------------
/talks/Optimizing_for_the_cloud_on_TIKE/Optimizing Scripts for the Cloud and TIKE.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Optimizing Your Scripts for the Cloud and TIKE\n",
8 | "\n",
9 | "---\n",
10 | "\n",
11 | "When running scripts that process large amounts of information, optimizing your code is essential to reducing computational costs and improving efficiency. In this tutorial, we will explore tools and techniques for optimizing your scripts on the [TESS Integrated Knowledge Engine (TIKE)](https://timeseries.science.stsci.edu/). \n",
12 | "\n",
13 | "## Table of Contents\n",
14 | "\n",
15 | "1. [Imports and Setup](#imports-and-setup)\n",
16 | "2. [TESS Image Cutouts](#tess-image-cutouts)\n",
17 | "3. [Accessing Cloud Resources](#accessing-cloud-resources)\n",
18 | "4. [Profiling Your Scripts](#profiling-your-scripts)\n",
19 | "5. [Parallel Processing and Dask](#parallel-processing-and-dask)"
20 | ]
21 | },
22 | {
23 | "cell_type": "markdown",
24 | "metadata": {},
25 | "source": [
26 | "## Imports and Setup\n",
27 | "\n",
28 | "We will import the following packages:\n",
29 | "- `astropy` to handle coordinates and FITS file handling\n",
30 | "- `astroquery.mast` to search for and select data\n",
31 | "- `s3fs` to access cloud-hosted data\n",
32 | "- `lightkurve` to analyze astronomical time series data\n",
33 | "- `dask` to parallelize workflows"
34 | ]
35 | },
36 | {
37 | "cell_type": "code",
38 | "execution_count": 1,
39 | "metadata": {},
40 | "outputs": [],
41 | "source": [
42 | "from astropy.coordinates import SkyCoord\n",
43 | "from astropy.io import fits\n",
44 | "from astroquery.mast import Observations, Tesscut\n",
45 | "import dask.array as da\n",
46 | "import lightkurve as lk\n",
47 | "import numpy as np\n",
48 | "import s3fs\n",
49 | "%matplotlib inline"
50 | ]
51 | },
52 | {
53 | "cell_type": "markdown",
54 | "metadata": {},
55 | "source": [
56 | "We will also enable cloud data access in `astroquery.mast`. This will allow us to fetch the cloud URIs for data products and access files directly without downloading them."
57 | ]
58 | },
59 | {
60 | "cell_type": "code",
61 | "execution_count": null,
62 | "metadata": {},
63 | "outputs": [],
64 | "source": [
65 | "Observations.enable_cloud_dataset()"
66 | ]
67 | },
68 | {
69 | "cell_type": "markdown",
70 | "metadata": {},
71 | "source": [
72 | "## TESS Image Cutouts\n",
73 | "\n",
74 | "[TESS full-frame images (FFIs)](https://heasarc.gsfc.nasa.gov/docs/tess/Full-Frame-Image-Tutorial.html) are very large, and processing or transferring them can be computationally expensive. Making cutouts of these images significantly reduce data size, making scripts faster to process and easier to handle in terms of memory and storage. They focus analysis on specific targets, eliminating the need to crop or filter unnecessary regions.\n",
75 | "\n",
76 | "### Requesting an FFI Cutout\n",
77 | "\n",
78 | "[TESSCut](https://mast.stsci.edu/tesscut/) is MAST's tool to provide cutouts of TESS FFIs. Cutouts can be made from either the Science Processing Operation's Center (SPOC) FFI products, or the [TESS Image CAlibrator (TICA)](https://archive.stsci.edu/hlsp/tica) high-level science products. The cutouts are returned in the form of [target pixel files](https://heasarc.gsfc.nasa.gov/docs/tess/Target-Pixel-File-Tutorial.html) in the same format as TESS pipeline target pixel files. This tool can be accessed with `astroquery.mast` by using the [`Tesscut`](https://astroquery.readthedocs.io/en/latest/mast/mast_cut.html#tesscut) class.\n",
79 | "\n",
80 | "### Getting Sector Information\n",
81 | "\n",
82 | "The TESS mission has surveyed more than [93% of the entire sky](https://www.nasa.gov/universe/nasas-tess-celebrates-fifth-year-scanning-the-sky-for-new-worlds/). To return the sectors that contain a particular coordinate, object, or moving target, you can use the `get_sectors` function."
83 | ]
84 | },
85 | {
86 | "cell_type": "code",
87 | "execution_count": null,
88 | "metadata": {},
89 | "outputs": [],
90 | "source": [
91 | "# Get the sectors that contain a coordinate\n",
92 | "coord = SkyCoord(135.1408, -5.1915, unit='deg')\n",
93 | "sector_table = Tesscut.get_sectors(coordinates=coord)\n",
94 | "sector_table "
95 | ]
96 | },
97 | {
98 | "cell_type": "code",
99 | "execution_count": null,
100 | "metadata": {},
101 | "outputs": [],
102 | "source": [
103 | "# Get the sectors that contain a moving target\n",
104 | "mt_table = Tesscut.get_sectors(objectname='Ceres', moving_target=True)\n",
105 | "mt_table"
106 | ]
107 | },
108 | {
109 | "cell_type": "markdown",
110 | "metadata": {},
111 | "source": [
112 | "### Getting Cutouts\n",
113 | "\n",
114 | "The `get_cutouts` method creates a cutout target pixel file of an FFI according to the following parameters:\n",
115 | "\n",
116 | "- `coordinates`: Coordinates around which to search.\n",
117 | "- `objectname`: Object around which to search.\n",
118 | "- `size`: Size of cutout array.\n",
119 | "- `product`: Product from which cutouts are made ('SPOC', 'TICA').\n",
120 | "- `sector`: The TESS sector to return the cutout from. If not supplied, cutouts from all available sectors in which the target appears will be returned.\n",
121 | "- `moving_target`: Whether an object is a moving target or not.\n",
122 | "\n",
123 | "The returned object is a list of `~astropy.io.fits.HDUList` objects, one for each cutout."
124 | ]
125 | },
126 | {
127 | "cell_type": "code",
128 | "execution_count": null,
129 | "metadata": {},
130 | "outputs": [],
131 | "source": [
132 | "# Make a 10x10 cutout around target coordinates\n",
133 | "hdulist = Tesscut.get_cutouts(coordinates=coord,\n",
134 | " size=10,\n",
135 | " product='tica',\n",
136 | " sector=34)\n",
137 | "hdulist[0].info()"
138 | ]
139 | },
140 | {
141 | "cell_type": "code",
142 | "execution_count": null,
143 | "metadata": {},
144 | "outputs": [],
145 | "source": [
146 | "# Make a 15x15 cutout around a moving target\n",
147 | "hdulist = Tesscut.get_cutouts(objectname='Ceres',\n",
148 | " size=15,\n",
149 | " moving_target=True,\n",
150 | " sector=29)\n",
151 | "hdulist[0].info()"
152 | ]
153 | },
154 | {
155 | "cell_type": "markdown",
156 | "metadata": {},
157 | "source": [
158 | "To better visualize a cutout of a moving target, we'll use the `~lightkurve.TessTargetPixelFile.animate` function to create an animation of the TPF we just created. Notice how the background around the target ([Ceres](https://science.nasa.gov/dwarf-planets/ceres/facts/)) changes with each frame as the dwarf planet moves relative to other objects in the sky."
159 | ]
160 | },
161 | {
162 | "cell_type": "code",
163 | "execution_count": null,
164 | "metadata": {},
165 | "outputs": [],
166 | "source": [
167 | "# Create a TESSTargetPixelFile object using the HDUList object\n",
168 | "tpf = lk.TessTargetPixelFile(hdulist[0])\n",
169 | "\n",
170 | "# Animate the TPF\n",
171 | "tpf.animate()"
172 | ]
173 | },
174 | {
175 | "cell_type": "markdown",
176 | "metadata": {},
177 | "source": [
178 | "## Accessing Cloud Resources\n",
179 | "\n",
180 | "Throughout this workshop, we've talked extensively about the benefits of working on a cloud platform like the TIKE. One important plus is that working on the cloud gives you direct, in-memory access to cloud-hosted data products without having to download them to your local machine. This speeds up data access and allows you to perform analyses that require large amounts of data without overloading your local storage.\n",
181 | "\n",
182 | "In this section, we'll explore a few tools and methods for accessing TESS data products on the cloud. All of these tools load data directly into memory, and some even allow you to perform further analyses and visualizations. \n",
183 | "\n",
184 | "To start off, we will use the `astroquery.mast` module to perform a query around a TESS target. We will then use the `Observations.get_cloud_uris` function to get the cloud URIs for light curve products and target pixel file products that are associated with observations returned by the query criteria. You may recognize this workflow from the earlier session about *Querying for TESS Data in MAST*!"
185 | ]
186 | },
187 | {
188 | "cell_type": "code",
189 | "execution_count": 8,
190 | "metadata": {},
191 | "outputs": [],
192 | "source": [
193 | "# Define query criteria for a certain TESS target. Only return timeseries data products from sectors 15, 16, and 17\n",
194 | "query_criteria = {'target_name': 375422201,\n",
195 | " 'obs_collection': 'TESS',\n",
196 | " 'dataproduct_type': 'timeseries',\n",
197 | " 'sequence_number': [15, 16, 17]}\n",
198 | "\n",
199 | "# Get cloud URIs for light curve products\n",
200 | "lc_uris = Observations.get_cloud_uris(**query_criteria,\n",
201 | " filter_products={'productType': 'SCIENCE',\n",
202 | " 'productSubGroupDescription': 'LC'})\n",
203 | "\n",
204 | "# Get cloud URIs for target pixel file products\n",
205 | "tpf_uris = Observations.get_cloud_uris(**query_criteria,\n",
206 | " filter_products={'productType': 'SCIENCE',\n",
207 | " 'productSubGroupDescription': 'TP'})"
208 | ]
209 | },
210 | {
211 | "cell_type": "markdown",
212 | "metadata": {},
213 | "source": [
214 | "Now that we have two lists of cloud URIs (`lc_uris` and `tpf_uris`), we can access these data products on the TIKE.\n",
215 | "\n",
216 | "### Opening a Cloud FITS File with Astropy\n",
217 | "\n",
218 | "The [`astropy.io.fits`](https://docs.astropy.org/en/stable/io/fits/index.html) module allows you to access data in [Flexible Image Transport System (FITS)](https://heasarc.gsfc.nasa.gov/docs/heasarc/fits_overview.html) files. FITS is a portable file standard widely used in astronomy to store images and tables. The [`fsspec`](https://filesystem-spec.readthedocs.io/en/latest/) package is an optional dependency of `astropy` that supports file reading from a range of remote and distributed storage backends, like [Amazon S3](https://aws.amazon.com/s3/). [STScI has a registry of open data](https://registry.opendata.aws/collab/stsci/) on AWS that includes data from TESS.\n",
219 | "\n",
220 | "The `fits.open` function accepts two parameters related to cloud file access:\n",
221 | "- `use_fsspec`: Whether to use the `fsspec.open` method to open the file. Essentially, whether or not the file is a cloud file.\n",
222 | "- `fsspec_kwargs`: Keyword arguments passed to `fsspec.open`. This can be used to configure cloud storage credentials and caching behavior. For example, pass `fsspec_kwargs={\"anon\": True}` to enable anonymous access to Amazon S3 open data buckets. If this parameter is defined, then `use_fsspec` is assumed to be `True`."
223 | ]
224 | },
225 | {
226 | "cell_type": "code",
227 | "execution_count": null,
228 | "metadata": {},
229 | "outputs": [],
230 | "source": [
231 | "# Access cloud FITS file anonymously and print its info\n",
232 | "with fits.open(lc_uris[0], fsspec_kwargs={'anon': True}) as hdu:\n",
233 | " hdu.info()"
234 | ]
235 | },
236 | {
237 | "cell_type": "markdown",
238 | "metadata": {},
239 | "source": [
240 | "### Opening a Cloud File with s3fs\n",
241 | "\n",
242 | "You may wish to open a cloud file that is not in FITS format, and in this case, the [`s3fs`](https://s3fs.readthedocs.io/en/latest/#) package will come in handy. `s3fs` is a Pythonic file interface to Amazon S3 that allows you to browse and access cloud files as if they were local. \n",
243 | "\n",
244 | "You can access data from cloud files using the `s3fs.S3FileSystem.open` function and perform further operations within the function's context. Below, we open a FITS file with `s3fs` and open it again with `astropy.io.fits` to access its content. If we were accessing another filetype like XML or PDF, we would want to use other libraries/functions that are built to handle them."
245 | ]
246 | },
247 | {
248 | "cell_type": "code",
249 | "execution_count": null,
250 | "metadata": {},
251 | "outputs": [],
252 | "source": [
253 | "# Initialize the S3 filesystem for an anonymous user\n",
254 | "fs = s3fs.S3FileSystem(anon=True)\n",
255 | "\n",
256 | "# Open the file with s3fs\n",
257 | "with fs.open(lc_uris[0]) as f:\n",
258 | " # Open the file's contents with astropy.io.fits\n",
259 | " with fits.open(f) as hdu:\n",
260 | " hdu.info()"
261 | ]
262 | },
263 | {
264 | "cell_type": "markdown",
265 | "metadata": {},
266 | "source": [
267 | "### Reading Cloud Files with Lightkurve\n",
268 | "\n",
269 | "[`lightkurve`](https://lightkurve.github.io/lightkurve/#) is an open-source Python package that offers user-friendly ways to analyze astronomical time series data. Recent updates to `lightkurve` allow users to read data products from the cloud directly into memory. These data products must be in FITS format.\n",
270 | "\n",
271 | "To read a single data product, simply use the `lightkurve.io.read` method and pass in a cloud URI for either a light curve file or a target pixel file. The function will determine the type of the file and return the corresponding object. From here, you have access to a plethora of attributes and methods for analyzing and visualizing the data.\n",
272 | "\n",
273 | "For a [`LightCurve` object](https://lightkurve.github.io/lightkurve/reference/lightcurve.html), these include, but are not limited to:\n",
274 | "- `LightCurve.time`: Time values stored as an `astropy.time.Time` object.\n",
275 | "- `LightCurve.flux`: Brightness values stored as an `astropy.units.Quantity` object.\n",
276 | "- `LightCurve.plot()`: Plot the light curve.\n",
277 | "- `LightCurve.fold()`: Fold the light curve on a given period and epoch.\n",
278 | "- `LightCurve.create_transit_mask()`: Returns a boolean array that is `True` during transits and `False` elsewhere.\n",
279 | "\n",
280 | "Below, we will read and plot a single light curve file from the cloud."
281 | ]
282 | },
283 | {
284 | "cell_type": "code",
285 | "execution_count": null,
286 | "metadata": {},
287 | "outputs": [],
288 | "source": [
289 | "# Read a single light curve file\n",
290 | "lc = lk.io.read(lc_uris[0])\n",
291 | "print('Type:', type(lc))\n",
292 | "\n",
293 | "# Plot the light curve\n",
294 | "lc.plot()"
295 | ]
296 | },
297 | {
298 | "cell_type": "markdown",
299 | "metadata": {},
300 | "source": [
301 | "To read a collection of light curve products from the cloud, we can use the `lightkurve.io.read_lc_collection` method. This returns a [`lightkurve.LightCurveCollection` object](https://lightkurve.github.io/lightkurve/reference/api/lightkurve.LightCurveCollection.html?highlight=lightcurvecollection#lightkurve.LightCurveCollection), which holds a collection of `LightCurve` objects and has some additional attributes and methods."
302 | ]
303 | },
304 | {
305 | "cell_type": "code",
306 | "execution_count": null,
307 | "metadata": {},
308 | "outputs": [],
309 | "source": [
310 | "# Read a collection of light curves\n",
311 | "collection = lk.io.read_lc_collection(lc_uris)\n",
312 | "print('Type:', type(collection))\n",
313 | "\n",
314 | "# Plot the collection\n",
315 | "collection.plot()"
316 | ]
317 | },
318 | {
319 | "cell_type": "markdown",
320 | "metadata": {},
321 | "source": [
322 | "Notice how each of the three light curves is plotted in a different color according to the chart legend. To stitch all of the light curves in the collection into a single `LightCurve` object, we can set the `stitch` argument to be `True`. Each light curve will be normalized prior to stitching."
323 | ]
324 | },
325 | {
326 | "cell_type": "code",
327 | "execution_count": null,
328 | "metadata": {},
329 | "outputs": [],
330 | "source": [
331 | "# Read a collection of light curves as a single, stitched light curve\n",
332 | "stitched = lk.io.read_lc_collection(lc_uris, stitch=True)\n",
333 | "print('Type:', type(stitched))\n",
334 | "\n",
335 | "# Plot the light curve\n",
336 | "stitched.plot()"
337 | ]
338 | },
339 | {
340 | "cell_type": "markdown",
341 | "metadata": {},
342 | "source": [
343 | "As mentioned above, we can also read in a target pixel file from the cloud using `lightkurve.io.read`. Simply pass in a cloud URI for a target pixel file.\n",
344 | "\n",
345 | "For a [`TessTargetPixelFile` object](https://lightkurve.github.io/lightkurve/reference/api/lightkurve.TessTargetPixelFile.html#lightkurve.TessTargetPixelFile), available attrubutes and methods include, but are not limited to:\n",
346 | "- `TessTargetPixelFile.time`: Time values for all good-quality cadences stored as an `astropy.time.Time` object.\n",
347 | "- `TessTargetPixelFile.flux`: Flux values for all good-quality cadences stored as an `astropy.units.Quantity` object.\n",
348 | "- `TessTargetPixelFile.shape`: Cube dimension shape.\n",
349 | "- `TessTargetPixelFile.plot()`: Plot the pixel data for a given frame.\n",
350 | "- `TessTargetPixelFile.animate()`: Displays an interactive animation of the plots for each frame.\n",
351 | "- `TessTargetPixelFile.create_threshold_mask()`: Returns an aperture mask created using a thresholding method.\n",
352 | "\n",
353 | "Below, we will read and create an animation for a target pixel file from the cloud."
354 | ]
355 | },
356 | {
357 | "cell_type": "code",
358 | "execution_count": null,
359 | "metadata": {},
360 | "outputs": [],
361 | "source": [
362 | "# Read in a target pixel file from the cloud\n",
363 | "tpf = lk.io.read(tpf_uris[0])\n",
364 | "print('Type:', type(tpf))\n",
365 | "\n",
366 | "# Create animation\n",
367 | "tpf.animate()"
368 | ]
369 | },
370 | {
371 | "cell_type": "markdown",
372 | "metadata": {},
373 | "source": [
374 | "## Profiling Your Scripts\n",
375 | "\n",
376 | "When running scripts that process large amounts of information, optimizing your code is essential to reducing to computational costs and improving efficiency. Profiling tools can help identify bottlenecks in your code, enabling targeted improvements. One such tool is the `line_profiler` Jupyter extension, which provides detailed insights into the execution of individual lines of Python code.\n",
377 | "\n",
378 | "In this section, we’ll explore how to use [`line_profiler`](https://kernprof.readthedocs.io/en/latest/) to analyze and optimize scripts. By pinpointing inefficiencies, you can fine-tune your code to minimize execution time, making it faster, more cost-effective, and better suited for scalable cloud environments. This approach is particularly valuable for computationally intensive tasks, such as processing large datasets or executing iterative algorithms.\n",
379 | "\n",
380 | "`line_profiler` is not automatically installed on the TIKE, so we'll need to use some [magic commands](https://ipython.readthedocs.io/en/stable/interactive/magics.html). Magic commands are shell-style commands that can be run in a notebook. They are preceded by a `%` character. We will use magic commands to install the extension with `pip` and then load the extension. You may have to restart your kernel to fully load the extension."
381 | ]
382 | },
383 | {
384 | "cell_type": "code",
385 | "execution_count": null,
386 | "metadata": {},
387 | "outputs": [],
388 | "source": [
389 | "# Install the line_profiler module\n",
390 | "%pip install line_profiler"
391 | ]
392 | },
393 | {
394 | "cell_type": "code",
395 | "execution_count": 16,
396 | "metadata": {},
397 | "outputs": [],
398 | "source": [
399 | "# Load the extension into the kernel\n",
400 | "%load_ext line_profiler"
401 | ]
402 | },
403 | {
404 | "cell_type": "markdown",
405 | "metadata": {},
406 | "source": [
407 | "To illustrate the capabilities of `line_profiler`, we'll define a short analysis workflow that you might use with TESS data. The `calculate_flux` function calculates the mean flux for a target across multiple images using an aperture. As input, it accepts an array of images, a pixel position for a target, and an aperture radius. It returns the mean flux of the aperture across all images.\n",
408 | "\n",
409 | "As an example, we'll generate synthetic image data for 100 images of size 2048 x 2048 pixels. We will then calculate the mean flux at position (512, 512) with an aperture radius of 5 pixels."
410 | ]
411 | },
412 | {
413 | "cell_type": "code",
414 | "execution_count": 17,
415 | "metadata": {},
416 | "outputs": [],
417 | "source": [
418 | "def generate_image_data(num_images, image_size):\n",
419 | " \"\"\"Generate synthetic image data simulating flux values.\"\"\"\n",
420 | " return np.random.random((num_images, image_size, image_size))\n",
421 | "\n",
422 | "# Generate synthetic data for 100 images of size 2048x2048\n",
423 | "image_data = generate_image_data(100, 2048)"
424 | ]
425 | },
426 | {
427 | "cell_type": "code",
428 | "execution_count": null,
429 | "metadata": {},
430 | "outputs": [],
431 | "source": [
432 | "def calculate_flux(image_data, x, y, aperture_radius):\n",
433 | " \"\"\"\n",
434 | " Calculates the mean flux for a target at (x, y) using an aperture.\n",
435 | " \n",
436 | " Parameters:\n",
437 | " - image_data: 3D NumPy array (num_images, image_width, image_height)\n",
438 | " - x, y: Coordinates of the target star.\n",
439 | " - aperture_radius: Radius of the circular aperture.\n",
440 | " \n",
441 | " Returns:\n",
442 | " - Mean flux across all images.\n",
443 | " \"\"\"\n",
444 | " fluxes = []\n",
445 | "\n",
446 | " for image in image_data:\n",
447 | " # Create a grid of distances from the target\n",
448 | " y_indices, x_indices = np.ogrid[:image.shape[0], :image.shape[1]]\n",
449 | " distances = np.sqrt((x_indices - x)**2 + (y_indices - y)**2)\n",
450 | " \n",
451 | " # Extract pixels within the aperture radius\n",
452 | " aperture_mask = distances <= aperture_radius\n",
453 | "\n",
454 | " # Flux is the sum of pixel values in aperture\n",
455 | " aperture_flux = image[aperture_mask].sum()\n",
456 | " fluxes.append(aperture_flux)\n",
457 | " \n",
458 | " return np.mean(fluxes)\n",
459 | "\n",
460 | "# Example usage\n",
461 | "mean_flux = calculate_flux(image_data, x=512, y=512, aperture_radius=5)\n",
462 | "print(f\"Mean flux: {mean_flux}\")"
463 | ]
464 | },
465 | {
466 | "cell_type": "code",
467 | "execution_count": null,
468 | "metadata": {},
469 | "outputs": [],
470 | "source": [
471 | "def calculate_flux(image_data, x, y, aperture_radius):\n",
472 | " \"\"\"\n",
473 | " Calculates the mean flux for a target at (x, y) using an aperture.\n",
474 | " \n",
475 | " Parameters:\n",
476 | " - image_data: 3D NumPy array (num_images, image_width, image_height)\n",
477 | " - x, y: Coordinates of the target star.\n",
478 | " - aperture_radius: Radius of the circular aperture.\n",
479 | " \n",
480 | " Returns:\n",
481 | " - Mean flux across all images.\n",
482 | " \"\"\"\n",
483 | "\n",
484 | " # Create a grid of distances from the target\n",
485 | " y_indices, x_indices = np.ogrid[:image_data.shape[1], :image_data.shape[2]]\n",
486 | " distances = np.sqrt((x_indices - x)**2 + (y_indices - y)**2)\n",
487 | "\n",
488 | " # Extract pixels within the aperture radius\n",
489 | " aperture_mask = distances <= aperture_radius\n",
490 | "\n",
491 | " # Calculate the flux for each image using the precomputed aperture mask\n",
492 | " fluxes = image_data[:, aperture_mask].sum(axis=1)\n",
493 | "\n",
494 | " # Return the mean flux\n",
495 | " return np.mean(fluxes)\n",
496 | "\n",
497 | "# Example usage\n",
498 | "mean_flux = calculate_flux(image_data, x=512, y=512, aperture_radius=5)\n",
499 | "print(f\"Mean flux: {mean_flux}\")"
500 | ]
501 | },
502 | {
503 | "cell_type": "markdown",
504 | "metadata": {},
505 | "source": [
506 | "This example doesn't take more than a few seconds. However, what if you wanted to process a thousand images? A million? This analysis can quickly become unwieldly as its input scales up. `line_profiler` can help us to pinpoint the bottlenecks in this code so that we might make targeted improvements. \n",
507 | "\n",
508 | "The `%lprun` magic command allows you to specify a function to profile and a statement to execute. The usage is `%lprun -f func `."
509 | ]
510 | },
511 | {
512 | "cell_type": "code",
513 | "execution_count": null,
514 | "metadata": {},
515 | "outputs": [],
516 | "source": [
517 | "%lprun -f calculate_flux calculate_flux(image_data, x=512, y=512, aperture_radius=5)"
518 | ]
519 | },
520 | {
521 | "cell_type": "markdown",
522 | "metadata": {},
523 | "source": [
524 | "`line_profiler` outputs a table analyzing each line in the `calculate_flux` function. \n",
525 | "\n",
526 | "- \"Hits\" is the number of times that the line was executed.\n",
527 | "- \"Time\" is the total amount of time spent executing the line in timer's units.\n",
528 | "- \"Per Hit\" is the average amount of time spent executing the line once in the timer's units.\n",
529 | "- \"% Time\" is the percentage of time spent on that line relative to the total amount of recorded time spent in the function.\n",
530 | "\n",
531 | "There is definitely some room for improvement in this function. Let's implement the following and see how the profiler results change:\n",
532 | "\n",
533 | "1. The majority of the function's time is spent calculating the distances from each pixel in each image to the target position. The second highest execution time is associated with the line creating the aperture mask. Because each image in the array has the same width and height, these calculations are redundant. One way to lessen the effect of this bottleneck is to move these lines out of the for-loop so that they are only executed once.\n",
534 | "2. Instead of iterating through every image to calculate its aperture flux, we can apply the aperture mask to all images with slicing (`image_data[:, aperture_mask]`). This takes advantage of NumPy’s vectorized operations, which are more efficient than Python loops.\n",
535 | "3. The `sum(axis=1)` array operation can be used to compute the total aperture flux for all images in a single step."
536 | ]
537 | },
538 | {
539 | "cell_type": "markdown",
540 | "metadata": {},
541 | "source": [
542 | "## Parallel Processing and Dask\n",
543 | "\n",
544 | "Parallelization involves splitting a task into smaller sub-tasks that can run simultaneously on multiple processors or cores. Cloud platforms like the TIKE often provide scalable resources (e.g., CPUs, GPUs, distributed nodes), making parallelization an effective way to optimize performance. The TIKE currently has four cores for multi-processing.\n",
545 | "\n",
546 | "In today's tutorial, we'll dive into [`dask`](https://www.dask.org/), a flexible, open-source library for parallel and distributed computing of larger-than-memory datasets. Dask parallelizes libraries like [`numpy`](https://numpy.org/), [`pandas`](https://pandas.pydata.org/), and [`scikit-learn`](https://scikit-learn.org/stable/) and allows them to scale, either on a single machine with multiple cores or on a large distributed cluster. The package allows you to easily transition from traditional, single-machine workflows to multi-core computing without having to learn a new framework or rewrite all of your code.\n",
547 | "\n",
548 | "### Dask Collections\n",
549 | "\n",
550 | "Dask's APIs can be thought of as high-level collections and low-level collections.\n",
551 | "\n",
552 | "\n",
553 | "

\n",
554 | "
\n",
555 | "\n",
556 | "[Image Source: Dask Tutorial](https://github.com/dask/dask-tutorial/blob/main/00_overview.ipynb)\n",
557 | "\n",
558 | "The high-level `Dataframe`, `Array`, and `Bag` collections mimic `pandas`, `numpy`, and lists, respectively. They can operate in parallel on datasets that don't fit into memory.\n",
559 | "\n",
560 | "The low-level `Delayed` and `Futures` collections provide finer control to build custom parallel and distributed computations.\n",
561 | "\n",
562 | "### Dask Cluster\n",
563 | "\n",
564 | "Dask uses a distributed scheduler that exists in the context of a Dask cluster, the structure of which is shown below.\n",
565 | "\n",
566 | "\n",
567 | "

\n",
568 | "
\n",
569 | "\n",
570 | "[Image Source: Dask Tutorial](https://github.com/dask/dask-tutorial/blob/main/00_overview.ipynb)\n",
571 | "\n",
572 | "### `Array` Example\n",
573 | "\n",
574 | "Dask is a large library with many features, and we could probably spend an entire session on this package alone. In the interest of time and to stay within the scope of this tutorial, we will walk though a single, TESS-relevant example that can be optimized with Dask's `Array` collection.\n",
575 | "\n",
576 | "In the following cell, we define a function to generate random data for a certain number of images of a certain size. We then call this function to create sample image data for 300 images that are 2048 x 2048 pixels. Finally, we calculate and print the mean of this random data.\n"
577 | ]
578 | },
579 | {
580 | "cell_type": "code",
581 | "execution_count": null,
582 | "metadata": {},
583 | "outputs": [],
584 | "source": [
585 | "%%time\n",
586 | "def generate_image_data(num_images, image_size):\n",
587 | " \"\"\"Generate synthetic image data simulating flux values.\"\"\"\n",
588 | " return np.random.random((num_images, image_size, image_size))\n",
589 | "\n",
590 | "# Create 300 images of size 2048 x 2048\n",
591 | "image_data = generate_image_data(300, 2048)\n",
592 | "\n",
593 | "# Compute the mean of the array\n",
594 | "mean = image_data.mean()\n",
595 | "\n",
596 | "print(f\"Mean: {mean}\")"
597 | ]
598 | },
599 | {
600 | "cell_type": "markdown",
601 | "metadata": {},
602 | "source": [
603 | "The execution time of this cell will vary, but it usually takes around 12 seconds on the TIKE.\n",
604 | "\n",
605 | "Now, let's modify this code to use Dask's `Array` collection. We should see a significant improvement in performance."
606 | ]
607 | },
608 | {
609 | "cell_type": "code",
610 | "execution_count": null,
611 | "metadata": {},
612 | "outputs": [],
613 | "source": [
614 | "%%time\n",
615 | "def generate_image_data_dask(num_images, image_size):\n",
616 | " \"\"\"Generate synthetic image data simulating flux values using Dask.\"\"\"\n",
617 | " return da.random.random((num_images, image_size, image_size), chunks=(10, 1000, 1000))\n",
618 | "\n",
619 | "# Create 1000 images of size 2048 x 2048\n",
620 | "image_data = generate_image_data_dask(300, 2048)\n",
621 | "\n",
622 | "# Compute the mean of the array\n",
623 | "mean = image_data.mean().compute()\n",
624 | "\n",
625 | "print(f\"Mean: {mean}\")"
626 | ]
627 | },
628 | {
629 | "cell_type": "markdown",
630 | "metadata": {},
631 | "source": [
632 | "### Distributed Cloud Computing, Coming Soon!\n",
633 | "\n",
634 | "[Dask Gateway](https://gateway.dask.org/) is a tool that deploys and manages Dask clusters on shared infrastructure like a cloud platform. It allows users to launch and manage their own clusters with secure and scalable configurations. In the future, we hope to integrate Dask Gateway into the TIKE so that users have access to the combined power and resources of multiple machines. \n",
635 | "\n",
636 | "\n",
637 | "

\n",
638 | "
\n",
639 | "\n",
640 | "[Image Source: Dask Gateway Docs](https://gateway.dask.org/)"
641 | ]
642 | }
643 | ],
644 | "metadata": {
645 | "kernelspec": {
646 | "display_name": "Python 3",
647 | "language": "python",
648 | "name": "python3"
649 | },
650 | "language_info": {
651 | "codemirror_mode": {
652 | "name": "ipython",
653 | "version": 3
654 | },
655 | "file_extension": ".py",
656 | "mimetype": "text/x-python",
657 | "name": "python",
658 | "nbconvert_exporter": "python",
659 | "pygments_lexer": "ipython3",
660 | "version": "3.11.9"
661 | }
662 | },
663 | "nbformat": 4,
664 | "nbformat_minor": 2
665 | }
666 |
--------------------------------------------------------------------------------
/talks/Optimizing_for_the_cloud_on_TIKE/dask_cluster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tessgi/InteractiveWorkshop/f149edecbb7efa9435a817cfd09755f1ecc7f722/talks/Optimizing_for_the_cloud_on_TIKE/dask_cluster.png
--------------------------------------------------------------------------------
/talks/Optimizing_for_the_cloud_on_TIKE/dask_collections.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tessgi/InteractiveWorkshop/f149edecbb7efa9435a817cfd09755f1ecc7f722/talks/Optimizing_for_the_cloud_on_TIKE/dask_collections.png
--------------------------------------------------------------------------------
/talks/Optimizing_for_the_cloud_on_TIKE/dask_gateway.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tessgi/InteractiveWorkshop/f149edecbb7efa9435a817cfd09755f1ecc7f722/talks/Optimizing_for_the_cloud_on_TIKE/dask_gateway.png
--------------------------------------------------------------------------------
/talks/TIKE_Cloud_Live_Demo/AAS245-tess-cloud-tike-LIVE.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "id": "db8c54d5-0b71-4dbf-92d4-8f96c8488f06",
6 | "metadata": {},
7 | "source": [
8 | "# TESS Data in the Cloud with TIKE\n",
9 | "\n",
10 | "Adapted from [Project TIKEBook on GitHub](https://github.com/spacetelescope/project-tikebook/blob/main/notebooks/00-the-cloud/00-the-cloud.ipynb)"
11 | ]
12 | },
13 | {
14 | "cell_type": "markdown",
15 | "id": "d5539045-0e45-4c7e-9d1b-4c01914d2bdb",
16 | "metadata": {},
17 | "source": [
18 | "In this live coding exercise, we're going to take some of the things we've learned and try them out ourselves! This is a good time to get practice using `astroquery` while learning how to work with TESS data in the cloud.\n",
19 | "\n",
20 | "Before we get started, make sure the environment in the upper right is set to \"TESS Environment\".\n",
21 | "\n",
22 | "## Learning Goals: \n",
23 | "- Understand what TIKE is, and the principles behind cloud platforms\n",
24 | "- Define cloud terminology: what is a “bucket” or a server? For that matter, what is the “cloud”?\n",
25 | "- Access MAST data through astroquery by name, region, or criteria\n",
26 | "- Query TESS data and show a light curve"
27 | ]
28 | },
29 | {
30 | "cell_type": "markdown",
31 | "id": "db8c6393-7f1e-4722-a43d-00b0c299f1e7",
32 | "metadata": {},
33 | "source": [
34 | "## What is TIKE?\n",
35 | "\n",
36 | "TIKE stands for the *Timeseries Integrated Knowledge Engine*.\n",
37 | "\n",
38 | "TIKE uses a web-based platform, called JupyterHub, to allow you to run [Jupyter Notebooks](https://jupyterlab.readthedocs.io/en/latest/) and other software \"on the cloud\" using your web browser: you don't need to install anything on your local computer. TIKE has access to a cloud copy of the [MAST Archive](https://archive.stsci.edu), enabling anyone to access and analyze data from NASA's [TESS mission](https://archive.stsci.edu/missions-and-data/tess). We also have copies of other mission datasets, including data from HST, GALEX, and PanSTARRS. They are generally cataloged in full on the MAST Public Datasets page, so check there for an updated list.\n",
39 | "\n",
40 | "TIKE is continually maintained and updated by humans, so if you run into issues please let us know. Don't hesitate to send us your suggestions for packages and tutorials, either through the [MAST help desk](mailto:archive@stsci.edu) or the [tike_content repository](https://github.com/spacetelescope/tike_content)."
41 | ]
42 | },
43 | {
44 | "cell_type": "markdown",
45 | "id": "380fb2a4-1206-455a-b726-1451017b32e6",
46 | "metadata": {},
47 | "source": [
48 | "## What is the \"cloud\"?\n",
49 | "\n",
50 | "The \"cloud\", or cloud computing, refers to the practice of remotely accessing computing resources, rather than hosting them yourself. This term might also be used to refer to software and databases running on those servers. As Randall Munroe put it, \"turns out the cloud is just other people's computers\".\n",
51 | "\n",
52 | "In our case, \"the cloud\" is the AWS East Datacenters in northern Virginia. TIKE runs in proximity to this copy of MAST data. This means that the data is not transmitted over the internet, but rather within a data center. This leads to faster access, since data centers have high-quality (likely fiber optic) connections between their machines. \n",
53 | "\n",
54 | "### Why would I want to work on the cloud?\n",
55 | "Using the cloud has several benefits; principally, as mentioned above, there's no need to download data to your local machine. This speeds up data access, and allows you to perform analyses that wouldn't be possible without a major upgrade to your hard drive capacity or internet service. You can access data whenever and wherever you want to, from any device, as long as you have an internet connection. \n",
56 | "\n",
57 | "\n",
58 | "\n",
59 | "### What's the difference between working on the cloud and working on TIKE?\n",
60 | "Although you might choose to work directly with data stored on the cloud, it can be complex to configure such a system. TIKE handles this complexity, making it as easy as opening a Jupyter Notebook."
61 | ]
62 | },
63 | {
64 | "cell_type": "markdown",
65 | "id": "fb6aaf06-8151-4367-9a80-6be3877b5f78",
66 | "metadata": {},
67 | "source": [
68 | "### How can I access cloud-hosted data?\n",
69 | "\n",
70 | "There are two approaches to accessing cloud-hosted data:\n",
71 | "1. While on TIKE, loading files directly into memory (recommended)\n",
72 | "2. A traditional download to your local machine from the cloud-hosted copy of MAST\n",
73 | "\n",
74 | "Whenever possible, it's best to use the first method. The vast majority of users, with small tweaks to existing code, should be able to access data this way."
75 | ]
76 | },
77 | {
78 | "cell_type": "markdown",
79 | "id": "4cbe4ca5-84e8-4d3b-b87a-44a1c958b2eb",
80 | "metadata": {},
81 | "source": [
82 | "## Imports and Setup\n",
83 | "\n",
84 | "We'll use the standard tools to open and plot a fits file:\n",
85 | "- `matplotlib` to create the plot\n",
86 | "- `numpy` to automatically set brightness limits in the plot\n",
87 | "\n",
88 | "To access the cloud data, we need\n",
89 | "- `astroquery.mast` to search for and select data\n",
90 | "\n",
91 | "Finally, we need\n",
92 | "- `lightkurve` to read and manipulate light curve data"
93 | ]
94 | },
95 | {
96 | "cell_type": "code",
97 | "execution_count": null,
98 | "id": "b5b236a8-a68f-4969-8b29-4f05dcf8eb38",
99 | "metadata": {},
100 | "outputs": [],
101 | "source": [
102 | "import matplotlib.pyplot as plt\n",
103 | "import numpy as np\n",
104 | "\n",
105 | "from astroquery.mast import Observations\n",
106 | "\n",
107 | "import lightkurve as lk"
108 | ]
109 | },
110 | {
111 | "cell_type": "markdown",
112 | "id": "4eec3fc6-bf0c-4d94-a0a8-23998a6d8292",
113 | "metadata": {},
114 | "source": [
115 | "The most important step in this process is to enable cloud data access. Once we do, we'll be able to get cloud filenames and access files directly. If you're working locally, you can use this command to download data from the cloud copy of MAST data."
116 | ]
117 | },
118 | {
119 | "cell_type": "code",
120 | "execution_count": null,
121 | "id": "ef80beb7-4e0f-4fd4-8b22-f9d3e7a0e95b",
122 | "metadata": {},
123 | "outputs": [],
124 | "source": []
125 | },
126 | {
127 | "cell_type": "markdown",
128 | "id": "1dbd3990-c512-4be6-bd2f-c401010bd253",
129 | "metadata": {},
130 | "source": [
131 | "## 1. Query for MAST Observations\n",
132 | "We've seen how to use `astroquery.mast` to query MAST data. Now let's put it to use!\n",
133 | "\n",
134 | "### Workflow Reminder\n",
135 | "Remember, the path from \"I want MAST data\" to \"I have MAST data\" has three steps:\n",
136 | "\n",
137 | "1. Filter MAST Observations using metadata, such as Ra/Dec, exposure time, and wavelength.\n",
138 | "2. Filter the underlying files associated with each Observation (e.g. using calibration level or file type).\n",
139 | "3. Access the data, by downloading it or loading it directly into memory.\n",
140 | "\n",
141 | "Here are our three querying functions again:\n",
142 | "- `query_region()`\n",
143 | "- `query_object()`\n",
144 | "- `query_criteria()`\n",
145 | "\n",
146 | "### Warmup: Count Results\n",
147 | "You can append `_count` to any of the above functions to get the number of matching results. For example, we can query within 1 arcminue of the coordinates of Fomalhaut:"
148 | ]
149 | },
150 | {
151 | "cell_type": "code",
152 | "execution_count": null,
153 | "id": "ef32617f-68fb-48fd-a21b-20435e0e6bce",
154 | "metadata": {},
155 | "outputs": [],
156 | "source": [
157 | "coordinates=\"22h57m39.04625s -29d37m20.0533s\""
158 | ]
159 | },
160 | {
161 | "cell_type": "markdown",
162 | "id": "e453cf2f-b39c-450e-98cc-58ce2550a219",
163 | "metadata": {},
164 | "source": [
165 | "Now it's your turn! How many Observations in MAST are within 2 arcseconds of Trappist-1?"
166 | ]
167 | },
168 | {
169 | "cell_type": "code",
170 | "execution_count": null,
171 | "id": "a45bb5e0-79af-4f6f-a638-6352e13a90d1",
172 | "metadata": {},
173 | "outputs": [],
174 | "source": [
175 | "# TYPE ANSWER HERE\n"
176 | ]
177 | },
178 | {
179 | "cell_type": "code",
180 | "execution_count": null,
181 | "id": "b1a9f7ff-f063-4bc1-848d-d4b4aed120ec",
182 | "metadata": {},
183 | "outputs": [],
184 | "source": [
185 | "# hint: uncomment and run\n",
186 | "#Observations.query_object?"
187 | ]
188 | },
189 | {
190 | "cell_type": "markdown",
191 | "id": "9e6beca7-8548-4d17-a87d-fe352be5788a",
192 | "metadata": {},
193 | "source": [
194 | "#### Querying for an Light Curve\n",
195 | "\n",
196 | "Let's choose a new star: Pi Mensae, a G-dwarf in the southern constellation Mensa, which means \"Table\".\n",
197 | "\n",
198 | "We'll use the `query_criteria` function to look for TESS Observations within 2 arcseconds. The relevant keywords here are 'objectname', 'radius', and 'obs_collection'."
199 | ]
200 | },
201 | {
202 | "cell_type": "code",
203 | "execution_count": null,
204 | "id": "4ab922e8-0dde-4cbe-ac9a-656a3d892269",
205 | "metadata": {},
206 | "outputs": [],
207 | "source": []
208 | },
209 | {
210 | "cell_type": "markdown",
211 | "id": "29d560d3-f9eb-459e-986a-69adb386bed8",
212 | "metadata": {},
213 | "source": [
214 | "The full table can be a bit overwhelming. Let's only show a subset of columns."
215 | ]
216 | },
217 | {
218 | "cell_type": "code",
219 | "execution_count": null,
220 | "id": "875c4c09-cda2-41a3-9d21-5de57f160941",
221 | "metadata": {},
222 | "outputs": [],
223 | "source": [
224 | "cols = ['target_name', 's_ra', 's_dec', 'dataproduct_type', 'calib_level', 't_exptime', 'sequence_number', 'dataRights', 'distance']\n"
225 | ]
226 | },
227 | {
228 | "cell_type": "markdown",
229 | "id": "2e2c2f64-6c51-48f9-a72a-c4ae33c20e9c",
230 | "metadata": {},
231 | "source": [
232 | "The `distance` to all of these observations is zero, even though their coordinates (`s_ra` and `s_dec`) are different. What gives?\n",
233 | "\n",
234 | "As it turns out, `distance` is a measure of the separation (in arcseconds) of our input coordinates and the Observation footprint. So long as our coordinates are within the footprint, the `distance` will be zero.\n",
235 | "\n",
236 | "Since we want to plot an light curve, we'll select one of the 120-second cadence time series. Let's use sector 27. We could use standard Python indexing for this, but we could also just reformat our query. We will use the keywords 'objectname', 'obs_collection', 'sequence_number', 't_exptime', 'radius', and 'dataproduct_type'.\n"
237 | ]
238 | },
239 | {
240 | "cell_type": "code",
241 | "execution_count": null,
242 | "id": "e83730bd-d21a-415c-9242-071354f55e7c",
243 | "metadata": {},
244 | "outputs": [],
245 | "source": [
246 | "# option 1: use bitwise and \n",
247 | "# match = np.bitwise_and(tess_obs['sequence_number']==27, tess_obs['dataproduct_type']==\"timeseries\", tess_obs['t_exptime'==120)\n",
248 | "# tess_obs[match]\n",
249 | "\n",
250 | "# option 2: format the query\n",
251 | "tess_obs = Observations.query_criteria(\n",
252 | ")\n",
253 | "\n",
254 | "tess_obs[cols]"
255 | ]
256 | },
257 | {
258 | "cell_type": "markdown",
259 | "id": "1965afc6-c083-4e73-aba7-f94ce93566f6",
260 | "metadata": {},
261 | "source": [
262 | "As expected, we only get one matching observation back."
263 | ]
264 | },
265 | {
266 | "cell_type": "markdown",
267 | "id": "28279d01-98f8-40cf-b709-963f6d9d9559",
268 | "metadata": {},
269 | "source": [
270 | "## 2: Get Products"
271 | ]
272 | },
273 | {
274 | "cell_type": "markdown",
275 | "id": "73c6055f-621e-4887-9c4e-a491dd6271b8",
276 | "metadata": {},
277 | "source": [
278 | "Now that we have our Observation, we'll use the `get_product_list` to find the underlying files."
279 | ]
280 | },
281 | {
282 | "cell_type": "code",
283 | "execution_count": null,
284 | "id": "c254415c-642c-4513-a8cf-37624e5e7a68",
285 | "metadata": {},
286 | "outputs": [],
287 | "source": []
288 | },
289 | {
290 | "cell_type": "markdown",
291 | "id": "ad52982b-a90d-4f63-9f2d-163e8d4449c1",
292 | "metadata": {},
293 | "source": [
294 | "This returns multiple data products: a light curve and a target pixel file. You can use `Observations.filter_products` to filter these down to the product(s) you want."
295 | ]
296 | },
297 | {
298 | "cell_type": "code",
299 | "execution_count": null,
300 | "id": "ba5d5639-de43-43d3-8106-28b7789c9489",
301 | "metadata": {},
302 | "outputs": [],
303 | "source": []
304 | },
305 | {
306 | "cell_type": "markdown",
307 | "id": "b4295d1e-10f9-4d8c-bb8d-9fe0c411adf2",
308 | "metadata": {},
309 | "source": [
310 | "## 3: Data Access\n",
311 | "\n",
312 | "Once you've identified your file(s) of interest, you must choose your access method."
313 | ]
314 | },
315 | {
316 | "cell_type": "markdown",
317 | "id": "7e91d82f-029f-4c30-9f4c-4324cbd5bca8",
318 | "metadata": {},
319 | "source": [
320 | "### Downloading\n",
321 | "\n",
322 | "We won't say much about this method, since it's not recommended to do this on the cloud. Just know that the option exists, both on TIKE and your local machine"
323 | ]
324 | },
325 | {
326 | "cell_type": "code",
327 | "execution_count": null,
328 | "id": "79536c5a-010a-4731-8452-98b4c4fa3dde",
329 | "metadata": {},
330 | "outputs": [],
331 | "source": [
332 | "# img_path = Observations.download_products(science_products)"
333 | ]
334 | },
335 | {
336 | "cell_type": "markdown",
337 | "id": "36559170-eee5-4f82-bc58-4efab2dc1992",
338 | "metadata": {},
339 | "source": [
340 | "### Streaming to Memory\n",
341 | "A downloaded file has a path on your computer (e.g. `Downloads/docs/copy-of-untitled1.txt`). We need to use the cloud equivalent of this. Fortunately, there's a function for that: `Observations.get_cloud_uris`"
342 | ]
343 | },
344 | {
345 | "cell_type": "code",
346 | "execution_count": null,
347 | "id": "17c92d67-053f-48c4-a3fc-ac14171ef038",
348 | "metadata": {},
349 | "outputs": [],
350 | "source": []
351 | },
352 | {
353 | "cell_type": "markdown",
354 | "id": "97abf457-2fe5-49e0-9e78-8489726bceed",
355 | "metadata": {},
356 | "source": [
357 | "As of this past August, the `lightkurve` package can read data products from the cloud just by passing the URI. Let's see it in action:"
358 | ]
359 | },
360 | {
361 | "cell_type": "code",
362 | "execution_count": null,
363 | "id": "ada3600f-ff6d-4010-b89c-5908041f8ce7",
364 | "metadata": {},
365 | "outputs": [],
366 | "source": []
367 | },
368 | {
369 | "cell_type": "markdown",
370 | "id": "ddd0e203-1af5-4d91-81e3-008f0def5ce7",
371 | "metadata": {},
372 | "source": [
373 | "These new features let you read light curves and other MAST data without the need for lengthy downloads, because the TIKE environment lets you work right next to the data!\n",
374 | "\n",
375 | "The next session will go into these features in much more detail. This is just to get us started!"
376 | ]
377 | },
378 | {
379 | "cell_type": "markdown",
380 | "id": "24e84137-4f4a-41ec-99bf-e35d998a39db",
381 | "metadata": {},
382 | "source": [
383 | "### Display the Light Curve\n",
384 | "\n",
385 | "Finally, let's plot our light curve."
386 | ]
387 | },
388 | {
389 | "cell_type": "code",
390 | "execution_count": null,
391 | "id": "de1b8fe3-f3a9-4a84-9789-b680a9af926a",
392 | "metadata": {},
393 | "outputs": [],
394 | "source": []
395 | },
396 | {
397 | "cell_type": "markdown",
398 | "id": "1568d78e-a8a9-4f59-805d-0a6d17351ef3",
399 | "metadata": {},
400 | "source": [
401 | "## Summary\n",
402 | "\n",
403 | "Congratulations! By now you should understand\n",
404 | "- what TIKE is, and the principles behind cloud platforms\n",
405 | "- basic cloud terminology: buckets, servers, and cloud\n",
406 | "- how to access MAST data through astroquery by name, region, or criteria\n",
407 | "- how to query TESS data and show a light curve\n",
408 | "\n",
409 | "\n",
410 | "For full details on how TESS collects and processes images and produces light curves see the [TESS Instrument Handbook](https://archive.stsci.edu/missions/tess/doc/TESS_Instrument_Handbook_v0.1.pdf)."
411 | ]
412 | },
413 | {
414 | "cell_type": "markdown",
415 | "id": "834ca9ff-571f-4323-873c-f9df69755d2a",
416 | "metadata": {},
417 | "source": [
418 | "## Additional Resources\n",
419 | "Can't get enough? Here are some links to more information!\n",
420 | "\n",
421 | "If you need an introduction (or a refresher!) to basic Python syntax, there are several great resources available online. [CodeAcademy](https://www.codecademy.com/learn/learn-python-3) is a great service with a totally free option for getting started with Python, note you will have to create an account to use it. Additionally, the Youtube channel FreeCodeCamp.org has a great [video tutorial](https://www.youtube.com/watch?v=rfscVS0vtbw) on everyting you need to get started programming in Python. Another good resource is the [Python 4 Everyone](https://www.py4e.com/) book. \n",
422 | "\n",
423 | "The full astropy documentation can be found [here](https://docs.astropy.org/en/stable/index.html).\n",
424 | "\n",
425 | "For more info on FITS files, here is a link to the [FITS NASA site](https://fits.gsfc.nasa.gov/). \n",
426 | "\n",
427 | "SIMBAD is a web-based query service from the University of Strausberg, it is a great resource for getting quick info on stars and other astronomical targets. Here is the link to [Pi Mensae's SIMBAD page](https://simbad.u-strasbg.fr/simbad/sim-basic?Ident=pi+mensae&submit=SIMBAD+search)"
428 | ]
429 | }
430 | ],
431 | "metadata": {
432 | "kernelspec": {
433 | "display_name": "TESS Environment",
434 | "language": "python",
435 | "name": "tess"
436 | },
437 | "language_info": {
438 | "codemirror_mode": {
439 | "name": "ipython",
440 | "version": 3
441 | },
442 | "file_extension": ".py",
443 | "mimetype": "text/x-python",
444 | "name": "python",
445 | "nbconvert_exporter": "python",
446 | "pygments_lexer": "ipython3",
447 | "version": "3.11.11"
448 | }
449 | },
450 | "nbformat": 4,
451 | "nbformat_minor": 5
452 | }
453 |
--------------------------------------------------------------------------------
/talks/TIKE_Cloud_Live_Demo/TIKE-Cloud-Photo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tessgi/InteractiveWorkshop/f149edecbb7efa9435a817cfd09755f1ecc7f722/talks/TIKE_Cloud_Live_Demo/TIKE-Cloud-Photo.png
--------------------------------------------------------------------------------