Index: /trunk/psLib/src/astro/psCoord.c
===================================================================
--- /trunk/psLib/src/astro/psCoord.c	(revision 9537)
+++ /trunk/psLib/src/astro/psCoord.c	(revision 9538)
@@ -10,6 +10,6 @@
 *  @author GLG, MHPCC
 *
-*  @version $Revision: 1.123 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-08-09 02:26:44 $
+*  @version $Revision: 1.124 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-10-13 21:13:47 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -222,7 +222,5 @@
 bool psMemCheckPlane(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)planeFree );
 }
@@ -230,7 +228,5 @@
 bool psMemCheckSphere(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)sphereFree );
 }
@@ -238,7 +234,5 @@
 bool psMemCheckCube(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)cubeFree );
 }
@@ -246,7 +240,5 @@
 bool psMemCheckPlaneTransform(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)planeTransformFree );
 }
@@ -295,7 +287,5 @@
 bool psMemCheckPlaneDistort(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)planeDistortFree );
 }
@@ -353,7 +343,5 @@
 bool psMemCheckProjection(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)projectionFree );
 }
Index: /trunk/psLib/src/astro/psSphereOps.c
===================================================================
--- /trunk/psLib/src/astro/psSphereOps.c	(revision 9537)
+++ /trunk/psLib/src/astro/psSphereOps.c	(revision 9538)
@@ -8,6 +8,6 @@
  *  @author Dave Robbins, MHPCC
  *
- *  @version $Revision: 1.15 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-08-08 23:32:22 $
+ *  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:47 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -83,7 +83,5 @@
 bool psMemCheckSphereRot(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     //See if the ptr corresponds to a psSphereRot*
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)sphereRotFree );
Index: /trunk/psLib/src/db/psDB.c
===================================================================
--- /trunk/psLib/src/db/psDB.c	(revision 9537)
+++ /trunk/psLib/src/db/psDB.c	(revision 9538)
@@ -12,6 +12,6 @@
  *  @author Joshua Hoblitt
  *
- *  @version $Revision: 1.100 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-10-09 22:11:34 $
+ *  @version $Revision: 1.101 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:47 $
  *
  *  Copyright (C) 2005-2006  Joshua Hoblitt, University of Hawaii
@@ -76,13 +76,13 @@
 
 // SQL generation functions
