From dad3a80b9a178fd8250b32accf24a085d6427742 Mon Sep 17 00:00:00 2001 From: Jeremy Karst Date: Thu, 6 Jun 2024 09:47:06 -0400 Subject: [PATCH] Added error handling to filter for fits file with no included image array. --- filter_FITS.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/filter_FITS.py b/filter_FITS.py index 74f85f3..d84a09d 100644 --- a/filter_FITS.py +++ b/filter_FITS.py @@ -57,7 +57,12 @@ def filter_fits(work_queue): return measurement = job.split("dr_suvi-l2-")[1].split("_")[0][2:] idx = measurement_names.index(measurement) - data = fits.getdata(job) + try: + data = fits.getdata(job) + except IndexError: # This can happen with a blank or corrupt HDU in the .fits file + new_name = job.split(".fits")[0] + "_e.fits" + os.rename(job, new_name) + continue assert data.shape[0] == expected_dims assert data.shape[1] == expected_dims filtered_data = np.zeros_like(data) @@ -111,7 +116,6 @@ def filter_fits(work_queue): os.rename(job, new_name) # print(f"Renamed: {job} -> {new_name}") - except KeyboardInterrupt: return except Exception as e: @@ -138,7 +142,7 @@ if __name__ == "__main__": starttime = calendar.timegm(datetime.datetime(2023, 1, 1, tzinfo=datetime.timezone.utc).timetuple()) stoptime = calendar.timegm(datetime.datetime(2024, 1, 1, tzinfo=datetime.timezone.utc).timetuple()) - reprocess_errors = True + reprocess_errors = False nworkers = 20