nimkfmerge - merge NICER filter files (combine .mkf)


nimkfmerge infiles outfile ...


The nimkfmerge task merges NICER filter files (.mkf files) from different observation segments into a single file.

nimkfmerge handles the situation where filter files from different observations were processed with different versions of the pipeline software and may have different filter file columns. It will gracefully and seamlessly merge these files together. In case of missing column data, null values will be placed in the table.

Please note that only a single extension is merged. By default this extension is named 'PREFILTER'. Other extensions are ignored.


A list of filenames, and optional extension names or numbers, of the input filter files to be merged. This may be a comma-delimited list of names, or the name of a text file containing a list of file names, one per line, preceded by an '@' character. If an explicit extension is not specified after each file name then the PREFILTER extension is used in the file that is not a GTI (good time interval) table will be merged into the output table. Each table may be further filtered using the CFITSIO virtual file syntax enclosed in square brackets as shown in some of the examples.

outfile [filename]
Output file name. Precede it with an exclamation point, !, (or \! on the Unix command line), to overwrite a preexisting file with the same name (or set the clobber parameter to YES).

(sort = YES) [boolean]
If yes, which is the default, then sort the resulting file in ascending order by the TIME column.

(infile_prefix = "NONE") [string]
String to be prefixed to each file listed in infiles. This could be used to apply a common path offset to all filenames. A value of NONE or whitespace is ignored. A trailing "/", if needed, should be supplied by the caller.

(skipbadfiles = NO) [boolean]
If this parameter is set to "YES", then any FITS tables in the input list that cannot be opened will be ignored, and processing will continue with the next file in the list. If set to the default value of "NO", then ftmeld will instead exit with an error condition at that point.

(errdegrade=YES) [boolean]
Determine behavior of task in case when numerical quality of input would be degraded when transferred to the output. If errdegrade=YES, a fatal error is issued for that file. If errdegrade=NO, the degradation is permitted and the task continues to operate.

(cleanup="YES") [boolean]
If yes, then clean up temporary files. If no, temporary files remain. This is typically for debugging.
(clobber = NO) [boolean]
If the output file already exists, then setting "clobber = yes" will cause it to be overwritten.
(chatter = 1) [integer, 0 - 5]
Controls the amount of informative text written to standard output. Setting chatter = 4 or higher will produce detailed diagnostic output; chatter = 1 prints out a basic diagnostic message. The default is to produce a brief summary on output.
(history = YES) [boolean]
If history = YES, then a set of HISTORY keywords will be written to the header of the specified HDU in the output file to record the value of all the nimkfmerge task parameters that were used to produce the output file.


This is a typical invocation. It is assumed the user is processing observations 1234567891, 1234567892, 1234567893, which are stored in current directory.

  ls ./123456789{1,2,3}/auxil/ni*.mkf* > mkffiles.lis
  nimkfmerge infiles=@mkffiles.lis outfile=merged.mkf






May 2023