Changeset 34735 for branches/eam_branches/ipp-20120905/ppTranslate/documentation/ICD/PSDC-940-005.tex
- Timestamp:
- Nov 29, 2012, 2:15:01 PM (14 years ago)
- Location:
- branches/eam_branches/ipp-20120905
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
ppTranslate/documentation/ICD/PSDC-940-005.tex (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20120905
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20120905/ppTranslate/documentation/ICD/PSDC-940-005.tex
r34566 r34735 2 2 \documentclass[panstarrs,spec]{panstarrs} 3 3 \usepackage{nonfloat} 4 5 \newcommand{\sccomment}[1]{% 6 \textcolor{green}{SC: #1}} 4 \usepackage{caption} 5 6 \usepackage{etoolbox} 7 \patchcmd{\thebibliography}{\chapter*}{\subsection*}{}{} 8 7 9 \newcommand{\outformatversion}{% 8 10 \texttt{PS1\_DV3}} 11 12 \newcommand{\commentFrom}[4]{% 13 \mbox{ }\\\null\hfill\begin{tabular}{|p{4in}} 14 \hline 15 \emph{Comment from {#1} (#2)}: {#3}\\ 16 \hline 17 Answer: {#4}\\ 18 \hline 19 \end{tabular}} 20 21 \newcommand{\commentFromSC}[3]{% 22 \commentFrom{SC}{#1}{#2}{#3}} 9 23 10 24 % basic document variables … … 12 26 \subtitle{Pan-STARRS IPP-MOPS ICD for PS-1} 13 27 \shorttitle{IPP-MOPS ICD} 14 \author{ Eugene Magnier, Larry Denneau, Jr., Robert Jedicke}28 \author{\parbox{3in}{Serge Chastel; Larry Denneau, Jr.; Denver Green; Robert Jedicke; Eugene Magnier}} 15 29 \audience{Pan-STARRS PMO} 16 30 \group{Pan-STARRS IPP \& MOPS} … … 26 40 \RevisionsStart 27 41 % version Date Description 28 03 & 2012 Oct 04 & \texttt{PS1\_DV3}: Fitted trails, new parameters\\ 29 \hline 30 02 & 2011 Apr 19 & Synchronization with "ICD Lite" wiki page \\ 31 \hline 32 01 & 2010 Oct 27 & New CMF Parameters \\ 33 \hline 34 00 & 2006 Mar 01 & Initial version \\ \hline 42 04 & 2012 Nov 20 & Modifications integrating DG comments/questions \\ 43 \hline 44 03 & 2012 Oct 04 & \texttt{PS1\_DV3}: Fitted trails, new parameters\\ 45 \hline 46 02 & 2011 Apr 19 & Synchronization with "ICD Lite" wiki page \\ 47 \hline 48 01 & 2010 Oct 27 & New CMF Parameters \\ 49 \hline 50 00 & 2006 Mar 01 & Initial version \\ 51 \hline 35 52 \RevisionsEnd 36 53 37 54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 55 56 \bibliographystyle{amsplain} 57 \bibliography{icd} 38 58 39 59 \DocumentsInternal … … 116 136 \DocumentsEnd 117 137 138 \subsection{Acronyms} 139 140 \begin{table} 141 \small 142 \caption{Acronyms used in this document\label{table-acronyms}} 143 \begin{tabular}{ll} 144 \hline 145 {\bf Acronym} & {\bf Definition} \\ 146 \hline 147 ADU & Analog to Digital Units (counts in an image) \\ 148 ICRS & International Celestial Reference System \\ 149 IPP & Pan-STARRS Image Processing Pipeline \\ 150 FPA & Focal Plane Array \\ 151 MOPS & Pan-STARRS Moving Object Processing System \\ 152 MPC & Center for Astrophysics Minor Planet Center \\ 153 TTI & Transient-Time Interval (about 60 minutes) \\ 154 \hline 155 \end{tabular} 156 \end{table} 157 118 158 \section{Interface Overview} 119 159 … … 144 184 145 185 This document discusses the software interface between IPP and MOPS. 146 IPP must send transient detection descriptions to the MOPS; MOPS 147 must be able to query the IPP regarding whether a particular (RA, 148 Dec) pair could have been detected in a particular focal plane array (FPA). This document 149 defines the data to be transferred between IPP and MOPS and the 150 mechanisms to be used for that interchange. These interfaces are 151 identified as \#005 in Figure~\ref{fig:overview}. The Interfaces186 IPP must send transient detection descriptions to the MOPS; MOPS must 187 be able to query the IPP regarding whether a particular (RA, Dec) pair 188 could have been detected in a particular focal plane array (FPA). 189 This document defines the data to be transferred between IPP and MOPS 190 and the mechanisms to be used for that interchange. These interfaces 191 are identified as \#005 in Figure~\ref{fig:overview}. The Interfaces 152 192 addressed by this document are marked in the table. 153 193 … … 235 275 Though efforts have been made to avoid this from occurring, where 236 276 header keyword names are longer than the usual 8 character maximum, 237 the HIERARCH convention will be used. 277 the HIERARCH convention will be used (see the NASA webpages: 278 \htmladdnormallink{Registered FITS 279 Convention}{http://fits.gsfc.nasa.gov/registry/hierarch_keyword.html} 280 and \htmladdnormallink{4.12.4 HIERARCH Convention for Extended Keyword 281 Names}{http://heasarc.nasa.gov/docs/software/fitsio/c/f_user/node28.html}). 238 282 239 283 \subsection{IPP-MOPS Exchange} … … 241 285 MOPS requires from the IPP a stream of transient detections and their 242 286 FPA metadata obtained from processing of difference images acquired by 243 the PS-1 camera. IPP is additionally required by MOPS to be able to 244 indicate whether a set of detections (with RA, Dec, flux, length, 245 orientation, etc.) on a previously acquired FPA was detectable by the 246 PS-1 telescope. 287 the PS-1 camera. 288 289 IPP is additionally required by MOPS to be able to indicate whether a 290 set of detections (with RA, Dec, flux, length, orientation, etc.) on a 291 previously acquired FPA was detectable by the PS-1 telescope. This 292 functionality is provided through the detectability server. 247 293 248 294 \subsubsection{Conventions} … … 305 351 306 352 \begin{itemize} 307 \item{EXTNAME} - Giving a unique name for the metadata table. Such a 308 name shall contain only the characters a-z, and ``\_''. 309 \item{CMFVERSION} - A string specifying the version of the table 310 description file for this table. 353 \item{EXTNAME} - A \emph{string} giving a unique name for the metadata 354 table. Such a name shall contain only the characters a-z, A-Z, and 355 ``\_''. 356 \item{CMFVERSION} - A \emph{string} specifying the version of the 357 table description file for this table. 311 358 \end{itemize} 312 359 … … 389 436 exposure. 390 437 391 In addition to the required BINTABLE extension header keywords392 described above, the FITS header shall include the keywords shown in393 table \ref{trans-keywords}. The subsequent FITS table, with EXTNAME394 of \code{MOPS_TRANSIENT_DETECTIONS}, shall include columns whose395 definitions are listed in table \ref{trans-table}.396 397 438 {\centering% 398 \tabcaption{IPP-MOPS Transient Detection Keywords\label{trans-keywords}} 399 \begin{longtable}{|lcp{0.5in}p{3in}|} 400 \hline \hline {\bf FITS Keyword} 401 & \parbox{0.5in}{\textbf{Version}} 402 & {\bf Precision} & {\bf Description}\\ 403 \hline \hline 404 \multicolumn{4}{|l|}{\null\hspace{10mm}\textbf{Version Information}}\\ 405 \hline 406 SWSOURCE & 1+ & string & source of software (e.g., "60eb6cdc-a59c-4636-a4e0-dba66a9721fd")\\ 407 \hline 408 SWVERSN & 1+ & string & version of software (e.g., "trunk/ppMops@24658")\\ 409 \hline 410 HIERARCH\_CMFVERSION & 2+ & char(7) & PS1\_DV1 or PS1\_DV2 or PS1\_DV3 \\ 411 \hline 412 \multicolumn{4}{|l|}{\null\hspace{10mm}\textbf{Provenance Information}}\\ 413 \hline 414 EXP\_NAME & 1+ & string & Exposure name (e.g., "o1234g5678")\\ 415 \hline 416 EXP\_ID & 1+ & S64 & Exposure identifier \\ 417 \hline 418 CHIP\_ID & 1+ & S64 & Chip stage identifier \\ 419 \hline 420 CAM\_ID & 1+ & S64 & Camera stage identifier \\ 421 \hline 422 FAKE\_ID & 1+ & S64 & Fake stage identifier \\ 423 \hline 424 WARP\_ID & 1+ & S64 & Warp stage identifier \\ 425 \hline 426 DIFF\_ID & 1+ & S64 & Diff stage \\ 427 \hline 428 DIFF\_POS & 1+ & boolean & Sense of subtraction; T for forward, F for backward\\ 429 \hline 430 \multicolumn{4}{|l|}{\null\hspace{10mm}\textbf{Exposure Details}}\\ 431 \hline MJD-OBS & 0+ 432 & F64 & midpoint time of the exposure as a MJD and day fraction \\ 433 \hline 434 RA & 0+ 435 & {\tiny HH:MM:SS.SSS} & field center RA at exposure midpoint, string \\ 436 \hline 437 DEC & 0+ & 438 {\tiny sDD:MM:SS}& (s is + or -) field center declination at exposure midpoint, string \\ 439 \hline 440 EXPTIME & 0+ 441 & F64 & exposure time in seconds \\ 442 \hline 443 ROTANGLE & 0+ 444 & F64 & image rotation of the y-axis in degrees, from local N toward E \\ 445 \hline 446 FILTER & 0+ & char(3) & effective filter used for the exposure, 447 one of g, r, i, z, y, B, V, w 448 appended with '.00000'\\ 449 \hline 450 AIRMASS & 0+ & F64 451 & airmass at exposure midpoint \\ 452 \hline 453 OBSCODE & 0+ & char(5) & MPC three-character observatory code \\ 454 \hline 455 TEL\_ALT & 0+ & F64 & telescope altitude at exposure midpoint, in degrees \\ 456 \hline 457 TEL\_AZ & 0+ & F64 & telescope azimuth at exposure midpoint, in degrees \\ 458 \hline 459 SEEING & 1+ & F32 & Measured seeing at diff stage, arcsec \\ 460 \hline 461 MAGZP & 1+ & F32 & Magnitude zero point \\ 462 \hline 463 MAGZPERR & 1+ & F32 & Error in magnitude zero point \\ 464 \hline 465 ASTRORMS & 1+ & F32 & RMS of astrometric fit, arcsec \\ 466 \hline 467 COMMENT & 3+ & String & Comment associated to the exposure\\ 468 \hline 469 OBS\_MODE & 3+ & String & Observation mode (e.g. MD, 3PI...)\\ 470 \hline 471 DIFFTYPE & 3+ & String & Difference type: WW (Warp-Warp Difference), WS (Warp-Stack Difference)\\ 472 \hline 473 SKY & 3+ & F64 & Exposure average sky background \\ 474 \hline 475 SHUTOUTC & 3+ & String & Camera exposure shutter open (UTC) \\ 476 \hline 439 \tabcaption{IPP-MOPS Data Types Definition\label{table-datatypes}} 440 \begin{longtable}{|cp{5in}|} 441 \hline 442 \textbf{Alias} & \textbf{Description} \\ 443 \texttt{bool} & (Not a FITS type) An enumerated type defining a Boolean 444 value, either \texttt{true} or \texttt{false}\\ 445 \texttt{char($n$)} & (Not a FITS type) A sequence of exactly $n$ bytes that 446 can be interpreted 447 as a sequence of ASCII characters\\ 448 \texttt{HH:MM:SS.sss} & (Not a FITS type) a \texttt{char(12)} encoding 449 a time or an angle: (1) the hours \texttt{HH} are encoded with two 450 decimal figures; (2) a separator \texttt{:} between the hours and 451 the minutes; (3) the minutes \texttt{MM} are encoded with two 452 decimal figures; (4) a separator \texttt{:} between the minutes 453 and the seconds; (5) the seconds \texttt{SS} are encoded with two 454 decimal figures; (6) a separator \texttt{.} between the seconds 455 and the milli(arc)seconds; (7) 456 the milli(arc)seconds \texttt{ss} are encoded with three decimal figures; \\ 457 \texttt{sDD:MM:SS} & (Not a FITS type) a \texttt{char(9)} encoding an 458 angle. (1) \texttt{s} is either the \texttt{+} or \texttt{-} sign; 459 (2) \texttt{DD} is the number of degrees encoded with two decimal 460 figures; (3) a separator \texttt{:} between the degrees and the 461 minutes; (4) the minutes \texttt{MM} are encoded with two decimal 462 figures; (5) a separator \texttt{:} between the minutes and the 463 seconds; (6) the 464 seconds \texttt{SS} are encoded with two decimal figures;\\ 465 \texttt{enum} & (Not a FITS type) a \texttt{string} having a fixed number of 466 different values. The explicit set of values shall be expressed in 467 this ICD.\\ 468 \texttt{F32} & (FITS type) IEEE 32-bit single precision floating point real numbers \\ 469 \texttt{F64} & (FITS type) IEEE 64-bit double precision floating point real numbers \\ 470 \texttt{S16} & (FITS type) 16-bit signed integer \\ 471 \texttt{S32} & (FITS type) 32-bit signed integer \\ 472 \texttt{S64} & (FITS type) 64-bit signed integer \\ 473 \texttt{string} & (Not a FITS type) Sequence of bytes of arbitrary length 474 usually interpreted as a sequence of ASCII characters \\ 475 \texttt{U16} & (FITS type) 16-bit unsigned integer \\ 476 \texttt{U32} & (FITS type) 32-bit unsigned integer \\ 477 477 \hline 478 478 \end{longtable} 479 479 } 480 480 481 {\centering 482 \tabcaption{IPP-MOPS Transient Detection Table Columns\label{trans-table}} 483 \begin{longtable}{|lclp{3.5in}|} 481 In addition to the required BINTABLE extension header keywords 482 described above (TODO: Where? What?), the FITS header shall include the 483 keywords shown in tables relative to versioning 484 \ref{table-keywords-versioning}, data provenance 485 \ref{table-keywords-provenance}, and exposure 486 \ref{table-keywords-exposure}. The subsequent FITS table, with EXTNAME 487 of \code{MOPS_TRANSIENT_DETECTIONS}, shall include columns whose 488 definitions are listed in table \ref{table-detections} and, when trail 489 fitting has been succesfully performed, \ref{table-detections-ext}. 490 491 \begin{center} 492 \begin{longtable}{|lcp{0.5in}p{3in}|} 493 \caption{IPP-MOPS Transient Detection Keywords:\\ Version Information}\label{table-keywords-versioning}\\ 494 \hline\hline 495 \multicolumn{4}{|l|}{\null\hspace*{1in}\textbf{Version Information}}\\ 496 \hline\hline 497 {\bf FITS Keyword} 498 & \parbox{0.5in}{\textbf{Version}} 499 & {\bf Precision} 500 & {\bf Description} \\ 501 \hline 502 SWSOURCE & 1+ & \texttt{string} & source of software (e.g., "60eb6cdc-a59c-4636-a4e0-dba66a9721fd") \\ 503 \hline 504 SWVERSN & 1+ & \texttt{string} & version of software (e.g., "trunk/ppMops@24658") \\ 505 \hline 506 HIERARCH CMFVERSION & 2+ & \texttt{enum} & \texttt{PS1\_DV3} \\ 507 \hline\hline 508 \end{longtable} 509 \end{center} 510 511 \begin{center} 512 \begin{longtable}{|lcp{0.5in}p{3in}|} 513 \caption{IPP-MOPS Transient Detection Keywords:\\ Provenance Information}\label{table-keywords-provenance}\\ 514 \hline\hline 515 \multicolumn{4}{|l|}{\null\hspace{10mm}\textbf{Provenance Information}}\\ 484 516 \hline \hline 485 {\bf Column} & \textbf{Version} & {\bf Precision} & {\bf Description} \\ 486 \hline 487 RA & 1+ & F64 & detection center coordinates in degrees\\ 488 \hline 489 RA\_ERR & 1+ & F64 & error in the detection center, in degrees \\ 490 \hline 491 DEC & 1+ & F64 & detection center coordinates in degrees \\ 492 \hline 493 DEC\_ERR & 1+ & F64 & error in the detection center, in degrees \\ 494 \hline 495 MAG & 1+ & F32 & Magnitude \\ 496 \hline 497 MAG\_ERR & 1+ & F32 & Magnitude error \\ 498 \hline 499 PSF\_CHI2 & 1+ & F32 & $\chi^2$ of PSF fit \\ 500 \hline 501 PSF\_DOF & 1+ & S32 & Degrees of freedom of PSF fit \\ 502 \hline 503 CR\_SIGNIFICANCE & 1+ & F32 & Significance of Cosmic Ray \\ 504 \hline 505 EXT\_SIGNIFICANCE & 1+ & F32 & Significance of extendedness \\ 506 \hline 507 PSF\_MAJOR & 1+ & F32 & PSF major axis (pixels) \\ 508 \hline 509 PSF\_MINOR & 1+ & F32 & PSF minor axis (pixels) \\ 510 \hline 511 PSF\_THETA & 1+ & F32 & PSF position angle (deg on chip) \\ 512 \hline 513 PSF\_QUALITY & 1+ & F32 & PSF quality factor \\ 514 \hline 515 PSF\_NPIX & 1+ & S32 & Number of pixels in PSF \\ 516 \hline 517 MOMENTS\_XX & 1+ & F32 & xx moment \\ 518 \hline 519 MOMENTS\_XY & 1+ & F32 & xy moment \\ 520 \hline 521 MOMENTS\_YY & 1+ & F32 & yy moment \\ 522 \hline 523 N\_POS & 1+ & S32 & Number of positive pixels \\ 524 \hline 525 F\_POS & 1+ & F32 & Fraction of positive pixels \\ 526 \hline 527 RATIO\_BAD & 1+ & F32 & Ratio of positive pixels to negative \\ 528 \hline 529 RATIO\_MASK & 1+ & F32 & Ratio of positive pixels to masked \\ 530 \hline 531 RATIO\_ALL & 1+ & F32 & Ratio of positive pixels to all \\ 532 \hline 533 FLAGS & 1+ & U32 & Detection bit flags\footnote{See \htmladdnormallink{http://svn.pan-starrs.ifa.hawaii.edu/trac/ipp/wiki/PSPSFlags\#StackDetectionFull.infoFlagsFLAGS232FLAGS}{http://svn.pan-starrs.ifa.hawaii.edu/trac/ipp/wiki/PSPSFlags\#StackDetectionFull.infoFlagsFLAGS232FLAGS} for the meaning of each bit}\\ 534 \hline 535 DIFF\_SKYFILE\_ID & 1+ & S64 & Identifier for diff skyfile. A 536 diff\_id (for Warp-Warp difference) or a stack\_id 537 (for Warp-Stack difference) \\ 538 \hline 539 IPP\_IDET & 2+ & U32 & IPP detection identifier index \\ 540 \hline 541 PSF\_INST\_FLUX & 2+ & F32 & PSF fit instrumental magnitude \\ 542 \hline 543 PSF\_INST\_FLUX\_SIG & 2+ & F32 & Sigma of PSF instrumental magnitude \\ 544 \hline 545 AP\_MAG & 2+ & F32 & magnitude in standard aperture \\ 546 \hline 547 AP\_MAG\_RAW & 2+ & F32 & magnitude in real aperture \\ 548 \hline 549 AP\_MAG\_RADIUS & 2+ & F32 & radius used for aperture mags \\ 550 \hline 551 AP\_FLUX & 2+ & F32 & instrumental flux in standard aperture \\ 552 \hline 553 AP\_FLUX\_SIG & 2+ & F32 & aperture flux error \\ 554 \hline 555 PEAK\_FLUX\_AS\_MAG & 2+ & F32 & Peak flux expressed as magnitude \\ 556 \hline 557 CAL\_PSF\_MAG & 2+ & F32 & PSF Magnitude using supplied calibration \\ 558 \hline 559 CAL\_PSF\_MAG\_SIG & 2+ & F32 & measured scatter of zero point calibration \\ 560 \hline 561 SKY & 2+ & F32 & Sky level \\ 562 \hline 563 SKY\_SIGMA & 2+ & F32 & Sigma of sky level \\ 564 \hline 565 PSF\_QF\_PERFECT & 2+ & F32 & PSF coverage/quality factor (poor) \\ 566 \hline 567 MOMENTS\_R1 & 2+ & F32 & first radial moment \\ 568 \hline 569 MOMENTS\_RH & 2+ & F32 & half radial moment \\ 570 \hline 571 KRON\_FLUX & 2+ & F32 & Kron Flux (in 2.5 R1) \\ 572 \hline 573 KRON\_FLUX\_ERR & 2+ & F32 & Kron Flux Error \\ 574 \hline 575 KRON\_FLUX\_INNER & 2+ & F32 & Kron Flux (in 1.0 R1) \\ 576 \hline 577 KRON\_FLUX\_OUTER & 2+ & F32 & Kron Flux (in 4.0 R1) \\ 578 \hline 579 DIFF\_R\_P & 2+ & F32 & distance to positive match source \\ 580 \hline 581 DIFF\_SN\_P & 2+ & F32 & signal-to-noise of pos match src \\ 582 \hline 583 DIFF\_R\_M & 2+ & F32 & distance to negative match source \\ 584 \hline 585 DIFF\_SN\_M & 2+ & F32 & signal-to-noise of neg match src \\ 517 {\bf FITS Keyword} 518 & \parbox{0.5in}{\textbf{Version}} 519 & {\bf Precision} 520 & {\bf Description} \\ 521 \hline 522 EXP\_NAME & 1+ & \texttt{string} & Exposure name (e.g., "o1234g5678")\\ 523 \hline 524 EXP\_ID & 1+ & \texttt{S64} & Exposure identifier \\ 525 \hline 526 CHIP\_ID & 1+ & \texttt{S64} & Chip stage identifier \\ 527 \hline 528 CAM\_ID & 1+ & \texttt{S64} & Camera stage identifier \\ 529 \hline 530 FAKE\_ID & 1+ & \texttt{S64} & Fake stage identifier \\ 531 \hline 532 WARP\_ID & 1+ & \texttt{S64} & Warp stage identifier \\ 533 \hline 534 DIFF\_ID & 1+ & \texttt{S64} & Diff stage \\ 535 \hline 536 DIFF\_POS & 1+ & \texttt{bool} & Sense of subtraction; \texttt{true} for forward, 537 \texttt{false} for backward\\ 538 \hline 539 \end{longtable} 540 \end{center} 541 542 \begin{center} 543 \begin{longtable}{|lcp{0.5in}p{3in}c|} 544 \caption{IPP-MOPS Transient Detection Keywords:\\ Exposure Details}\label{table-keywords-exposure}\\ 545 \hline \hline 546 \multicolumn{5}{|l|}{\null\hspace{10mm}\textbf{Exposure Details}}\\ 547 \hline \hline {\bf FITS Keyword} 548 & \parbox{0.5in}{\textbf{Version}} & {\bf Precision} & {\bf 549 Description} 550 & \textbf{Units}\\ 551 \hline MJD-OBS & 0+ & \texttt{F64} & midpoint time of the exposure 552 as a MJD and day fraction 553 & N/A\\ 554 \hline RA & 0+ & {\tiny \texttt{HH:MM:SS.SSS}} 555 & Field center RA at exposure midpoint & N/A \\ 556 \hline DEC & 0+ & {\tiny \texttt{sDD:MM:SS}} & 557 (s is + or -) Field center declination at exposure midpoint & N/A \\ 558 \hline EXPTIME & 0+ & \texttt{F64} 559 & Exposure time & seconds \\ 560 \hline ROTANGLE & 0+ & \texttt{F64} 561 & Image rotation of the y-axis from local N toward E & degrees \\ 562 \hline FILTER & 0+ & \texttt{char(7)} & Effective filter used for 563 the exposure, one of \texttt{g}, \texttt{r}, \texttt{i}, 564 \texttt{z}, \texttt{y}, \texttt{B}, 565 \texttt{V}, \texttt{w} appended with '.00000' & N/A \\ 566 \hline AIRMASS & 0+ & \texttt{F64} 567 & Airmass at exposure midpoint & N/A\\ 568 \hline OBSCODE & 0+ & char(5) & 569 MPC 3-character observatory code (F51 for PS1) & N/A \\ 570 \hline TEL\_ALT & 0+ & \texttt{F64} & 571 Telescope altitude at exposure midpoint & degrees \\ 572 \hline TEL\_AZ & 0+ & \texttt{F64} 573 & Telescope azimuth at exposure midpoint & degrees \\ 574 \hline SEEING & 1+ & \texttt{F32} & 575 Measured seeing at diff stage & arcsec \\ 576 \hline MAGZP & 1+ & \texttt{F32} & 577 Magnitude zero point & N/A \\ 578 \hline MAGZPERR & 1+ & \texttt{F32} & 579 Error in magnitude zero point & N/A \\ 580 \hline ASTRORMS & 1+ & \texttt{F32} & 581 RMS of astrometric fit & arcsec \\ 582 \hline CMMTOBS & 3+ & \texttt{string} & 583 Comment associated to the exposure & N/A\\ 584 \hline OBS\_MODE & 3+ & \texttt{enum} & Observation modes list: 585 3PI, CNP, ESS, M31, MD, MSS, OSS, PI, STD (Note: The exposures 586 having the following PS1 observation modes are not used by MOPS: 587 CAL, PR201108, SAS2, SS, STS, STS2A, STS2B) & N/A\\ 588 \hline DIFFTYPE & 3+ & \texttt{enum} & 589 Difference type: \texttt{WW} (Warp-Warp Difference), \texttt{WS} (Warp-Stack Difference) & N/A\\ 590 \hline SKY & 3+ & \texttt{F64} & 591 Exposure average sky background & counts/pixel \\ 592 \hline SHUTOUTC & 3+ & \texttt{string} & 593 Camera exposure shutter open (UTC) & N/A \\ 594 \hline \hline 595 \end{longtable} 596 \end{center} 597 598 \begin{center} 599 \begin{longtable}{|lclp{3.5in}c|} 600 \caption{IPP-MOPS Transient Detection Table Columns:\\ Detection Details}\label{table-detections}\\ 601 \hline \hline 602 \multicolumn{5}{|l|}{\null\hspace{10mm}\textbf{Detection Details}}\\ 603 \hline \hline 604 {\bf Column} & \textbf{Version} & {\bf Precision} & {\bf Description} & \textbf{Units}\\ 605 \hline 606 RA & 1+ & F64 & Detection center coordinates & degrees\\ 607 \hline 608 RA\_ERR & 1+ & F64 & Error in the detection center & degrees \\ 609 \hline 610 DEC & 1+ & F64 & Detection center coordinates & degrees \\ 611 \hline 612 DEC\_ERR & 1+ & F64 & Error in the detection center & degrees \\ 613 \hline 614 MAG & 1+ & F32 & Filter magnitude & N/A \\ 615 \hline 616 MAG\_ERR & 1+ & F32 & Filter magnitude error & N/A \\ 617 \hline 618 PSF\_CHI2 & 1+ & F32 & $\chi^2$ of PSF fit & N/A \\ 619 \hline 620 PSF\_DOF & 1+ & S32 & Degrees of freedom of PSF fit & N/A \\ 621 \hline 622 CR\_SIGNIFICANCE & 1+ & F32 & Significance of cosmic ray (source: \emph{src/psphot/psphotSourceSize.c}) & N/A \\ 623 \hline 624 EXT\_SIGNIFICANCE & 1+ & F32 & Significance of extendedness (source: \emph{src/psphot/psphotSourceSize.c}) & N/A \\ 625 \hline 626 PSF\_MAJOR & 1+ & F32 & PSF major axis & pixels \\ 627 \hline 628 PSF\_MINOR & 1+ & F32 & PSF minor axis & pixels \\ 629 \hline 630 PSF\_THETA & 1+ & F32 & PSF position angle on chip & degrees \\ 631 \hline 632 PSF\_QUALITY & 1+ & F32 & PSF quality factor & N/A \\ 633 \hline 634 PSF\_NPIX & 1+ & S32 & Number of pixels in PSF & N/A \\ 635 \hline 636 MOMENTS\_XX & 1+ & F32 & xx moment & N/A \\ 637 \hline 638 MOMENTS\_XY & 1+ & F32 & xy moment & N/A \\ 639 \hline 640 MOMENTS\_YY & 1+ & F32 & yy moment & N/A \\ 641 \hline 642 N\_POS & 1+ & S32 & Number of positive pixels & N/A \\ 643 \hline 644 F\_POS & 1+ & F32 & Fraction of positive pixels & N/A \\ 645 \hline 646 RATIO\_BAD & 1+ & F32 & Ratio of positive pixels to negative & N/A \\ 647 \hline 648 RATIO\_MASK & 1+ & F32 & Ratio of positive pixels to masked & N/A \\ 649 \hline 650 RATIO\_ALL & 1+ & F32 & Ratio of positive pixels to all & N/A \\ 651 \hline 652 FLAGS & 1+ & U32 & Detection bit flags\footnote{See \htmladdnormallink{http://svn.pan-starrs.ifa.hawaii.edu/trac/ipp/wiki/PSPSFlags\#StackDetectionFull.infoFlagsFLAGS232FLAGS}{http://svn.pan-starrs.ifa.hawaii.edu/trac/ipp/wiki/PSPSFlags\#StackDetectionFull.infoFlagsFLAGS232FLAGS} for the meaning of each bit}. The PM\_SOURCE\_MODE\_EXTENDED\_FIT flag (at position 0x00800000) is set when the Trail Fitting is attempted. It does not mean that the Trail Fitting is successful. \\ 653 \hline DIFF\_SKYFILE\_ID & 1+ & S64 & Identifier for diff 654 skyfile. Either a diff\_id (for Warp-Warp difference) or a 655 stack\_id 656 (for Warp-Stack difference) & N/A \\ 657 \hline 658 IPP\_IDET & 2+ & U32 & IPP detection identifier index & N/A \\ 659 \hline 660 PSF\_INST\_FLUX & 2+ & F32 & PSF fit instrumental magnitude & N/A \\ 661 \hline 662 PSF\_INST\_FLUX\_SIG & 2+ & F32 & Sigma of PSF instrumental magnitude & N/A \\ 663 \hline 664 AP\_MAG & 2+ & F32 & magnitude in standard aperture (i.e. 25 pixels radius) & N/A \\ 665 \hline 666 AP\_MAG\_RAW & 2+ & F32 & magnitude in real aperture & N/A \\ 667 \hline 668 AP\_MAG\_RADIUS & 2+ & F32 & radius used for aperture mags & pixels \\ 669 \hline 670 AP\_FLUX & 2+ & F32 & instrumental flux in standard aperture & ADU \\ 671 \hline 672 AP\_FLUX\_SIG & 2+ & F32 & aperture flux error & N/A \\ 673 \hline 674 PEAK\_FLUX\_AS\_MAG & 2+ & F32 & Peak flux expressed as magnitude & N/A \\ 675 \hline 676 CAL\_PSF\_MAG & 2+ & F32 & PSF Magnitude using supplied calibration & N/A \\ 677 \hline 678 CAL\_PSF\_MAG\_SIG & 2+ & F32 & Measured standard-deviation of zero point calibration & N/A \\ 679 \hline 680 SKY & 2+ & F32 & Sky level & counts/pixel \\ 681 \hline 682 SKY\_SIGMA & 2+ & F32 & Sigma of sky level & counts/pixel\\ 683 \hline PSF\_QF\_PERFECT & 2+ & F32 & PSF coverage/quality factor 684 (poor): PSF value weighted by unmasked pixels 685 (source: psmodules/src/objects/pmSourcePhotometry.c) & N/A \\ 686 \hline 687 MOMENTS\_R1 & 2+ & F32 & first radial moment & N/A \\ 688 \hline 689 MOMENTS\_RH & 2+ & F32 & half radial moment & N/A \\ 690 \hline 691 KRON\_FLUX & 2+ & F32 & Kron Flux (that is, flux in 2.5 $\times$ first radial moment) & N/A \\ 692 \hline 693 KRON\_FLUX\_ERR & 2+ & F32 & Kron Flux Error & N/A \\ 694 \hline 695 KRON\_FLUX\_INNER & 2+ & F32 & Inner Kron Flux (that is, flux in 1.0 $\times$ first radial moment) & N/A \\ 696 \hline 697 KRON\_FLUX\_OUTER & 2+ & F32 & Outer Kron Flux (that is, flux in 4.0 $\times$ first radial moment) & N/A \\ 698 \hline 699 DIFF\_R\_P & 2+ & F32 & distance from detection to positive matching source & pixels \\ 700 \hline 701 DIFF\_SN\_P & 2+ & F32 & signal-to-noise of pos match src & N/A \\ 702 \hline 703 DIFF\_R\_M & 2+ & F32 & distance from detectionto negative match source & pixels \\ 704 \hline 705 DIFF\_SN\_M & 2+ & F32 & signal-to-noise of neg match src & N/A \\ 586 706 \hline 587 707 FLAGS2 & 2+ & U32 & psphot analysis flags (group 2)\footnote{See \htmladdnormallink{http://svn.pan-starrs.ifa.hawaii.edu/trac/ipp/wiki/PSPSFlags\#StackDetectionFull.infoFlagsFLAGS232FLAGS}{http://svn.pan-starrs.ifa.hawaii.edu/trac/ipp/wiki/PSPSFlags\#StackDetectionFull.infoFlagsFLAGS232FLAGS} for the meaning of each bit}\\ 588 708 \hline 589 N\_FRAMES & 2+ & U16 & Number of frames overlapping source center \\709 N\_FRAMES & 2+ & U16 & Number of exposures overlapping source center \\ 590 710 \hline 591 711 PADDING & 2+ & S16 & padding \\ 592 \hline 593 \multicolumn{4}{|c|}{\textbf{Extended (trail fitting) parameters}}\\ 594 \multicolumn{4}{|c|}{Values like \texttt{NaN} mean that the extended parameters are undefined for the detection}\\ 595 \hline 596 X\_EXT & 2+ & F32 & Extended model X coordinate \\ 597 \hline 598 Y\_EXT & 2+ & F32 & Extended model Y coordinate \\ 599 \hline 600 X\_EXT\_SIG & 2+ & F32 & Sigma in extended model X coordinate \\ 601 \hline 602 Y\_EXT\_SIG & 2+ & F32 & Sigma in extended model Y coordinate \\ 603 \hline 604 EXT\_INST\_MAG & 2+ & F32 & Extended fit instrumental magnitude \\ 605 \hline 606 EXT\_INST\_SIG\_MAG & 2+ & F32 & Sigma of extended fit instrumental magnitude \\ 607 \hline 608 NPARAMS & 2+ & F32 & Number of model parameters \\ 609 \hline 610 EXT\_WIDTH\_MAJ & 2+ & F32 & EXT width (major axis), length for trail \\ 611 \hline 612 EXT\_WIDTH\_MIN & 2+ & F32 & EXT width (minor axis), sigma for trail \\ 613 \hline 614 EXT\_THETA & 2+ & F32 & EXT orientation angle\\ 615 \hline 616 EXT\_WIDTH\_MAJ\_ERR & 2+ & F32 & EXT width error (major axis)\\ 617 \hline 618 EXT\_WIDTH\_MIN\_ERR & 2+ & F32 & EXT width error (minor axis)\\ 619 \hline 620 EXT\_THETA\_ERR & 2+ & F32 & EXT orientation angle (error)\\ 621 \hline 622 RA\_EXT & 3+ & F32 & Fitted centroid RA \\ 623 \hline 624 RA\_EXT\_SIGMA & 3+ & F32 & Fitted RA sigma \\ 625 \hline 626 DEC\_EXT & 3+ & F32 & Fitted centroid DEC \\ 627 \hline 628 DEC\_EXT\_SIGMA & 3+ & F32 & Fitted DEC sigma \\ 629 \hline 630 POSANG\_EXT & 3+ & F32 & Fitted position angle \\ 631 \hline 632 PLTSCALE\_EXT & 3+ & F32 & Plate scale at centroid \\ 633 \hline 634 EXT\_FLUX & 3+ & F32 & Fitted flux \\ 635 \hline 636 EXT\_CAL\_MAG & 3+ & F32 & Calibrated magnitude \\ 637 \hline 638 EXT\_MAG\_SIG & 3+ & F32 & Sigma of calibrated magnitude \\ 639 \hline 640 EXT\_CHISQ & 3+ & F32 & $\chi^2$ of fit \\ 641 \hline 642 EXT\_NDOF & 3+ & S32 & Fit degrees of freedom \\ 643 \hline 712 \hline \hline 644 713 \end{longtable} 645 } 714 \end{center} 715 716 \begin{center} 717 \begin{longtable}{|lclp{3.5in}c|} 718 \caption{IPP-MOPS Transient Detection Table Columns:\\ Extended (Trail Fitting) Details}\label{table-detections-ext}\\ 719 \hline \hline 720 \multicolumn{5}{|c|}{\textbf{Extended (trail fitting) parameters}}\\ 721 \multicolumn{5}{|c|}{Values like \texttt{NaN} mean that the extended parameters are undefined for the detection}\\ 722 \hline 723 X\_EXT & 2+ & F32 & 724 Extended model X coordinate & pixels\\ 725 \hline 726 Y\_EXT & 2+ & F32 & 727 Extended model Y coordinate & pixels \\ 728 \hline 729 X\_EXT\_SIG & 2+ & F32 & 730 Sigma in extended model X coordinate & pixels \\ 731 \hline 732 Y\_EXT\_SIG & 2+ & F32 & 733 Sigma in extended model Y coordinate & pixels \\ 734 \hline 735 EXT\_INST\_MAG & 2+ & F32 & 736 Extended fit instrumental magnitude & N/A \\ 737 \hline 738 EXT\_INST\_SIG\_MAG & 2+ & F32 & 739 Sigma of extended fit instrumental magnitude & N/A \\ 740 \hline 741 NPARAMS & 2+ & S32 & 742 Number of model parameters (see \cite{VerJedDen2012IAAaPwTF}) & N/A \\ 743 \hline 744 EXT\_WIDTH\_MAJ & 2+ & F32 & % The name is weird but it's because of normalization 745 Length of trail & pixels \\ % in the IPP: Check if MOPS want to change it 746 \hline 747 EXT\_WIDTH\_MIN & 2+ & F32 & % The name is weird but it's because of normalization 748 Sigma of trail & pixels \\ % in the IPP: Check if MOPS want to change it 749 \hline 750 EXT\_THETA & 2+ & F32 & EXT orientation angle & radians \\ 751 \hline 752 EXT\_WIDTH\_MAJ\_ERR & 2+ & F32 & EXT width error (major axis) & pixels \\ 753 \hline 754 EXT\_WIDTH\_MIN\_ERR & 2+ & F32 & EXT width error (minor axis) & pixels \\ 755 \hline 756 EXT\_THETA\_ERR & 2+ & F32 & EXT orientation angle (error) & radians \\ 757 \hline 758 RA\_EXT & 3+ & F32 & Fitted centroid RA & degrees \\ 759 \hline 760 RA\_EXT\_SIGMA & 3+ & F32 & Fitted RA sigma & degrees? \\ 761 \hline 762 DEC\_EXT & 3+ & F32 & Fitted centroid DEC & degrees \\ 763 \hline 764 DEC\_EXT\_SIGMA & 3+ & F32 & Fitted DEC sigma & degrees? \\ 765 \hline 766 POSANG\_EXT & 3+ & F32 & Fitted position angle & degrees \\ 767 \hline 768 PLTSCALE\_EXT & 3+ & F32 & Plate scale at centroid & arcsec/pixel \\ 769 \hline 770 EXT\_FLUX & 3+ & F32 & Fitted flux & ADU \\ 771 \hline 772 EXT\_CAL\_MAG & 3+ & F32 & Calibrated magnitude & N/A \\ 773 \hline 774 EXT\_MAG\_SIG & 3+ & F32 & Sigma of calibrated magnitude & N/A \\ 775 \hline 776 EXT\_CHISQ & 3+ & F32 & $\chi^2$ of fit & N/A \\ 777 \hline 778 EXT\_NDOF & 3+ & S32 & Fit degrees of freedom & N/A \\ 779 \hline 780 \end{longtable} 781 \end{center} 646 782 647 783 \subsection{MOPS Detectability Query} … … 764 900 765 901 \pagebreak 902 903 \section{Changes} 904 905 \subsection{Changes in PS1\_DV3 from PS1\_DV2} 906 907 \subsubsection{New Keywords} 908 909 \paragraph{Per Exposure (in FITS header)} 910 \begin{itemize} 911 \item CMMTOBS 912 \item OBS\_MODE 913 \item DIFFTYPE 914 \item SKY 915 \item SHUTOUTC 916 \end{itemize} 917 918 \paragraph{Per Detection (in FITS extension)} 919 \begin{itemize} 920 \item RA\_EXT 921 \item RA\_EXT\_SIGMA 922 \item DEC\_EXT 923 \item DEC\_EXT\_SIGMA 924 \item POSANG\_EXT 925 \item PLTSCALE\_EXT 926 \item EXT\_FLUX 927 \item EXT\_CAL\_MAG 928 \item EXT\_MAG\_SIG 929 \item EXT\_CHISQ 930 \item EXT\_NDOF 931 \end{itemize} 932 933 \subsubsection{Removed Keywords} 934 935 None 936 937 \subsubsection{Datatypes} 938 \begin{itemize} 939 \item NPARAMS is now a S32 and no more a F32. 940 \end{itemize} 941 942 \subsubsection{Known Bugs and Associated Fix} 943 944 \begin{itemize} 945 \item None 946 \end{itemize} 947 948 \newpage 949 766 950 \appendix 767 951 768 \section{Appendix} 952 \section{The IPP Data Workflow} 953 954 The objective of this section is to provide some details about the IPP 955 Workflow. It is intentionnally MOPS oriented in the sense that some 956 details have been voluntarily omitted. 957 958 \begin{minipage}{0.65\linewidth} 959 The IPP receives "exposures" from the telescope. An "exposure" is an 960 image of 60 OTAs (see figure~\ref{fig-exposure-otas}) taken by the 961 GPC1 camera and its associated metadata. All science exposures 962 (which are interesting MOPS) are processed in the IPP according to 963 the following stages. 964 965 The first stage is the CHIP stage. Detrending and objects detections 966 are performed on each OTA at this stage. 967 968 The second stage is the CAMERA stage. Calibration and astrometry are 969 performed on the exposure at this stage. 970 971 The third stage is the WARP stage\footnote{For simplicity and since 972 nothing is performed in this stage, the FAKE stage has been 973 ommitted.}. The image pixels are warped to fit a predefined sky 974 tessellation (it is actually a covering). Cells of the tessellation 975 are called \emph{skycells} and each pixel in a skycell has a size of 976 $0.25" \times 0.25"$. The skycell is oriented so that increasing X 977 (wrt Y) pixel coordinate corresponds to a move toward the West (wrt 978 North). 979 980 The fourth stage is the DIFF stage. The difference between two 981 skycells having the same spatial coordinates but being distant in 982 time (by less than the TTI) is computed. To avoid deconvolution, 983 the image difference can be performed in bothways When the newer 984 image is diffed with the older image, the difference image is called 985 the \emph{positive} image. When the older image is diffed with the 986 newer image, the difference image is called the \emph{negative} 987 image. 988 989 Another stage is executed in parallel of the fourth stage: the STACK 990 stage. Its products (the stacks, that is, "average" observations in 991 a skycell) can be used in the DIFF stage to compute WARP-STACK 992 differences (e.g for MD observations). STACK-WARP are not computed 993 (so far). 994 995 The fifth and last stage is the PPMOPS stage. The exposure is 996 rebuilt from the differences obtained in each skycell of the DIFF 997 stage. For detections falling in areas covered by two or more 998 skycells, the data of the detection being the nearest to a skycell 999 center are taken. 1000 \end{minipage}\hfill\begin{minipage}{0.3\linewidth} 1001 \begin{center} 1002 \includegraphics[width=\linewidth]{figures/ipp_workflow.eps} 1003 \captionof{figure}{Caption for figure} 1004 \label{fig-ipp-workflow} 1005 \end{center} 1006 \end{minipage} 1007 1008 \begin{center} 1009 \includegraphics[width=4in]{figures/exposure_ota.eps} 1010 \captionof{figure}{Exposure / OTA TODO + Move somewhere else} 1011 \label{fig-exposure-otas} 1012 \end{center} 1013 1014 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1015 \newpage 1016 \section{\texttt{ppMops} Implementation Details} 1017 \label{sec-ppmops} 1018 1019 \subsection{Source Code} 1020 \label{sec-ppmops-sourcecode} 1021 1022 The \texttt{ppMops} source code can be found at 1023 \url{https://svn.pan-starrs.ifa.hawaii.edu/repo/ipp/trunk/ppTranslate}. The 1024 SVN revision of the analyzed code as well as the corresponding 1025 software version depends on the version of this document and can be 1026 found in the History subsection (see subsection 1027 \ref{sec-ppmops-sourcecodehistory}). 1028 1029 \subsection{Source Code Analysis History} 1030 \label{sec-ppmops-sourcecodehistory} 1031 \begin{tabular}{|c|c|c|p{2in}|c|c|} 1032 \hline 1033 \parbox{.5in}{Doc Version} & Date & Author & Description & SVN Rev. & \parbox{.5in}{Software Version}\\ 1034 \hline 1035 \hline 1036 --- & 2012-09-14 & SC & Creation & 34439 & 3\footnotemark{}\\ 1037 \hline 1038 \end{tabular}\footnotetext{Modified version 3} 1039 1040 \subsection{Main} 1041 Source code: \texttt{src/ppMops.c}. 1042 1043 \texttt{ppMops} can be run on the command line independently from the 1044 IPP framework. It is functionnally made of four parts: 1045 \begin{enumerate} 1046 \item Analyzing the command-line arguments (see subsection 1047 \ref{sec-implementation-args}); 1048 \item Reading the detections from the input diff files and the exposure 1049 parameters (see subsection \ref{sec-implementation-read}); 1050 \item Removing the duplicated detections (see subsection 1051 \ref{sec-implementation-merge}); 1052 \item Writing the products (see subsection 1053 \ref{sec-implementation-write}); 1054 \end{enumerate} 1055 1056 \subsection{Command-Line Arguments Analysis} 1057 \label{sec-implementation-args} 1058 1059 Source code: \texttt{src/ppMopsArguments.c}. 1060 1061 \subsubsection{Parameters} 1062 1063 There are only two mandatory arguments: 1064 \begin{enumerate} 1065 \item The first argument is a filename. The associated file contains 1066 the list of the names of all the diff files that will be used as 1067 input. For simplicity, we will identify that list by: 1068 \texttt{list\_of\_diffs\_inputs}. 1069 \item The second argument is the name of the output file. We will call 1070 it \texttt{output\_file\_name}. 1071 \end{enumerate} 1072 1073 The following parameters can be taken from the command line arguments 1074 options (if they are provided, otherwise they take the default value): 1075 \begin{itemize} 1076 \item \texttt{exp\_name}: exposure name (default: NULL); 1077 \item \texttt{exp\_id}: Exposure identifier (IPP internal; default: 0); 1078 \item \texttt{chip\_id}: Chip stage identifier (IPP internal; default: 0); 1079 \item \texttt{cam\_id}: Camera stage identifier (IPP internal; default: 0); 1080 \item \texttt{fake\_id}: Fake stage identifier (IPP internal; default: 0); 1081 \item \texttt{warp\_id}: Warp stage identifier (IPP internal; default: 0); 1082 \item \texttt{diff\_id}: Diff stage identifier (IPP internal; default: 0); 1083 \item \texttt{inverse}: Inverse subtraction (boolean; default: false); 1084 \item \texttt{zp}: Magnitude zero point (default: NAN); 1085 \item \texttt{zp\_error}: Error in magnitude zero point (default: NAN); 1086 \item \texttt{astrom\_rms}: Astrometric solution RMS (default: NAN); 1087 \item \texttt{version}: CMF file version (default: 0); 1088 \end{itemize} 1089 1090 \subsubsection{Parameters Values Validation} 1091 \begin{itemize} 1092 \item If the list of input file names is empty, an error is displayed 1093 and \texttt{ppMops} exits. 1094 \item There is no check on the validity of the different parameters 1095 (values, files existence...). 1096 \end{itemize} 1097 1098 \subsection{Reading Detections} 1099 \label{sec-implementation-read} 1100 1101 Source code: \texttt{src/ppMopsRead.c}. 1102 1103 Each file from the \texttt{list\_of\_diffs\_inputs} is opened. A 1104 \texttt{ppMopsDetections} object is populated from the data that are 1105 read from that file. The set (namely a \texttt{psArray}) of all the 1106 valid \texttt{ppMopsDetections} objects is the product of this part. 1107 1108 The data which are extracted from each file are the following: 1109 \begin{itemize} 1110 \item From the header are extracted: 1111 \begin{itemize} 1112 \item \texttt{diffSkyfileId}: Its value is 1113 associated to the keyword \texttt{IMAGEID}. If not present or 0, the 1114 program exits with an error. 1115 \item The current diff version is derived from the value associated 1116 to EXTTYPE. If the \texttt{version} has not already been set, it 1117 is set to the value which has just been read. If it was set at 1118 some point (either through the command line, or from a previous 1119 input), the current diff version value is checked against the 1120 \texttt{version}. Different values will produce warning messages. 1121 \item \texttt{raBoresight} is given the value associated to 1122 \texttt{FPA.RA}; 1123 \item \texttt{decBoresight} is given the value associated to 1124 \texttt{FPA.DEC}; 1125 \item \texttt{filter} is given the value associated to 1126 \texttt{FPA.FILTER}; 1127 \item \texttt{airmass} is given the value associated to 1128 \texttt{AIRMASS}; 1129 \item \texttt{exptime} is given the value associated to 1130 \texttt{EXPTIME}; 1131 \item \texttt{posangle} is given the value associated to 1132 \texttt{FPA.POSANGLE}; 1133 \item \texttt{alt} is given the value associated to 1134 \texttt{FPA.ALT}; 1135 \item \texttt{az} is given the value associated to 1136 \texttt{FPA.AZ}; 1137 \item \texttt{mjd} is computed from the \texttt{mjdobs} value 1138 associated to \texttt{MJD-OBS} by: \[\mathtt{mjd} = \mathtt{mjdobs} + 1139 \frac{\mathtt{exptime}}{2*3600*24}\] 1140 \item \texttt{seeing} is initialized (note that it is modified in 1141 the loop over the valid detections) using 1142 $\mathtt{fwhm}_\mathtt{maj}$ (wrt $\mathtt{fwhm}_\mathtt{min}$) 1143 associated to the keyword \texttt{FWHM\_MAJ} (wrt 1144 \texttt{FWHM\_MIN}); 1145 \item \texttt{naxis1} is set to the value associated to 1146 \texttt{IMNAXIS1}, that is the number of columns of the original 1147 image; 1148 \item \texttt{naxis2} is set to the value associated to 1149 \texttt{IMNAXIS2}, that is the number of rows of the original 1150 image; 1151 \end{itemize} 1152 \item From the \texttt{SkyChip.psf} extension: 1153 \begin{itemize} 1154 \item This extension contains all the detections. One row is 1155 associated to each detection. 1156 \item A detection is rejected if at least one of the following 1157 parameters has an non-finite value: \texttt{x}, \texttt{y}, 1158 \texttt{ra}, \texttt{dec}, \texttt{mag}, \texttt{magErr}, 1159 \texttt{xErr}, \texttt{yErr}, \texttt{scale}, \texttt{angle}. 1160 \item A detection is rejected if its associated \texttt{flags} 1161 matches: 1162 {\small 1163 \texttt{PM\_SOURCE\_MODE\_FAIL | PM\_SOURCE\_MODE\_BADPSF | 1164 PM\_SOURCE\_MODE\_SATURATED | PM\_SOURCE\_MODE\_CR\_LIMIT | 1165 PM\_SOURCE\_MODE\_SKY\_FAILURE}} 1166 \item \texttt{x} is associated to the \texttt{X\_PSF} keyword; 1167 \item \texttt{y} is associated to the \texttt{Y\_PSF} keyword; 1168 \item \texttt{ra} is associated to the \texttt{RA\_PSF} keyword. It 1169 is converted to radians; 1170 \item \texttt{dec} is associated to the \texttt{DEC\_PSF} keyword. It 1171 is converted to radians; 1172 \item \texttt{mag} is computed from the value associated the 1173 \texttt{PSF\_INST\_MAG} keyword, namely: 1174 \[ 1175 \mathtt{mag} = \mathtt{PSF\_INST\_MAG} + \mathtt{zp} 1176 \] 1177 where \texttt{zp} is defined in the arguments list (see subsection 1178 \ref{sec-implementation-args}); 1179 \item \texttt{magErr} is associated to the 1180 \texttt{PSF\_INST\_MAG\_SIG} keyword; 1181 \item \texttt{xErr} is associated to the \texttt{X\_PSF\_SIG} 1182 keyword; 1183 \item \texttt{yErr} is associated to the \texttt{Y\_PSF\_SIG} 1184 keyword; 1185 \item \texttt{scale} is associated to the \texttt{PLTSCALE} 1186 keyword; 1187 \item \texttt{angle} is associated to the \texttt{POSANGLE} 1188 keyword; 1189 \item \texttt{flags} is associated to the \texttt{FLAGS} keyword; 1190 \item \texttt{raErr} is defined by: 1191 \[ 1192 \mathtt{raErr} = \frac{\mathtt{scale}}{3600} 1193 \sqrt{\cos^2(\mathtt{angle}) \mathtt{xErr}^2 + 1194 \sin^2(\mathtt{angle}) \mathtt{yErr}^2} 1195 \] 1196 \item \texttt{decErr} is defined by: 1197 \[ 1198 \mathtt{decErr} = \frac{\mathtt{scale}}{3600} 1199 \sqrt{\sin^2(\mathtt{angle}) \mathtt{xErr}^2 + 1200 \cos^2(\mathtt{angle}) \mathtt{yErr}^2} 1201 \] 1202 \end{itemize} 1203 \item \texttt{seeing} is defined as the product of the mean of 1204 $\mathtt{fwhm}_\mathtt{maj}$ and $\mathtt{fwhm}_\mathtt{min}$ by the 1205 mean of the \texttt{scale} values for valid detections, that is: 1206 \[ 1207 \mathtt{seeing} = \frac{\mathtt{fwhm}_\mathtt{maj} + 1208 \mathtt{fwhm}_\mathtt{min}}{2} \times \frac{\sum_{\mathtt{valid\ 1209 detections}}(scale)}{\#(\mathtt{valid\ detections})} 1210 \] 1211 \item The number of valid detections is also kept (but not used). 1212 \item For each row of the \texttt{SkyChip.xfit} extension: 1213 \begin{itemize} 1214 \item This extension contains only a subset of the detections. Each 1215 row contains the index of the current detection which is the value 1216 associated to the keyword \texttt{IPP\_IDET}; 1217 \item Note that detections parameters whose index could not be found 1218 in the \texttt{SkyChip.xfit} extension are set to NaN. 1219 \item The following columns are extracted \texttt{X\_EXT}, 1220 \texttt{Y\_EXT}, \texttt{X\_EXT\_SIG}, \texttt{Y\_EXT\_SIG}, 1221 \texttt{EXT\_INST\_MAG}, \texttt{EXT\_INST\_MAG\_SIG}, 1222 \texttt{NPARAMS}, \texttt{EXT\_WIDTH\_MAJ}, \texttt{EXT\_WIDTH\_MIN}, 1223 \texttt{EXT\_THETA}, \texttt{EXT\_WIDTH\_MAJ\_ERR}, 1224 \texttt{EXT\_WIDTH\_MIN\_ERR}, and \texttt{EXT\_THETA\_ERR}. No check is 1225 performed on them at this stage. 1226 \end{itemize} 1227 \end{itemize} 1228 1229 At the end of this stage, all input files have been used to populate a 1230 collection of sets of detections. Let us call that collection $({\cal 1231 D}_{i})_{i \in \{1..n\}}$. Each of those sets contains data read 1232 from one file and it is important to note that only a few checks have 1233 been performed on the data (more precisely, only non-masked detections 1234 which have defined values have been inserted). The following cases can 1235 therefore happen: (1) Any ${\cal D}_i$ can be "empty", that is, does 1236 not contain any valdiated detection; (2) Some parameters like 1237 \texttt{seeing} can have an undefined value (e.g. \texttt{NaN}). 1238 1239 \subsection{Merging Detections} 1240 \label{sec-implementation-merge} 1241 1242 Source code: \texttt{src/ppMopsMerge.c}. 1243 1244 That part of the code essentially uses a kd-tree implementation to 1245 compare distances between detections. The collection of sets of 1246 detections will be called $({\cal D}_{i})_{i \in \{1..n\}}$ (see 1247 previous section). 1248 1249 \subsubsection{Checks} 1250 \label{sec-implementation-merge-checks} 1251 1252 Checks are performed on data that have been extracted from FITS files 1253 headers. Namely, they are: 1254 \begin{itemize} 1255 \item \texttt{raBoresight} constancy across all the detections; 1256 \item \texttt{decBoresight} constancy across all the detections; 1257 \item \texttt{filter} constancy across all the detections; 1258 \item \texttt{airmass} constancy across all the detections; 1259 \item \texttt{exptime} constancy across all the detections; 1260 \item \texttt{posangle} constancy across all the detections; 1261 \item \texttt{alt} constancy across all the detections; 1262 \item \texttt{az} constancy across all the detections; 1263 \item \texttt{mjd} constancy across all the detections; 1264 \end{itemize} 1265 1266 Any inconsistency displays an error and the program exits. 1267 1268 \subsubsection{kd-Tree Merging} 1269 \label{sec-implementation-merge-kdtree} 1270 1271 All valid detections are inserted into a kd-tree (using the 1272 \texttt{psTree} implementation). \texttt{ra} and \texttt{dec} are used 1273 as keys for the nearest neighbor search. An iteration over all valid 1274 detections is then performed. 1275 1276 The detection in a 1 arcsec neighborhood around the current valid 1277 detection which is the closest to the image center is chosen as the 1278 best candidate for the source. Then, the best of the candidates is 1279 chosen as the source. All other detections are considered duplicates, 1280 and marked as invalid, then removed from the detections set to which 1281 they belong. 1282 1283 Note that \texttt{numGood} which is supposed to give the number of 1284 valid detections is not updated. 1285 1286 \subsection{Writing Final Product} 1287 \label{sec-implementation-write} 1288 1289 Source code: \texttt{src/ppMopsWrite.c}. 1290 1291 To resolve any ambiguity, we will note the parameter named 1292 \texttt{param} which was built for the set of detections ${\cal 1293 D}_{i}$ will be denoted by ${\cal D}_{i}(\mathtt{param})$. 1294 1295 Note that, except for the parameters that have been checked at the 1296 merge stage (see paragraph~\ref{sec-implementation-merge-checks}), 1297 there is no guarantee that ${\cal D}_{i}(\mathtt{param}) = {\cal 1298 D}_{j}(\mathtt{param})$ when $i \neq j$. There is no guarantee to 1299 that ${\cal D}_{i}(\mathtt{param})$ is defined (in the mathematical 1300 sense), e.g. it could be \texttt{NaN}... 1301 1302 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1303 \subsubsection{Exposure Parameters: Header Details} 1304 \label{sec-implementation-write-header} 1305 1306 The first set of detections among the $({\cal D}_{i})_i$ that contains 1307 at least one valid detection is chosen. To fix ideas, let us denote 1308 it by ${\cal D}_{i_0}$. 1309 1310 The following parameters are written to the product FITS header: 1311 1312 \begin{itemize} 1313 \item \texttt{SWSOURCE} (Software source): Constructed from the SVN 1314 repository value. Generated when compiled. 1315 \item \texttt{SWVERSN} (Software version): Constructed from the SVN 1316 version value. Generated when compiled. 1317 \item \texttt{EXP\_NAME} (Exposure name): Set by \texttt{exp\_name} 1318 argument value; 1319 \item \texttt{EXP\_ID} (Exposure identifier): Set by \texttt{exp\_id} 1320 argument value; 1321 \item \texttt{CHIP\_ID} (Chip stage identifier): Set by 1322 \texttt{chip\_id} argument value; 1323 \item \texttt{CAM\_ID} (Cam stage identifier): Set by \texttt{cam\_id} 1324 argument value; 1325 \item \texttt{FAKE\_ID} (Fake stage identifier): Set by 1326 \texttt{fake\_id} argument value; 1327 \item \texttt{WARP\_ID} (Warp stage identifier): Set by 1328 \texttt{warp\_id} argument value; 1329 \item \texttt{DIFF\_ID} (Diff stage identifier): Set by 1330 \texttt{diff\_id} argument value; 1331 \item \texttt{DIFF\_POS} (Positive subtraction): Set by 1332 \texttt{inverse} argument value; 1333 \item \texttt{MJD-OBS} (MJD of exposure midpoint): Set by ${\cal 1334 D}_{i_0}(\mathtt{mjd})$. Uniqueness guaranteed by 1335 \ref{sec-implementation-merge-checks}; 1336 \item \texttt{RA} (Right Ascension of boresight): Set by ${\cal 1337 D}_{i_0}(\mathtt{raBoresight})$. Uniqueness guaranteed by 1338 \ref{sec-implementation-merge-checks}; 1339 \item \texttt{DEC} (Declination of boresight): Set by ${\cal 1340 D}_{i_0}(\mathtt{decBoresight})$. Uniqueness guaranteed by 1341 \ref{sec-implementation-merge-checks}; 1342 \item \texttt{TEL\_ALT} (Telescope altitude): Set by ${\cal 1343 D}_{i_0}(\mathtt{alt})$. Uniqueness guaranteed by 1344 \ref{sec-implementation-merge-checks}; 1345 \item \texttt{TEL\_AZ} (Telescope azimuth): Set by ${\cal 1346 D}_{i_0}(\mathtt{az})$. Uniqueness guaranteed by 1347 \ref{sec-implementation-merge-checks}; 1348 \item \texttt{EXPTIME} (Exposure time (sec)): Set by ${\cal 1349 D}_{i_0}(\mathtt{exptime})$. Uniqueness guaranteed by 1350 \ref{sec-implementation-merge-checks}; 1351 \item \texttt{ROTANGLE} (Rotator position angle): Set by ${\cal 1352 D}_{i_0}(\mathtt{rotangle})$. Uniqueness guaranteed by 1353 \ref{sec-implementation-merge-checks}; 1354 \item \texttt{FILTER} (Filter name): Set by ${\cal 1355 D}_{i_0}(\mathtt{filter})$. Uniqueness guaranteed by 1356 \ref{sec-implementation-merge-checks}; 1357 \item \texttt{AIRMASS} (Airmass of exposure): Set by ${\cal 1358 D}_{i_0}(\mathtt{airmass})$. Uniqueness guaranteed by 1359 \ref{sec-implementation-merge-checks}; 1360 \item \texttt{SEEING} (Mean seeing): Set by the median of defined (not 1361 \texttt{NaN}, not \texttt{Infinity}) of $({\cal 1362 D}_{i}(\mathtt{seeing}))_i$; 1363 \commentFromSC{2012-09-18}{Check if it is what we 1364 really expect. Take the example of 3 set of detections for which 1365 \texttt{seeing} is defined, assuming the first one contains 1000 1366 detections with a \texttt{seeing} of 1.0, the second one contains 1367 10 detections with a \texttt{seeing} of 2.0, the third one 10 1368 detections with a \texttt{seeing} of 3.0. Do we really want the 1369 global \texttt{seeing} value to be 2.0?}{} 1370 \item \texttt{OBSCODE} (IAU Observatory code): Hard-coded value 1371 defined in \texttt{src/ppMops.h} (value \texttt{F51}); 1372 \commentFromSC{2012-09-18}{I'm surprised that it's defined locally 1373 and not in some high-level project header file}{} 1374 \item \texttt{MAGZP} (Magnitude zero point): Set by \texttt{zp} 1375 argument value; 1376 \item \texttt{MAGZPERR} (Error in magnitude zero point): Set by 1377 \texttt{zp\_error} argument value; 1378 \item \texttt{ASTRORMS} (Error in magnitude zero point): Set by 1379 \texttt{astrom\_rms} argument value; 1380 \item \texttt{CMFVERSION} (CMF version): Set by \texttt{version} 1381 argument value but possibly modified by first \texttt{EXTTYPE} 1382 value; 1383 \commentFromSC{2012-09-18}{Depends on the order of the input FITS 1384 file and their \texttt{EXTTYPE} value (e.g. if \texttt{-version 0} 1385 is used as argument and two files are used, one with 1386 \texttt{EXTTYPE} of 1, the other with \texttt{EXTTYPE} of 1387 2). However we do not expect to have different values for 1388 \texttt{EXTTYPE}, do we?}{} 1389 \end{itemize} 1390 1391 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1392 \subsubsection{Detection Parameters: Extension Details} 1393 \label{sec-implementation-write-detection} 1394 1395 If no detection is present in any detections set, an extension is 1396 still created and contains exactly one row of undefined values 1397 (\texttt{NaN} for floating-point data, 0 for integral types). 1398 1399 To resolve any ambiguity, we will note the parameter named 1400 \texttt{param} which was built for the detection $j$ in the set of 1401 detections ${\cal D}_{i}$ will be denoted by ${\cal 1402 D}_{ij}(\mathtt{param})$ where \texttt{param} was defined in 1403 paragraph~\ref{sec-implementation-read}. When the \texttt{param} 1404 parameter is the exact copy of the value associated to the keyword 1405 \texttt{INPUT\_KEY}, we will write it as ${\cal 1406 D}_{ij}(\mathtt{INPUT\_KEY})$ (note the use of the uppercase 1407 letters). 1408 1409 For each detection $j$ in each detections set ${\cal D}_{i}$, the 1410 following products are written to the output FITS file: 1411 \begin{itemize} 1412 \item \texttt{RA} associated to ${\cal D}_{ij}(\mathtt{ra})$ (which is 1413 identical to ${\cal D}_{ij}(\mathtt{RA\_PSF})$); 1414 \item \texttt{RA\_ERR} associated to ${\cal D}_{ij}(\mathtt{raErr})$; 1415 \item \texttt{DEC} associated to ${\cal D}_{ij}(\mathtt{dec})$ (which 1416 is identical to ${\cal D}_{ij}(\mathtt{DEC\_PSF})$); 1417 \item \texttt{DEC\_ERR} associated to ${\cal 1418 D}_{ij}(\mathtt{decErr})$; 1419 \item \texttt{MAG} associated to ${\cal D}_{ij}(\mathtt{mag})$; 1420 \item \texttt{MAG\_ERR} associated to ${\cal D}_{ij}(\mathtt{magErr})$ 1421 (which is identical to ${\cal 1422 D}_{ij}(\mathtt{PSF\_INST\_MAG\_SIG})$); 1423 \item \texttt{PSF\_CHI2} associated to ${\cal 1424 D}_{ij}(\mathtt{PSF\_CHISQ})$; 1425 \item \texttt{PSF\_DOF} associated to ${\cal 1426 D}_{ij}(\mathtt{PSF\_NDOF})$; 1427 \item \texttt{CR\_SIGNIFICANCE} associated to ${\cal 1428 D}_{ij}(\mathtt{CR\_NSIGMA})$; 1429 \item \texttt{EXT\_SIGNIFICANCE} associated to ${\cal 1430 D}_{ij}(\mathtt{EXT\_NSIGMA})$; 1431 \item \texttt{PSF\_MAJOR} associated to ${\cal 1432 D}_{ij}(\mathtt{PSF\_MAJOR})$; 1433 \item \texttt{PSF\_MINOR} associated to ${\cal 1434 D}_{ij}(\mathtt{PSF\_MINOR})$; 1435 \item \texttt{PSF\_THETA} associated to ${\cal 1436 D}_{ij}(\mathtt{PSF\_THETA})$; 1437 \item \texttt{PSF\_QUALITY} associated to ${\cal 1438 D}_{ij}(\mathtt{PSF\_QF})$; 1439 \item \texttt{PSF\_NPIX} associated to ${\cal 1440 D}_{ij}(\mathtt{PSF\_NPIX})$; 1441 \item \texttt{MOMENTS\_XX} associated to ${\cal 1442 D}_{ij}(\mathtt{MOMENTS\_XX})$; 1443 \item \texttt{MOMENTS\_XY} associated to ${\cal 1444 D}_{ij}(\mathtt{MOMENTS\_XY})$; 1445 \item \texttt{MOMENTS\_YY} associated to ${\cal 1446 D}_{ij}(\mathtt{MOMENTS\_YY})$; 1447 \item \texttt{N\_POS} associated to ${\cal 1448 D}_{ij}(\mathtt{DIFF\_NPOS})$; 1449 \item \texttt{F\_POS} associated to ${\cal 1450 D}_{ij}(\mathtt{DIFF\_FRATIO})$; 1451 \item \texttt{RATIO\_BAD} associated to ${\cal 1452 D}_{ij}(\mathtt{DIFF\_NRATIO\_BAD})$; 1453 \item \texttt{RATIO\_MASK} associated to ${\cal 1454 D}_{ij}(\mathtt{DIFF\_NRATIO\_MASK})$; 1455 \item \texttt{RATIO\_ALL} associated to ${\cal 1456 D}_{ij}(\mathtt{DIFF\_NRATIO\_ALL})$; 1457 \item \texttt{FLAGS} associated to ${\cal D}_{ij}(\mathtt{FLAGS})$; 1458 \item \texttt{DIFF\_SKYFILE\_ID} associated to ${\cal 1459 D}_{i}(\mathtt{diffSkyfileId})$ (that is, the \texttt{diff\_id} of 1460 the file which was used to compute the difference); 1461 \item \texttt{IPP\_IDET} associated to ${\cal 1462 D}_{ij}(\mathtt{IPP\_DET})$ (since it is the position of the 1463 detection if the $i$th diff file, it is not very useful. However 1464 gaps in the numbering show that detections have been removed. 1465 \item \texttt{PSF\_INST\_FLUX} associated to ${\cal 1466 D}_{ij}(\mathtt{PSF\_INST\_FLUX})$; 1467 \item \texttt{PSF\_INST\_FLUX\_SIG} associated to ${\cal 1468 D}_{ij}(\mathtt{PSF\_INST\_FLUX\_SIG})$; 1469 \item \texttt{AP\_MAG} associated to ${\cal D}_{ij}(\mathtt{AP\_MAG})$; 1470 \item \texttt{AP\_MAG\_RAW} associated to ${\cal 1471 D}_{ij}(\mathtt{AP\_MAG\_RAW})$; 1472 \item \texttt{AP\_MAG\_RADIUS} associated to ${\cal 1473 D}_{ij}(\mathtt{AP\_MAG\_RADIUS})$; 1474 \item \texttt{AP\_FLUX} associated to ${\cal D}_{ij}(\mathtt{AP\_FLUX})$; 1475 \item \texttt{AP\_FLUX\_SIG} associated to ${\cal 1476 D}_{ij}(\mathtt{AP\_FLUX\_SIG})$; 1477 \item \texttt{PEAK\_FLUX\_AS\_MAG} associated to ${\cal 1478 D}_{ij}(\mathtt{PEAK\_FLUX\_AS\_MAG})$; 1479 \item \texttt{CAL\_PSF\_MAG} associated to ${\cal 1480 D}_{ij}(\mathtt{CAL\_PSF\_MAG})$; 1481 \item \texttt{CAL\_PSF\_MAG\_SIG} associated to ${\cal 1482 D}_{ij}(\mathtt{CAL\_PSF\_MAG\_SIG})$; 1483 \item \texttt{SKY} associated to ${\cal D}_{ij}(\mathtt{SKY})$; 1484 \item \texttt{SKY\_SIGMA} associated to ${\cal D}_{ij}(\mathtt{SKY\_SIGMA})$; 1485 \item \texttt{PSF\_QF\_PERFECT} associated to ${\cal 1486 D}_{ij}(\mathtt{PSF\_QF\_PERFECT})$; 1487 \item \texttt{MOMENTS\_R1} associated to ${\cal D}_{ij}(\mathtt{MOMENTS\_R1})$; 1488 \item \texttt{MOMENTS\_RH} associated to ${\cal D}_{ij}(\mathtt{MOMENTS\_RH})$; 1489 \item \texttt{KRON\_FLUX} associated to ${\cal D}_{ij}(\mathtt{KRON\_FLUX})$; 1490 \item \texttt{KRON\_FLUX\_ERR} associated to ${\cal 1491 D}_{ij}(\mathtt{KRON\_FLUX\_ERR})$; 1492 \item \texttt{KRON\_FLUX\_INNER} associated to ${\cal 1493 D}_{ij}(\mathtt{KRON\_FLUX\_INNER})$; 1494 \item \texttt{KRON\_FLUX\_OUTER} associated to ${\cal 1495 D}_{ij}(\mathtt{KRON\_FLUX\_OUTER})$; 1496 \item \texttt{DIFF\_R\_P} associated to ${\cal 1497 D}_{ij}(\mathtt{DIFF\_R\_P})$; 1498 \item \texttt{DIFF\_SN\_P} associated to ${\cal 1499 D}_{ij}(\mathtt{DIFF\_SN\_P})$; 1500 \item \texttt{DIFF\_R\_M} associated to ${\cal 1501 D}_{ij}(\mathtt{DIFF\_R\_M})$; 1502 \item \texttt{DIFF\_SN\_M} associated to ${\cal 1503 D}_{ij}(\mathtt{DIFF\_SN\_M})$; 1504 \item \texttt{FLAGS2} associated to ${\cal D}_{ij}(\mathtt{FLAGS2})$; 1505 \item \texttt{N\_FRAMES} associated to ${\cal 1506 D}_{ij}(\mathtt{N\_FRAMES})$; 1507 \item \texttt{PADDING} associated to ${\cal 1508 D}_{ij}(\mathtt{PADDING})$; 1509 \item \texttt{X\_EXT} associated to ${\cal D}_{ij}(\mathtt{X\_EXT})$; 1510 \item \texttt{Y\_EXT} associated to ${\cal D}_{ij}(\mathtt{Y\_EXT})$; 1511 \item \texttt{X\_EXT\_SIG} associated to ${\cal 1512 D}_{ij}(\mathtt{X\_EXT\_SIG})$; 1513 \item \texttt{Y\_EXT\_SIG} associated to ${\cal 1514 D}_{ij}(\mathtt{Y\_EXT\_SIG})$; 1515 \item \texttt{EXT\_INST\_MAG} associated to ${\cal 1516 D}_{ij}(\mathtt{EXT\_INST\_MAG})$; 1517 \item \texttt{EXT\_INST\_MAG\_SIG} associated to ${\cal 1518 D}_{ij}(\mathtt{EXT\_INST\_MAG\_SIG})$; 1519 \item \texttt{NPARAMS} associated to ${\cal 1520 D}_{ij}(\mathtt{NPARAMS})$; 1521 \item \texttt{EXT\_WIDTH\_MAJ} associated to ${\cal 1522 D}_{ij}(\mathtt{EXT\_WIDTH\_MAJ})$; 1523 \item \texttt{EXT\_WIDTH\_MIN} associated to ${\cal 1524 D}_{ij}(\mathtt{EXT\_WIDTH\_MIN})$; 1525 \item \texttt{EXT\_THETA} associated to ${\cal 1526 D}_{ij}(\mathtt{EXT\_THETA})$; 1527 \item \texttt{EXT\_WIDTH\_MAJ\_ERR} associated to ${\cal 1528 D}_{ij}(\mathtt{EXT\_WIDTH\_MAJ\_ERR})$; 1529 \item \texttt{EXT\_WIDTH\_MIN\_ERR} associated to ${\cal 1530 D}_{ij}(\mathtt{EXT\_WIDTH\_MIN\_ERR})$; 1531 \item \texttt{EXT\_THETA\_ERR} associated to ${\cal 1532 D}_{ij}(\mathtt{EXT\_THETA\_ERR})$; 1533 \end{itemize} 1534 1535 \subsection{Testing} 1536 \label{sec-implementation-test} 1537 1538 No test data have been provided. 1539 1540 \commentFromSC{2012-09-18}{No data exists to test the software. It 1541 would be good to make sure that the products are consistent at least 1542 (1) From one software release to another; (2) From one software 1543 execution to another; (3) To check if the product depends one the 1544 order in which the input data are ingested and processed. Stress 1545 tests could also be imagined, e.g. involving large data sets}{ } 1546 1547 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1548 \newpage 1549 \section{Obsolete Stuff?} 1550 1551 TODO (SC): The following stuff seems obsolete. Tell me if I can remove it. 769 1552 770 1553 \subsection{IPP to MOPS} … … 797 1580 \hline 798 1581 Detectability Query & \code{MOPS_DETECTABILITY_QUERY} & table of detectability query tuples (RA, Dec, FPA) \\ 799 \end{tabular}800 \end{center}801 \end{table}802 803 \subsection{Acronyms}804 805 \begin{table}[htbp]806 \begin{center}807 \small808 \caption{Acronyms used in this document\label{table-acronyms}}809 \begin{tabular}{ll}810 \hline811 \hline812 {\bf Acronym} & {\bf Definition} \\813 \hline814 MOPS & Pan-STARRS Moving Object Processing System \\815 IPP & Pan-STARRS Image Processing Pipeline \\816 FPA & Focal plane array \\817 MPC & Center for Astrophysics Minor Planet Center \\818 \hline819 1582 \end{tabular} 820 1583 \end{center} … … 841 1604 \end{itemize} 842 1605 843 \subsection{Example}844 \label{sec-example}845 846 \begin{verbatim}847 XTENSION= 'BINTABLE' / binary table extension848 BITPIX = 8 / 8-bit bytes849 NAXIS = 2 / 2-dimensional binary table850 NAXIS1 = 120 / width of table in bytes851 NAXIS2 = 42032 / number of rows in table852 PCOUNT = 0 / size of special data area853 GCOUNT = 1 / one data group (required keyword)854 TFIELDS = 25 / number of fields in each row855 TTYPE1 = 'RA ' / label for field 1856 TFORM1 = '1D ' / data format of field: 8-byte DOUBLE857 TTYPE2 = 'RA_ERR ' / label for field 2858 TFORM2 = '1D ' / data format of field: 8-byte DOUBLE859 TTYPE3 = 'DEC ' / label for field 3860 TFORM3 = '1D ' / data format of field: 8-byte DOUBLE861 TTYPE4 = 'DEC_ERR ' / label for field 4862 TFORM4 = '1D ' / data format of field: 8-byte DOUBLE863 TTYPE5 = 'MAG ' / label for field 5864 TFORM5 = '1E ' / data format of field: 4-byte REAL865 TTYPE6 = 'MAG_ERR ' / label for field 6866 TFORM6 = '1E ' / data format of field: 4-byte REAL867 TTYPE7 = 'PSF_CHI2' / label for field 7868 TFORM7 = '1E ' / data format of field: 4-byte REAL869 TTYPE8 = 'PSF_DOF ' / label for field 8870 TFORM8 = '1J ' / data format of field: 4-byte INTEGER871 TTYPE9 = 'CR_SIGNIFICANCE' / label for field 9872 TFORM9 = '1E ' / data format of field: 4-byte REAL873 TTYPE10 = 'EXT_SIGNIFICANCE' / label for field 10874 TFORM10 = '1E ' / data format of field: 4-byte REAL875 TTYPE11 = 'PSF_MAJOR' / label for field 11876 TFORM11 = '1E ' / data format of field: 4-byte REAL877 TTYPE12 = 'PSF_MINOR' / label for field 12878 TFORM12 = '1E ' / data format of field: 4-byte REAL879 TTYPE13 = 'PSF_THETA' / label for field 13880 TFORM13 = '1E ' / data format of field: 4-byte REAL881 TTYPE14 = 'PSF_QUALITY' / label for field 14882 TFORM14 = '1E ' / data format of field: 4-byte REAL883 TTYPE15 = 'PSF_NPIX' / label for field 15884 TFORM15 = '1J ' / data format of field: 4-byte INTEGER885 TTYPE16 = 'MOMENTS_XX' / label for field 16886 TFORM16 = '1E ' / data format of field: 4-byte REAL887 TTYPE17 = 'MOMENTS_XY' / label for field 17888 TFORM17 = '1E ' / data format of field: 4-byte REAL889 TTYPE18 = 'MOMENTS_YY' / label for field 18890 TFORM18 = '1E ' / data format of field: 4-byte REAL891 TTYPE19 = 'N_POS ' / label for field 19892 TFORM19 = '1J ' / data format of field: 4-byte INTEGER893 TTYPE20 = 'F_POS ' / label for field 20894 TFORM20 = '1E ' / data format of field: 4-byte REAL895 TTYPE21 = 'RATIO_BAD' / label for field 21896 TFORM21 = '1E ' / data format of field: 4-byte REAL897 TTYPE22 = 'RATIO_MASK' / label for field 22898 TFORM22 = '1E ' / data format of field: 4-byte REAL899 TTYPE23 = 'RATIO_ALL' / label for field 23900 TFORM23 = '1E ' / data format of field: 4-byte REAL901 TTYPE24 = 'FLAGS ' / label for field 24902 TFORM24 = '1J ' / data format of field: 4-byte INTEGER903 TZERO24 = 2147483648 / offset for unsigned integers904 TSCAL24 = 1 / data are not scaled905 TTYPE25 = 'DIFF_SKYFILE_ID' / label for field 25906 TFORM25 = '1K ' / data format of field: 8-byte INTEGER907 SWSOURCE= '60eb6cdc-a59c-4636-a4e0-dba66a9721fd' / Software source908 SWVERSN = 'branches/pap_mops/ppMops@25227' / Software version909 HISTORY ppMops at 2009-09-02T03:48:46.695783910 HISTORY psLib version: branches/pap_mops/psLib@25227911 HISTORY psLib source: 60eb6cdc-a59c-4636-a4e0-dba66a9721fd912 HISTORY ppMops version: branches/pap_mops/ppMops@25227913 HISTORY ppMops source: 60eb6cdc-a59c-4636-a4e0-dba66a9721fd914 EXP_NAME= 'o4995g0129o' / Exposure name915 EXP_ID = 77164 / Exposure identifier916 CHIP_ID = 24019 / Chip stage identifier917 CAM_ID = 17726 / Cam stage identifier918 FAKE_ID = 10227 / Fake stage identifier919 WARP_ID = 8842 / Warp stage identifier920 DIFF_ID = 19219 / Diff stage identifier921 DIFF_POS= F / Positive subtraction?922 MJD-OBS = 54995.4740598313 / MJD of exposure midpoint923 RA = '18:25:01.988' / Right Ascension of boresight924 DEC = '-17:20:40.069' / Declination of boresight925 TEL_ALT = 51.951873 / Telescope altitude926 TEL_AZ = 179.483883 / Telescope azimuth927 EXPTIME = 38. / Exposure time (sec)928 ROTANGLE= 333.1039 / Rotator position angle929 FILTER = 'r.00000 ' / Filter name930 AIRMASS = 1.269 / Airmass of exposure931 OBSCODE = 'F51 ' / IAU Observatory code932 SEEING = 1.678401 / Mean seeing933 MAGZP = 28.65226 / Magnitude zero point934 MAGZPERR= 0.353063 / Error in magnitude zero point935 ASTRORMS= 0.3111496 / RMS of astrometric fit936 EXTNAME = 'MOPS_TRANSIENT_DETECTIONS'937 \end{verbatim}938 939 940 1606 \end{document} 941 1607
Note:
See TracChangeset
for help on using the changeset viewer.
