Common NICER Error Messages and How to Fix Them

Table of Contents

  1. Overview
  2. Introduction
  3. Failed to uncompress file into memory
  4. "nicerpi1" failure: old software
  5. "nicerarf" failure: old CALDB
  6. nicerl2 / prefilter failure (satellite has re-entered)
  7. nicerl2 / prefilter warning (unable to get TELESCOP keyword)
  8. nifpmsel error (exposure calculation failed)
  9. niextract-events (input file list was empty)
  10. nicerarf errors when using barycentered event file
  11. nicerarf error (TIMEZERO bug)
  12. nicerarf error (no exposure)
  13. nicerrmf error (no good weighted RMFS found)
  14. barycorr error: no bracketing sample found for a specified time interval
  15. nicerl3-spect error: required column SOLARPHI/SOLAR_PHI not found
  16. nicerl3-spect or -lc error: fplot fails
  17. Geomagnetic data errors Can't locate LWP/Simple.pm in @INC
  18. nicerl3-spect error: nivigsum / fsumrows / trying to write to READONLY file
  19. Task nigeodown fails with "Can't locate LWP/Simple.pm"
  20. nicerl2/niprefilter2 error: calculation of DELTA_SLOW_LLD failed

Overview

This analysis thread discusses NICER error messages that may appear when processing data.

Read this thread if you want to: Understand and correct common NICER error conditions

Last update: 2024-01-25

Introduction

When working with NICER analysis, there are occassions where error messages may appear. This may be especially true when the scientist is new to NICER analysis. This analysis thread discusses common NICER error conditions and how to correct them.

"failed to uncompress file into memory" error

An error of this form appears. Possible errors Dumping CFITSIO error stack: -------------------------------------------------- failed to uncompress file into memory (compress_open) failed to find or open the following file: (ffopen) (filename).evt.gz --------------------------------------------------

This error message appears during many common analysis tasks, such as calibration (nicerpi) or filter file generation (niprefilter2) when running the "nicerl2" task.

This error indicates that a gzipped file is too large to process. CFITSIO will automatically attempt to open a gzipped file by uncompressing it in memory. If the fully uncompressed file will not fit in memory, this error is reported.

Typically, this situation can be solved by gunzipping all gzip-compressed event files before running NICER analysis tasks.

"nicerpi1" failure: old software

