During a spring clean of directories to free some space (what d’ y’mean you don’t?), most of us will have encountered data files whose purpose and worth are long forgotten. We’re reluctant to remove them in case they contain irreplaceable data. Some people are very good and make copious notes… Even then the result of a casual experiment might not be recorded. For those who are lazy, such files can be a frequent dilemma. Even a quick look at a plot of the data is often of little assistance. As you’ve probably surmised, the NDF offers a solution.
Within an NDF you may record history information. This is usually a chronicle of the processing stages used to form the NDF, including the parameter values of the applications invoked; but it may also include commentary you provide, for example, the rationale for doing certain operations.
History is associated with individual NDFs; it is not some global attribute of a data-processing
session. An NDF has a history update mode, which remains with the NDF and any descendant NDF,
until the update mode is altered or the history erased. By default, the update mode is "Disabled"
,
meaning that no history recording occurs. To permit history recording you must first switch it on,
selecting from three update modes—"Quiet"
, "Normal"
, and "Verbose"
—which give increasingly
more detailed information.
Task HISSET lets you set the history update mode. The default is "Normal"
, thus here the
command
switches normal history recording on for NDF hr1068. Thereafter whenever you alter this NDF, or create another NDF from it, the task automatically records the name of the application that was run, the date and time, a reference name that identifies the NDF, your username, and some text comprising the command-line parameters and the full path of the application. In Kappa the package name and version is appended to the application name. Other packages may provide task-dependent additional text.
If disc space is not a concern, you might prefer the verbose level.
the supplementary information being the machine type, and its operating system name and version.
For small datasets, such as spectra, the history can amount to a significant part of the NDF’s size, so for these you might prefer the quiet level. This does not record the command line.
HISSET lets you switch off history recording, if you want to do something ‘off the record’, or erase the history altogether.
Some applications create new NDFs from scratch, not inheriting the history records and update mode
from an input NDF. Some examples are CREFRAME, TRANDAT, and PSF. Should you wish these to
have history recording enabled as you create such NDFs, there is an environment variable
NDF_AUTO_HISTORY
that should be set to a non-zero integer value, or immediately run HISSET
with the new NDF. Note that some applications may choose to disregard the value of
NDF_AUTO_HISTORY
for good reason, such as for ancillary NDFs created with an NDF extension.
Whenever this option is exercised, the reference documentation for the task should indicate
this behaviour in its Implementation Notes. There are currently no such applications in
Kappa.
Once history recording is enabled, you can add commentary to an NDF using HISCOM.
You aren’t limited to single lines if you respond to the prompt for the comment. You can give a series
of lines, terminated by supplying !
.
If you prefer, you may edit some text into a file and append its contents to the history records. Thus
appends the text contained in comments.lis
to the history records of NDF hr1068.
At some point you will want to refer back to the history records. The HISLIST task does this.
Before you ask…at present there are no parameters for selecting a time interval and there is no output of the machine and username, but they’re not forgotten.
Here is another example showing a series of history records.
The first history item shows HISSET enabling history. This was followed by a smooth of the data with GAUSMOOTH. Then the recording level was set to verbose. The fourth record recalls another smooth, and this time you can see the machine details. Finally, some commentary is added with HISCOM.