Changeset 2192
- Timestamp:
- Oct 21, 2004, 6:43:35 PM (22 years ago)
- Location:
- trunk/doc/design
- Files:
-
- 2 edited
-
ippSDRS.tex (modified) (80 diffs)
-
ippSRS.tex (modified) (17 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/design/ippSDRS.tex
r2186 r2192 1 %%% $Id: ippSDRS.tex,v 1.1 0 2004-10-21 03:55:59eugene Exp $1 %%% $Id: ippSDRS.tex,v 1.11 2004-10-22 04:43:35 eugene Exp $ 2 2 \documentclass[panstarrs]{panstarrs} 3 3 … … 6 6 \subtitle{Supplementary Design Requirements Specification} 7 7 \shorttitle{IPP SDRS} 8 \audience{Pan-STARRS PMO} 8 9 \author{Eugene Magnier, Paul Price, Josh Hoblitt} 9 10 \group{Pan-STARRS Algorithm Group} … … 30 31 31 32 \listoffigures 32 33 \begin{verbatim}34 TODOs35 - add hardware org diagram to section 336 - clean 3.4 system ifs: describe types of interactions, which are push which are pull?37 - 3.5: move to 3.1? summary of requirements?38 - add Image Server figure39 - discuss AP DB operations: addstar, delstar, relphot, etc40 - discuss AP DB throughput issues41 - unify controller discussion42 - scheduler: distinguish states43 \end{verbatim}44 33 45 34 \pagebreak … … 169 158 170 159 The users of the IPP output are all systems internal to the Pan-STARRS 171 project. They consist of the Transient Science Client, which will 172 receive the detections of transient objects on short time-scales; the 173 Moving Object Processing System (MOPS), which will receive the 174 detections of non-stationary transient objects on day-to-week 175 timescales; and the Published Science Products Subsystem (PSPS), which 176 will receive all data products of interest to the outside world, and 177 will act as the long-term archive and publishing clearinghouse. 178 179 The primary IPP hardware system on which the software operates will 180 not be located at the summit. Instead, because of thermal, power, and 181 space constraints, the hardware will likely be located in a facility 182 off the mountain. A subset of processing tasks may eventually be 183 assigned to machines at the summit if justified by the savings in data 184 transfer time and cost. 160 project. They consist of: 1) the Preferred Science Clients, which 161 receive specified data products on short timescales. 2) the Moving 162 Object Processing System (MOPS), which is one of the Preferred Science 163 Clients, but has the distinction of being a component funded by 164 Pan-STARRS. It will receive the detections of non-stationary 165 transient objects. 3) the Published Science Products Subsystem 166 (PSPS), which will receive all data products of interest to the 167 outside world, and will act as the long-term archive and publishing 168 clearinghouse. 169 170 The IPP receives data from two Pan-STARRS subsystems: the Camera, from 171 which it receives the large volume of image data, and OTIS 172 (Observatory, Telesope and Infrastructure Subsystem), from which it 173 receives metadata describing the images and the environmental 174 conditions. The primary IPP hardware system on which the software 175 operates will not be located at the summit. Instead, because of 176 thermal, power, and space constraints, the hardware will likely be 177 located in a facility off the mountain. A subset of processing tasks 178 may eventually be assigned to machines at the summit if justified by 179 the savings in data transfer time and cost. 180 181 The Pan-STARRS camera produces images consisting of multiple chips 182 (Orthogonal Transfer Arrays or OTAs), each consisting of multiple 183 cells (continuous set of pixels). The baseline design for the 184 Pan-STARRS camera contains 64 chips each with 64 cells. 185 185 186 186 This document defines the design requirements of the IPP for the PS-1 … … 195 195 several important ways. First, with only one telescope and camera, 196 196 the data throughput rate is substantially reduce to a maximum of 1 197 64-OTA image per 40 seconds rather than 4. In addition, much of the 198 PS-1 mission will be devoted to calibration and testing which will 199 imply a different level of processing. For a significant fraction of 200 PS-1, data will be obtained for the AP Survey covering the entire 201 $3\pi$ steradians of the sky accessible to PS-4. These images will 202 not initially be analysed to the level of having multiple images 203 combined. Rather, the analysis will only be performed for individual 204 focal plane array images. Only after the AP Survey is done, the 205 analysis process has been validated, and the complete AP Survey 206 reference catalog has been generated will it be possible to generate 207 the first epoch static sky image, rougly 18 months into the PS-1 208 mission. This difference in approach has implications for the storage 209 required by PS-1: rather than delete images soon after they have been 210 used, raw images must be stored for at least the first 18 months of 211 PS-1 operations. 197 64-OTA image per 40 seconds rather than 4. Since PS-1 is a prototype 198 for testing the Pan-STARRS hardware and software subsystems, the 199 observing strategy is not a fixed quantity. The PS-1 Design Reference 200 Mission (PSDC-xxx) provides some guidelines for the types of projects 201 to be performed, including starting an AP Survey which will eventually 202 cover the entire $3\pi$ steradians of the sky accessible to PS-4. As 203 a prototype, it is expected that much of the data collected by PS-1 204 will be processed multiple times to test and tune the analysis steps. 205 This difference in approach has implications for the storage required 206 by PS-1: rather than delete images soon after they have been used, raw 207 images must be stored for at least the first 18 months of PS-1 208 operations. We have used the PS-1 Design Reference Mission as a 209 baseline for these storage requirements to drive our hardware design. 212 210 213 211 \subsection{System Design Decisions} 214 212 215 Since Pan-STARRS is a survey project, all data from the telescopes will be216 uniformly analysed by the Pan-STARRS Image Processing Pipeline (IPP) and 217 the appropriate resulting data products made available to internal and 218 external science analysis systems as they become available. The219 processing performed by the IPP on the science images will consist of 220 detrending and object detection for the individual images, combination 221 of multiple overlapping images and further object detection, 222 subtraction of a reference (static-sky) image and detection of 223 residual objects, update of the static sky images, and detailed object 224 analysis of the static sky images. In addition, the IPP will produce 225 improved astrometric and photometric reference catalogs on an213 Since Pan-STARRS is a survey project, all data from the telescopes 214 will be uniformly analysed by the Pan-STARRS Image Processing Pipeline 215 (IPP) and the appropriate resulting data products made available to 216 internal and external science analysis systems as they become 217 available. The processing performed by the IPP on the science images 218 will consist of detrending and object detection for the individual 219 images, combination of multiple overlapping images and further object 220 detection, subtraction of a reference (static-sky) image and detection 221 of residual objects, update of the static sky images, and detailed 222 object analysis of the static sky images. In addition, the IPP will 223 produce improved astrometric and photometric reference catalogs on an 226 224 occasional basis as needed. The output data products from the IPP 227 225 consist of the calibration images, reduced images from the individual 228 226 telescopes, combined images, difference images, the static sky image, 229 227 object photometry, and reference astrometry and photometry. 230 231 The IPP interacts closely with other Pan-STARRS systems responsible for232 other aspects of the Pan-STARRS operation, including the summit systems233 (OATS), the science object database, the Moving Object Processing234 System (MOPS), and potentially other client science pipelines.235 228 236 229 The requirements for the IPP, as identified in the IPP SRS (PSDC-REF) … … 264 257 265 258 Depending on the particular stage, it may process individual images, 266 collections of images, or onderived data products. Because of the259 collections of images, or derived data products. Because of the 267 260 nature of the image data, many of the analysis stages can be run in 268 parallel because, for example, the analysis of a chip in one image269 d oes not depend on the results from another chip.261 parallel. For example, the analysis of a chip in one image does not 262 depend on the results from another chip. 270 263 271 264 \subsection{Architectural Components} 265 266 \begin{figure} 267 \begin{center} 268 \resizebox{6in}{!}{\includegraphics{pics/IPPoverview}} 269 \caption{ \label{overview} IPP System Overview} 270 \end{center} 271 \end{figure} 272 272 273 273 In order to achieve the required functionality, the IPP provides an … … 324 324 \begin{figure} 325 325 \begin{center} 326 \resizebox{6in}{!}{\includegraphics{pics/IPPoverview}}327 \caption{ \label{overview} IPP System Overview}328 \end{center}329 \end{figure}330 331 \subsection{IPP Hardware Organization}332 333 \begin{figure}334 \begin{center}335 326 \resizebox{4.5in}{!}{\includegraphics{pics/IPPhardware}} 336 327 \caption{ \label{hardware} IPP Hardware Organization} 337 328 \end{center} 338 329 \end{figure} 330 331 \subsection{IPP Hardware Organization} 339 332 340 333 The IPP needs substantial computer resources, both in terms of … … 356 349 those that provide the storage for the other data systems, the 357 350 Metadata Database and the AP Database. In addition, the computational 358 tasks related to Phase 2 take place on the per-OTA storage nodes and 359 the Phase 4 computation takes place on the static sky storage nodes. 351 tasks related to the individual images take place on the per-OTA 352 storage nodes and the processing of stacks of images takes place on 353 the static sky storage nodes. 360 354 361 355 Figure~\ref{hardware} shows our basic concept for the hardware 362 356 organization for the IPP. This diagram shows the two types of compute 363 nodes: OTA-level processing and storage nodes (dominated by Phase 2)364 and static sky processing and storage nodes (mostly Phase 4). Also 365 shown are two switches which divide the network into OTA and 366 Static-Sky portions. In such an organization, the interswitch 367 communication must meet the throughput needs between these network 368 portions. The additional data systems (Metadata Database and AP 369 Database) are also shown.357 nodes: OTA-level processing and storage nodes and static sky 358 processing and storage nodes. Also shown are two switches which 359 divide the network into OTA and Static-Sky portions. In such an 360 organization, the interswitch communication must meet the throughput 361 needs between these network portions (though a single switch may also 362 be used if its backplane capacity is sufficient). The additional data 363 systems (Metadata Database and AP Database) are also shown. 370 364 371 365 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% … … 390 384 across a collection of computer nodes, each with their own data 391 385 storage resources. Any single file is stored on only a single 392 computer and storage system. In order to achieve the data throughput386 computer and storage device. In order to achieve the data throughput 393 387 requirements, the IPP Image Server may distribute the images across 394 388 the processor nodes in an organized fashion, i.e., associating … … 405 399 406 400 \item {\bf instance} A single copy of the storage object in the Image 407 Server. In general, given storage object may have several instances401 Server. In general, a given storage object may have several instances 408 402 in the Image Server, normally on different computer nodes. 409 403 … … 413 407 \end{itemize} 414 408 415 The Image Server provides file pointers (in C), handles (in Perl), or 416 file names corresponding to the instances of the storage objects. The 417 Image Server provides the data organization but does not define a file 418 system; it assumes the existence of an appropriate file system which 419 provides makes the files visible as local files. This may be done 420 over many machines with a network file system such as NFS or GFS. 409 The Image Server provides file pointers (in C), handles (in Perl or 410 Python), or file names corresponding to the instances of the storage 411 objects. The Image Server provides the data organization but does not 412 define a file system; it assumes the existence of an appropriate file 413 system which makes the files visible as local files. This 414 may be done over many machines with a network file system such as NFS 415 or GFS. 421 416 422 417 The IPP Image Server provides the storage and access mechanisms, but … … 432 427 \item Image Server daemon 433 428 \item Image Server client APIs 429 \item Image Server maintainence tools 434 430 \end{itemize} 435 431 … … 445 441 446 442 Clients interact with the IPP Image Server via a small number of C 447 APIs (Bindings are also provided for Perl and Python ). The client448 commands are:443 APIs (Bindings are also provided for Perl and Python and UNIX shell 444 commands in some cases). The client commands are: 449 445 450 446 \begin{itemize} … … 455 451 node name on which the new storage object must be located. If this 456 452 target is not given, the Image Server places the new storage object 457 on an appropriate machine from the pool (least filled? most data?458 randomized? the details need to be decided).453 on an appropriate machine from the pool, though the details need to 454 be specified. 459 455 460 456 \item {\tt open object}: open an instance of an existing storage … … 474 470 specified storage object, including the number of instances of the object. 475 471 476 \item {\tt increment object count}: adds a new instance of the given477 storage object. The target node may be optionally specified,478 otherwise an appropriate node is selected.479 480 \item {\tt decrement object count}: removes one of the instances of481 the storage object. The input parameters may optionally specify the482 target machine to delete.472 \item {\tt replicate object}:a new instance of the given storage 473 object. The target node may be optionally specified, otherwise an 474 appropriate node is selected. 475 476 \item {\tt cull object}: removes one of the instances of the storage 477 object. The input parameters may optionally specify the target 478 machine to delete. 483 479 484 480 \item {\tt delete object}: deletes all instances of the storage object … … 499 495 about the data storage objects, their instances, and the available 500 496 hardware resources. A {\tt mysql} database engine is used to manage 501 the database . The database tables defined for the Image Server are502 listed in Table~\ref{ImageServerTables}, and their current contents 503 are listed in Appendix A. This database engine need not the same one 504 asthe one used for othe IPP subsystems.497 the database table. The database tables defined for the Image Server 498 are listed in Table~\ref{ImageServerTables}, and their contents are 499 listed in Appendix A. This database engine need not the same one as 500 the one used for othe IPP subsystems. 505 501 % 506 502 \begin{table} … … 533 529 The IPP Image Server provides a collection of administration tools 534 530 which allow for maintainence. These are operations which may be 535 automatically scheduled forthe IPP or which may be initiated by a531 automatically scheduled by the IPP or which may be initiated by a 536 532 human via a command-shell interface. The maintainence functions 537 533 include migrating data between nodes to rebalance the available space … … 540 536 for file corruption, which involves sweeping all files on a data 541 537 volume and comparing the calculated file checksum to the currently 542 recorded value. 538 recorded value. 543 539 544 540 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 545 541 546 542 \subsection{Metadata Database} 547 548 The IPP Metadata Database acts as a repository for all non-pixel data 543 \label{Metadata} 544 545 The IPP Metadata Database acts as a repository for non-pixel data 549 546 needed by the IPP subsystems. This includes the image metadata, the 550 547 environmental data, system configuration data and system reference 551 548 data. The Metadata Database is required to save the non-ephemeral 552 549 data for the lifetime of the project for future reference and 553 additional analysis. The Metadata Database may potentially be used in 554 close coupling with the analysis pipelines to store temporary data 555 either within or between stages of the analysis. In this scenario, 556 the analysis pipeline will interact directly with the database. 557 However, database latency may make this scenario impractical, in which 558 case the database may be used for long-term storage only. In this 559 scenario, the data produced by analysis pipelines which is destined 560 for the Metadata Database may be collected and inserted by a separate, 561 dedicated process or analysis pipeline collection of processes. 562 Metadata which is large in volume or poorly structure may also be 563 stored in an appropriate container file (FITS Table, FITS Header, XML 564 File) in the Image Server with the Metadata DB providing pointers to 565 these files. 550 additional analysis. The Metadata Database may be used in close 551 coupling with the analysis pipelines to store temporary data either 552 within or between stages of the analysis. In this scenario, the 553 analysis pipeline will interact directly with the database. However, 554 database latency may make this scenario impractical, in which case the 555 database may be used for long-term storage only. In this scenario, 556 the data produced by analysis pipelines which is destined for the 557 Metadata Database may be collected and inserted by a separate, 558 dedicated process. Metadata which is large in volume or poorly 559 structure may also be stored in an appropriate container file (FITS 560 Table, FITS Header, XML File) in the Image Server with the Metadata DB 561 providing pointers to these files. 566 562 567 563 The IPP Metadata Database is a simple database system, consisting of a … … 569 565 \code{mysql} database engine will be used to drive the database. 570 566 571 \subsubsection{Metadata Tables} 572 \label{Metadata} 573 574 The complete contents of the Metadata Database will not be completely 575 specified until the complete collection of data analysis scripts are 576 available. Even so, we can make a good first pass at the likely 577 collection of long-term tables, and some of the temporary processing 578 tables. Table~\ref{MetadtaDBTables} lists the Metadata tables 579 identified to date for the Metadata Database. The contents of these 580 tables are outlined in Appendix~\ref{MetadataContents}, with examples 581 for the data entries and thier data types in many cases. 582 583 \subsubsection{Metadata Queries} 584 585 The IPP provides simple queries to the Metadata Database tables using 586 autocoded APIs. These queries allow for a single row or a simple 587 collection of rows based on the primary key. The format of the API is 588 identical for all Metadata tables. New tables and APIs can be added 589 to the IPP system by adding to the autocoding table description 590 files. See Appendix~\ref{Autocode} for futher information. 591 592 \begin{table} 567 \begin{table}[hb] 593 568 \begin{center} 594 569 \caption{Metadata Database Tables\label{MetadataDBTables}} … … 619 594 \end{table} 620 595 596 \subsubsection{Metadata Tables} 597 598 The contents of the Metadata Database will not be completely specified 599 until the complete collection of data analysis scripts are available. 600 Even so, we can identify the likely collection of long-term tables, 601 and some of the temporary processing tables. 602 Table~\ref{MetadtaDBTables} lists the Metadata tables identified to 603 date for the Metadata Database. The contents of these tables are 604 outlined in Appendix~\ref{MetadataContents}, with examples for the 605 data entries and thier data types in many cases. 606 607 \subsubsection{Metadata Queries} 608 609 The IPP provides simple queries to the Metadata Database tables using 610 autocoded APIs. These queries return a single row or a collection of 611 rows based on the primary key. The format of the API is identical for 612 all Metadata tables. New tables and APIs can be added to the IPP 613 system by adding to the autocoding table description files. See 614 Appendix~\ref{Autocode} for futher information. 615 621 616 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 622 617 … … 636 631 those supplied by external references. These may be treated as {\em 637 632 detections}, with the caveat that access to the raw measurements and 638 metadata are usually unavailable ;the reported measurements and errors633 metadata are usually unavailable: the reported measurements and errors 639 634 must be accepted as they are reported. 640 635 … … 645 640 The AP Database also makes it possible to extract all detections 646 641 derived from a specific image and to determine quantities such as the 647 coordinates of the detection in pixel coordinateson the image.642 pixel coordinates of the detection on the image. 648 643 649 644 The AP Database also has the capability to associate multiple … … 710 705 filters. 711 706 707 \begin{figure} 708 \begin{center} 709 \resizebox{4.5in}{!}{\includegraphics{pics/APDB}} 710 \caption{AP DB components} 711 \label{fig:APDBRegions} 712 \end{center} 713 \end{figure} 714 712 715 The AP Database provides interfaces to extract lists of objects and 713 716 detections based on various query parameters. It provides the … … 749 752 750 753 The specific subtable of {\tt Images} which contains a given image is 751 th atone which contains the center pixel \tbr{or 0,0 pixel} of that754 the one which contains the center pixel \tbr{or 0,0 pixel} of that 752 755 image. An additional table group, {\tt Image Overlaps} (with the same 753 756 subtable organization as the {\tt Images} subtables), lists images 754 757 which overlap that specific subtable. Thus, given a particular 755 758 coordinate, in order to find that images which overlap that 756 coordinate, it is necessary to loadthe images in the {\tt Images}759 coordinate, it is necessary to search the images in the {\tt Images} 757 760 subtable which includes that coordinate, and all images in the {\tt 758 ImageOverlaps} table for that coordinate. 761 ImageOverlaps} subtable for that coordinate. 762 763 \begin{table}[hb] 764 \begin{center} 765 \caption{AP Database Tables\label{APDBTables}} 766 \begin{tabular}{ll} 767 \hline 768 \hline 769 {\bf Table Name} & {\bf Description} \\ 770 \hline 771 Images & The images that have objects in the DB. \\ 772 Image Overlaps & Image regions which are touched by specific images. \\ 773 Objects & The objects --- average properties of multiple detections of the same object. \\ 774 Average Magnitudes & Average photometry in multiple filters \\ 775 Matched Detections & Detections of sources in an image identified with an Object. \\ 776 Orphaned Detections & Detections of sources in an image not identified with an Object. \\ 777 Non-detections & Non-detections of objects in an image. \\ 778 Region Table & spatial distribution of tables \\ 779 Filters & Filters understood by the system. \\ 780 Photcodes & Transformations between different photometric systems \\ 781 Database Machines & computers used to store the tables \\ 782 % Zero Points & Transformations between different photometric systems \\ 783 % Distortion Models & Transformations between different photometric systems \\ 784 % Solar System Objects & Identification of solar system objects \\ 785 \hline 786 \end{tabular} 787 \end{center} 788 \end{table} 759 789 760 790 The {\tt Objects} table group (also divided by region) stores the … … 776 806 detections associated with the average {\tt Objects}. As discussed 777 807 below, bright objects (above a configuration-specified signal-to-noise 778 level) are assigned an object even if only one detection has been779 found at that position. Faint orphaned objects are not added to this 780 list orthe list of objects. The different types of detections (P2,808 level) are defined object even if only one detection has been found at 809 that position. Faint orphaned objects are not added to this list or 810 the list of objects. The different types of detections (P2, 781 811 P4$\Delta$, P4$\Sigma$) are distinguished by their photometry codes. 782 \tbr{This is only valid if the AP Database does not store different783 quantities for these types of detections }812 (This is only valid if the AP Database does not store different 813 quantities for these types of detections.) 784 814 785 815 The {\tt Orphaned Detections} table stores the detections which have 786 816 not been correlated with an existing object. This table is only 787 817 populated for objects below a configuration-specified signal-to-noise 788 limit . Otherwise, even orphaned detections are assigned an object and789 added to the {\tt Matched Detections} table.818 limit (eg 5$\sigma$). Bright orphaned detections are assigned an 819 object and added to the {\tt Matched Detections} table. 790 820 791 821 The {\tt Non-detections} table stores information about detection … … 816 846 to serve the database tables. The region file specifies the machine 817 847 which stores the specific table. Figure~\ref{ABDBRegions} illustrates 818 sch amatically the subdivision of the sky and the association between848 schematically the subdivision of the sky and the association between 819 849 different levels of the hierarchy with different subtables. 820 821 The {\tt Filters} table identifies all of the physical filters822 (specific, named pieces of glass) known to the system. A related823 table, {\tt Photcodes}, defines relationships between specific824 photometry systems. A system may consist of a detector, telescope,825 and specific filter, or it may be a derived photometry system. The826 {\tt Database Machines} table identifies all of the computers827 available to the AP Database.828 829 \begin{table}830 \begin{center}831 \caption{AP Database Tables\label{APDBTables}}832 \begin{tabular}{ll}833 \hline834 \hline835 {\bf Table Name} & {\bf Description} \\836 \hline837 Images & The images that have objects in the DB. \\838 Image Overlaps & Image regions which are touched by specific images. \\839 Objects & The objects --- average properties of multiple detections of the same object. \\840 Average Magnitudes & Average photometry in multiple filters \\841 Matched Detections & Detections of sources in an image identified with an Object. \\842 Orphaned Detections & Detections of sources in an image not identified with an Object. \\843 Non-detections & Non-detections of objects in an image. \\844 Region Table & spatial distribution of tables \\845 Filters & Filters understood by the system. \\846 Photcodes & Transformations between different photometric systems \\847 Database Machines & computers used to store the tables \\848 % Zero Points & Transformations between different photometric systems \\849 % Distortion Models & Transformations between different photometric systems \\850 \hline851 \end{tabular}852 \end{center}853 \end{table}854 850 855 851 \begin{figure} … … 861 857 \end{figure} 862 858 863 \begin{figure} 864 \begin{center} 865 \resizebox{4.5in}{!}{\includegraphics{pics/APDB}} 866 \caption{AP DB components} 867 \label{fig:APDBRegions} 868 \end{center} 869 \end{figure} 859 The {\tt Filters} table identifies all of the physical filters 860 (specific pieces of glass) known to the system. A related table, {\tt 861 Photcodes}, defines relationships between photometry systems. A 862 photometry system may consist of a detector, telescope, and specific 863 filter, or it may be a derived photometry system. The {\tt Database 864 Machines} table identifies all of the computers available to the AP 865 Database. 870 866 871 867 \subsubsection{AP Database servers} … … 902 898 The backend database engine for the AP Database stores the tables and 903 899 provides them to the servers on demand. The AP Database will use a 904 \code{mysql} database engine for th efunction.900 \code{mysql} database engine for this function. 905 901 906 902 \subsubsection{AP DB Client operations} … … 908 904 The AP Database client interactions consist of a collection of basic 909 905 queries of the database, along with more complex operations to perform 910 particular tasks. \tbd{queries are not yet listed; provide list from 911 DVO}. The complex operations are listed below. 906 particular tasks. The complex operations are listed below. 912 907 913 908 \paragraph{Insert Image \& Detection Set (addstar)} … … 958 953 959 954 This operation uses the reference and image detections to determine an 960 optical distortion model for the camera. ñ955 optical distortion model for the camera. 961 956 962 957 \begin{table} … … 984 979 \subsubsection{Notes} 985 980 981 discuss AP DB throughput issues 982 986 983 how does the AP Database know about the relationship between a 987 984 collection of chips? … … 1021 1018 Controller receives a variety of inputs from other subsystems, 1022 1019 described below, and initiates actions such as adding a new process to 1023 its queue. The IPP Controller also provides information to other 1024 subsystems on demand about its processing history and current state. 1025 Each physical computer may have multiple processors; since the IPP 1026 Controller is managing processing tasks, it treats each processor 1027 independently. It is up to the system configuration if each computer 1028 needs to reserve one of its CPUs to manage background tasks or if the 1029 IPP Controller should attempt to send one task per CPU and let the 1030 kernel handle the I/O load. 1031 1032 \subsubsection{Controller Nodes} 1033 1034 Computers managed by the IPP Controller are allowed to be in one of 1035 several states, and the IPP Controller must interact with it in an 1036 appropriate way for each of those states. A computer may be {\tt 1037 alive}, {\tt dead} or {\tt off}. If the computer is {\tt alive}, it 1038 responds to commands from the IPP Controller and may be used for tasks 1039 subject to other constraints. If it is {\tt dead}, the computer is 1040 not responsive and must not be used for executing tasks. The IPP 1041 Controller must identify computers which have died and occasionally 1020 the queue of pending tasks. The IPP Controller also provides 1021 information to other subsystems on demand about its processing history 1022 and current state. Each physical computer may have multiple 1023 processors; since the IPP Controller is managing processing tasks, it 1024 treats each processor independently. It is up to the system 1025 configuration if each computer needs to reserve one of its CPUs to 1026 manage background tasks or if the IPP Controller should attempt to 1027 send one task per CPU and let the operating system handle the I/O 1028 load. 1029 1030 \subsubsection{Nodes} 1031 1032 The Controller maintains a table of processing computers (`Nodes') 1033 available to it and tracks the status of these Nodes. Nodes managed 1034 by the IPP Controller are allowed to be in one of several states, and 1035 the IPP Controller must interact with it in an appropriate way for 1036 each of those states. A computer may be {\tt alive}, {\tt dead} or 1037 {\tt off}. If the computer is {\tt alive}, it responds to commands 1038 from the IPP Controller and may be used for tasks subject to other 1039 constraints. If it is {\tt dead}, the computer is not responsive and 1040 must not be used for executing tasks. The IPP Controller must 1041 identify computers which have died (not responding) and occasionally 1042 1042 test them to see if they are {\tt alive} again. Computers which are 1043 {\tt off} are not available for t ests and must not be tested.1043 {\tt off} are not available for tasks and must not be tested. 1044 1044 Computers may be set to the {\tt off} or {\tt dead} states by external 1045 1045 subsystems; it is the responsibility of the IPP Controller to return a 1046 computer to the {\tt alive} state if possible. 1046 computer to the {\tt alive} state if possible. 1047 1047 1048 1048 The IPP Controller must honor requests (normally from the users) to 1049 1049 change the mode of any computing node on demand between {\tt off} and 1050 1050 {\tt dead}. This would normally be done after a computer has been 1051 rebooted and is release to the IPP Controller for its use. It must1051 rebooted and is released to the IPP Controller for its use. It must 1052 1052 also be able to change the list of allowed tasks as requested by 1053 1053 external commands. … … 1061 1061 {\tt dead} for a very long time. In another scenario, a person needs 1062 1062 to work on a computer. They notify the IPP Controller that the 1063 machine is off, perhaps with a prior notification that the machine1064 should be prepared to go off. When work on the machine is complete, 1065 it should be placed in the {\tt dead} state. Only when the person is 1066 done working and testing the machine, and tells the IPP Controller 1067 that the machine is now {\tt dead} can the IPP Controller attempt to 1068 re-start communications and processing on that computer.1069 1070 CPUs on computers which are in the {\tt alive} state may be in one of 1071 two modes: {\tt busy} and {\tt free}. A CPU which is {\tt busy} 1072 currently has a task assigned to it. The IPP Controller may only 1073 assign one task to one CPU at a time. A CPU which is in the {\tt 1074 free} state may have tasks assigned to it. The IPP Controller must 1075 also respect a list of task restrictions which may require specific 1076 t asks to run on specific CPUs or exclude specific tasks from specific1077 CPUs.1078 1079 The Controller maintains a table of processing nodes available to it 1080 and the status of these Nodes. When the Controller starts, it 1081 attempts to launch a Node Agent on each of the available processing 1082 nodes. Modes which are not responsive are placed into an inactive 1083 state and retried occasionally. 1084 1085 \subsubsection{Controller Node Agents}1086 1087 A Node Agent runs on each of the individual nodes to perform the tasks 1088 as directed by the Controller. The Node Agents communicate with the 1089 Controller via a socket connection.1090 1091 A processing stage is executed in the UNIX user space, and is runas a1092 fork by the Node Agent. The Node Agent must monitor the standard1093 error and standard output of the processing stage and save them in 1094 separate buffers. If the process dies, the Node Agent must detect the 1095 crash. The Node Agent must respond to various commands from the 1096 Controller, as follows:1063 machine is {\tt off}, perhaps with a prior notification that the 1064 machine should be prepared to go off. When work on the machine is 1065 complete, it should be placed in the {\tt dead} state. Only when the 1066 person is done working and testing the machine, and tells the IPP 1067 Controller that the machine is now {\tt dead} can the IPP Controller 1068 attempt to re-start communications and processing on that computer. 1069 1070 \subsubsection{Node Agents} 1071 1072 When the Controller starts, it attempts to launch a Node Agent on each 1073 of the available processing Nodes. Modes which are not responsive are 1074 placed marked as {\tt dead} so they may be retried. A Node Agent runs 1075 on each of the individual nodes to execute the tasks as directed by 1076 the Controller. The Node Agents communicate with the Controller via a 1077 socket connection. 1078 1079 A Node Agent (which is only on Node in the {\tt alive} state) may be 1080 in one of four modes: {\tt idle}, {\tt busy}, {\tt done}, {\tt crash}. 1081 A Node Agent which is {\tt busy} currently has a task assigned to it 1082 which is executing. The IPP Controller may only assign one task to a 1083 Node at a time. A Node Agent which is in the {\tt idle} state may 1084 have a task assigned to it. When the Node Agent detects that a tasks 1085 has finished, it changes to either the {\tt done} or {\tt crash} 1086 states depending on the outcome of the process execution. The IPP 1087 Controller must also respect a list of task restrictions which may 1088 require specific tasks to run on specific CPUs or exclude specific 1089 tasks from specific CPUs. 1090 1091 A task being executed by the Node is run in the UNIX user space as a 1092 forked process. The Node Agent must monitor the standard error and 1093 standard output of the executing task and save them in separate 1094 buffers. If the process exits or dies, the Node Agent must detect 1095 this result and change state appropriately. The Node Agent must 1096 respond to various commands from the Controller, as follows: 1097 1097 1098 1098 \paragraph{Report status} 1099 1099 1100 The Node Agent returns the state of the Node (idle, busy, done), the 1101 state of the current processing stage (`none', `busy', `crash', 1102 `done'), and the exit status of the current processing stage, if 1103 available. 1104 1105 The four possible states of the Node indicate that the client has no 1106 current processing stage (`idle'), that it has a processing stage 1107 which is still running (`busy'), or that it has a processing stage 1108 which has completed. The last two states indicate if the current 1109 processing stage has crashed (`crash'), or if the current processing 1110 stage has exited gracefully (`done'). The reported exit state, if the 1111 process has completed without crashing, is the UNIX exit state 1112 reported by the processing stage: 0--256 with 0 indicating a 1113 successful completion. 1100 The Node Agent returns its state ({\tt idle}, {\tt busy}, {\tt done}, 1101 {\tt crash'}) and the exit status of the current processing task, if 1102 available. The reported exit state, if the process has completed 1103 without crashing, is the UNIX exit state reported by the task: 0--256 1104 with 0 indicating a successful completion. 1114 1105 1115 1106 \paragraph{Report stdout} … … 1118 1109 the complete contents of the stdout buffer via a buffered write and 1119 1110 flush the buffer when it is finished. The Node Agent will not accept 1120 more data on the stdout buffer from the current processing stageuntil1111 more data on the stdout buffer from the current processing task until 1121 1112 the send is complete and the buffer is flushed. The daemon must 1122 1113 accept all of the buffer output. … … 1126 1117 Identical to `report stdout', but for stderr. 1127 1118 1128 \paragraph{Kill processing stage} 1129 1130 The Node Agent should send a kill signal to the current processing 1131 stage. When the processing stage has exited, the Node Agent should 1132 set the processing stage status to `crash' and the Node status to 1133 `done'. 1134 1135 \paragraph{Clear processing stage} 1136 1137 The Node Agent should set the current processing stage state to `none' 1138 and the Node state to `idle'. If a processing stage is currently 1139 running, it should be killed (signal 9 or 15) before the processing 1140 stage is cleared. 1119 \paragraph{Kill task } 1120 1121 The Node Agent should send a kill signal (signal 9 or 15) to the 1122 current processing task. When the processing task has exited, the 1123 Node Agent should set its state to {\tt crash}. 1124 1125 \paragraph{Clear task} 1126 1127 The Node Agent should set its state {\tt idle}. If a processing stage 1128 is currently running, it should be killed (signal 9 or 15) before the 1129 task is cleared. 1141 1130 1142 1131 \paragraph{Start processing stage} … … 1144 1133 The Node Agent forks a specified command. The command should be a 1145 1134 standard UNIX command without command line redirection or 1146 backgrounding. For this reason, the Node Agent must provide a layer1147 of security, for example, by employing SSL authentication.1135 backgrounding. The task is run with the same user ID as the Node 1136 Agent, which is also the same user ID as the Controller. 1148 1137 1149 1138 \subsubsection{Tasks} … … 1152 1141 requests include the specific command to be executed and are in the 1153 1142 form of a UNIX command which could be performed on any of the 1154 computing nodes. Any input or output data structures in the commands 1155 must be a valid resource regardless of the node on which the task is 1156 executed. Input and output data resources must be unique where 1157 necessary to avoid conflicts. The IPP Controller gives each task a 1158 unique identifier, which is returned to the requesting entity. The 1159 requestor may then use that ID to obtain status information on that 1160 task or to send control signals to the specific task. 1143 computing nodes. Any input or output data in the commands must be a 1144 valid resource regardless of the node on which the task is executed. 1145 Input and output data resources must be unique where necessary to 1146 avoid conflicts. \tbd{It is the responsibility of the programs to 1147 wait for network lags (ie, NFS delays)}. The IPP Controller gives 1148 each task a unique identifier, which is returned to the requesting 1149 entity. The requestor may then use that ID to obtain status 1150 information on that task or to send control signals to the specific 1151 task. 1161 1152 1162 1153 Task requests may specify a desired node for the task execution. The … … 1245 1236 \subsection{Scheduler} 1246 1237 1247 \begin{figure} 1248 \begin{center} 1249 \resizebox{6in}{!}{\includegraphics{pics/Scheduler}} 1250 \caption{ \label{Scheduler} IPP Scheduler} 1251 \end{center} 1252 \end{figure} 1253 1254 The IPP is responsible for a variety of analysis tasks: processing of 1238 The IPP is responsible for a variety of analysis jobs: processing of 1255 1239 the science images through several stages; routine assessment of the 1256 1240 detrend (instrumental calibration) images used in processing the … … 1270 1254 Scheduler may be viewed as the central brain of the IPP. 1271 1255 Figure~\ref{Scheduler} illustrates the design of the IPP Scheduler. 1256 1257 \subsubsection{Scheduler Tasks and Tests} 1272 1258 1273 1259 The IPP Scheduler performs two types of actions. 'Tasks' are … … 1289 1275 Database or other subsystems. Based on the successful completion (or 1290 1276 not!) of the tasks, and the new state of entries in the Metadata 1291 Database, the Scheduler can define new tasks. 1292 1293 The IPP Scheduler sends commands to the IPP Controller for execution. 1277 Database, the Scheduler can define new tasks. 1278 1279 \begin{figure} 1280 \begin{center} 1281 \resizebox{6in}{!}{\includegraphics{pics/Scheduler}} 1282 \caption{ \label{Scheduler} IPP Scheduler} 1283 \end{center} 1284 \end{figure} 1285 1286 The IPP Scheduler sends tasks to the IPP Controller for execution. 1294 1287 While the IPP Scheduler chooses the tasks to be performed, it is the 1295 1288 IPP Controller's responsibility to manage the specific tasks executing 1296 on a given processing node. Examples of these tasks include the 1297 process of copying or moving data from the Summit data systems to the 1298 IPP Image Server; image processing analysis stages performed on the 1299 science images by the appropriate processing nodes; and the analysis 1300 of the data in the AP Database. This division of responsibilites 1301 allows us to isolate and encapsulate the functionality of the IPP 1302 Scheduler and the IPP Controller. With this separation, the IPP 1303 Controller does not need to have any information about the details of 1304 the tasks which it executes, while the IPP Scheduler does not need to 1305 monitor the computer hardware. 1289 on a given processing node. This division of responsibilites allows 1290 us to isolate and encapsulate the functionality of the IPP Scheduler 1291 and the IPP Controller. With this separation, the IPP Controller does 1292 not need to have any information about the details of the tasks which 1293 it executes, while the IPP Scheduler does not need to monitor the 1294 computer hardware. 1306 1295 1307 1296 Communication between the IPP Scheduler and the IPP Controller is … … 1312 1301 but distinct software components. 1313 1302 1314 The IPP Scheduler takes as input the current list of pending images, 1315 both science and calibration, and a description of the current 1316 observing plan or strategy on some time-scale. The IPP Scheduler also 1317 t akes input from humans who manage the IPP.1318 1319 The IPP Scheduler must choose between several types of analysis tasks 1320 based on the contents of those lists and on the requirements of the 1321 users. The list of tasks which the IPP Scheduler must decide between 1322 includes:1303 \subsubsection{Task Rules} 1304 1305 The IPP Scheduler takes as input a collection of rules which define 1306 the dependency of tasks on certain tests. The IPP Scheduler must 1307 choose between several types of analysis tasks based on those ruls and 1308 on results of the tests. The timescale on which different tasks (and 1309 their related tests) are executed may vary from 10s of seconds to 1310 hours, days, or even week. The list of tasks which the IPP Scheduler 1311 must decide between, and the relevant timescale, follow: 1323 1312 \begin{itemize} 1324 1313 \item moving data from the Summit pixel server ($\sim 30$ second timescales) … … 1327 1316 nightly) 1328 1317 \item constructing new detrend images ($\sim$ weekly) 1329 \item updating and improving the photometric and astrometric reference1330 catalogs ($\sim$ yearly).1331 1318 \end{itemize} 1332 1333 The IPP Scheduler chooses between tasks which are relevant on several1334 different time-scales. The time-scales range from 2 times per minute1335 to once or twice a year, as noted in the list above. The IPP1336 Scheduler must also make use of user input in managing such choices.1337 Users have the option to specify that a particular task or set of1338 tasks is of higher or lower priority than the norm.1339 1340 1319 The scheduler may be viewed as a complex state machine. Our goal is 1341 to design the rules independently from the engine which parses the 1342 rules to detemine which specific jobs to send to the controller. 1343 1344 \subsubsection{Scheduler User Interface} 1320 to design the scheduler so that rules may be specified independently 1321 from the engine which parses the rules to detemine which specific jobs 1322 to send to the controller. 1323 1324 \subsubsection{User Interface} 1345 1325 1346 1326 The IPP Scheduler provides a user interface which allows a human 1347 1327 operator, or other processes, to monitor the current state of the 1348 Scheduler. 1328 Scheduler. Users have the option to specify that a particular task or 1329 set of tasks is of higher or lower priority than the norm, or to 1330 schedule a particular tasks on a different timescale from the basic 1331 rule. 1349 1332 1350 1333 The IPP Scheduler defines the operating state of the IPP. When the … … 1360 1343 for tests or maintenance, in which case the IPP Scheduler does not 1361 1344 perform even the data copy tasks. Every task is performed on demand 1362 by the user. Theuser command sets the IPP Scheduler in one of these1345 by the user. A user command sets the IPP Scheduler in one of these 1363 1346 three states, {\em automatic}, {\em interactive}, and {\em paused}. 1364 1347 … … 1411 1394 installation running on the Pan-STARRS cluster. The {\tt base} 1412 1395 configuration defines general data sources which may be needed by any 1413 portion of the IPP. The list of known telescope or filters might be1396 portion of the IPP. The list of known telescopes or filters might be 1414 1397 an example. The {\tt camera} configuration consists of information 1415 which defines the parameters relevant to the camera known by the IPP.1398 which defines the parameters relevant to the cameras known by the IPP. 1416 1399 For example, the default layout of the detectors or the names of 1417 1400 specific header keyword values would be defined for each camera in a … … 1478 1461 1479 1462 \begin{verbatim} 1480 possible command forms: 1481 1482 P1 filename.fits [FPA is single fits file] 1483 P1 filename.list [FPA is collection of files] 1484 P1 FPA IA [FPA info from metadata db] 1485 1486 sources for the input data: 1487 1488 distortion model: 1489 metadata table 1490 XML file 1491 FITS table 1492 metadata -> image server 1493 user provided on command line 1494 recipe provided 1495 1496 camera layout: 1497 metadata table 1498 XML file 1499 FITS table 1500 metadata -> image server 1501 user provided on command line 1502 recipe provided 1503 1504 boresite coordinates guess: 1505 image header (keywords from recipe) 1506 metadata table 1507 1508 guide stars 1509 collection of video streams 1510 collection of centroid time histories 1511 list of centroids, coordinates 1463 Phase1 -file filename.fits [FPA is single fits file] 1464 Phase1 -list filename.list [FPA is collection of files] 1465 Phase1 -imdb ID [FPA is single file in image server] 1466 Phase1 -FPA ID [FPA identifier from metadata db] 1512 1467 \end{verbatim} 1513 1468 … … 1642 1597 with the choice a user-configurable option. 1643 1598 1644 The input science and mask frames are trimmed by the extent of the OT1645 convolution kernel in each direction ($+x$, $-x$, $+y$, $-y$). Within 1646 the PSLib image handling functions, the trim function is a virtual 1647 operation which simply marks the boundaries of the trimmed image but 1648 does not remove the corresponding memory. This allows the later 1649 corrections to work with untrimmed correction images and still apply 1650 the correct pixels. At the end of Phase 2, the only the trimmed 1651 portions of the output images are written out to disk.1599 The input science and mask frames are additionally trimmed by the 1600 extent of the OT convolution kernel in each direction ($+x$, $-x$, 1601 $+y$, $-y$). Within the PSLib image handling functions, the trim 1602 function is a virtual operation which simply marks the boundaries of 1603 the trimmed image but does not remove the corresponding memory. This 1604 allows the later corrections to work with untrimmed correction images 1605 and still apply the correct pixels. At the end of Phase 2, the only 1606 the trimmed portions of the output images are written out to disk. 1652 1607 1653 1608 \subsubsection{Non-Linearity Correction} … … 1661 1616 \subsubsection{Flat field Correction} 1662 1617 1663 The objectimage (after bias correction and non-linearity correction)1618 The science image (after bias correction and non-linearity correction) 1664 1619 must be corrected for sensitivity variations as a function of 1665 1620 position, dividing by a flat-field image. The mask is also modified … … 1760 1715 are sent to the IPP Pixel Server. 1761 1716 1762 \begin{figure}1763 \begin{center}1764 \resizebox{6in}{!}{\includegraphics{pics/phase2}}1765 \caption{ \label{phase2} Phase 2 dataflow}1766 \end{center}1767 \end{figure}1717 %\begin{figure} 1718 %\begin{center} 1719 %\resizebox{6in}{!}{\includegraphics{pics/phase2}} 1720 %\caption{ \label{phase2} Phase 2 dataflow - this diagram is old: update} 1721 %\end{center} 1722 %\end{figure} 1768 1723 1769 1724 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% … … 1839 1794 Phase 2. 1840 1795 1841 \begin{figure}1842 \begin{center}1843 \resizebox{4.5in}{!}{\includegraphics{pics/phase3}}1844 \caption{ \label{phase3} Phase 3 dataflow}1845 \end{center}1846 \end{figure}1847 1848 1796 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1849 1797 … … 1860 1808 The working concept is that the static sky cells contain roughly the 1861 1809 same number of pixels as an OTA (4k x 4k) and represent a portion of a 1862 local tangent plane projection. As mentioned above1863 (Section~\ref{IPP:ImageServer}), the pixel scale of the static sky is 1864 planned to be 0.2\arcsec, somewhat smaller than the 0.3\arcsec\ raw 1865 imagepixel scale.1810 local tangent plane projection. In order to meet the image 1811 degredation requirements, the pixel scale of the static sky is planned 1812 to be 0.2\arcsec, somewhat smaller than the 0.3\arcsec\ raw image 1813 pixel scale. 1866 1814 1867 1815 For each sky cell, the corresponding pixels are extracted from the … … 1896 1844 \subsubsection{Static Sky Subtraction} 1897 1845 1898 \tbd{add some details about the static-sky subtraction issues. 1899 Allard-Lupton-Price method}. 1846 The corresponding static sky image is subtracted from the combined 1847 image stack. In this step, it is necessary to match the image kernel 1848 between the input image and the static sky image. This will be done 1849 by solving for a best-fit image kernel which minimizes the difference 1850 image using a technique equivalent to the Allard-Lupton method. The 1851 modification we make is that, rather than represent the components of 1852 the image difference kernel as a combination of Gaussians, we will 1853 represent the kernel as a combination of pixels. This method also 1854 automatically determines a photometric match between the static sky 1855 image and the input science image. 1900 1856 1901 1857 \subsubsection{Object Detection and Measurement} … … 1944 1900 adding these objects to the database, the transients which are 1945 1901 correlated with previous detections of an object (and those which are 1946 not) will automatically be determined. An independent process will 1947 query the AP Database for such transient objects of interest which are 1948 to be sent, along with their associated metadata, to the MOPS and 1949 other science client pipelines. This step must be performed at least 1950 once per night. 1902 not) will automatically be determined. A subset of these transient 1903 objects are sent, along with their associated metadata, to the MOPS 1904 and other preferred science client pipelines. 1951 1905 1952 1906 \subsubsection{Static Sky Update} … … 1963 1917 a time when the computing infrastructure is not under significant load. 1964 1918 1965 \begin{figure}1966 \begin{center}1967 \resizebox{6in}{!}{\includegraphics{pics/phase4}}1968 \caption{ \label{phase4} Phase 4 dataflow}1969 \end{center}1970 \end{figure}1919 %\begin{figure} 1920 %\begin{center} 1921 %\resizebox{6in}{!}{\includegraphics{pics/phase4}} 1922 %\caption{ \label{phase4} Phase 4 dataflow} 1923 %\end{center} 1924 %\end{figure} 1971 1925 1972 1926 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% … … 2155 2109 \section{System Design : Miscellaneous Tasks} 2156 2110 2157 In this section, we discuss the design of the science analysis stages 2158 which perform the fundamental image analysis steps of the IPP. 2111 In this section, we discuss additional operations which are performed 2112 by the IPP but which do not fall under the analysis of the science 2113 images or the creation of the calibration images. 2159 2114 2160 2115 \subsection{Retrieval} 2161 2116 2162 The retrieval stage s simply retrieve pixel data from an external2163 source (ordinarily OATS at the Summit, but it could conceivably be 2164 some other external source) and store it on the nodes. 2117 The retrieval stage simply retrieves images from an external source 2118 (ordinarily OTIS at the Summit, but it could conceivably be some other 2119 external source) and store it in the Image Server. 2165 2120 2166 2121 \subsection{Static Sky Analysis} … … 2225 2180 program in C or through the use of a high-level language such as Perl, 2226 2181 Python, or Tcl employing the SWIG interfaces. For the high-level 2227 functions in the operational system, the IPP will make use of 2228 \tbd{Python} as the scripting language to provide the required 2229 flow-control to tie themodules together.2182 functions in the operational system, the IPP will make use of Perl as 2183 the scripting language to provide the required flow-control to tie the 2184 modules together. 2230 2185 2231 2186 This approach satisfies the requirement that complicated low-level … … 2269 2224 therefore represents the maximum amount of effort which can be 2270 2225 performed in serial without interaction between parallel threads. The 2271 stages will be written in \tbd{Python}, linking the modules together.2226 stages will be written in Perl, linking the modules together. 2272 2227 Examples of stages are Phase 2 (detrend images) and Phase 4 (combine 2273 2228 images from multiple telescopes and search for transients). … … 2290 2245 the Controller, and determines the next action based on the contents 2291 2246 of the Metadata Database. The various subsystems specify the API for 2292 client / server interactions with them. Commands will be sent using2293 either text-based commands, SOAP or an equivalent protocol. The 2294 format of the exchanged data may be in one of several forms discussed 2295 below.2247 client / server interactions, and are discussed in their individual 2248 section. Commands will be sent using either text-based commands, SOAP 2249 or an equivalent protocol. The format of the exchanged data may be in 2250 one of several forms discussed below. 2296 2251 2297 2252 FITS Images will be used to transport images between the components of … … 2318 2273 Pan-STARRS systems and the external clients. The interfaces are 2319 2274 illustrated in Figure~\ref{overview}. 2320 2321 Incoming data is received by2322 either the IPS (pixels), the IMD (metadata), or the IOD (objects).2323 Requests for data by external clients are also made to these three2324 databases. Requests for data made by the IPP are generated by the IPP2325 Scheduler or the science processing pipelines.2326 2275 2327 2276 \subsubsection{OTIS} … … 2448 2397 requirements given the above need to 63 processors. 2449 2398 2399 There are two competing trades we will also want to make. First, we 2400 will want to duplicate data to multiple machines in the network to 2401 protect against catastrophic failures on a single machine. This 2402 double the total data space needed. To compensate, however, we will 2403 also employ compression to data, especially data which is older. 2404 These two factors will tend to cancel each other, so we have ignored 2405 both in out calculations above. 2406 2450 2407 \tbd{switch information} 2451 2408 2452 \tbd{RAID and compression / duplication plan}2453 2454 2409 \subsection{PS-1 Cluster Expected Reliability} 2455 2410 2411 With 80 computers and 1920 disks, we must be cautious about component 2412 failures and their impact on operations and data integrity. There are 2413 several factors which mitigate our exposure to hardware failures. 2414 First, the use of RAID controllers and RAID-5 striping of the data 2415 will protect the data on a single RAID set against the failure of a 2416 single disk in the array. Second, our plan to have duplication across 2417 the cluster will protect us against catastrophic failures. Finally, 2418 the flexibility of the distributed computing plan makes it trivial to 2419 handle the loss of individual machines as the system can automatically 2420 redistribute the load across the cluster. 2421 2422 The components which are most likely to fail in our experience are, in 2423 order: hard drives, ram, power supplies, and other components. The 2424 hard drive failure rate is by far the dominant concern as it 2425 potentially affects the data integrity. 2426 2427 Most sources (REFS: UCSD article, Samsung White Paper) currently imply 2428 hard disk failure rates (MTBF) in the range 400,000 hours and 500,000 2429 hours. We take these as an upper limit, and instead adopt a 2430 conservative value of 100,000 hours. With 1920 disk, this MTBF 2431 implies a failure of one disk every 2.2 days. Since the disks are in 2432 a RAID which reports the disk failures immediately and drops the array 2433 into degraded mode, these failures will not have a huge impact on the 2434 operations, and recovery time is only 10s of minutes. This failure 2435 rate implies that we should be checking for hard disk failures daily. 2436 \tbd{is it necessary to catch failures at night or can the system run 2437 with a degraded disk?}. A catastrophic failure for the array would 2438 require two of the 12 disks to fail before the first failed disk is 2439 replaced. If we assume that maintainence is poor and it is possible 2440 for a disk to take 1 week to be replaced, we calculate a probability 2441 of a catastrophe of 1.8\% each time a disk fails. Combined with the 2442 disk failure rate, we can expect a RAID catastrophe 6 times over the 2 2443 year operation of PS-1. We can use these numbers as a guideline for 2444 our level of support needed to avoid these RAID failures. Note that 2445 these 6 failures should not cause loss of data since the data is 2446 duplicated across the cluster, but they require over 1 day for 2447 recovery (as the entire array must be replicated across the network). 2448 2456 2449 \subsection{PS-1 Cluster Support} 2457 2450 2458 2451 \begin{figure} 2459 2452 \begin{center} 2460 \resizebox{6in}{!}{\includegraphics {pics/ps1_ipp_storage.ps}}2453 \resizebox{6in}{!}{\includegraphics[angle=-90]{pics/ps1_ipp_storage.ps}} 2461 2454 \caption{ \label{StorageProfile} Storage Profile} 2462 2455 \end{center} … … 2470 2463 2471 2464 \subsection{Image Server Database Table Contents} 2472 \ref{ImageServerTableContents} 2473 2474 \begin{table} 2465 \label{ImageServerTableContents} 2466 2467 Tables~\ref{ImageServerTables:SO} - \ref{ImageServerTables:VOL} list 2468 the basic contents of the Image Server database tables. 2469 2470 \begin{table}[bh] 2475 2471 \begin{center} 2476 2472 \caption{Storage Object Table Contents\label{ImageServerTables:SO}} … … 2489 2485 \end{table} 2490 2486 2491 \begin{table} 2487 \begin{table}[bh] 2492 2488 \begin{center} 2493 2489 \caption{Instance Table Contents\label{ImageServerTables:INT}} … … 2509 2505 \end{table} 2510 2506 2511 \begin{table} 2507 \begin{table}[bh] 2512 2508 \begin{center} 2513 2509 \caption{Volume Table Contents\label{ImageServerTables:VOL}} … … 2526 2522 2527 2523 \subsection{Metadata Database Table Contents} 2528 \ ref{MetadataTableContents}2529 2530 Tables \tbd{NN} -- \tbd{NN} list the basic contents of each of the2531 Metadata Database tables listed in Section~\ref{Metadata}.2532 2533 \begin{table} 2524 \label{MetadataTableContents} 2525 2526 Tables~\ref{WeatherTable} -- \ref{overlaps} list the basic contents of 2527 each of the Metadata Database tables listed in Section~\ref{Metadata}. 2528 2529 \begin{table}[bh] 2534 2530 \begin{center} 2535 2531 \caption{Weather Table: some sample weather points\label{WeatherTable}} … … 2550 2546 \end{table} 2551 2547 2552 \begin{table} 2548 \begin{table}[bh] 2553 2549 \begin{center} 2554 2550 \caption{SkyProbe Transparency Table (sample entries)\label{SkyprobeBVTable}} … … 2570 2566 \end{table} 2571 2567 2572 \begin{table} 2568 \begin{table}[bh] 2573 2569 \begin{center} 2574 2570 \caption{Skyprobe Line Absorption Table (sample entries)\label{SkyprobeATable}} … … 2593 2589 \end{table} 2594 2590 2595 \begin{table} 2591 \begin{table}[bh] 2596 2592 \begin{center} 2597 2593 \caption{Skyprobe Line Emission Table (sample entries)\label{SkyprobeETable}} … … 2614 2610 \end{table} 2615 2611 2616 \begin{table} 2612 \begin{table}[bh] 2617 2613 \begin{center} 2618 2614 \caption{DIMM Measurements Table\label{DimmTable}} … … 2635 2631 \end{table} 2636 2632 2637 \begin{table} 2633 \begin{table}[bh] 2638 2634 \begin{center} 2639 2635 \caption{Near IR Wide-field Camera Results Table\label{NIR-Table}} … … 2654 2650 \end{table} 2655 2651 2656 \begin{table} 2652 \begin{table}[bh] 2657 2653 \begin{center} 2658 2654 \caption{Dome Status Table\label{DomeStatusTable}} … … 2672 2668 \end{table} 2673 2669 2674 \begin{table} 2670 \begin{table}[bh] 2675 2671 \begin{center} 2676 2672 \caption{Telescope Status\label{TelescopeStatusTable}} … … 2691 2687 \end{table} 2692 2688 2693 \begin{table} 2689 \begin{table}[bh] 2694 2690 \begin{center} 2695 2691 \caption{Raw FPA Images\label{RawFPAs}} … … 2721 2717 \end{table} 2722 2718 2723 \begin{table} 2719 \begin{table}[bh] 2724 2720 \begin{center} 2725 2721 \caption{Pending Science Chips\label{PendingChips}} … … 2737 2733 \end{table} 2738 2734 2739 \begin{table} 2735 \begin{table}[bh] 2740 2736 \begin{center} 2741 2737 \caption{Processed Science Chips\label{ProcessedChips}} … … 2754 2750 \end{table} 2755 2751 2756 \begin{table} 2752 \begin{table}[bh] 2757 2753 \begin{center} 2758 2754 \caption{Observation Group Information\label{OBS}} … … 2772 2768 \end{table} 2773 2769 2774 \begin{table} 2770 \begin{table}[bh] 2775 2771 \begin{center} 2776 2772 \caption{Observation Frame Information\label{OBS}} … … 2790 2786 \end{table} 2791 2787 2792 \begin{table} 2788 \begin{table}[bh] 2793 2789 \begin{center} 2794 2790 \caption{Science Processing Stats\label{PSStats}} … … 2828 2824 \end{table} 2829 2825 2830 \begin{table} 2826 \begin{table}[bh] 2831 2827 \begin{center} 2832 2828 \caption{Chip / Sky overlaps\label{overlaps}} … … 2844 2840 \end{table} 2845 2841 2846 \begin{table} 2842 \begin{table}[bh] 2847 2843 \begin{center} 2848 \caption{Processed Sky-Cell stats\label{ }}2844 \caption{Processed Sky-Cell stats\label{ProcessedSky}} 2849 2845 \begin{tabular}{lll} 2850 2846 \hline … … 2858 2854 Diff image params & string & Parameters used for the image differencing. \\ 2859 2855 Average weight & string & The weight of the reference image \\ 2860 P4D object stats & string & Summary statistics of the object detection (number of objects, depth, other input parameters).\\2861 P4S object stats & string & Summary statistics of the object detection (number of objects, depth, other input parameters).\\2856 P4D object stats & string & Summary statistics of the object detection \\ 2857 P4S object stats & string & Summary statistics of the object detection \\ 2862 2858 Software versions & string & Software versions of modules used in the sky cell processing. \\ 2863 2859 Processing stats & string & Summary statistics of the processing (CPU time, etc). \\ … … 2869 2865 2870 2866 \subsection{AP Database Table Contents} 2871 \ref{APDBTableContents} 2872 2867 \label{APDBTableContents} 2868 2869 \tbd{Table contents to be defined} 2873 2870 2874 2871 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -
trunk/doc/design/ippSRS.tex
r2186 r2192 1 %%% $Id: ippSRS.tex,v 1.1 0 2004-10-21 03:55:59eugene Exp $1 %%% $Id: ippSRS.tex,v 1.11 2004-10-22 04:43:35 eugene Exp $ 2 2 \documentclass[panstarrs,spec]{panstarrs} 3 3 … … 180 180 181 181 \begin{enumerate} 182 \item For images obtained in photometric weather, produce reduced 183 science images for each full camera exposure with photometric 184 zero-point scatter less than 1\% across the full 185 field. \VER{ANALYSIS}{SCD:3.2.2.5} 182 \item For images obtained in photometric weather with normal detector 183 characteristics and providing appropriate flat-field images and 184 correction data have been obtained, the IPP shall produce reduced 185 science images for each full camera exposure with relative 186 photometric zero-point scatter less than 1\% ($1 \sigma$) across the 187 full field. \VER{ANALYSIS}{SCD:3.2.2.5} 186 188 \label{TLR:1} 187 189 188 \item For images obtained in photometric weather, produce reduced 189 science images for each full camera exposure which are 190 photometrically calibrated with respect to the Pan-STARRS filter 191 system with a 1$\sigma$ accuracy of 1\%.\VER{ANALYSIS}{SCD:3.2.2.5} 190 \item For images of reference fields calibrated for the IPP filter set 191 and obtained in photometric weather with normal detector 192 characteristics and providing appropriate flat-field images and 193 correction data have been obtained, the IPP shall determine and 194 track zero-points for these exposures with a 1$\sigma$ accuracy of 195 1\%.\VER{ANALYSIS}{SCD:3.2.2.5} 192 196 \label{TLR:2} 193 197 194 198 \item For images obtained under normal seeing conditions and optical 195 distortion, produce reduced science images for each full camera196 exposure with an astrometric calibration providing $< 30$197 milliarcsecond scatter (1$\sigma$) for sequential images of the same198 location.\VER{ANALYSIS}{SCD:3.2.2.7}199 distortion, the IPP shall produce reduced science images for each 200 full camera exposure with an astrometric calibration providing $< 201 30$ milliarcsecond scatter (1$\sigma$) for sequential images of the 202 same location.\VER{ANALYSIS}{SCD:3.2.2.7} 199 203 \label{TLR:4} 200 204 201 205 \item For images obtained under normal seeing conditions and optical 202 distortion, produce reduced science images for each full camera203 exposure with an astrometric calibration providing $< 100$204 milliarcsecond scatter (1$\sigma$) relative to the ICRS reference205 system.\VER{ANALYSIS}{SCD:3.2.2.6}206 distortion, the IPP shall produce reduced science images for each 207 full camera exposure with an astrometric calibration providing $< 208 100$ milliarcsecond scatter (1$\sigma$) relative to the ICRS 209 reference system.\VER{ANALYSIS}{SCD:3.2.2.6} 206 210 \label{TLR:3} 207 211 208 212 \item In photometric weather and under moon conditions listed in 209 Table~\ref{moonconditions}, produce reduced science images for each210 full camera exposure which have background variations of less than211 1\% in regions free of large ($> 30$ pixels diameter) astronomical212 structures.\VER{ANALYSIS}{SCD:3.5.12}213 Table~\ref{moonconditions}, the IPP shall produce reduced science 214 images for each full camera exposure which have background 215 variations of less than 1\% in regions free of large ($> 30$ pixels 216 diameter) astronomical structures.\VER{ANALYSIS}{SCD:3.5.12} 213 217 \label{TLR:5} 214 218 215 \item In photometric weather, produce reduced science images for each 216 full camera exposure which have background deviations from the 217 static sky in the same filter of less than 1\% for the median in 218 large ($> 30$ pixels diameter) regions.\VER{ANALYSIS}{SCD:3.5.12} 219 \item In photometric weather, the IPP shall produce reduced science 220 images for each full camera exposure which have background 221 deviations from the static sky in the same filter of less than 1\% 222 for the median in large ($> 30$ pixels diameter) 223 regions.\VER{ANALYSIS}{SCD:3.5.12} 219 224 \label{TLR:5a} 220 225 221 \item Merge all $g$ filter science images into a static sky image.\VER{TASK}{SCD:3.2.2.10}226 \item The IPP shall merge all $g$ filter science images into a static sky image.\VER{TASK}{SCD:3.2.2.10} 222 227 \label{TLR:6} 223 228 224 \item Merge all $r$ filter science images into a static sky image.\VER{TASK}{SCD:3.2.2.10}229 \item The IPP shall merge all $r$ filter science images into a static sky image.\VER{TASK}{SCD:3.2.2.10} 225 230 \label{TLR:7} 226 231 227 \item Merge all $i$ filter science images into a static sky image.\VER{TASK}{SCD:3.2.2.10}232 \item The IPP shall merge all $i$ filter science images into a static sky image.\VER{TASK}{SCD:3.2.2.10} 228 233 \label{TLR:8} 229 234 230 \item Merge all $z$ filter science images into a static sky image.\VER{TASK}{SCD:3.2.2.10}235 \item The IPP shall merge all $z$ filter science images into a static sky image.\VER{TASK}{SCD:3.2.2.10} 231 236 \label{TLR:9} 232 237 233 \item Merge all $y$ filter science images into a static sky image.\VER{TASK}{SCD:3.2.2.10}238 \item The IPP shall merge all $y$ filter science images into a static sky image.\VER{TASK}{SCD:3.2.2.10} 234 239 \label{TLR:10} 235 240 236 \item Merge all $w$ filter science images into a static sky image.\VER{TASK}{SCD:3.2.2.10}241 \item The IPP shall merge all $w$ filter science images into a static sky image.\VER{TASK}{SCD:3.2.2.10} 237 242 \label{TLR:11} 238 243 239 \item Detect and classify objects on the individual processed science244 \item The IPP shall detect and classify objects on the individual processed science 240 245 images.\VER{TASK}{SCD:3.2.2.16} 241 246 \label{TLR:12} 242 247 243 \item Detect and classify objects on the stacked groups of science244 images.\VER{TASK}{SCD:3.2.2.16}248 \item The IPP shall detect and classify objects on the stacked groups 249 of science images.\VER{TASK}{SCD:3.2.2.16} 245 250 \label{TLR:13} 246 251 247 \item Detect and classify objects on the static sky image.\VER{TASK}{SCD:3.2.2.16} 252 \item The IPP shall detect and classify objects on the static sky 253 image.\VER{TASK}{SCD:3.2.2.16} 248 254 \label{TLR:14} 249 255 250 \item Detect transients with significance $>3\sigma$ in the individual251 science images relative to the static sky256 \item The IPP shall detect transients with significance $>3\sigma$ in 257 the individual science images relative to the static sky 252 258 image.\VER{ANALYSIS}{SCD:3.2.2.16} 253 259 \label{TLR:15} 254 260 255 \item Degrade the stacked image by no more than \tbr{10261 \item The IPP shall degrade the stacked image by no more than \tbr{10 256 262 milliarcseconds (FWHM added in quadrature)} over the theoretical 257 263 limit for the stack under infinite … … 259 265 \label{TLR:16} 260 266 261 \item Perform the processing of science images to the level of262 transient detection and static sky inclusion at a rate such that263 exposures taken at an \tbr{average cadence of 40 seconds} do not264 accumulate in the processing buffer (average throughput267 \item The IPP shall perform the processing of science images to the 268 level of transient detection and static sky inclusion at a rate such 269 that exposures taken at an \tbr{average cadence of 40 seconds} do 270 not accumulate in the processing buffer (average throughput 265 271 requirement).\VER{TEST}{SCD:3.2.2.3} 266 272 \label{TLR:17} 267 273 268 \item Limit the \tbr{false alarm rate (FAR) to less than 5\%} for269 transient detections $> 5\sigma$ sent to the preferred client274 \item The IPP shall limit the false alarm rate (FAR) to less than 5\% 275 for transient detections $> 5\sigma$ sent to the preferred client 270 276 science pipelines.\footnote{note difference with PS-4: 1\%} 271 277 \VER{ANALYSIS}{SCD:3.2.2.13} 272 278 \label{TLR:18} 273 279 274 \item Perform \tbr{transient detection to a completeness of 99\%} at275 the completeness for transient detections with a significant $>276 5\sigma$.\VER{ANALYSIS}{SCD:xxx}277 278 \item Publish the static sky images to the Pan-STARRS Published279 Science Products Subsystem (PSPS) once per \tbr{6280 months}.\VER{TASK}{SCD:3.2.2.18}280 \item The IPP shall perform transient detection to a completeness of 281 99\% at the completeness for transient detections with a significant 282 $> 5\sigma$.\VER{ANALYSIS}{SCD:xxx} 283 284 \item The IPP shall publish the static sky images to the Pan-STARRS 285 Published Science Products Subsystem (PSPS) at a rate so the full 286 sky is transmitted once per year.\VER{TASK}{SCD:3.2.2.18} 281 287 \label{TLR:19} 282 288 283 \item Publish the detected objects to the Pan-STARRS Published Science 284 Products Subsystem (PSPS) once per month.\VER{TASK}{SCD:3.2.2.18} 289 \item The IPP shall publish the detected objects to the Pan-STARRS 290 Published Science Products Subsystem (PSPS) at a rate such that the 291 objects from the full sky are transmitted once per 292 year.\VER{TASK}{SCD:3.2.2.18} 285 293 \label{TLR:20} 286 294 287 \item Send the IPP metadata and received OTIS metadata to the288 Pan-STARRS Published Science Products Subsystem (PSPS)295 \item The IPP shall send the IPP metadata and received OTIS metadata 296 to the Pan-STARRS Published Science Products Subsystem (PSPS) 289 297 weekly.\VER{TASK}{SCD:3.2.2.18} 290 298 \label{TLR:21} 291 299 292 \item Provide access to preferred Pan-STARRS science clients to the300 \item The IPP shall provide access to preferred Pan-STARRS science clients to the 293 301 detected transient objects within \tbr{5 minutes}.\VER{TEST}{SCD:3.5.10} 294 302 \label{TLR:22} 295 303 296 \item Provide sufficent storage volume for raw images from the AP and304 \item The IPP shall provide sufficent storage volume for raw images from the AP and 297 305 IVP Surveys and the \grizy\ Static Sky.\footnote{note difference with 298 306 PS-4: 1 month of raw images} \VER{INSPECT}{allocated} 299 307 \label{TLR:23} 300 308 301 \item Provide sufficient storage volume for all detections from the309 \item The IPP shall provide sufficient storage volume for all detections from the 302 310 AP, IVP, and MVP Surveys.\footnote{note difference with PS-4: 1 year 303 311 of detections}\VER{INSPECT}{allocated} 304 312 \label{TLR:24} 305 313 306 \item Provide sufficient storage volume for 2 years of314 \item The IPP shall provide sufficient storage volume for 2 years of 307 315 metadata.\footnote{note difference with PS-4: 10 years of 308 316 metadata}\VER{INSPECT}{allocated} … … 787 795 \item The AP Database shall accept new detections at the rate 788 796 generated by the telescope from the Phase 2 and Phase 4 analysis. 789 \tbr{Except within 10 degrees of the galactic plane, the AP Database790 shall keep up with the incoming rates. }The expected rates are797 Except within 10 degrees of the galactic plane, the AP Database 798 shall keep up with the incoming rates. The expected rates are 791 799 listed in Table~\ref{APrates}, along with the total data volume 792 required for storage space over the PS-1 lifetime.\VER{TEST}{TLR:2, TLR:3, TLR:22} 800 required for storage space over the PS-1 lifetime.\VER{TEST}{TLR:2, 801 TLR:3, TLR:22} 793 802 794 803 \item The AP Database shall provide access to external Pan-STARRS … … 940 949 computers.\VER{TEST}{TLR:17} 941 950 942 \item The IPP Controller shall limit command latency to \tbr{$< 0.1$}seconds.\VER{TEST}{TLR:17}943 944 \item The IPP Controller shall be capable of performing up to \tbr{10 tasks per second}.\VER{TEST}{TLR:17}945 946 \item The IPP Controller shall be capable of buffering up to a total of \tbr{64 MB}of messages.\VER{TEST}{TLR:17}947 948 \item The IPP Controller shall be capable of executing up to \tbr{6 million tasks per month}.\VER{TEST}{TLR:17}949 950 \item The IPP Controller shall be capable of interacting with up to \tbr{256}client processes.\VER{TEST}{TLR:17}951 \item The IPP Controller shall limit command latency to $< 0.1$ seconds.\VER{TEST}{TLR:17} 952 953 \item The IPP Controller shall be capable of performing up to 10 tasks per second.\VER{TEST}{TLR:17} 954 955 \item The IPP Controller shall be capable of buffering up to a total of 64 MB of messages.\VER{TEST}{TLR:17} 956 957 \item The IPP Controller shall be capable of executing up to 6 million tasks per month.\VER{TEST}{TLR:17} 958 959 \item The IPP Controller shall be capable of interacting with up to 256 client processes.\VER{TEST}{TLR:17} 951 960 952 961 \item The IPP Controller shall be capable of accepting up to 2 non-client (external) requests per second.\VER{TEST}{TLR:17} … … 987 996 \begin{enumerate} 988 997 \item The IPP Scheduler shall publish the static sky images to the 989 Pan-STARRS PSPS on a time-scale of \tbr{6 month}.\VER{TEST}{TLR:19} 998 Pan-STARRS PSPS at a rate so that the full sky is transmitted once 999 per year.\VER{TEST}{TLR:19} 990 1000 991 1001 \item The IPP Scheduler shall query the Databases on a regular basis 992 1002 to check for new input information. These queries shall take place 993 at least once every \tbr{1 seconds}.\VER{TEST}{TLR:17}1003 at least once every second.\VER{TEST}{TLR:17} 994 1004 995 1005 \item The IPP Scheduler shall accept new User input in real-time: … … 997 1007 998 1008 \item The IPP Scheduler shall publish the detected objects to the 999 Pan-STARRS PSPS on a time-scale of \tbr{1 month}.\VER{TEST}{TLR:20} 1009 Pan-STARRS PSPS at a rate so that the objects from the full sky are 1010 transmitted once per year.\VER{TEST}{TLR:20} 1000 1011 1001 1012 \item The IPP Scheduler shall publish the IPP and OTIS metadata to the 1002 Pan-STARRS PSPS on a time-scale of \tbr{1 week}.\VER{TEST}{TLR:21}1013 Pan-STARRS PSPS on a time-scale of 1 week.\VER{TEST}{TLR:21} 1003 1014 1004 1015 \item The IPP Scheduler shall send the detected single-occurance … … 1085 1096 1086 1097 \item Calculate the Image cell / Sky cell overlaps for each image. 1087 Sky cells which do not have sufficient science image overlap \tbr{$<1088 5\%$}are excluded from the overlap table.1098 Sky cells which do not have sufficient science image overlap $< 5\%$ 1099 are excluded from the overlap table. 1089 1100 1090 1101 \end{itemize} … … 1101 1112 1102 1113 \item Bright-star extraction from the image data shall be performed in 1103 less than \tbr{1 second}.\VER{TEST}{TLR:17}1114 less than 1 second.\VER{TEST}{TLR:17} 1104 1115 1105 1116 \item In order for blind astrometry of an image to succeed, it is 1106 1117 necessary that approximate image coordinates be known. The Phase 1 1107 1118 analysis shall succeed despite initial coordinate errors as large as 1108 \tbr{20\arcsec}.\VER{TEST}{TLR:3}1119 20\arcsec.\VER{TEST}{TLR:3} 1109 1120 1110 1121 \end{enumerate} … … 1128 1139 1129 1140 \item Mask ghosts of bright stars which introduce residual feature 1130 more significant than \tbr{1\%}of the background.1141 more significant than 1\% of the background. 1131 1142 1132 1143 \item Bias subtract the image. … … 1188 1199 time. \VER{TEST}{TLR:17} 1189 1200 1190 \item The bias subtraction shall leave no residuals greater than 1191 \tbr{1 DN}peak-to-peak for images within the normal range of bias1201 \item The bias subtraction shall leave no residuals greater than 1 DN 1202 peak-to-peak for images within the normal range of bias 1192 1203 variations.\VER{TEST}{TLR:1} 1193 1204 … … 1206 1217 1207 1218 \item The background residuals shall have peak-to-peak variations of 1208 less than \tbr{1\%} of the input background amplitude.\VER{ANALYSIS}{TLR:5} 1209 1210 \item The background residuals shall have a scatter of less than 1211 \tbr{1\%} of the input background amplitude for apertures of less 1212 than \tbr{10 arcsec}.\VER{ANALYSIS}{TLR:1} 1219 less than 1\% of the input background 1220 amplitude.\VER{ANALYSIS}{TLR:5} 1221 1222 \item The background residuals shall have a scatter of less than 1\% 1223 of the input background amplitude for apertures of less than 10 1224 arcsec.\VER{ANALYSIS}{TLR:1} 1213 1225 1214 1226 \item The Phase 2 analysis shall detect cosmic rays with flux $> 5\sigma$ by … … 1235 1247 photometric zero point and zero-point variations across the field. 1236 1248 1237 \item If zero-point variations are significant ( \tbr{$> 0.01$ mag1238 peak-to-peak }), the zero-point variations are modeled with a1249 \item If zero-point variations are significant ($> 0.01$ mag 1250 peak-to-peak), the zero-point variations are modeled with a 1239 1251 polynomial correction of order 3 or less. 1240 1252 … … 1437 1449 1438 1450 \begin{enumerate} 1439 \item The IPP Calibration Analysis shall produce master calibration images 1440 from the raw calibration images in less \tbr{2 hours}.\VER{TEST}{TLR:17, TLR:22} 1451 \item The IPP Calibration Analysis shall produce master calibration 1452 images from the raw calibration images in less 2 1453 hours.\VER{TEST}{TLR:17, TLR:22} 1441 1454 1442 1455 \item Master calibration images shall not introduce systematic 1443 uncertainties in the photometry greater than \tbr{0.2\%}.\VER{TEST}{TLR:1}1456 uncertainties in the photometry greater than 0.2\%.\VER{TEST}{TLR:1} 1444 1457 1445 1458 \end{enumerate} … … 1477 1490 1478 1491 \item The Dark calibration stage raises an error if the input images 1479 have exposure times which deviate by more than 1480 \tbr{2\%}. 1492 have exposure times which deviate by more than 2\%. 1481 1493 1482 1494 \item The Dark calibration stage corrects the input dark images for … … 1538 1550 1539 1551 \item The Mask calibration stage masks the pixels which are 1540 inconsistent in the input flats by more than \tbr{1\%}, given1541 s ufficient signal-to-noise in the input flats.1552 inconsistent in the input flats by more than 1\%, given sufficient 1553 signal-to-noise in the input flats. 1542 1554 1543 1555 \item The Mask calibration stage mask the pixels which are 1544 1556 consistently low or high in the input flats by more than a factor of 1545 \tbr{3}beyond the typical pixel.1557 3 beyond the typical pixel. 1546 1558 1547 1559 \item The Mask calibration stage masks the pixels identified in a … … 1660 1672 \item The IPP Calibration system monitors changes in the telescope 1661 1673 astrometry parameters and issue a warning if the parameters change 1662 by more than \tbr{2\%}.1674 by more than 2\%. 1663 1675 \end{itemize} 1664 1676
Note:
See TracChangeset
for help on using the changeset viewer.
