Index: trunk/ppStack/src/ppStackUpdateHeader.c
===================================================================
--- trunk/ppStack/src/ppStackUpdateHeader.c	(revision 30620)
+++ trunk/ppStack/src/ppStackUpdateHeader.c	(revision 31158)
@@ -70,4 +70,58 @@
     psMetadataAddStr(hdu->header, PS_LIST_TAIL, "TESS_ID", PS_META_REPLACE, "type of stack", tessID);
 
+    psMetadataAddF32(hdu->header, PS_LIST_TAIL, "AIRM_SLP", PS_META_REPLACE, "airmass slope", options->airmassSlope);
+    
+
+    // write the following fields to the output headers:
+    // INP_NNNN : input file names
+    // SCL_NNNN : scale factor for each input file
+    // ZPT_NNNN : zero point of input file 
+    // EXT_NNNN : exptime of input file
+    // AIR_NNNN : airmass of input file
+
+    // use separate loops so they are blocked together in the headers (more readable)
+
+    // save the input filenames
+    for (int i = 0; i < options->num; i++) {
+	char field[64];
+	snprintf (field, 64, "INP_%04d", i);
+
+	psString basename = psStringFileBasename(options->origImages->data[i]);
+	psMetadataAddStr(hdu->header, PS_LIST_TAIL, field, PS_META_REPLACE, "input image name", basename);
+	psFree(basename);
+    }	
+
+    // save the input normalizations
+    for (int i = 0; i < options->num; i++) {
+	char field[64];
+
+	float value = options->norm ? pow(10.0, -0.4*options->norm->data.F32[i]) : NAN;
+	snprintf (field, 64, "SCL_%04d", i);
+	psMetadataAddF32(hdu->header, PS_LIST_TAIL, field, PS_META_REPLACE, "input image scale factor", value);
+    }	
+    // save the input exptimes
+    for (int i = 0; i < options->num; i++) {
+	char field[64];
+
+	float value = options->zpInput ? options->zpInput->data.F32[i] : NAN;
+	snprintf (field, 64, "ZPT_%04d", i);
+	psMetadataAddF32(hdu->header, PS_LIST_TAIL, field, PS_META_REPLACE, "input image zero point", value);
+    }	
+    // save the input normalizations
+    for (int i = 0; i < options->num; i++) {
+	char field[64];
+
+	float value = options->expTimeInput ? options->expTimeInput->data.F32[i] : NAN;
+	snprintf (field, 64, "EXP_%04d", i);
+	psMetadataAddF32(hdu->header, PS_LIST_TAIL, field, PS_META_REPLACE, "input image exptime", value);
+    }	
+    // save the input normalizations
+    for (int i = 0; i < options->num; i++) {
+	char field[64];
+
+	float value = options->airmassInput ? options->airmassInput->data.F32[i] : NAN;
+	snprintf (field, 64, "AIR_%04d", i);
+	psMetadataAddF32(hdu->header, PS_LIST_TAIL, field, PS_META_REPLACE, "input image airmass", value);
+    }	
     return true;
 }