-static char    *psDBGenerateCreateTableSQL(const char *tableName, const psMetadata *where);
-static char    *psDBGenerateSelectRowSQL(const char *tableName, const char *col,
+static psString psDBGenerateCreateTableSQL(const char *tableName, const psMetadata *where);
+static psString psDBGenerateSelectRowSQL(const char *tableName, const char *col,
         const psMetadata *where, psU64 limit);
-static char    *psDBGenerateInsertRowSQL(const char *tableName, const psMetadata *row);
-static char    *psDBGenerateUpdateRowSQL(const char *tableName, const psMetadata *where,
+static psString psDBGenerateInsertRowSQL(const char *tableName, const psMetadata *row);
+static psString psDBGenerateUpdateRowSQL(const char *tableName, const psMetadata *where,
         const psMetadata *values);
-static char    *psDBGenerateDeleteRowSQL(const char *tableName, const psMetadata *where,
+static psString psDBGenerateDeleteRowSQL(const char *tableName, const psMetadata *where,
         unsigned long long limit);
-static char    *psDBGenerateSetSQL(const psMetadata *set
+static psString psDBGenerateSetSQL(const psMetadata *set
                                   );
 static char *psDBGenerateConditionalSQL(const psMetadataItem *item, const char *tableName);
@@ -90,5 +90,5 @@
 // lookup table functions
 static psElemType psDBMySQLToPType(enum enum_field_types type, unsigned int flags);
-static char    *psDBPTypeToSQL(psElemType pType);
+static psString psDBPTypeToSQL(psElemType pType);
 static mysqlType *psDBPTypeToMySQL(psElemType pType);
 
@@ -116,5 +116,4 @@
 static psPtr    psDBGetPTypeNaN(psElemType pType);
 static bool     psDBIsPTypeNaN(psElemType pType, psPtr data);
-
 
 // public functions
@@ -228,5 +227,5 @@
     PS_ASSERT_PTR_NON_NULL(dbname, false);
 
-    char *query = NULL;
+    psString query = NULL;
     psStringAppend(&query, "CREATE DATABASE %s", dbname);
 
@@ -294,5 +293,5 @@
 
     // Generate SQL query string
-    char *query = psDBGenerateCreateTableSQL(tableName, md);
+    psString query = psDBGenerateCreateTableSQL(tableName, md);
     if (!query) {
         psError(PS_ERR_UNEXPECTED_NULL, false, _("Query generation failed."));
@@ -320,5 +319,5 @@
 
     // Create SQL command string to drop table
-    char *query = NULL;
+    psString query = NULL;
     psStringAppend(&query, "DROP TABLE %s", tableName);
 
@@ -354,5 +353,5 @@
 
     // Generate SQL query string
-    char *query = psDBGenerateSelectRowSQL(tableName, col, NULL, limit);
+    psString query = psDBGenerateSelectRowSQL(tableName, col, NULL, limit);
     if (!query) {
         psError(PS_ERR_UNEXPECTED_NULL, false, _("Query generation failed."));
@@ -541,5 +540,5 @@
 
     // Create select row query
-    char *query = psDBGenerateSelectRowSQL(tableName, NULL, where, limit);
+    psString query = psDBGenerateSelectRowSQL(tableName, NULL, where, limit);
     if (!query) {
         psError(PS_ERR_UNEXPECTED_NULL, false, "Query generation failed.");
@@ -597,5 +596,5 @@
 
     // Generate SQL query string
-    char *query = psDBGenerateInsertRowSQL(tableName, row);
+    psString query = psDBGenerateInsertRowSQL(tableName, row);
     if (!query) {
         psError(PS_ERR_UNEXPECTED_NULL, false, _("Query generation failed."));
@@ -692,5 +691,5 @@
 
     // Generate SQL query to update row
-    char *query = psDBGenerateUpdateRowSQL(tableName, where, values);
+    psString query = psDBGenerateUpdateRowSQL(tableName, where, values);
     if (!query) {
         psError(PS_ERR_UNEXPECTED_NULL, false, _("Query generation failed."));
@@ -720,5 +719,5 @@
 
     // Create SQL statement string
-    char *query = psDBGenerateDeleteRowSQL(tableName, where,limit);
+    psString query = psDBGenerateDeleteRowSQL(tableName, where,limit);
     if (!query) {
         psError(PS_ERR_UNEXPECTED_NULL, false, "Query generation failed.");
@@ -809,5 +808,5 @@
     PS_ASSERT_PTR_NON_NULL(format, false);
 
-    char *query = NULL;
+    psString query = NULL;
 
     // Run query
@@ -847,5 +846,5 @@
     PS_ASSERT_PTR_NON_NULL(format, -1);
 
-    char *query = NULL;
+    psString query = NULL;
 
     // generate query string
@@ -1229,6 +1228,6 @@
 /*****************************************************************************/
 
-static char *psDBGenerateCreateTableSQL(const char *tableName,
-                                        const psMetadata *table)
+static psString psDBGenerateCreateTableSQL(const char *tableName,
+        const psMetadata *table)
 {
     PS_ASSERT_PTR_NON_NULL(tableName, NULL);
@@ -1332,8 +1331,8 @@
 }
 
-static char *psDBGenerateSelectRowSQL(const char *tableName,
-                                      const char *col,
-                                      const psMetadata *where,
-                                      psU64 limit)
+static psString psDBGenerateSelectRowSQL(const char *tableName,
+        const char *col,
+        const psMetadata *where,
+        psU64 limit)
 {
     PS_ASSERT_PTR_NON_NULL(tableName, NULL);
@@ -1374,6 +1373,6 @@
 }
 
-static char *psDBGenerateInsertRowSQL(const char *tableName,
-                                      const psMetadata *row)
+static psString psDBGenerateInsertRowSQL(const char *tableName,
+        const psMetadata *row)
 {
     PS_ASSERT_PTR_NON_NULL(tableName, NULL);
@@ -1422,7 +1421,7 @@
 }
 
-static char *psDBGenerateUpdateRowSQL(const char *tableName,
-                                      const psMetadata *where,
-                                      const psMetadata *values)
+static psString psDBGenerateUpdateRowSQL(const char *tableName,
+        const psMetadata *where,
+        const psMetadata *values)
 {
     PS_ASSERT_PTR_NON_NULL(tableName, NULL);
@@ -1455,7 +1454,7 @@
 }
 
-static char *psDBGenerateDeleteRowSQL(const char *tableName,
-                                      const psMetadata *where,
-                                      unsigned long long limit)
+static psString psDBGenerateDeleteRowSQL(const char *tableName,
+        const psMetadata *where,
+        unsigned long long limit)
 {
     PS_ASSERT_PTR_NON_NULL(tableName, NULL);
@@ -1492,5 +1491,5 @@
 }
 
-char *psDBGenerateWhereSQL(const psMetadata *where, const char *tableName)
+psString psDBGenerateWhereSQL(const psMetadata *where, const char *tableName)
 {
     PS_ASSERT_PTR_NON_NULL(where, NULL);
@@ -1504,9 +1503,9 @@
 }
 
-char *psDBGenerateWhereConditionSQL(const psMetadata *where, const char *tableName)
+psString psDBGenerateWhereConditionSQL(const psMetadata *where, const char *tableName)
 {
     PS_ASSERT_PTR_NON_NULL(where, NULL);
 
-    char *query = NULL;
+    psString query = NULL;
 
     // we need to know if an item is 'MULTI' so we have to march through the
@@ -1540,5 +1539,5 @@
             psStringAppend(&query, "(");
             while ((mItem = psListGetAndIncrement(mCursor))) {
-                char *conditional = psDBGenerateConditionalSQL(mItem, tableName);
+                psString conditional = psDBGenerateConditionalSQL(mItem, tableName);
                 if (!conditional) {
                     psError(PS_ERR_UNKNOWN, false,
@@ -1564,5 +1563,5 @@
             psStringAppend(&query, ")");
         } else {
-            char *conditional = psDBGenerateConditionalSQL(item, tableName);
+            psString conditional = psDBGenerateConditionalSQL(item, tableName);
             if (!conditional) {
                 psError(PS_ERR_UNKNOWN, false,
@@ -1590,11 +1589,11 @@
 }
 
-static char *psDBGenerateSetSQL(const psMetadata *set
-                               )
+static psString psDBGenerateSetSQL(const psMetadata *set
+                                  )
 {
     PS_ASSERT_PTR_NON_NULL(set
                            , NULL);
 
-    char *query = psStringCopy("SET ");
+    psString query = psStringCopy("SET ");
 
     psListIterator *cursor = psListIteratorAlloc(set
@@ -1618,9 +1617,9 @@
 }
 
-static char *psDBGenerateConditionalSQL(const psMetadataItem *item, const char *tableName)
+static psString psDBGenerateConditionalSQL(const psMetadataItem *item, const char *tableName)
 {
     PS_ASSERT_PTR_NON_NULL(item, NULL);
 
-    char *query = NULL;
+    psString query = NULL;
 
     // stringify the psMetadataItem into a SQL search specification
@@ -1725,5 +1724,5 @@
 }
 
-static char *psDBPTypeToSQL(psElemType pType)
+static psString psDBPTypeToSQL(psElemType pType)
 {
     psHash          *pTypeToSQLTable;   // type lookup table
@@ -1986,6 +1985,6 @@
     PS_ASSERT_PTR_NON_NULL(lookupTable, );
 
-    char *key = psDBIntToString((psU64)type);
-    char *value = psStringCopy(string);
+    psString key = psDBIntToString((psU64)type);
+    psString value = psStringCopy(string);
 
     psHashAdd(lookupTable, key, value);
@@ -2001,5 +2000,5 @@
     PS_ASSERT_PTR_NON_NULL(lookupTable, );
 
-    char *key = psDBIntToString((psU64)type);
+    psString key = psDBIntToString((psU64)type);
 
     psHashAdd(lookupTable, key, value);
@@ -2124,5 +2123,4 @@
     return isNaN;
 }
-
 
 // string utility functions
@@ -2135,5 +2133,5 @@
     size_t length = n ? (size_t)log10((double)n) + 1 + 1
                     : 2;
-    char *string = psAlloc(length);
+    psString string = psStringAlloc(length);
     snprintf(string, length, "%li", (long int)n);
 
Index: /trunk/psLib/src/db/psDB.h
===================================================================
--- /trunk/psLib/src/db/psDB.h	(revision 9537)
+++ /trunk/psLib/src/db/psDB.h	(revision 9538)
@@ -10,6 +10,6 @@
  *  @author Joshua Hoblitt
  *
- *  @version $Revision: 1.27 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-10-09 22:11:34 $
+ *  @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:47 $
  *
  *  Copyright 2005 Joshua Hoblitt, University of Hawaii
@@ -381,5 +381,5 @@
  * @return psString:   A psString or NULL on failure
  */
-char    *psDBGenerateWhereSQL(
+psString psDBGenerateWhereSQL(
     const psMetadata *where,           ///< Row match criteria
     const char *tableName              ///< Table name
@@ -394,5 +394,5 @@
  * @return psString:   A psString or NULL on failure
  */
-char *psDBGenerateWhereConditionSQL(
+psString psDBGenerateWhereConditionSQL(
     const psMetadata *where,           ///< Row match criteria
     const char *tableName              ///< Table name
Index: /trunk/psLib/src/fits/psFits.c
===================================================================
--- /trunk/psLib/src/fits/psFits.c	(revision 9537)
+++ /trunk/psLib/src/fits/psFits.c	(revision 9538)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.58 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-08-08 23:32:23 $
+ *  @version $Revision: 1.59 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:47 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -18,5 +18,5 @@
 #include "string.h"
 #include "psError.h"
-
+#include "psAssert.h"
 #include "psImageStructManip.h"
 #include "psMemory.h"
@@ -174,7 +174,5 @@
 bool psMemCheckFits(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)fitsFree );
 }
Index: /trunk/psLib/src/fits/psFitsImage.c
===================================================================
--- /trunk/psLib/src/fits/psFitsImage.c	(revision 9537)
+++ /trunk/psLib/src/fits/psFitsImage.c	(revision 9538)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.14 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-08-26 04:34:28 $
+ *  @version $Revision: 1.15 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:47 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -17,6 +17,6 @@
 #include <string.h>
 
+#include "psFits.h"
 #include "psAssert.h"
-#include "psFits.h"
 #include "psFitsImage.h"
 #include "psError.h"
Index: /trunk/psLib/src/imageops/psImageConvolve.c
===================================================================
--- /trunk/psLib/src/imageops/psImageConvolve.c	(revision 9537)
+++ /trunk/psLib/src/imageops/psImageConvolve.c	(revision 9538)
@@ -5,6 +5,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.38 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-08-08 23:32:23 $
+ *  @version $Revision: 1.39 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -20,4 +20,5 @@
 #include "psLogMsg.h"
 #include "psError.h"
+#include "psAssert.h"
 
 
@@ -90,7 +91,5 @@
 bool psMemCheckKernel(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)freeKernel );
 }
Index: /trunk/psLib/src/imageops/psImageStructManip.c
===================================================================
--- /trunk/psLib/src/imageops/psImageStructManip.c	(revision 9537)
+++ /trunk/psLib/src/imageops/psImageStructManip.c	(revision 9538)
@@ -8,6 +8,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-08-08 23:32:23 $
+ *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -97,5 +97,5 @@
         // if a child, need to orphan (disassociate from parent) first
         if (out->parent != NULL) {
-            psArrayRemove(out->parent->children,psMemIncrRefCounter(out));
+            psArrayRemoveData(out->parent->children,psMemIncrRefCounter(out));
             // remove from parent's knowledge without triggering a free
             out->parent = NULL; // break link to parent
Index: /trunk/psLib/src/math/psMatrix.c
===================================================================
--- /trunk/psLib/src/math/psMatrix.c	(revision 9537)
+++ /trunk/psLib/src/math/psMatrix.c	(revision 9538)
@@ -21,6 +21,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.43 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-08-26 04:34:28 $
+ *  @version $Revision: 1.44 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -308,11 +308,18 @@
 // This is a temporary gauss-jordan solver based on gene's
 // version based on the Numerical Recipes version
-bool psMatrixGJSolve(
-    psImage *a,
-    psVector *b)
-{
+bool psMatrixGJSolve(psImage *a,
+                     psVector *b
+                    )
+{
+    PS_ASSERT_IMAGE_NON_NULL(a, false);
+    PS_ASSERT_VECTOR_NON_NULL(b, false);
+    PS_ASSERT_IMAGE_TYPE(a, PS_TYPE_F64, false);
+    PS_ASSERT_VECTOR_TYPE(b, PS_TYPE_F64, false);
+    PS_ASSERT_INT_EQUAL(a->numCols, a->numRows, false);
+    int Nx = a->numCols;
+    PS_ASSERT_VECTOR_SIZE(b, (long int)Nx, false);
+
     psF64 *vector = b->data.F64;
     psF64 **matrix = a->data.F64;
-    int Nx = a->numCols;
     int *indxc = psAlloc(Nx*sizeof(int));
     int *indxr = psAlloc(Nx*sizeof(int));
Index: /trunk/psLib/src/math/psMatrix.h
===================================================================
--- /trunk/psLib/src/math/psMatrix.h	(revision 9537)
+++ /trunk/psLib/src/math/psMatrix.h	(revision 9538)
@@ -21,6 +21,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-05-10 00:49:38 $
+ *  @version $Revision: 1.22 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -69,6 +69,6 @@
  */
 bool psMatrixGJSolve(
-    psImage *a,                        ///< Matrix to be solved
-    psVector *b                        ///< Vector of values
+    psImage *a,                   ///< Matrix to be solved
+    psVector *b                   ///< Vector of values
 );
 
Index: /trunk/psLib/src/math/psMinimizeLMM.c
===================================================================
--- /trunk/psLib/src/math/psMinimizeLMM.c	(revision 9537)
+++ /trunk/psLib/src/math/psMinimizeLMM.c	(revision 9538)
@@ -10,6 +10,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-08-26 04:34:28 $
+ *  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -539,7 +539,5 @@
 bool psMemCheckMinimization(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return( psMemGetDeallocator(ptr) == (psFreeFunc)minimizationFree );
 }
Index: /trunk/psLib/src/math/psPolynomial.c
===================================================================
--- /trunk/psLib/src/math/psPolynomial.c	(revision 9537)
+++ /trunk/psLib/src/math/psPolynomial.c	(revision 9538)
@@ -7,6 +7,6 @@
 *  polynomials.  It also contains a Gaussian functions.
 *
-*  @version $Revision: 1.149 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-08-09 02:26:44 $
+*  @version $Revision: 1.150 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-10-13 21:13:48 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -64,7 +64,5 @@
 bool psMemCheckPolynomial1D(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)polynomial1DFree );
 }
@@ -72,7 +70,5 @@
 bool psMemCheckPolynomial2D(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)polynomial2DFree );
 }
@@ -80,7 +76,5 @@
 bool psMemCheckPolynomial3D(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)polynomial3DFree );
 }
@@ -88,7 +82,5 @@
 bool psMemCheckPolynomial4D(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)polynomial4DFree );
 }
Index: /trunk/psLib/src/math/psRegion.c
===================================================================
--- /trunk/psLib/src/math/psRegion.c	(revision 9537)
+++ /trunk/psLib/src/math/psRegion.c	(revision 9538)
@@ -3,5 +3,5 @@
 #include "psMemory.h"
 #include "psError.h"
-
+#include "psAssert.h"
 #include "psRegion.h"
 
@@ -109,7 +109,5 @@
 bool psMemCheckRegion(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)regionFree );
 }
Index: /trunk/psLib/src/math/psSpline.c
===================================================================
--- /trunk/psLib/src/math/psSpline.c	(revision 9537)
+++ /trunk/psLib/src/math/psSpline.c	(revision 9538)
@@ -6,6 +6,6 @@
 *  This file contains the routines that allocate, free, and evaluate splines.
 *
-*  @version $Revision: 1.153 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-08-26 04:34:28 $
+*  @version $Revision: 1.154 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-10-13 21:13:48 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -168,7 +168,5 @@
 bool psMemCheckSpline1D(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)spline1DFree );
 }
Index: /trunk/psLib/src/math/psStats.c
===================================================================
--- /trunk/psLib/src/math/psStats.c	(revision 9537)
+++ /trunk/psLib/src/math/psStats.c	(revision 9538)
@@ -16,6 +16,6 @@
  * use ->min and ->max (PS_STAT_USE_RANGE)
  *
- *  @version $Revision: 1.185 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-08-26 04:34:28 $
+ *  @version $Revision: 1.186 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -1623,7 +1623,5 @@
 bool psMemCheckStats(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)statsFree );
 }
@@ -1734,7 +1732,5 @@
 bool psMemCheckHistogram(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)histogramFree );
 }
Index: /trunk/psLib/src/mathtypes/psImage.c
===================================================================
--- /trunk/psLib/src/mathtypes/psImage.c	(revision 9537)
+++ /trunk/psLib/src/mathtypes/psImage.c	(revision 9538)
@@ -9,6 +9,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.114 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-08-26 04:34:28 $
+ *  @version $Revision: 1.115 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -43,5 +43,5 @@
         int ref = ptr->refCounter;
         ptr->refCounter = 2;  // make sure psFree is not retriggered
-        psArrayRemove(image->parent->children,image);
+        psArrayRemoveData(image->parent->children,image);
         ptr->refCounter = ref; // restore previous count (not assuming zero, but should be)
 
@@ -110,7 +110,5 @@
 bool psMemCheckImage(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)imageFree );
 }
Index: /trunk/psLib/src/mathtypes/psScalar.c
===================================================================
--- /trunk/psLib/src/mathtypes/psScalar.c	(revision 9537)
+++ /trunk/psLib/src/mathtypes/psScalar.c	(revision 9538)
@@ -8,6 +8,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.24 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-08-08 23:32:23 $
+ *  @version $Revision: 1.25 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -19,5 +19,5 @@
 #include "psLogMsg.h"
 #include "psAbort.h"
-
+#include "psAssert.h"
 
 
@@ -89,7 +89,5 @@
 bool psMemCheckScalar(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, NULL);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)scalarFree );
 }
