Index: /trunk/ppStats/src/ppStatsData.c
===================================================================
--- /trunk/ppStats/src/ppStatsData.c	(revision 12353)
+++ /trunk/ppStats/src/ppStatsData.c	(revision 12354)
@@ -41,4 +41,5 @@
     data->stats = psStatsAlloc(0);
     data->doStats = false;
+    data->fileLevel = false;
 
     data->sample = 0;
Index: /trunk/ppStats/src/ppStatsData.h
===================================================================
--- /trunk/ppStats/src/ppStatsData.h	(revision 12353)
+++ /trunk/ppStats/src/ppStatsData.h	(revision 12354)
@@ -13,4 +13,5 @@
     psStats *stats;                     // Statistics to calculate
     bool doStats;                       // Do statistics?
+    bool fileLevel;                     // Output file level?
     psList *headers;                    // Headers to read
     psList *concepts;                   // Concepts to read
Index: /trunk/ppStats/src/ppStatsSetupFromArgs.c
===================================================================
--- /trunk/ppStats/src/ppStatsSetupFromArgs.c	(revision 12353)
+++ /trunk/ppStats/src/ppStatsSetupFromArgs.c	(revision 12354)
@@ -109,4 +109,5 @@
     psMetadataAddF32(arguments, PS_LIST_TAIL, "-rej", 0, "Clipping level", 0.0);
     psMetadataAddF32(arguments, PS_LIST_TAIL, "-sample", 0, "Sampling fraction", 0.0);
+    psMetadataAddBool(arguments, PS_LIST_TAIL, "-level", 0, "File level", 0);
 
     if (*config->argc == 1) {
@@ -145,5 +146,5 @@
     data->stats->clipIter = psMetadataLookupS32(NULL, arguments, "-iter");
     data->sample = psMetadataLookupF32(NULL, arguments, "-sample");
-
+    data->fileLevel = psMetadataLookupBool(NULL, arguments, "-level");
 
     // Open the input file, determine the camera
Index: /trunk/ppStats/src/ppStatsStandAlone.c
===================================================================
--- /trunk/ppStats/src/ppStatsStandAlone.c	(revision 12353)
+++ /trunk/ppStats/src/ppStatsStandAlone.c	(revision 12354)
@@ -43,5 +43,5 @@
             if (!outFile) {
                 psLogMsg("ppStats", PS_LOG_ERROR, "Unable to open output file %s\n", outName);
-		// XXX this could be a system or config error, but not a data error
+                // XXX this could be a system or config error, but not a data error
                 status = PS_EXIT_CONFIG_ERROR;
                 goto die;
@@ -61,4 +61,9 @@
         status = PS_EXIT_DATA_ERROR;
         goto die;
+    }
+
+    if (data->fileLevel) {
+        const char *level = pmFPALevelToName(pmFPAPHULevel(config->format)); // Level for file
+        psMetadataAddStr(results, PS_LIST_HEAD, "FILE.LEVEL", 0, "File level", level);
     }
 
@@ -83,5 +88,5 @@
 die:
     if (status) {
-	psErrorStackPrint (stderr, "failure in %s", __func__);
+        psErrorStackPrint (stderr, "failure in %s", __func__);
     }
     psFree(data);
