From 217afe1b6e2c4bac52a093791ca7f4373af00103 Mon Sep 17 00:00:00 2001
From: Roberto Susino <roberto.susino@inaf.it>
Date: Thu, 6 Oct 2022 15:48:01 +0200
Subject: [PATCH] Fix wrong keywords in FITS headers

---
 metis_l2_prep_uv.pro         |  7 ++++---
 metis_l2_prep_vl_generic.pro |  6 +++---
 metis_l2_prep_vl_polariz.pro | 18 +++++++++++++++++-
 3 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/metis_l2_prep_uv.pro b/metis_l2_prep_uv.pro
index b5bbe30..1f14da9 100644
--- a/metis_l2_prep_uv.pro
+++ b/metis_l2_prep_uv.pro
@@ -138,7 +138,6 @@ pro metis_l2_prep_uv
 	fxaddpar, primary_header, 'FILENAME', file_name
 	fxaddpar, primary_header, 'PARENT', file_basename(input.file_name)
 	fxaddpar, primary_header, 'LEVEL', 'L2'
-	fxaddpar, primary_header, 'ORIGIN', ''
 	fxaddpar, primary_header, 'CREATOR', 'metis_l2_prep_uv.pro'
 	fxaddpar, primary_header, 'VERS_SW', input.sw_version
 	fxaddpar, primary_header, 'VERS_CAL', cal_pack.version
@@ -190,6 +189,7 @@ pro metis_l2_prep_uv
 	; add the extension with the quality matrix
 
 	base_header = primary_header
+	sxdelpar, base_header, 'SIMPLE'
 	sxdelpar, base_header, 'EXTEND'
 	sxdelpar, base_header, 'DATASUM'
 	sxdelpar, base_header, 'CHECKSUM'
@@ -216,15 +216,16 @@ pro metis_l2_prep_uv
 
 	; add the extension with the error matrix
 
-	extension_header = base_header
+	if not ref_detector then error = metis_rectify(error, 'UV')
 	error_matrix = data * sqrt(error)
+	extension_header = base_header
 	fxaddpar, extension_header, 'PCOUNT', 0, 'parameter count', before = 'LONGSTRN'
 	fxaddpar, extension_header, 'GCOUNT', 1, 'group count', before = 'LONGSTRN'
 	fxaddpar, extension_header, 'EXTNAME', 'Error matrix', 'extension name', before = 'LONGSTRN'
 	fxaddpar, extension_header, 'BTYPE', 'Absolute error'
 	fxaddpar, extension_header, 'DATAMIN', min(error_matrix, /nan)
 	fxaddpar, extension_header, 'DATAMAX', max(error_matrix, /nan)
-	if not ref_detector then error_matrix = metis_rectify(error_matrix, 'UV')
+	
 	fits_add_checksum, extension_header, float(error_matrix)
 	mwrfits, float(error_matrix), out_file_name, extension_header, /no_comment, /silent
 
diff --git a/metis_l2_prep_vl_generic.pro b/metis_l2_prep_vl_generic.pro
index cd6e834..42fd622 100644
--- a/metis_l2_prep_vl_generic.pro
+++ b/metis_l2_prep_vl_generic.pro
@@ -157,7 +157,6 @@ pro metis_l2_prep_vl_generic
 	fxaddpar, primary_header, 'FILENAME', file_name
 	fxaddpar, primary_header, 'PARENT', file_basename(input.file_name)
 	fxaddpar, primary_header, 'LEVEL', 'L2'
-	fxaddpar, primary_header, 'ORIGIN', ''
 	fxaddpar, primary_header, 'CREATOR', 'metis_l2_prep_vl_generic.pro'
 	fxaddpar, primary_header, 'VERS_SW', input.sw_version
 	fxaddpar, primary_header, 'VERS_CAL', cal_pack.version
@@ -231,6 +230,7 @@ pro metis_l2_prep_vl_generic
 	; add the extension with the quality matrix
 
 	base_header = primary_header
+	sxdelpar, base_header, 'SIMPLE'
 	sxdelpar, base_header, 'EXTEND'
 	sxdelpar, base_header, 'DATASUM'
 	sxdelpar, base_header, 'CHECKSUM'
@@ -257,15 +257,15 @@ pro metis_l2_prep_vl_generic
 
 	; add the extension with the error matrix
 
-	extension_header = base_header
+	if not ref_detector then error = metis_rectify(error, 'VL')
 	error_matrix = data * sqrt(error)
