Generate Report







Programs




Percy



Syntax




   GENERATE (0:1){ SMART } REPORT  @name (3:8){ FROM  @calendar
                                              | TO    @calendar
                                              | EVERY @number  }
                                              | @options
                                                | HEADER
                                                | LEGEND
                                                | SAVE TO @file
                                                | NO SCREEN
                                                | PAUSE       }
 
 
 
   GENERATE (0:1){ SMART } REPORT @name  (2:7){ OVER @schedule
                                              | EVERY @number }
                                              | @options
                                                | HEADER
                                                | LEGEND
                                                | SAVE TO @file
                                                | NO SCREEN
                                                | PAUSE        }


DESCRIPTION






GENERATE REPORT



The GENERATE REPORT command causes a previously defined report to be generated and sent to a combination of the user's screen, an output file or a specific file created to contain the results of the report.



GENERATE SMART REPORT



The GENERATE SMART REPORT produces the same report as the GENERATE REPORT but enhanced for human readability.

Positions in the report where numeric quantities change from increasing to decreasing (or vice-versa) are marked in the report. If scientific notation is used for output, positions where exponents change are marked to aid in locating changes of magnitude of reported quantities. If a discrete quantity is reported, (for example, the occultation status of a body) positions where the quantity changes are marked. In addition, if a report is generated relative to a schedule (using the OVER schedule clause), line breaks are inserted between report lines that correspond to different intervals of the schedule.



Selecting Report Epochs



You may select the times at which various quantities are reported in two ways. Using the ``FROM-TO'' syntax you may specify an interval of time over which the various quantities of the report should be computed. Using the the ``OVER schedule'' syntax you may specify a schedule from which tim will be chosen to generate the quantities that make up the report.

The frequency of reports is controlled by specifying that quantities should be computed every x units of time using the

   EVERY @number
clause of the command. Data-lines of the report will be produced at this frequency.

If the report is generated using the ``FROM-TO'' syntax, the first data line will correspond to the FROM epoch. Subsequent data lines will be spaced from the previous line (in time) by the amount specified by EVERY. The report will conclude with the last such epoch that precedes or is equal to the epoch specified by the TO epoch.

If the report is generate using the ``OVER schedule'' syntax, the result will be the same as if you had specified a report using the FROM-TO syntax for each interval of the named schedule. However, the header and legend of the report (See the NEW REPORT command) will appear only at the beginning of new pages of the report.



Controlling Output



You may control the production of a report header and legend and where the report is sent using the clauses

   HEADER
 
   LEGEND
 
   SAVE TO @file
 
   NO SCREEN
 
   PAUSE


The Report Header



If you plan to visually inspect the report you are defining, it will probably be useful to have a header appear at the top of the report when it is produced. To have a header appear with your report you need to supply the HEADER keyword with your command. If you do not supply the HEADER keyword in your command, the report will not have a header.

