Percy
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 }
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.
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.
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 @numberclause 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.
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
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 . . . . . . . . .
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.
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.
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.
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
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.