An error of this form appears. ERROR: this task is not capable of handling data of the following type: GAINMETH=FT_OFF+MPU(PULSE_GRID)+MPUPIN(MPU_A_TEMP(POLY),... CHANTYPE=PI FITSIO status = 342: group member not found CFITSIO ERROR MEMBER_NOT_FOUND: group member not found Task nicerpi1 1.16 terminating with status 342 ERROR: nicerpi1 failed at nicerpi line 280. Task nicerpi 1.16 terminating with status -1

This error message appears during the calibration process when the task "nicerpi1" is trying to read a gain calibration file. nicerpi1 is typically run when the analyst uses the "nicerl2" task. The error message or GAINMETH may not be exactly the same, but all will result in a "nicerpi1 failed" error message.

This error means that the NICERDAS software is out of date. Please see the Settting Up a NICER Analysis Environment analysis thread for more information about updating software.

"nicerarf" failure: old CALDB

An error of this form appears. nicerarf 1.5 -------------------------------------------------------- FPM List: launch ERROR: CALDB VIGNET file query returned no results at nicerarf line 518. Task nicerarf 1.5 terminating with status -1

This error message appears during the process of using the nicerarf task to generate an ARF response file.

This error means that the NICER Calibration Database (CALDB) is out of date. CALDB release xti20210707 or later is required to use the response generator tasks. Please see the Settting Up a NICER Analysis Environment analysis thread for more information about updating software.

nicerl2 / prefilter failure (satellite has re-entered)

An error of this form appears. Running prefilter... error: satellite has re-entered at 2017/09/24 [altitude < 100.000000 km] ERROR: Operation not permitted Task v4.6 PREFILTER v4.6 terminating with status 1 error: satellite has re-entered at 2017/09/24 [altitude < 100.000000 km] ERROR: prefilter failed at niprefilter line 412.

This error message appears during the process of running nicerl2 or niprefilter to generate a filter file.

This error occurs due to a bug in HEASoft 6.29, and is fixed in patch release 6.29a, which was released on July 30, 2021. You will need to upgrade your software to HEASoft 6.29a or later. Please see the Settting Up a NICER Analysis Environment analysis thread for more information about updating software.

nicerl2 / prefilter warning (unable to get TELESCOP keyword)

An warning of this form appears. Running prefilter... monitor: 2014-01-01T00:00:00 => mjd[utc]=56658.000000000000 str=14/01/01 warning: unable to get TELESCOP keyword; will use LEAPS

This warning message appears during the process of running nicerl2 or niprefilter to generate a filter file.

This warning is normal, and no action is needed to respond to it.

nifpmsel error (exposure calculation failed)

An error of this form appears. ERROR: exposure calculation ... failed at nifpmsel line xxx. Dumping CFITSIO error stack: -------------------------------------------------- Input GTI must be time-ordered for GTIOVERLAP -------------------------------------------------- CFITSIO error stack dump complete. Task nifpmsel 1.1 terminating with status -1 ERROR: task nifpmsel failed at nicerl2 line xxx.

This error message appears during the process of running nicerl2 or nifpmsel to generate cleaned events.

This error occurs due to a bug in HEASoft 6.29 (as well as patch release 6.29a), and is fixed in forthcoming patch release. You will need to upgrade your software to HEASoft 6.29b or later. Please see the Settting Up a NICER Analysis Environment analysis thread for more information about updating software.

niextract-events (input file list was empty)

An error of this form appears. ERROR: input file list was empty

This error message appears when running niextract-events on an event file that is empty. Here, "empty" means the event file exists, but contains no events in the table, and the GTI is empty. This is a valid event list, and should not generate an error message.

This error occurs due to a bug in HEASoft 6.29 (as well as patch release 6.29a), and is fixed in forthcoming patch release. You will need to upgrade your software to HEASoft 6.29b or later. Please see the Settting Up a NICER Analysis Environment analysis thread for more information about updating software.

nicerarf errors when using barycentered event file

An error of one of these forms appears fsumrows1.0 : Error Status Returned : 307 fsumrows1.0 : bad first row number fsumrows1.0 : ***** FITSIO Error Stack Dump ***** Attempt to read past end of table: Table has 0 rows with 1 elements per row; Tried to read 1 elements starting at row 1, element 1. fsumrows1.0 : ...Trouble transfering data in row 1 ERROR: fsumrows failed at .../nivigsum line 195. Task nivigsum 1.0 terminating with status -1 ERROR: nivignsum failed at .../nicerarf line 791. or ERROR: VIGNET*FPMSEL failed at nivigsum line XXX. Dumping CFITSIO error stack: -------------------------------------------------- Array not large enough to hold at least one row of data. -------------------------------------------------- CFITSIO error stack dump complete. Task nivigsum 1.2 terminating with status -1 ERROR: nivignsum failed at nicerarf line XXX. Task nicerarf 1.7 terminating with status -1

This error appears when running the task nicerarf. The NICER team has reports of this error occurring when users attempt to run nicerarf with a barycentered event file as input. The basic underlying problem is that barycentered event files and spectra have a different time system from the filter file, which is non-barycentered. This creates time mismatches which nicerarf cannot recover from.

To remedy, use the non-barycentered event file to create spectra to be used with nicerarf. Use only spectra generated from non-barycentered event files.

nicerarf error (TIMEZERO bug)

An error of this form appears ERROR: the FPM Selection file (selfile=...) is affected by a NICER TIMEZERO bug. This bug will prevent accurate response calculation.

This error message appears during the process of running nicerarf to generate an ARF response file.

This error indicates that the event file used for FPM Selection (the "selfile" parameter) contains erroneous FPM Selection data. You will need to ensure your software is upgraded to HEASoft revision 6.29c (or later) and correct the event file before proceeding. Please see the NICER Response Bug analysis thread for more discussion of these issues.

nicerarf error (no exposure)

An error of this form appears ================================================================== nicerarf 1.5 -------------------------------------------------------- FPM List: launch ERROR: CALDB VIGNET file query returned no results at .../nicerarf line 518. Task nicerarf 1.5 terminating with status -1

This error message appears during the process of running nicerarf to generate an ARF response file.

This error may indicate that the user's calibration database (CALDB) is not set up or updated for NICER data. Please see the Settting Up a NICER Analysis Environment analysis thread for more discussion.

This error may also occur if the spectrum file contains no exposure. This may occur if the filtering / screening step removes all data and leaves zero exposure. To check this, one can use the following command:
ftlist spectrum.pha+1 K include=EXPOSURE where spectrum.pha is the name of the spectrum of interest. If EXPOSURE=0, this indicates no exposure was found. (Another symptom of this condition will be the keyword TSTART=0.) The user may need to examine the screening criteria more closely (and potentially loosen them) to obtain more exposure.

Please see NICER Response Common Issues for more detailed information and remedies.

nicerrmf error (no good weighted RMFS found)

An error of this form appears nicerrmf 1.3 -------------------------------------------------------- Adjust GTI Filtering expression: '((gtifilter("filename_adj.gti",...)))' Generate RMF ERROR: no good weighted RMFs found Task nicerrmf1 1.3 terminating with status 202 ERROR: nicerrmf1 failed at nicerrmf line 267. Task nicerrmf 1.3 terminating with status -1

This error message appears during the process of running nicerrmf to generate an RMF response file.

The likely cause of this error is an incorrect target position or other exposure problems. Please see NICER Response Common Issues for more detailed information and remedies.

barycorr error: no bracketing sample found for a specified time interval

When trying to barycenter times with barycorr in NICER data processed with nicerl2, sometimes a user encounters a "no bracketing sample found for" in a specified MET interval. For example, in 1020520104/auxil/ni1020520104.orb, there is a time gap from TIME=135680421 - 135680617 between rows 1062 and 1063 of the SPS_ORBIT table. Running barycorr on this obsid with chatter=5, you can see that barycorr is failing while trying to correct row 1021 of HDU3, FPM_SEL, of the event file.: hdaxbary: bary stuff initialized in HDU 3 hdaxbary: HDU 3 TSTART = 135657642.000000, TSTOP = 135697550.000000 hdaxbary: HDU 3 TSTART = 135657641.000000, TSTOP = 135697549.000000 hdaxbary: HDU 3 TSTART = 135657789.294314, TSTOP = 135697700.948919 ERROR: no bracketing sample found for time 135680505.00000000 ERROR: failed to find valid orbit ephem data for time 135680505.00000000 barycorr: Invalid Observatory/Spacecraft position vector ===> Error while correcting row 1021 of HDU 3 (column 1) This error occurs when the time for the problem row in the FPM_SEL extension falls in a gap in the .orb file. This may be due to packet loss on downlink. The simplest solution is to a) create a copy of the event file, b) remove the FPM_SEL extension using ftdelhdu:
ftdelhdu 'myfile.evt[FPM_SEL]'  myfile_nofpmsel.evt
and 3) use this modified event file (myfile_nofpmsel.evt) for barycentric correction and timing analysis.

