Index: /branches/eam_branches/psModules.20230123/src/camera/pmFPAfile.c
===================================================================
--- /branches/eam_branches/psModules.20230123/src/camera/pmFPAfile.c	(revision 42329)
+++ /branches/eam_branches/psModules.20230123/src/camera/pmFPAfile.c	(revision 42330)
@@ -539,4 +539,7 @@
     if (!strcasecmp(type, "LINEARITY"))  {
       return PM_FPA_FILE_LINEARITY;
+    }
+    if (!strcasecmp(type, "NEWNONLIN"))  {
+      return PM_FPA_FILE_NEWNONLIN;
     }
     if (!strcasecmp(type, "ASTROM"))     {
Index: /branches/eam_branches/psModules.20230123/src/camera/pmFPAfile.h
===================================================================
--- /branches/eam_branches/psModules.20230123/src/camera/pmFPAfile.h	(revision 42329)
+++ /branches/eam_branches/psModules.20230123/src/camera/pmFPAfile.h	(revision 42330)
@@ -54,4 +54,5 @@
     PM_FPA_FILE_PATTERN_ROW_AMP,
     PM_FPA_FILE_LINEARITY,
+    PM_FPA_FILE_NEWNONLIN,
     PM_FPA_FILE_EXPNUM,
 } pmFPAfileType;
Index: /branches/eam_branches/psModules.20230123/src/camera/pmFPAfileIO.c
===================================================================
--- /branches/eam_branches/psModules.20230123/src/camera/pmFPAfileIO.c	(revision 42329)
+++ /branches/eam_branches/psModules.20230123/src/camera/pmFPAfileIO.c	(revision 42330)
@@ -282,4 +282,5 @@
       case PM_FPA_FILE_KAPA:
       case PM_FPA_FILE_LINEARITY:
+      case PM_FPA_FILE_NEWNONLIN:
         break;
       default:
@@ -638,4 +639,5 @@
       case PM_FPA_FILE_PATTERN_ROW_AMP:
       case PM_FPA_FILE_LINEARITY:
+      case PM_FPA_FILE_NEWNONLIN:
       case PM_FPA_FILE_EXPNUM:
         psTrace ("psModules.camera", 5, "closing %s (%s) (%d:%d:%d)\n", file->filename, file->name, view->chip, view->cell, view->readout);
@@ -722,4 +724,5 @@
       case PM_FPA_FILE_KAPA:
       case PM_FPA_FILE_LINEARITY:
+      case PM_FPA_FILE_NEWNONLIN:
         psTrace ("psModules.camera", 5, "nothing to free for %s (%s)\n", file->filename, file->name);
         return true;
@@ -881,4 +884,5 @@
       case PM_FPA_FILE_PATTERN_ROW_AMP:
       case PM_FPA_FILE_LINEARITY:
+      case PM_FPA_FILE_NEWNONLIN:
       case PM_FPA_FILE_EXPNUM:
         psTrace ("psModules.camera", 5, "opening %s (%s) (%d:%d:%d)\n",
Index: /branches/eam_branches/psModules.20230123/src/detrend/Makefile.am
===================================================================
--- /branches/eam_branches/psModules.20230123/src/detrend/Makefile.am	(revision 42329)
+++ /branches/eam_branches/psModules.20230123/src/detrend/Makefile.am	(revision 42330)
@@ -10,4 +10,5 @@
 	pmMaskStats.c \
 	pmNonLinear.c \
+	pmNewNonLinear.c \
 	pmBias.c \
 	pmOverscan.c \
@@ -30,4 +31,5 @@
 	pmMaskStats.h \
 	pmNonLinear.h \
+	pmNewNonLinear.h \
 	pmBias.h \
 	pmOverscan.h \
Index: /branches/eam_branches/psModules.20230123/src/detrend/pmDetrendDB.h
===================================================================
--- /branches/eam_branches/psModules.20230123/src/detrend/pmDetrendDB.h	(revision 42329)
+++ /branches/eam_branches/psModules.20230123/src/detrend/pmDetrendDB.h	(revision 42330)
@@ -39,4 +39,5 @@
     PM_DETREND_TYPE_VIDEODARK,
     PM_DETREND_TYPE_LINEARITY,
+    PM_DETREND_TYPE_NEWNONLIN,
     PM_DETREND_TYPE_AUXMASK,
     PM_DETREND_TYPE_KH_CORRECT,
Index: /branches/eam_branches/psModules.20230123/src/detrend/pmNewNonLinear.c
===================================================================
--- /branches/eam_branches/psModules.20230123/src/detrend/pmNewNonLinear.c	(revision 42329)
+++ /branches/eam_branches/psModules.20230123/src/detrend/pmNewNonLinear.c	(revision 42330)
@@ -8,10 +8,10 @@
 // model is stored as a FITS table, read into an array
 // each row is one knot, with (X, Y, dY2)
-bool pmNonLinearityApply(pmReadout *inputReadout, psArray *table)
+bool pmNewNonLinearityApply(pmReadout *inputReadout, psArray *table)
 {
+    PS_ASSERT_PTR_NON_NULL(table, false);
     PS_ASSERT_PTR_NON_NULL(inputReadout, false);
     PS_ASSERT_PTR_NON_NULL(inputReadout->image, false);
     PS_ASSERT_IMAGE_TYPE(inputReadout->image, PS_TYPE_F32, false);
-    PS_ASSERT_PTR_NON_NULL(Ltab, false);
 
     psTimerStart ("nonlinear");
@@ -26,4 +26,5 @@
 	psMetadata *row = table->data[i];
 	
+	bool status;
 	model->xKnots[i]   = psMetadataLookupF32(&status, row, "X_KNOT");
 	model->yKnots[i]   = psMetadataLookupF32(&status, row, "Y_KNOT");
Index: /branches/eam_branches/psModules.20230123/src/detrend/pmNewNonLinear.h
===================================================================
--- /branches/eam_branches/psModules.20230123/src/detrend/pmNewNonLinear.h	(revision 42329)
+++ /branches/eam_branches/psModules.20230123/src/detrend/pmNewNonLinear.h	(revision 42330)
@@ -13,5 +13,5 @@
 
 /// Correct non-linearity using spline
-bool pmNonLinearityApply(pmReadout *inputReadout, psArray *table);
+bool pmNewNonLinearityApply(pmReadout *inputReadout, psArray *table);
 
 /// @}
Index: /branches/eam_branches/psModules.20230123/src/detrend/pmOverscan.c
===================================================================
--- /branches/eam_branches/psModules.20230123/src/detrend/pmOverscan.c	(revision 42329)
+++ /branches/eam_branches/psModules.20230123/src/detrend/pmOverscan.c	(revision 42330)
@@ -141,6 +141,7 @@
 	// output spline.  EAM: still true 2023.01.22
 
-        overscanOpts->spline = psVectorFitSpline1D(reduced, ordinate);
-        fitted = psSpline1DEvalVector(overscanOpts->spline, ordinate);
+        // overscanOpts->spline = psVectorFitSpline1D(reduced, ordinate);
+        // fitted = psSpline1DEvalVector(overscanOpts->spline, ordinate);
+        psError(PS_ERR_UNKNOWN, true, "Spline overscan fitting is broken\n");
         break;
       default:
@@ -188,4 +189,5 @@
       }
       case PM_FIT_SPLINE: {
+	/*
 	  psSpline1D *spline = overscanOpts->spline; // The spline
 	  for (int i = 0; i < spline->n; i++) {
@@ -200,4 +202,5 @@
 	      comment = NULL;
 	  }
+	*/
 	  // write metadata header value
 	  psMetadataAddF32(hdu->header, PS_LIST_TAIL, "OVER_VAL", PS_META_REPLACE,
Index: /branches/eam_branches/psModules.20230123/src/psmodules.h
===================================================================
--- /branches/eam_branches/psModules.20230123/src/psmodules.h	(revision 42329)
+++ /branches/eam_branches/psModules.20230123/src/psmodules.h	(revision 42330)
@@ -77,4 +77,5 @@
 #include <pmMaskStats.h>
 #include <pmNonLinear.h>
+#include <pmNewNonLinear.h>
 #include <pmOverscan.h>
 #include <pmBias.h>