Index: /trunk/psLib/src/mathtypes/psVector.c
===================================================================
--- /trunk/psLib/src/mathtypes/psVector.c	(revision 9537)
+++ /trunk/psLib/src/mathtypes/psVector.c	(revision 9538)
@@ -9,6 +9,6 @@
 *  @author Robert DeSonia, MHPCC
 *
-*  @version $Revision: 1.82 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-08-26 04:34:28 $
+*  @version $Revision: 1.83 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-10-13 21:13:48 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -26,5 +26,5 @@
 #include "psLogMsg.h"
 #include "psCompare.h"
-
+#include "psAssert.h"
 
 
@@ -63,7 +63,5 @@
 bool psMemCheckVector(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)vectorFree );
 }
Index: /trunk/psLib/src/sys/psAssert.h
===================================================================
--- /trunk/psLib/src/sys/psAssert.h	(revision 9537)
+++ /trunk/psLib/src/sys/psAssert.h	(revision 9538)
@@ -6,6 +6,20 @@
 #include <math.h>
 
+#include "psMemory.h"
 #include "psError.h"
 #include "psLogMsg.h"
+
+// Ensure this is a psLib pointer, by checking for the memblock bounds.
+#define PS_ASSERT_PTR(NAME, RVAL) \
+{ \
+    psMemBlock *mb = (psMemBlock*)(NAME) - 1; \
+    if (mb->startblock != P_PS_MEMMAGIC || mb->endblock != P_PS_MEMMAGIC || \
+            *(psPtr *)((int8_t *) (mb + 1) + mb->userMemorySize) != P_PS_MEMMAGIC) { \
+        psError(PS_ERR_MEMORY_CORRUPTION, false, \
+                "Error: Pointer %s is corrupted or not on the PS memory system.", \
+                #NAME); \
+        return (RVAL); \
+    } \
+}
 
 #define PS_ASSERT_INT_UNEQUAL(NAME1, NAME2, RVAL) \
Index: /trunk/psLib/src/sys/psConfigure.c
===================================================================
--- /trunk/psLib/src/sys/psConfigure.c	(revision 9537)
+++ /trunk/psLib/src/sys/psConfigure.c	(revision 9538)
@@ -13,6 +13,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.15 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-08-26 04:34:28 $
+ *  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -34,5 +34,5 @@
 static FILE *memCheckFile = NULL;       // File to which to write results of mem check
 
-char* psLibVersion(void)
+psString psLibVersion(void)
 {
     char version[80];
Index: /trunk/psLib/src/sys/psConfigure.h
===================================================================
--- /trunk/psLib/src/sys/psConfigure.h	(revision 9537)
+++ /trunk/psLib/src/sys/psConfigure.h	(revision 9538)
@@ -13,6 +13,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-06-23 01:59:15 $
+ *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -32,5 +32,5 @@
  *  @return char*: String with version name.
  */
-char* psLibVersion(
+psString psLibVersion(
     void
 );
Index: /trunk/psLib/src/sys/psLine.c
===================================================================
--- /trunk/psLib/src/sys/psLine.c	(revision 9537)
+++ /trunk/psLib/src/sys/psLine.c	(revision 9538)
@@ -3,4 +3,5 @@
 
 #include "psMemory.h"
+#include "psAssert.h"
 #include "psConstants.h"
 #include "psLine.h"
@@ -64,7 +65,5 @@
 bool psMemCheckLine(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)lineFree );
 }
Index: /trunk/psLib/src/sys/psMemory.c
===================================================================
--- /trunk/psLib/src/sys/psMemory.c	(revision 9537)
+++ /trunk/psLib/src/sys/psMemory.c	(revision 9538)
@@ -8,6 +8,6 @@
 *  @author Robert Lupton, Princeton University
 *
-*  @version $Revision: 1.85 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-09-14 22:27:29 $
+*  @version $Revision: 1.86 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-10-13 21:13:48 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -24,4 +24,5 @@
 #include "psMemory.h"
 #include "psError.h"
+#include "psAssert.h"
 #include "psAbort.h"
 #include "psLogMsg.h"
@@ -35,6 +36,4 @@
 #include "psLine.h"
 #include "psRegion.h"
-
-#define P_PS_MEMMAGIC (psPtr )0xdeadbeef   // Magic number in psMemBlock header
 
 #define P_PS_LARGE_BLOCK_SIZE 65536        // size where under, we try to recycle
@@ -274,17 +273,5 @@
 psMemId psMemGetId(void)
 {
-    psMemId id;
-
-    if (safeThreads) {
-        pthread_mutex_lock(&memIdMutex);
-    }
-
-    id = memid + 1;
-
-    if (safeThreads) {
-        pthread_mutex_unlock(&memIdMutex);
-    }
-
-    return id;
+    return psMemGetLastId() + 1;
 }
 
@@ -889,23 +876,8 @@
 }
 