+	extension_header = base_header
 	fxaddpar, extension_header, 'PCOUNT', 0, 'parameter count', before = 'LONGSTRN'
 	fxaddpar, extension_header, 'GCOUNT', 1, 'group count', before = 'LONGSTRN'
 	fxaddpar, extension_header, 'EXTNAME', 'Error matrix', 'extension name', before = 'LONGSTRN'
 	fxaddpar, extension_header, 'BTYPE', 'Absolute error'
 	fxaddpar, extension_header, 'DATAMIN', min(error_matrix, /nan)
 	fxaddpar, extension_header, 'DATAMAX', max(error_matrix, /nan)
-	if not ref_detector then data = metis_rectify(error_matrix, 'VL')
 	fits_add_checksum, extension_header, float(error_matrix)
 	mwrfits, float(error_matrix), out_file_name, extension_header, /no_comment, /silent
 
diff --git a/metis_l2_prep_vl_polariz.pro b/metis_l2_prep_vl_polariz.pro
index 34f09d6..c99681d 100755
--- a/metis_l2_prep_vl_polariz.pro
+++ b/metis_l2_prep_vl_polariz.pro
@@ -305,7 +305,6 @@ pro metis_l2_prep_vl_polariz
 
 	fxaddpar, primary_header, 'PARENT', strjoin(file_basename(input.file_name), ', ')
 	fxaddpar, primary_header, 'LEVEL', 'L2'
-	fxaddpar, primary_header, 'ORIGIN', ''
 	fxaddpar, primary_header, 'CREATOR', 'metis_l2_prep_vl_polariz.pro'
 	fxaddpar, primary_header, 'VERS_SW', input.sw_version
 	fxaddpar, primary_header, 'VERS_CAL', cal_pack.version
@@ -404,6 +403,7 @@ pro metis_l2_prep_vl_polariz
 	; add the extension with the quality matrix
 
 	base_header = primary_pb_header
+	sxdelpar, base_header, 'SIMPLE'
 	sxdelpar, base_header, 'EXTEND'
 	sxdelpar, base_header, 'DATASUM'
 	sxdelpar, base_header, 'CHECKSUM'
@@ -476,6 +476,7 @@ pro metis_l2_prep_vl_polariz
 	; add the extension with the quality matrix
 
 	base_header = primary_tb_header
+	sxdelpar, base_header, 'SIMPLE'
 	sxdelpar, base_header, 'EXTEND'
 	sxdelpar, base_header, 'DATASUM'
 	sxdelpar, base_header, 'CHECKSUM'
@@ -548,6 +549,7 @@ pro metis_l2_prep_vl_polariz
 	; add the extension with the quality matrix
 
 	base_header = primary_polangle_header
+	sxdelpar, base_header, 'SIMPLE'
 	sxdelpar, base_header, 'EXTEND'
 	sxdelpar, base_header, 'DATASUM'
 	sxdelpar, base_header, 'CHECKSUM'
@@ -642,6 +644,13 @@ pro metis_l2_prep_vl_polariz
 	; add the extension with the stokes q image
 
 	extension_header = primary_stokes_header
+	sxdelpar, extension_header, 'SIMPLE'
+	sxdelpar, extension_header, 'EXTEND'
+	sxdelpar, extension_header, 'DATASUM'
+	sxdelpar, extension_header, 'CHECKSUM'
+	sxdelpar, extension_header, 'COMMENT'
+	sxdelpar, extension_header, 'HISTORY'
+	
 	fxaddpar, extension_header, 'PCOUNT', 0, 'parameter count', before = 'LONGSTRN'
 	fxaddpar, extension_header, 'GCOUNT', 1, 'group count', before = 'LONGSTRN'
 	fxaddpar, extension_header, 'EXTNAME', 'Stokes Q', 'extension name', before = 'LONGSTRN'
@@ -659,6 +668,13 @@ pro metis_l2_prep_vl_polariz
 	; add the extension with the stokes u image
 
 	extension_header = primary_stokes_header
+	sxdelpar, extension_header, 'SIMPLE'
+	sxdelpar, extension_header, 'EXTEND'
+	sxdelpar, extension_header, 'DATASUM'
+	sxdelpar, extension_header, 'CHECKSUM'
+	sxdelpar, extension_header, 'COMMENT'
+	sxdelpar, extension_header, 'HISTORY'
+	
 	fxaddpar, extension_header, 'PCOUNT', 0, 'parameter count', before = 'LONGSTRN'
 	fxaddpar, extension_header, 'GCOUNT', 1, 'group count', before = 'LONGSTRN'
 	fxaddpar, extension_header, 'EXTNAME', 'Stokes U', 'extension name', before = 'LONGSTRN'
-- 
GitLab