Please note that the original file, including the FPM_SEL extension, should be used when extracting spectra.

nicerl3-spect error: required column SOLARPHI/SOLAR_PHI not found

An error of this form appears Running nicer-spec and nicer-lc for observation: ERROR: required columns TIME,COR_SAX,N/A,N/A,N/A,N/A,N/A,N/A not found in file.mkf Dumping CFITSIO error stack: -------------------------------------------------- ffgcnn could not find column: SOLARPHI -------------------------------------------------- and/or -------------------------------------------------- CFITSIO error stack dump complete. Task niscorpspectmod 1.1 terminating with status -1 ERROR: niscorpspectmod failed at /software/lheasoft/develop/x86_64-pc-linux-gnu-libc2.12/bin/nicerl3-spect line 627. Dumping CFITSIO error stack: -------------------------------------------------- Error: trying to write to READONLY file. Error: trying to write to READONLY file. Error: trying to write to READONLY file. -------------------------------------------------- CFITSIO error stack dump complete.

This error message appears during the process of running nicerl3-spect to generate spectral products.

There are two possible causes of this error.

  • Multiple copies of filter file (both .mkf and .mkf.gz) present
  • Stale parameter files from previous release of HEASoft

Users that have reported the above errors, may also have two filter files present, both the ni*.mkf and ni*.mkf.gz (i.e. both a gzipped and non-gzipped version of the filter file). This confuses the HEASoft 6.31 released version of niscorpcalc, and is fixed in HEASoft 6.31. The remedy is to remove the gzipped version of the file before proceeding or install HEASoft 6.31.1 or higher.