-bool is_psType(psPtr ptr)
-{
-    if (ptr == NULL) {
-        return false;
-    }
-    psMemBlock* m = ((psMemBlock* ) ptr) - 1;
-    if (m->startblock != P_PS_MEMMAGIC || m->endblock != P_PS_MEMMAGIC) {
-        return false; //Probably not a psAllocated-Type
-    } else {
-        return true;
-    }
-}
-
 bool psMemCheckType(psDataType type,
                     psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
 
     switch(type) {
Index: /trunk/psLib/src/sys/psMemory.h
===================================================================
--- /trunk/psLib/src/sys/psMemory.h	(revision 9537)
+++ /trunk/psLib/src/sys/psMemory.h	(revision 9538)
@@ -12,6 +12,6 @@
  *  @ingroup MemoryManagement
  *
- *  @version $Revision: 1.60 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-08-30 04:40:56 $
+ *  @version $Revision: 1.61 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -29,4 +29,6 @@
  *  @{
  */
+
+#define P_PS_MEMMAGIC (psPtr)0xdeadbeef   // Magic number in psMemBlock header
 
 /**
@@ -172,12 +174,4 @@
 );
 
-/** Tells whether or not a pointer has been allocated as a psDataType.
- *
- * @return bool:        True if ptr is a psDataType, otherwise false.
- */
-bool is_psType(
-    psPtr ptr                          ///< The pointer whose type to check
-);
-
 /** Checks the deallocator to see if the pointer matches the desired datatype.
  *
Index: /trunk/psLib/src/sys/psSlurp.c
===================================================================
--- /trunk/psLib/src/sys/psSlurp.c	(revision 9537)
+++ /trunk/psLib/src/sys/psSlurp.c	(revision 9538)
@@ -5,6 +5,6 @@
  *  @author Joshua Hoblitt, University of Hawaii
  *
- *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-09-27 03:50:19 $
+ *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2006 University of Hawaii
@@ -15,4 +15,5 @@
 #endif
 
+#include <stdio.h>
 #include <unistd.h>
 
Index: /trunk/psLib/src/sys/psSlurp.h
===================================================================
--- /trunk/psLib/src/sys/psSlurp.h	(revision 9537)
+++ /trunk/psLib/src/sys/psSlurp.h	(revision 9538)
@@ -1,5 +1,19 @@
+#ifndef PS_SLURP_H
+#define PS_SLURP_H
+
 #include <stdio.h>
-#include <pslib.h>
+#include "psString.h"
 
-psString psSlurpFD(int fd);
-psString psSlurpFile(FILE *stream);
+
+// Read ("slurp") a file (specified by file descriptor)
+// and return a string containing the entire file.
+psString psSlurpFD(int fd               // File descriptor to read
+                  );
+
+// Read ("slurp") a file (specified by file stream)
+// and return a string containing the entire file.
+psString psSlurpFile(FILE *stream       // File stream to read
+                    );
+
+
+#endif
Index: /trunk/psLib/src/sys/psString.c
===================================================================
--- /trunk/psLib/src/sys/psString.c	(revision 9537)
+++ /trunk/psLib/src/sys/psString.c	(revision 9538)
@@ -13,6 +13,6 @@
  *  @author David Robbins, MHPCC
  *
- *  @version $Revision: 1.44 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-10-12 21:31:47 $
+ *  @version $Revision: 1.45 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -47,7 +47,5 @@
 bool psMemCheckString(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)stringFree );
 }
Index: /trunk/psLib/src/types/psArguments.c
===================================================================
--- /trunk/psLib/src/types/psArguments.c	(revision 9537)
+++ /trunk/psLib/src/types/psArguments.c	(revision 9538)
@@ -7,6 +7,6 @@
  *  @author David Robbins, MHPCC
  *
- *  @version $Revision: 1.15 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-09-26 02:55:34 $
+ *  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -480,73 +480,2 @@
 }
 
-// we have log levels 1 (Error), 2 (Warning), 3 (Info), 4 (Details), 5 (Minutiae)
-// 2 = default, -v = 3, -vv = 4, -vvv = 5
-psS32 psLogArguments (int *argc,
-                      char **argv)
-{
-    int N, level;
-
-    // default log level is 2
-    level = 2;
-
-    psLogSetLevel (level);
-    PS_ASSERT_PTR_NON_NULL(argv, 2);
-    PS_ASSERT_PTR_NON_NULL(argc, 2);
-    // set in order, so that -vvv overrides -vv overrides -v
-    if ((N = psArgumentGet (*argc, argv, "-v"))) {
-        psArgumentRemove (N, argc, argv);
-        level = 3;
-    }
-    if ((N = psArgumentGet (*argc, argv, "-vv"))) {
-        psArgumentRemove (N, argc, argv);
-        level = 4;
-    }
-    if ((N = psArgumentGet (*argc, argv, "-vvv"))) {
-        psArgumentRemove (N, argc, argv);
-        level = 5;
-    }
-
-    if ((N = psArgumentGet (*argc, argv, "-logfmt"))) {
-        if (*argc < N + 2) {
-            //            psAbort ("psLogArguments", "USAGE: -logfmt (format)");
-            psError(PS_ERR_IO, true, "-logfmt switch specified without a format.");
-        } else {
-            psArgumentRemove (N, argc, argv);
-            psLogSetFormat (argv[N]); // XXX EAM : this function should return an error if the log format is invalid
-            psArgumentRemove (N, argc, argv);
-        }
-    }
-
-    // set the level, return the level
-    psLogSetLevel (level);
-    return (level);
-}
-
-// set trace levels by facility
-psS32 psTraceArguments (int *argc,
-                        char **argv)
-{
-    int N;
-    PS_ASSERT_PTR_NON_NULL(argv, 0);
-    PS_ASSERT_PTR_NON_NULL(argc, 0);
-
-    // argument format is: -trace (facil) (level)
-    while ((N = psArgumentGet (*argc, argv, "-trace"))) {
-        if (*argc < N + 3) {
-            //            psAbort ("psTraceArguments", "USAGE: -trace (facility) (level)");
-            psError(PS_ERR_IO, true, "-trace switch specified without facility and level.");
-            return 0;
-        }
-        psArgumentRemove (N, argc, argv);
-        psTraceSetLevel (argv[N], atoi(argv[N+1]));
-        psArgumentRemove (N, argc, argv);
-        psArgumentRemove (N, argc, argv);
-    }
-    if ((N = psArgumentGet (*argc, argv, "-trace-levels"))) {
-        psTracePrintLevels ();
-        //        exit (2);
-        return 0;
-    }
-    return (TRUE);
-}
-
Index: /trunk/psLib/src/types/psArguments.h
===================================================================
--- /trunk/psLib/src/types/psArguments.h	(revision 9537)
+++ /trunk/psLib/src/types/psArguments.h	(revision 9538)
@@ -7,6 +7,6 @@
  *  @author David Robbins, MHPCC
  *
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-01-25 03:02:47 $
+ *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -74,22 +74,4 @@
 );
 
-/** Sets the log level.
- *
- *  @return psS32:     the log level.
- */
-psS32 psLogArguments(
-    int *argc,                         ///< number of arguments
-    char **argv                        ///< the argument list
-);
-
-/** Sets trace levels by facility
- *
- *  @return psS32:      1 (true) if successful or else 2.
- */
-psS32 psTraceArguments(
-    int *argc,                         ///< number of arguments
-    char **argv                        ///< the argument list
-);
-
 
 /// @}
Index: /trunk/psLib/src/types/psArray.c
===================================================================
--- /trunk/psLib/src/types/psArray.c	(revision 9537)
+++ /trunk/psLib/src/types/psArray.c	(revision 9538)
@@ -9,6 +9,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.54 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-09-26 02:55:34 $
+ *  @version $Revision: 1.55 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -45,7 +45,5 @@
 bool psMemCheckArray(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)arrayFree );
 }
@@ -133,6 +131,6 @@
 }
 
