Displays provenance information for an NDF PROVSHOW
Each displayed NDF (see Parameter SHOW) is described in a block of lines. The first line holds an integer index for the NDF followed by the path to that NDF. Note, this path is where the NDF was when the provenance information was recorded. It is of course possible that the NDF may subsequently have been moved or deleted.
The remaining lines in the NDF description are as follows.
"Parents"
–- A comma-separated list of integers that are the indices of the immediate
parents of the NDF. These are the integers that are displayed on the first line of each
NDF description.
"Date"
–- The formatted UTC date and time at which the provenance information for the
NDF was recorded.
"Creator"
–- A string identifying the software that created the NDF.
"More"
–- A summary of any extra information about the NDF stored with the provenance
information. In general this may be an arbitrary HDS structure and so full details
cannot be given on a single line. The Hdstrace command can be used to examine the MORE
field in detail. To see full details of the NDF with "ID"
value of 12
(say), enter
(from a UNIX shell) "hdstrace fred.more.provenance.ancestors’(12)’"
, where fred
is the
name of the NDF supplied for Parameter NDF. If the NDF has no extra information, this
item will not be present.
"History"
–- This is only displayed if Parameter HISTORY is set to a TRUE
value. It
contains information copied from the HISTORY component of the ancestor NDF. See
Parameter HISTORY.
In addition, a text file can be created containing the paths for the direct parents of the supplied NDF. See Parameter PARENTS.
TRUE
, then any ancestors
which are flagged as ‘hidden’ (for example, using PROVREM) are excluded from the
display. If FALSE
, then all requested ancestors, whether hidden or not, are
included in the display (but hidden ancestors will be highlighted as such). Note,
choosing to exclude hidden ancestors may change the index displayed for each
ancestor. The default is to display hidden ancestors if and only if history is
being displayed (see Parameter HISTORY). [] TRUE
, any history records stored with each ancestor are included in the
displayed information. Since the amount of history information displayed can be
large, and thus swamp other information, the default is not to display history
information.
When an existing NDF is used in the creation of a new NDF, the provenance system will
copy selected records from the HISTORY component of the existing NDF and store them
with the provenance information in the new NDF. The history records copied are those
that describe operations performed on the existing NDF itself. Inherited history
records that describe operations performed on ancestors of the existing NDF are not
copied. [FALSE]
"Tree"
. The user is re-prompted for a new value
for this parameter after each NDF is displayed. The new value should be the integer
identifier for one of the parents of the currently displayed NDF. Alternatively, the
string "up"
can be supplied, causing the previously displayed NDF to be displayed
again. [!]
"All"
–- Display all ancestors, including the supplied NDF itself.
"Roots"
–- Display only the root ancestors (i.e. ancestors that do not themselves have
any recorded parents). The supplied NDF itself is not displayed.
"Parents"
–- Display only the direct parents of the supplied NDF. The supplied NDF
itself is not displayed.
"Tree"
–- Display the top level NDF and then asks the user which parent to display next
(see Parameter INEXT). The whole family tree can be navigated in this way.
["All"]
An input NDF is included in the provenance of an output NDF only if the DATA component of the input NDF is mapped for read or update access by the application. In other words, input NDFs which are accessed only for their metadata (e.g. WCS information) are not included in the output provenance of an application.
If a Kappa application uses one or more input NDFs to create an output NDF, the output
NDF may or may not contain provenance information depending on two things: 1) whether
any of the input NDFs already contain provenance information, and 2) the value of the
AUTOPROV
environment variable. It is usually necessary to set the AUTOPROV
variable to
"1"
in order to create output NDFs that contain provenance information. The exception
to this if you are supplied with NDFs from another source that already contain
provenance. If such NDFs are used as inputs to Kappa applications, then the output NDFs
will contain provenance even if the AUTOPROV
variable is unset. However, setting
AUTOPROV
to "0"
will always prevent provenance information being stored in the output
NDFs.
Some other packages, such as Ccdpack, follow the same strategy for creating and propagating provenance information.