Another likely cause of this error is after an upgrade to HEASoft 6.31 (or 6.31.1). This is caused by an old "stale" parameter in the nicerl2 parameter file from a previous release which doesn't get updated. The remedy is to run this command to remove old cached parameter files: rm $HOME/pfiles/*.par (if you have your parameter files stored somewhere other than $HOME/pfiles, use that directory name)

nicerl3-spect error: nivigsum / fsumrows / trying to write to READONLY file

An error of this form appears ERROR: fsumrows failed at nivigsum line 235. Task nivigsum 1.2 terminating with status -1 ERROR: nivignsum failed at nicerarf line 800. Task nicerarf 1.11 terminating with status -1 ERROR: nicerarf failed at nicerl3-spect line 472. Dumping CFITSIO error stack: -------------------------------------------------- Error: trying to write to READONLY file. Error: trying to write to READONLY file. Error: trying to write to READONLY file. -------------------------------------------------- CFITSIO error stack dump complete. Task nicerl3-spect 1.7 terminating with status -1

This error message appears during the process of running nicerl3-spect to generate spectral products, specifically during the creation of a NICER ARF.

The underlying root cause is that the ARF generator cannot find any filter file (MKF file) rows that match the spectrum in question. There are several possible causes of this type of error.

  • Related to SOLAR_PHI/SOLARPHI problem noted above
  • Incorrect source coordinates used (RA/Dec).
  • Input spectrum has no exposure.
  • Input GTI does not overlap with housekeeping file
  • Use of barycentered data as inputs.
  • Use of long path names (HEASoft 6.31.1 and earlier; see below)

Please see the NICER Response Common Problems for more information on these types of problems and possible remedies.

Regarding the long path name issue, a limitation has been discovered in the fsumrows task in HEASoft 6.31.1 and earlier. The task only accepts file names of 128 characters or less. This can be a problem if the user specifies long path names. This limitation is remediated in HEASoft 6.32 and later.

A remedy for the long path name issue is to avoid using long absolute paths. Where possible, use short relative paths. For example, instead of using, nicerl3-spect /long/absolute/path/to/data/1234567890 use instead, cd /long/absolute/path/to/data/ nicerl3-spect 1234567890 I.e. change to the parent directory of the observation before running nicerl3-spect. Please note that this technique may have slighly different meaning when using the XSPEC "xcm" script output files, which may include paths relative to the current working directory when the nicerl3-spect task is run.

nicerl3-spect or -lc error: fplot fails

An error of this form appears Create plot(s) file.png (png) ERROR: fplot failed to produce file.png at Task nicerl3-lc 1.1 terminating with status -1 or ERROR: XSPEC failed to produce file.png at nicerl3-spect line 768

This error message appears during the process of running nicerl3-spect or running nicerl3-lc to generate higher level plot products.

The cause of this error is missing libpng libraries. The libpng library enables support to output PNG graphical files. If the library is missing, the tools will be unable to create PNG outputs.

The remedy is to either install the appropriate libpng for your system, or you can set doplot=NO when running either of these tools to disable plot generation. The error reporting for this issue is improved in HEASoft 6.31.1.

As an alternative, you can set plotfiles to another file type that is supported. For example, nicerl3-spect ... plotfiles=myfile.ps/cps will make a color Postscript file (/cps = Color Postscript). Or, nicerl3-spect ... plotfiles=myfile.gif/gif will make a gif file, assuming you have the appropriate GIF output drivers installed.

Geomagnetic data errors

An error of this form appears ERROR: geomag_path=$GEOMAG_PATH but no such environment variable is set at nicerl2 line 422. Task nicerl2 1.27 terminating with status -1

This error message appears during the process of running nicerl2 to generate cleaned and calibrated events.

As of HEASoft 6.31, geomagnetic data is now required for processing NICER data.

The remedy is to be sure that you have Geomagnetic Quantities set up properly in your analysis environment.

Please see the Settting Up a NICER Analysis Environment analysis thread for more discussion about how to set up and retrieve geomagnetic data.

Another related error may appear of the form: Can't locate LWP/Simple.pm in @INC

This error appears when you run nigeodown to retrieve geomagnetic quantities. It relates to a required Perl library (LWP::Simple) which is not available on your system.

Please see the Settting Up a NICER Analysis Environment analysis thread for more discussion about this probably and how to remedy it. The NICER team is working to remove this library requirement for a future release of NICERDAS.