-bool psArrayRemove(psArray* array,
-                   const psPtr data)
+bool psArrayRemoveData(psArray* array,
+                       const psPtr data)
 {
     bool success = false;
@@ -159,16 +157,16 @@
 }
 
-bool psArrayRemoveByPos(psArray* array,
-                        long position)
+bool psArrayRemoveByIndex(psArray* array,
+                          long index)
 {
     PS_ASSERT_PTR_NON_NULL(array, false);
 
-    if (position < 0 || position >= array->n) {
-        psError(PS_ERR_BAD_PARAMETER_NULL, true,
-                _("position > then the number of elements in the array."));
-        return false;
-    }
-
-    long i = position;
+    if (index < 0 || index >= array->n) {
+        psError(PS_ERR_BAD_PARAMETER_NULL, true,
+                _("index > then the number of elements in the array."));
+        return false;
+    }
+
+    long i = index;
     long n = array->n;
     psFree(array->data[i]);
Index: /trunk/psLib/src/types/psArray.h
===================================================================
--- /trunk/psLib/src/types/psArray.h	(revision 9537)
+++ /trunk/psLib/src/types/psArray.h	(revision 9538)
@@ -11,6 +11,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.40 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-10-05 22:32:29 $
+ *  @version $Revision: 1.41 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -105,5 +105,5 @@
  *
  */
-bool psArrayRemove(
+bool psArrayRemoveData(
     psArray* array,                    ///< array to operate on
     const psPtr data                   ///< the data pointer to remove from psArray
@@ -118,7 +118,7 @@
  *
  */
-bool psArrayRemoveByPos(
+bool psArrayRemoveByIndex(
     psArray* array,                    ///< array to operate on
-    long position                      ///< the element to remove
+    long index                      ///< the element to remove
 );
 
Index: /trunk/psLib/src/types/psBitSet.c
===================================================================
--- /trunk/psLib/src/types/psBitSet.c	(revision 9537)
+++ /trunk/psLib/src/types/psBitSet.c	(revision 9538)
@@ -11,6 +11,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.37 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-10-01 00:40:35 $
+ *  @version $Revision: 1.38 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -66,7 +66,5 @@
 bool psMemCheckBitSet(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)bitSetFree );
 }
Index: /trunk/psLib/src/types/psHash.c
===================================================================
--- /trunk/psLib/src/types/psHash.c	(revision 9537)
+++ /trunk/psLib/src/types/psHash.c	(revision 9538)
@@ -12,6 +12,6 @@
 *  @author GLG, MHPCC
 *
-*  @version $Revision: 1.33 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-10-01 00:45:34 $
+*  @version $Revision: 1.34 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-10-13 21:13:48 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -165,7 +165,5 @@
 bool psMemCheckHash(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)hashFree );
 }
Index: /trunk/psLib/src/types/psList.c
===================================================================
--- /trunk/psLib/src/types/psList.c	(revision 9537)
+++ /trunk/psLib/src/types/psList.c	(revision 9538)
@@ -6,6 +6,6 @@
  *  @author Robert Daniel DeSonia, MHPCC
  *