The header consists of the names of the various entries (or their specified headings --- see NEW QUANTITY) and the units associated with those entries arranged above the columns where the report quantities will be displayed. This textual information is separated from the actual rows of the report by a horizontal double line formed from the equal sign `='.

The header will appear at the top of each page of your report. There are two page sizes to be aware of. An example header followed by two lines of a report are shown below.

                    Time        R.A.          Dec.
                    (utc)   (degrees)     (degrees)
   ===================================================
   1991 APR 10 00:00:00.0   3.217E+02    -1.273E+01
   1991 APR 10 12:00:00.0   3.276E+02    -1.024E+01
             .                  .             .
             .                  .             .
             .                  .             .


The Report Legend



If you plan to keep a report on hand for more than a few minutes, it is probably useful to specify that your report contain a legend. The legend of a report contains a description of each entry that was not denied permission to appear in the legend by the NEW QUANTITY command. In addition it states whether or not stellar aberration corrections were used when computing the various quantities that appear within the report.

When an entry appears in the legend it will be shown with its column heading followed by the description that was used to define the entry.

If you request a legend with your report, the legend will appear only at the top of the first page of the report.

A sample legend is is displayed below.

     R.A. --- J2000 RIGHT ASCENSION OF 301 FROM 399 UNITS DEGREES
              FORMAT X.XXXXXXX
     Dec. --- J2000 DECLINATION OF 301 FROM 399 UNITS DEGREES
 
     Stellar aberrations corrections are enabled.
 
Note that in this example, the user explicitly denied legend permission for the Time entry.



Saving a Report



If you are saving output to a file when you issue the generate report command, your output will automatically be saved. However, it may be more useful to save your report to a specific file. If you qualify your GENERATE REPORT command with the ``SAVE TO file'' clause, the report will be saved in the named file.



Controlling Screen Output



If you specify NO SCREEN in your report, output will not be sent to your terminal screen. It will be sent to any file you've specified with the ``SAVE TO'' clause.

If you add the PAUSE keyword to your command, the report will pause and wait for you to strike a key when the screen becomes full.

Some combinations of these control options don't make a lot of sense. For example, it doesn't make a lot of sense to pause if you specify that no screen output should be generated. Similarly it's a bit silly to generate a report if you don't save it to a file and specify no screen output. Nevertheless, these options are allowed. They simply have no effect.



Examples




The following example illustrates how you can create a report that gives the Right Ascension and Declination of Mars as seen from Earth as a function of time.

 
     NEW QUANITY MOON_RA
         DESCRIPTION J2000 RIGHT ASCENSION OF 301 FROM 399
         UNITS DEGREES     FORMAT X.XXXXXXX
         HEADING "R.A.";
 
     NEW QUANTITY MOON_DEC
         DESCRIPTION J2000 DECLINATION OF 301 FROM 399
         UNITS DEGREES     FORMAT X.XXXXXXX
         HEADING "Dec.";
 
     NEW QUANTITY TIME
         DESCRIPTION TIME FORMAT UTC HEADING "Time" NO LEGEND;
 
    NEW REPORT MOON_POSITION ENTRIES TIME MOON_RA MOON_DEC;
 
    GENERATE SMART REPORT MOON_POSITION
                   FROM   15 MAR 1991
                   TO     25 MAR 1991
                   EVERY  12 HOURS
                   HEADER LEGEND;
The resulting report would look something like this:

    R.A. --- J2000 RIGHT ASCENSION OF 301 FROM 399 UNITS DEGREES
             FORMAT X.XXXXXXX
    Dec. --- J2000 DECLINATION OF 301 FROM 399 UNITS DEGREES
 
    Corrections for stellar aberration are enabled.
 
                     Time        R.A.          Dec.
                    (utc)   (degrees)     (degrees)
   ===================================================
   1991 MAR 15 00:00:00.0   3.380E+02    -5.6302818
   1991 MAR 15 12:00:00.0   3.439E+02    -2.7765176
   1991 MAR 16 00:00:00.0   3.499E+02     0.1388443
   1991 MAR 16 12:00:00.0   3.559E+02     3.0831645
   1991 MAR 17 00:00:00.0   2.0758449<*   6.0211735
   1991 MAR 17 12:00:00.0   8.3274607>    8.9149058
   1991 MAR 18 00:00:00.0  14.7290874    11.7237596
   1991 MAR 18 12:00:00.0  21.3052039    14.4047380
   1991 MAR 19 00:00:00.0  28.0758534    16.9129390
   1991 MAR 19 12:00:00.0  35.0544129    19.2023743
   1991 MAR 20 00:00:00.0  42.2451251    21.2271872
   1991 MAR 20 12:00:00.0  49.6407205    22.9433120
   1991 MAR 21 00:00:00.0  57.2206409    24.3105445
   1991 MAR 21 12:00:00.0  64.9504956    25.2948778
   1991 MAR 22 00:00:00.0  72.7833123    25.8708325
   1991 MAR 22 12:00:00.0  80.6628202    26.0234084
   1991 MAR 23 00:00:00.0  88.5284585    25.7492790<
   1991 MAR 23 12:00:00.0  96.3212454    25.0569700
   1991 MAR 24 00:00:00.0   1.040E+02 *  23.9659817
   1991 MAR 24 12:00:00.0   1.115E+02    22.5050548
   1991 MAR 25 00:00:00.0   1.188E+02    20.7099431
 


Notes



The asterisk is used to mark changes of magnitude.

The ``greater than'' sign is used to mark points where a quantity begins increasing.

The ``less than'' sign is used to mark points where a quantity begins decreasing.



Related Topics




  1. About Reports
  2. New Report
  3. New Quantity
  4. The Percy Help System