Task nigeodown fails with "Can't locate LWP/Simple.pm"

An error of this form appears ERROR: Can't locate LWP/Simple.pm in @INC

This error message appears during the process of running nigeodown to retrieve and install Geomagnetic quantities.

In HEASoft 6.31, the 'nigeodown' tool required that the Perl LWP::Simple module be installed. While this Perl module is installed by default for many/most Perl installations, it is not for others. If you experience the error Can't locate LWP/Simple.pm in @INC when running nigeodown, you do not have LWP::Simple installed.

You can remedy it by installing LWP::Simple on your machine. Installation may vary based on which computer and packaging system you are using. Typically, the package you need to install is named 'libwww-perl' or similar. Examples: port install p5-libwww-perl # MacPorts apt-get install libwww-perl # Ubuntu perl -MCPAN -e'install "LWP::Simple" # Install using Perl's CPAN system As of HEASoft 6.32 (NICERDAS 11), this requirement is no longer present, and the error should not appear. Thus, you can also prevent this error by upgrading to HEASoft 6.32.

The remedy to this problem is to either install the perl LWP::Simple module, or to upgrade to HEASoft 6.32.

Please see the Settting Up a NICER Analysis Environment analysis thread for more discussion about how to set up and retrieve geomagnetic data.

nicerl2/niprefilter2 error: calculation of DELTA_SLOW_LLD failed

An error of this form appears ERROR: calculation of DELTA_SLOW_LLD failed at niprefilter2 line 1189. Dumping CFITSIO error stack: -------------------------------------------------- ARRAY(V,n) value V must have vector dimension of 1 -------------------------------------------------- CFITSIO error stack dump complete. Task niprefilter2 2.10 terminating with status -1 Adding DELTA_SLOW_LLD ERROR: task niprefilter2 failed at nicerl2 line 547. Task nicerl2 1.31 terminating with status -1 nicerl2 1.31

This error message appears during the process of running nicerl2 (or niprefilter2) for the standard data reduction pipeline.

The error message you received is not common. It indicates a configuration mismatch with some software libraries that are used by the analyst.

The error indicates one has CFITSIO 4.2.0 installed somewhere in the system. The version of CFITSIO released with HEASoft 6.32 is CFITSIO 4.3.0, and filtcols=NICERV5 relies upon the enhancements in this newer version.

When this occurs, it is due to using multiple software packages, for example HEASoft along with CIAO or XMM DAS, or some other software that uses CFITSIO as a shared library.

The user may have configured the other packages "after" HEASoft, and this is bringing in an older version of CFITSIO. This commonly appears in the user's shell startup file (.bashrc, .bash_profile, .profile, .cshrc, .login, etc). Basically, it comes down to conflicting software that uses different versions of the CFITSIO library, and one must avoid setting up both software packages in one session.

A solution would be to put the HEASoft configuration last in the startup file.

Another solution would be to initialize HEASoft manually when it is needed.

The above DELTA_SLOW_LLD error occurs when multiple software packages that utilize conflicting versions the CFITSIO library are configured. The solution is to put HEASoft's configuration last in one's startup file, or to only selectively configure HEASoft.

Modifications

  • 2021-07-20 - initial draft
  • 2021-07-29 - updates for HeaSoft 6.29 (prefilter)
  • 2021-08-02 - add nifpmsel "Input GTI must be time-ordered"
  • 2021-08-05 - add niextract-events with empty files
  • 2021-08-09 - add fsumrows error
  • 2021-09-01 - add NICER Response Bug issue
  • 2021-12-02 - add another nicerarf failure mode when using barycentered data
  • 2022-04-28 - add nicerrmf "no good weighted RMFS found" error discussion
  • 2022-09-28 - add barycorr error: no bracketing sample found for a specified time interval
  • 2022-12-05 - add nicerl3-spect error: required column SOLARPHI/SOLAR_PHI not found
  • 2022-12-08 - formatting corrections
  • 2022-12-15 - further discussion about nicerl3-spect failure; add fplot error
  • 2022-12-20 - updated for HEASoft 6.31.1 (NICERDAS 10a)
  • 2023-01-09 - add some geomagnetic quantity related errors
  • 2023-07-06 - add discussion of nicerarf "READONLY" type errors
  • 2023-07-24 - move nigeodown errors to this page from the setup page
  • 2024-01-25 - add discussion of DELTA_SLOW_LLD error