- *  @version $Revision: 1.54 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-10-03 06:51:47 $
+ *  @version $Revision: 1.55 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -20,5 +20,5 @@
 #include "psTrace.h"
 #include "psLogMsg.h"
-
+#include "psAssert.h"
 
 
@@ -140,7 +140,5 @@
 bool psMemCheckList(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)listFree );
 }
Index: /trunk/psLib/src/types/psLookupTable.c
===================================================================
--- /trunk/psLib/src/types/psLookupTable.c	(revision 9537)
+++ /trunk/psLib/src/types/psLookupTable.c	(revision 9538)
@@ -7,6 +7,6 @@
 *  @author Ross Harman, MHPCC
 *
-*  @version $Revision: 1.38 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-10-03 06:51:47 $
+*  @version $Revision: 1.39 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-10-13 21:13:48 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, Univ. of Hawaii
@@ -264,7 +264,5 @@
 bool psMemCheckLookupTable(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)lookupTableFree );
 }
Index: /trunk/psLib/src/types/psMetadata.c
===================================================================
--- /trunk/psLib/src/types/psMetadata.c	(revision 9537)
+++ /trunk/psLib/src/types/psMetadata.c	(revision 9538)
@@ -12,6 +12,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.138 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-10-13 19:06:00 $
+ *  @version $Revision: 1.139 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -157,7 +157,5 @@
 bool psMemCheckMetadataItem(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)metadataItemFree );
 }
@@ -340,7 +338,5 @@
 bool psMemCheckMetadata(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)metadataFree );
 }
@@ -567,5 +563,5 @@
 
             // remove the existing entry from metadata
-            psMetadataRemove(md,0,key);
+            psMetadataRemoveKey(md, key);
 
             // treat as if new (added to list below)
@@ -662,7 +658,7 @@
 
 #define METADATA_ADD_TYPE(NAME,TYPE,METATYPE) \
-psBool psMetadataAdd##NAME(psMetadata* md, long where, const char* name, \
-                           int format, const char* comment, TYPE value) { \
-    return psMetadataAdd(md,where,name, format | METATYPE,comment,value); \
+bool psMetadataAdd##NAME(psMetadata* md, long where, const char* name, \
+                         int format, const char* comment, TYPE value) { \
+    return psMetadataAdd(md, where, name, format | METATYPE, comment, value); \
 }
 
@@ -679,124 +675,106 @@
 METADATA_ADD_TYPE(F64,psF64,PS_DATA_F64)
 METADATA_ADD_TYPE(List,psList*,PS_DATA_LIST)
-//METADATA_ADD_TYPE(Str,const char*,PS_DATA_STRING)
+METADATA_ADD_TYPE(Str,const char*,PS_DATA_STRING)
 METADATA_ADD_TYPE(Vector,psVector*,PS_DATA_VECTOR)
 METADATA_ADD_TYPE(Image,psImage*,PS_DATA_IMAGE)
 METADATA_ADD_TYPE(Hash,psHash*,PS_DATA_HASH)
 METADATA_ADD_TYPE(LookupTable,psLookupTable*,PS_DATA_LOOKUPTABLE)
-METADATA_ADD_TYPE(Unknown,void*,PS_DATA_UNKNOWN)
 METADATA_ADD_TYPE(Metadata,psMetadata*,PS_DATA_METADATA)
 METADATA_ADD_TYPE(Array,psArray*,PS_DATA_ARRAY)
 METADATA_ADD_TYPE(Time,psTime*,PS_DATA_TIME)
-
-bool psMetadataAddPtr(psMetadata *md,
-                      long location,
-                      const char *name,
-                      psDataType type,
-                      const char *comment,
-                      psPtr value)
-{
-    PS_ASSERT_PTR_NON_NULL(md,false);
-    PS_ASSERT_PTR_NON_NULL(md->list,false);
-    PS_ASSERT_PTR_NON_NULL(value,false);
-    return (psMetadataAdd(md, location, name, type, comment, value) );
-
-}
-
-bool psMetadataAddStr(psMetadata *md,
-                      long location,
-                      const char *name,
-                      int format,
-                      const char *comment,
-                      const char* value)
-{
-    PS_ASSERT_PTR_NON_NULL(md,false);
-    PS_ASSERT_PTR_NON_NULL(md->list,false);
-
-    return (psMetadataAdd(md, location, name, format | PS_DATA_STRING, comment, value) );
-}
-
-bool psMetadataRemove(psMetadata *md,
-                      long where,
-                      const char *key)
-{
-    PS_ASSERT_PTR_NON_NULL(md,NULL);
-
-    PS_ASSERT_PTR_NON_NULL(md->list,NULL);
-    psList* mdList = md->list;
-
-    PS_ASSERT_PTR_NON_NULL(md->hash,NULL);
-    psHash* mdTable = md->hash;
-
-    // Select removal by key or index
-    if (key != NULL) {
-        // Remove by key name
-        psMetadataItem* entry = psHashLookup(mdTable,key);
-        if (entry == NULL) {
-            psError(PS_ERR_UNKNOWN, false,
-                    _("Failed to remove metadata item, %s, from metadata table."), key);
-            return false;
-        }
-        if (entry->type == PS_DATA_METADATA_MULTI) {
-            psMetadataItem* listItem;
-            psListIterator* iter = psListIteratorAlloc(
-                                       entry->data.list,
-                                       PS_LIST_HEAD,true);
-            while ((listItem=psListGetAndIncrement(iter)) != NULL) {
-                psListRemoveData(mdList, listItem);
-            }
-            psFree(iter);
-            psHashRemove(mdTable,key);
-
-        } else {
-            psListRemoveData(mdList, entry);
-            psHashRemove(mdTable, key);
-        }
-    } else {
-        // Remove by index
-        psMetadataItem* entry = psListGet(mdList, where);
-        if (entry == NULL) {
-            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
-                    _("Could not find metadata item at index %ld."), where);
-            return false;
-        }
-        key = entry->name;
-
-        if (key == NULL) {
-            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
-                    _("Failed to remove metadata item, at index %ld, from metadata list."),
-                    where);
-            return false;
-        }
-
-        psMetadataItem* tableItem = psHashLookup(mdTable, key);
-        if (tableItem == NULL) {
-            psError(PS_ERR_UNKNOWN, false,
-                    _("Failed to remove metadata item, %s, from metadata table."), key);
-            return false;
-        }
-
-        if (tableItem->type == PS_DATA_METADATA_MULTI) {
-            // multiple entries with same key, remove just the specified one
-            psListRemoveData(tableItem->data.list, entry);
-        } else {
-            //Tested below.  psHashRemove can't return false here.
-            psHashRemove(mdTable, key);
-        }
-        psListRemove(mdList, where);
-    }
-
-    return true;
-}
-
+METADATA_ADD_TYPE(Unknown,psPtr,PS_DATA_UNKNOWN)
+
+bool psMetadataAddPtr(psMetadata* md, long where, const char* name,
+                      psDataType type, const char* comment, psPtr value)
+{
+    return psMetadataAdd(md, where, name, type, comment, value);
+}
+
+
+
+// Remove by key name
 bool psMetadataRemoveKey(psMetadata *md,
                          const char *key)
 {
-    return ( psMetadataRemove(md, PS_LIST_HEAD, key) );
-}
-
+    PS_ASSERT_PTR_NON_NULL(md, false);
+
+    PS_ASSERT_PTR_NON_NULL(md->list, false);
+    psList* mdList = md->list;
+
+    PS_ASSERT_PTR_NON_NULL(md->hash,false);
+    psHash* mdTable = md->hash;
+
+    PS_ASSERT_PTR_NON_NULL(key, false);
+    PS_ASSERT_INT_POSITIVE(strlen(key), false);
+
+    psMetadataItem* entry = psHashLookup(mdTable,key);
+    if (entry == NULL) {
+        psError(PS_ERR_UNKNOWN, false,
+                _("Failed to remove metadata item, %s, from metadata table."), key);
+        return false;
+    }
+    if (entry->type == PS_DATA_METADATA_MULTI) {
+        psMetadataItem* listItem;
+        psListIterator* iter = psListIteratorAlloc(
+                                   entry->data.list,
+                                   PS_LIST_HEAD,true);
+        while ((listItem=psListGetAndIncrement(iter)) != NULL) {
+            psListRemoveData(mdList, listItem);
+        }
+        psFree(iter);
+        psHashRemove(mdTable,key);
+    } else {
+        psListRemoveData(mdList, entry);
+        psHashRemove(mdTable, key);
+    }
+
+    return true;
+}
+
+
+// Remove by index
 bool psMetadataRemoveIndex(psMetadata *md,
-                           int location)
-{
-    return ( psMetadataRemove(md, location, NULL) );
+                           long location)
+{
+    PS_ASSERT_PTR_NON_NULL(md, false);
+
+    PS_ASSERT_PTR_NON_NULL(md->list, false);
+    psList* mdList = md->list;
+
+    PS_ASSERT_PTR_NON_NULL(md->hash,false);
+    psHash* mdTable = md->hash;
+
+    psMetadataItem* entry = psListGet(mdList, location);
+    if (entry == NULL) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                _("Could not find metadata item at index %ld."), location);
+        return false;
+    }
+    const char *key = entry->name;
+
+    if (key == NULL) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                _("Failed to remove metadata item, at index %ld, from metadata list."),
+                location);
+        return false;
+    }
+
+    psMetadataItem* tableItem = psHashLookup(mdTable, key);
+    if (tableItem == NULL) {
+        psError(PS_ERR_UNKNOWN, false,
+                _("Failed to remove metadata item, %s, from metadata table."), key);
+        return false;
+    }
+
+    if (tableItem->type == PS_DATA_METADATA_MULTI) {
+        // multiple entries with same key, remove just the specified one
+        psListRemoveData(tableItem->data.list, entry);
+    } else {
+        //Tested below.  psHashRemove can't return false here.
+        psHashRemove(mdTable, key);
+    }
+    psListRemove(mdList, location);
+
+    return true;
 }
 
