<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello everyone,<div><br></div><div><div style="margin: 0px; font-size: 20px; ">The following is a short description of the NANOGrav processing pipeline and database description.</div><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div><div style="margin: 0px; font-size: 20px; ">In addition, there is some interest from the timing and database groups here (and especially from those who were not present at the Krabi meeting) that we basically recap the discussion that was had there, and that everyone can get a look at the TOASTER demo.</div><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div><div style="margin: 0px; font-size: 20px; ">We would be interested in having a telecon at some point in the future for doing the above, and in particular so that we can all discuss the needs and wants for an IPTA database (apart from just TOAs, which everyone wants :).</div><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div><div style="margin: 0px; font-size: 20px; ">Thanks, and talk soon,</div><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div><div style="margin: 0px; font-size: 20px; ">Rob (on behalf of the NANOGrav database working group).</div><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div><div style="margin: 0px; font-size: 20px; min-height: 24px; "><span style="text-decoration: underline"><b></b></span><br></div><div style="margin: 0px; font-size: 22px; "><span style="text-decoration: underline"><b>Pipeline</b></span>:</div><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div><div style="margin: 0px; font-size: 20px; ">NANOGrav has typically run multiple data processing (calibration through TOA generation) pipelines in parallel in order to cross-check the results, compare different methods, etc. The current psrchive-based processing scripts handle both ASP/GASP and GUPPI/PUPPI data (and in principle any psrchive-readable format), and do the following steps:</div>
<ul>
<li style="margin: 0px; font-size: 20px; ">Initial data combination and partial scrunching (if necessary)</li>
<li style="margin: 0px; font-size: 20px; ">Polarization and flux calibration: both full-mueller-matrix ("pac -S") and "ideal feed assumption" (pac -x) calibration versions are computed, if an appropriate mueller matrix solution is input (not yet done for all receivers).</li>
<li style="margin: 0px; font-size: 20px; ">RFI removal: Blank a static set of bad frequencies per telescope/receiver, then follow up with paz's median zapper.</li>
<li style="margin: 0px; font-size: 20px; ">Additional scrunching to desired time/freq resolution for TOAs.</li>
<li style="margin: 0px; font-size: 20px; ">Template profile generation: full-sum then wavelet denoising (psrsmooth)</li>
<li style="margin: 0px; font-size: 20px; ">TOA generation</li></ul><div style="margin: 0px; font-size: 20px; ">The processing uses a combination of python scripts and make (for dependency tracking, running parallel processing jobs, etc).</div><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div><div style="margin: 0px; font-size: 20px; "><span style="text-decoration: underline"><b><span style="font-size: 22px; ">Database</span>:</b></span></div><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div><div style="margin: 0px; font-size: 20px; ">The NANOGrav Data System stores or collates Raw profiles, intermediate profiles, templates, TOAs, .tim files and ephemeris. The system as a whole loads raw data and data products into the database and makes them available, based on user permissions, to the community.</div><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div><div style="margin: 0px; font-size: 20px; ">Details:</div>
<ul>
<li style="margin: 0px; font-size: 20px; ">The system loads, store and retrieves raw data and the products of the timing analysis group. This includes, but is not limited to:</li>
<ul>
<li style="margin: 0px; font-size: 20px; ">TOAs</li>
<li style="margin: 0px; font-size: 20px; ">ephemerides</li>
<li style="margin: 0px; font-size: 20px; ">template profiles</li>
<li style="margin: 0px; font-size: 20px; ">intermediate profile data products</li>
<li style="margin: 0px; font-size: 20px; ">ISM-related/cyclic spectroscopy-derived data prodcuts</li>
<li style="margin: 0px; font-size: 20px; ">perhaps will at some point store GW analysis-related products</li>
</ul>
<li style="margin: 0px; font-size: 20px; ">The timing and GW analysis is left to specialists; the system is designed to store and retrieve associations between data and data products</li>
<li style="margin: 0px; font-size: 20px; ">Web interface is written in python (which means that retrieval scripts in it are portable), and is used to perform queries and retrieve data, and eventually will allow the user to upload certain data products</li>
<li style="margin: 0px; font-size: 20px; ">Data files themselves not kept in database; instead file location is detailed. When a user wants to retrieve a data file (either raw or intermediate/processed), they:</li>
<ul>
<li style="margin: 0px; font-size: 20px; ">perform a query using the web interface</li>
<li style="margin: 0px; font-size: 20px; ">request those data files that result from the query</li>
<li style="margin: 0px; font-size: 20px; ">data file are then copied to a separate server for ftp downloads, where they remain temporarily</li>
<li style="margin: 0px; font-size: 20px; ">user is notified once data is ready to be retrieved, with the location of the data</li>
<li style="margin: 0px; font-size: 20px; ">user downloads data to local machine</li>
</ul>
<li style="margin: 0px; font-size: 20px; ">As stated above, the system is designed to store any intermediate profiles deemed necessary by the timing analysis group (but doesn't require it)</li>
<li style="margin: 0px; font-size: 20px; ">We have made it a requirement that detail of processing steps (i.e. pipeline info) are associated with data products and are also stored in the database</li>
<li style="margin: 0px; font-size: 20px; ">The aim was to impose minimum constraints on the timing analysis group workflow, so that they can judge what they want to store and how to describe it</li>
<li style="margin: 0px; font-size: 20px; ">The loading of data products is automated, and will typically be done after each observing session is completed. Once uploaded to the Cornell server (and to UBC for backup purposes), the data is then stored and recorded in the database, and just requires a defined file which describes the association between products</li>
</ul><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div><div style="margin: 0px; font-size: 20px; ">Good:</div><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div>
<ul>
<li style="margin: 0px; font-size: 20px; ">Stores location information for raw data with associated observation metadata</li>
<li style="margin: 0px; font-size: 20px; ">Stores intermediate data products for any use</li>
<li style="margin: 0px; font-size: 20px; ">Matches working practices of our scientists</li>
<li style="margin: 0px; font-size: 20px; ">Flexible; stores associations between files and products without assumptions</li>
<li style="margin: 0px; font-size: 20px; ">Tracks full provenance (and custom recursive query returns user-specified generations of predecessors)</li>
<li style="margin: 0px; font-size: 20px; ">Designed to allow multiple (experimental, competing, etc) pipelines</li>
<li style="margin: 0px; font-size: 20px; ">Clean separation of storage, loading, processing and interface layers, allowing separate development of each</li>
<li style="margin: 0px; font-size: 20px; ">Loads asp/gasp and puppi/guppi files but extensible to any desired raw data file format. This will be especially useful for the eventual addition of historical data sets such as those from mark 2, 3, and 4 backends, ABPP, and/or PSPM</li>
<li style="margin: 0px; font-size: 20px; ">Requirements on timing group are light</li>
<li style="margin: 0px; font-size: 20px; ">Interface produces some basic diagnostic plots and will be extended to include more</li>
</ul><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div><div style="margin: 0px; font-size: 20px; ">Bad:</div><div style="margin: 0px; font-size: 20px; min-height: 24px; "><br></div>
<ul>
<li style="margin: 0px; font-size: 20px; ">Relies on the scientists to upload some information about how products were made for full record-keeping; this is the flip side of the flexibility (but within a pipeline it is generally automated)</li>
<li style="margin: 0px; font-size: 20px; ">General flaw with relational databases, but *direct* expert retrieval requires the user to have some proficiency with SQL (typical retrieval is easily made to be automataic)</li>
</ul></div><div><br></div><div><br><div apple-content-edited="true">
<div><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>-----------------------------------------------------------<br><b><font class="Apple-style-span" color="#005A22">Dr. Robert Ferdman<br></font></b>Research Associate<br><br></div><div>Department of Physics</div><div>McGill University<br>Ernest Rutherford Physics Building, room 315 <br>3600 rue University<br>Montréal, QC<br>Canada H3A 2T8 </div><div><br></div></div></span></div></span></div></span></span></div><br class="Apple-interchange-newline">
</div>
<br></div></body></html>