@@ -1095,7 +1073,7 @@
 }
 
-psMetadata *psMetadataLookupMD(bool *status,
-                               const psMetadata *md,
-                               const char *key)
+psMetadata *psMetadataLookupMetadata(bool *status,
+                                     const psMetadata *md,
+                                     const char *key)
 {
     PS_ASSERT_PTR_NON_NULL(md,NULL);
@@ -1413,5 +1391,5 @@
 }
 
-psPolynomial1D *psPolynomial1DfromMD (psMetadata *folder)
+psPolynomial1D *psPolynomial1DfromMetadata(const psMetadata *folder)
 {
     PS_ASSERT_PTR_NON_NULL(folder, NULL);
@@ -1462,8 +1440,8 @@
 
 // XXX : these may need F64, or %g format for output
-bool psPolynomial1DtoMD (psMetadata *md,
-                         psPolynomial1D *poly,
-                         char *format,
-                         ...)
+bool psPolynomial1DtoMetadata(psMetadata *md,
+                              const psPolynomial1D *poly,
+                              const char *format,
+                              ...)
 {
     PS_ASSERT_PTR_NON_NULL(md, false);
@@ -1519,5 +1497,5 @@
 }
 
-psPolynomial2D *psPolynomial2DfromMD (psMetadata *folder)
+psPolynomial2D *psPolynomial2DfromMetadata(const psMetadata *folder)
 {
     PS_ASSERT_PTR_NON_NULL(folder, NULL);
@@ -1575,8 +1553,8 @@
 
 // XXX : these may need F64, or %g format for output
-bool psPolynomial2DtoMD (psMetadata *md,
-                         psPolynomial2D *poly,
-                         char *format,
-                         ...)
+bool psPolynomial2DtoMetadata (psMetadata *md,
+                               const psPolynomial2D *poly,
+                               const char *format,
+                               ...)
 {
     PS_ASSERT_PTR_NON_NULL(md, false);
@@ -1642,5 +1620,5 @@
 }
 
-psPolynomial3D *psPolynomial3DfromMD (psMetadata *folder)
+psPolynomial3D *psPolynomial3DfromMetadata (const psMetadata *folder)
 {
     PS_ASSERT_PTR_NON_NULL(folder, NULL);
@@ -1705,8 +1683,8 @@
 }
 
-bool psPolynomial3DtoMD (psMetadata *md,
-                         psPolynomial3D *poly,
-                         char *format,
-                         ...)
+bool psPolynomial3DtoMetadata (psMetadata *md,
+                               const psPolynomial3D *poly,
+                               const char *format,
+                               ...)
 {
     PS_ASSERT_PTR_NON_NULL(md, false);
@@ -1770,5 +1748,5 @@
 }
 
-psPolynomial4D *psPolynomial4DfromMD (psMetadata *folder)
+psPolynomial4D *psPolynomial4DfromMetadata(const psMetadata *folder)
 {
     PS_ASSERT_PTR_NON_NULL(folder, NULL);
@@ -1839,8 +1817,8 @@
 }
 
-bool psPolynomial4DtoMD (psMetadata *md,
-                         psPolynomial4D *poly,
-                         char *format,
-                         ...)
+bool psPolynomial4DtoMetadata (psMetadata *md,
+                               const psPolynomial4D *poly,
+                               const char *format,
+                               ...)
 {
     PS_ASSERT_PTR_NON_NULL(md, false);
Index: /trunk/psLib/src/types/psMetadata.h
===================================================================
--- /trunk/psLib/src/types/psMetadata.h	(revision 9537)
+++ /trunk/psLib/src/types/psMetadata.h	(revision 9538)
@@ -11,6 +11,6 @@
 *  @author Ross Harman, MHPCC
 *
-*  @version $Revision: 1.87 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-10-13 19:06:00 $
+*  @version $Revision: 1.88 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-10-13 21:13:48 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -598,7 +598,7 @@
 /** Add a psList to metadata collection.
  *
- *  @return psBool:  True for success, False for failure.
- */
-psBool psMetadataAddList(
+ *  @return bool:  True for success, False for failure.
+ */
+bool psMetadataAddList(
     psMetadata* md,                    ///< Metadata collection to insert metadata item
     long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
@@ -624,7 +624,7 @@
 /** Add a vector to metadata collection.
  *
- *  @return psBool:  True for success, False for failure.
- */
-psBool psMetadataAddVector(
+ *  @return bool:  True for success, False for failure.
+ */
+bool psMetadataAddVector(
     psMetadata* md,                    ///< Metadata collection to insert metadata item
     long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
@@ -637,7 +637,7 @@
 /** Add a array to metadata collection.
  *
- *  @return psBool:  True for success, False for failure.
- */
-psBool psMetadataAddArray(
+ *  @return bool:  True for success, False for failure.
+ */
+bool psMetadataAddArray(
     psMetadata* md,                    ///< Metadata collection to insert metadata item
     long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
@@ -650,7 +650,7 @@
 /** Add an Image to metadata collection.
  *
- *  @return psBool:  True for success, False for failure.
- */
-psBool psMetadataAddImage(
+ *  @return bool:  True for success, False for failure.
+ */
+bool psMetadataAddImage(
     psMetadata* md,                    ///< Metadata collection to insert metadata item
     long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
@@ -663,7 +663,7 @@
 /** Add a Time to metadata collection.
  *
- *  @return psBool:  True for success, False for failure.
- */
-psBool psMetadataAddTime(
+ *  @return bool:  True for success, False for failure.
+ */
+bool psMetadataAddTime(
     psMetadata* md,                    ///< Metadata collection to insert metadata item
     long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
@@ -676,7 +676,7 @@
 /** Add a Hash to metadata collection.
  *
- *  @return psBool:  True for success, False for failure.
- */
-psBool psMetadataAddHash(
+ *  @return bool:  True for success, False for failure.
+ */
+bool psMetadataAddHash(
     psMetadata* md,                    ///< Metadata collection to insert metadata item
     long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
@@ -689,7 +689,7 @@
 /** Add a LookupTable to metadata collection.
  *
- *  @return psBool:  True for success, False for failure.
- */
-psBool psMetadataAddLookupTable(
+ *  @return bool:  True for success, False for failure.
+ */
+bool psMetadataAddLookupTable(
     psMetadata* md,                    ///< Metadata collection to insert metadata item
     long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
@@ -702,7 +702,7 @@
 /** Add an Unknown (psPtr) to metadata collection.
  *
- *  @return psBool:  True for success, False for failure.
- */
-psBool psMetadataAddUnknown(
+ *  @return bool:  True for success, False for failure.
+ */
+bool psMetadataAddUnknown(
     psMetadata* md,                    ///< Metadata collection to insert metadata item
     long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
@@ -728,7 +728,7 @@
 /** Add Metadata to metadata collection.
  *
- *  @return psBool:  True for success, False for failure.
- */
-psBool psMetadataAddMetadata(
+ *  @return bool:  True for success, False for failure.
+ */
+bool psMetadataAddMetadata(
     psMetadata* md,                    ///< Metadata collection to insert metadata item
     long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
@@ -737,20 +737,4 @@
     const char* comment,               ///< Comment for metadata item
     psMetadata* value                  ///< Metadata for metadata item data
-);
-
-/** Remove an item from metadata collection.
- *
- *  Items may be removed from metadata by specifing a key or location. If the
- *  name is null, the where argument is used instead. If name is not null,
- *  where is set to PS_LIST_UNKNOWN. If the item is found, it is removed from
- *  the metadata and true is returned.  If the key is not unique, then all
- *  items corresponding to it are removed.
- *
- * @return bool: True for success, false for failure.
- */
-bool psMetadataRemove(
-    psMetadata*  md,                   ///< Metadata collection to remove metadata item.
-    long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
-    const char * key                   ///< Name of metadata key.
 );
 
@@ -770,5 +754,5 @@
 bool psMetadataRemoveIndex(
     psMetadata *md,                    ///< Metadata collection to remove metadata item.
-    int location                       ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
+    long location                       ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
 );
 
@@ -1021,5 +1005,5 @@
  *  @return psMetadata*:        Value of metadata item.
  */
-psMetadata *psMetadataLookupMD(
+psMetadata *psMetadataLookupMetadata(
     bool *status,                      ///< Status of lookup.
     const psMetadata *md,              ///< Metadata collection to lookup metadata item.
@@ -1113,6 +1097,6 @@
  *  @return psPolynomial2D*:        Newly allocated psPolynomial2D from metadata.
  */
-psPolynomial2D *psPolynomial2DfromMD(
-    psMetadata *folder                 ///< folder containing the polynomial info.
+psPolynomial2D *psPolynomial2DfromMetadata(
+    const psMetadata *folder                 ///< folder containing the polynomial info.
 );
 
@@ -1129,8 +1113,8 @@
  *  @return bool:       True if successful, otherwise false.
  */
-bool psPolynomial2DtoMD(
+bool psPolynomial2DtoMetadata(
     psMetadata *md,                    ///< Metadata container for polynomial storage.
-    psPolynomial2D *poly,              ///< Polynomial information to be stored.
-    char *format,                      ///< Name of polynomial folder.
+    const psPolynomial2D *poly,              ///< Polynomial information to be stored.
+    const char *format,                      ///< Name of polynomial folder.
     ...                                ///< Arguments for name formatting.
 );
@@ -1147,6 +1131,6 @@
  *  @return psPolynomial3D*:        Newly allocated psPolynomial3D from metadata.
  */
-psPolynomial3D *psPolynomial3DfromMD(
-    psMetadata *folder                 ///< folder containing the polynomial info.
+psPolynomial3D *psPolynomial3DfromMetadata(
+    const psMetadata *folder                 ///< folder containing the polynomial info.
 );
 
@@ -1163,8 +1147,8 @@
  *  @return bool:       True if successful, otherwise false.
  */
-bool psPolynomial3DtoMD(
+bool psPolynomial3DtoMetadata(
     psMetadata *md,                    ///< Metadata container for polynomial storage.
-    psPolynomial3D *poly,              ///< Polynomial information to be stored.
-    char *format,                      ///< Name of polynomial folder.
+    const psPolynomial3D *poly,              ///< Polynomial information to be stored.
+    const char *format,                      ///< Name of polynomial folder.
     ...                                ///< Arguments for name formatting.
 );
@@ -1181,6 +1165,6 @@
  *  @return psPolynomial4D*:        Newly allocated psPolynomial4D from metadata.
  */
-psPolynomial4D *psPolynomial4DfromMD(
-    psMetadata *folder                 ///< folder containing the polynomial info.
+psPolynomial4D *psPolynomial4DfromMetadata(
+    const psMetadata *folder                 ///< folder containing the polynomial info.
 );
 
@@ -1197,8 +1181,8 @@
  *  @return bool:       True if successful, otherwise false.
  */
-bool psPolynomial4DtoMD(
+bool psPolynomial4DtoMetadata(
     psMetadata *md,                    ///< Metadata container for polynomial storage.
-    psPolynomial4D *poly,              ///< Polynomial information to be stored.
-    char *format,                      ///< Name of polynomial folder.
+    const psPolynomial4D *poly,              ///< Polynomial information to be stored.
+    const char *format,                      ///< Name of polynomial folder.
     ...                                ///< Arguments for name formatting.
 );
Index: /trunk/psLib/src/types/psMetadataConfig.c
===================================================================
--- /trunk/psLib/src/types/psMetadataConfig.c	(revision 9537)
+++ /trunk/psLib/src/types/psMetadataConfig.c	(revision 9538)
@@ -10,6 +10,6 @@
 *  @author Eric Van Alst, MHPCC
 *
-*  @version $Revision: 1.92 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-09-26 02:55:34 $
+*  @version $Revision: 1.93 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-10-13 21:13:48 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -1118,5 +1118,5 @@
                 } else {
                     // Remove lower info level
-                    if(!psArrayRemoveByPos(levelArray, *level)) {
+                    if(!psArrayRemoveByIndex(levelArray, *level)) {
                         psFree(keyName);
                         return false;
Index: /trunk/psLib/src/types/psPixels.c
===================================================================
--- /trunk/psLib/src/types/psPixels.c	(revision 9537)
+++ /trunk/psLib/src/types/psPixels.c	(revision 9538)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-09-26 02:55:34 $
+ *  @version $Revision: 1.29 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-10-13 21:13:48 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -18,5 +18,5 @@
 #include "psPixels.h"
 #include "psMemory.h"
-
+#include "psAssert.h"
 #include "psError.h"
 
@@ -74,7 +74,5 @@
 bool psMemCheckPixels(psPtr ptr)
 {
-    if (!is_psType(ptr)) {
-        return false;
-    }
+    PS_ASSERT_PTR(ptr, false);
     return ( psMemGetDeallocator(ptr) == (psFreeFunc)pixelsFree );
 }
