Index: /trunk/psLib/src/astro/psEarthOrientation.c
===================================================================
--- /trunk/psLib/src/astro/psEarthOrientation.c	(revision 6038)
+++ /trunk/psLib/src/astro/psEarthOrientation.c	(revision 6039)
@@ -8,6 +8,6 @@
  *  @author Robert Daniel DeSonia, MHPCC
  *
- *  @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-01-18 20:59:31 $
+ *  @version $Revision: 1.29 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-01-18 23:49:06 $
  *
  *  Copyright 2005 Maui High Performance Computing Center, University of Hawaii
@@ -470,4 +470,9 @@
     // Convert psTime to MJD
     double MJD = psTimeToMJD(time);
+    if (MJD == NAN) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, false,
+                "Time conversion to MJD failed.  Invalid input time.\n");
+        return NULL;
+    }
 
     // Calculate number of Julian centuries since 2000
@@ -630,11 +635,16 @@
 
     double MJD = psTimeToMJD(time);
-
-    if (MJD < 41684.0 || MJD > 53334.0) {
-        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
-                "Invalid time input.  Date, %lf, is out of range (41684-53334)\n", MJD);
-        return out;
-    }
-
+    if (MJD == NAN) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, false,
+                "Time conversion to MJD failed.  Invalid input time.\n");
+        return NULL;
+    }
+    /*
+        if (MJD < 41684.0 || MJD > 53334.0) {
+            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                    "Invalid time input.  Date, %lf, is out of range (41684-53334)\n", MJD);
+            return out;
+        }
+    */
     // Check if EOC data loaded
     if(!eocInitialized) {
@@ -854,4 +864,9 @@
     }
     double T = psTimeToJD(in);
+    if (T == NAN) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, false,
+                "Time conversion to JD failed.  Invalid input time.\n");
+        return NULL;
+    }
     T += -2451545.0;
     double theta = 2.0 * M_PI * (0.7790572732640 + 1.00273781191135448 * T);
@@ -874,12 +889,10 @@
 
     double MJD = psTimeToMJD(time);
-    /*
-        if (MJD < 41684.0 || (MJD > 53434.0 && bulletin == PS_IERS_B) ||
-                (MJD > 53858.0 && bulletin == PS_IERS_A) ) {
-            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
-                    "Invalid time input.  Date, %lf, is out of range\n", MJD);
-            return out;
-        }
-    */
+    if (MJD == NAN) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, false,
+                "Time conversion to MJD failed.  Invalid input time.\n");
+        return NULL;
+    }
+
     // Check if EOC data loaded
     if(! eocInitialized) {
@@ -1007,4 +1020,9 @@
     // Convert psTime to MJD
     double MJD = psTimeToMJD(time);
+    if (MJD == NAN) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, false,
+                "Time conversion to MJD failed.  Invalid input time.\n");
+        return NULL;
+    }
 
     // Calculate number of Julian centuries since 2000
@@ -1086,12 +1104,17 @@
     // Check for null parameter
     PS_ASSERT_PTR_NON_NULL(time, NULL);
-    if (time->type == PS_TIME_UT1) {
-        psError(PS_ERR_BAD_PARAMETER_VALUE, true,
-                "Invalid time input.  Time cannot be of type UT1.\n");
-        return NULL;
-    }
-
+    /*    if (time->type == PS_TIME_UT1) {
+            psError(PS_ERR_BAD_PARAMETER_VALUE, true,
+                    "Invalid time input.  Time cannot be of type UT1.\n");
+            return NULL;
+        }
+    */
     // Convert psTime to MJD
     double MJD = psTimeToMJD(time);
+    if (MJD == NAN) {
+        psError(PS_ERR_BAD_PARAMETER_VALUE, false,
+                "Time conversion to MJD failed.  Invalid input time.\n");
+        return NULL;
+    }
 
     // Calculate number of Julian centuries since 2000
@@ -1438,2 +1461,50 @@
     return out;
 }
+
+/******************************************************************************
+psSpherePrecess(coords, fromTime, toTime):
+ 
+XXX: Use static memory for tmpST.
+ *****************************************************************************/
+psSphere *psSpherePrecess(psSphere *coords,
+                          const psTime *fromTime,
+                          const psTime *toTime)
+{
+    // Check input for NULL pointers
+    PS_ASSERT_PTR_NON_NULL(coords, NULL);
+    PS_ASSERT_PTR_NON_NULL(fromTime, NULL);
+    PS_ASSERT_PTR_NON_NULL(toTime, NULL);
+
+    // Calculate Julian centuries
+    psF64 fromMJD = psTimeToMJD(fromTime);
+    psF64 toMJD = psTimeToMJD(toTime);
+    psF64 T = (toMJD - fromMJD) / JULIAN_CENTURY;
+
+    // Calculate conversion constants
+    //    psF64 alphaP = DEG_TO_RAD(90.0) - ((DEG_TO_RAD(0.6406161) * T) +
+    psF64 alphaP = DEG_TO_RAD(180.0) + ((DEG_TO_RAD(0.6406161) * T) +
+                                        (DEG_TO_RAD(0.0000839) * T * T) +
+                                        (DEG_TO_RAD(0.000005) * T * T * T));
+
+    psF64 deltaP = (DEG_TO_RAD(0.5567530) * T) -
+                   (DEG_TO_RAD(0.0001185) * T * T) -
+                   (DEG_TO_RAD(0.0000116) * T * T * T);
+
+    //    psF64 phiP = DEG_TO_RAD(90.0) + ((DEG_TO_RAD(0.6406161) * T) +
+    psF64 phiP = DEG_TO_RAD(180.0) + ((DEG_TO_RAD(0.6406161) * T) +
+                                      (DEG_TO_RAD(0.0003041) * T * T) +
+                                      (DEG_TO_RAD(0.0000051) * T * T * T));
+
+    // Create transform with proper constants
+    psSphereRot* tmpST = psSphereRotAlloc(alphaP, deltaP, phiP);
+
+    // Apply transform to coordinates
+    psSphere *out = psSphereRotApply(NULL, tmpST, coords);
+    if (out->r < -0.0001) {
+        out->r += 2.0 * M_PI;
+    }
+
+    psFree(tmpST);
+
+    return(out);
+}
Index: /trunk/psLib/src/astro/psEarthOrientation.h
===================================================================
--- /trunk/psLib/src/astro/psEarthOrientation.h	(revision 6038)
+++ /trunk/psLib/src/astro/psEarthOrientation.h	(revision 6039)
@@ -9,6 +9,6 @@
 *  @author Robert Daniel DeSonia, MHPCC
 *
-*  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-01-18 00:41:29 $
+*  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-01-18 23:49:06 $
 *
 *  Copyright 2005 Maui High Performance Computing Center, University of Hawaii
@@ -176,3 +176,15 @@
 );
 
+/** Generates the complete spherical rotation to account for precession
+ *  between two times.  The equinoxes shall be Julian equinoxes.
+ *
+ *  @return psSphere* the resulting spherical rotation
+ */
+psSphere* psSpherePrecess(
+    psSphere *coords,                  ///< coordinates (modified in-place)
+    const psTime *fromTime,            ///< equinox of coords input
+    const psTime *toTime               ///< equinox of coords output
+);
+
+
 #endif // #ifndef PS_EARTH_ORIENTATION
Index: /trunk/psLib/src/astro/psSphereOps.c
===================================================================
--- /trunk/psLib/src/astro/psSphereOps.c	(revision 6038)
+++ /trunk/psLib/src/astro/psSphereOps.c	(revision 6039)
@@ -8,6 +8,6 @@
  *  @author Dave Robbins, MHPCC
  *
- *  @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-11-10 00:13:50 $
+ *  @version $Revision: 1.10 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-01-18 23:49:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -536,50 +536,3 @@
 }
 
-/******************************************************************************
-psSpherePrecess(coords, fromTime, toTime):
- 
-XXX: Use static memory for tmpST.
- *****************************************************************************/
-psSphere *psSpherePrecess(psSphere *coords,
-                          const psTime *fromTime,
-                          const psTime *toTime)
-{
-    // Check input for NULL pointers
-    PS_ASSERT_PTR_NON_NULL(coords, NULL);
-    PS_ASSERT_PTR_NON_NULL(fromTime, NULL);
-    PS_ASSERT_PTR_NON_NULL(toTime, NULL);
-
-    // Calculate Julian centuries
-    psF64 fromMJD = psTimeToMJD(fromTime);
-    psF64 toMJD = psTimeToMJD(toTime);
-    psF64 T = (toMJD - fromMJD) / JULIAN_CENTURY;
-
-    // Calculate conversion constants
-    //    psF64 alphaP = DEG_TO_RAD(90.0) - ((DEG_TO_RAD(0.6406161) * T) +
-    psF64 alphaP = DEG_TO_RAD(180.0) + ((DEG_TO_RAD(0.6406161) * T) +
-                                        (DEG_TO_RAD(0.0000839) * T * T) +
-                                        (DEG_TO_RAD(0.000005) * T * T * T));
-
-    psF64 deltaP = (DEG_TO_RAD(0.5567530) * T) -
-                   (DEG_TO_RAD(0.0001185) * T * T) -
-                   (DEG_TO_RAD(0.0000116) * T * T * T);
-
-    //    psF64 phiP = DEG_TO_RAD(90.0) + ((DEG_TO_RAD(0.6406161) * T) +
-    psF64 phiP = DEG_TO_RAD(180.0) + ((DEG_TO_RAD(0.6406161) * T) +
-                                      (DEG_TO_RAD(0.0003041) * T * T) +
-                                      (DEG_TO_RAD(0.0000051) * T * T * T));
-
-    // Create transform with proper constants
-    psSphereRot* tmpST = psSphereRotAlloc(alphaP, deltaP, phiP);
-
-    // Apply transform to coordinates
-    psSphere *out = psSphereRotApply(NULL, tmpST, coords);
-    if (out->r < -0.0001) {
-        out->r += 2.0 * M_PI;
-    }
-
-    psFree(tmpST);
-
-    return(out);
-}
-
+
Index: /trunk/psLib/src/astro/psSphereOps.h
===================================================================
--- /trunk/psLib/src/astro/psSphereOps.h	(revision 6038)
+++ /trunk/psLib/src/astro/psSphereOps.h	(revision 6039)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-11-07 20:52:43 $
+ *  @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-01-18 23:49:06 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -215,15 +215,4 @@
 psSphereRot* psSphereRotGalacticToICRS(void);
 
-/** Generates the complete spherical rotation to account for precession
- *  between two times.  The equinoxes shall be Julian equinoxes.
- *
- *  @return psSphere* the resulting spherical rotation
- */
-psSphere* psSpherePrecess(
-    psSphere *coords,                  ///< coordinates (modified in-place)
-    const psTime *fromTime,            ///< equinox of coords input
-    const psTime *toTime               ///< equinox of coords output
-);
-
 /// @}
 
Index: /trunk/psLib/src/psErrorText_en.dat
===================================================================
--- /trunk/psLib/src/psErrorText_en.dat	(revision 6038)
+++ /trunk/psLib/src/psErrorText_en.dat	(revision 6039)
@@ -36,7 +36,7 @@
 psAstrometry_NONLINEAR_TRANSFORM       The %s transfrom is not linear.  Only linear transforms are supported.
 #
-psMetadata_METATYPE_INVALID            Specified psMetadataType, %d, is not supported.
+psMetadata_METATYPE_INVALID            Specified psDataType, %d, is not supported.
 psMetadata_FORMAT_INVALID              Specified print format, %%%c, is not supported.
-psMetadata_METATYPE_MISMATCH           Specified psMetadataType, %d, is incorrect. Expected %d.
+psMetadata_METATYPE_MISMATCH           Specified psDataType, %d, is incorrect. Expected %d.
 psMetadata_ADD_LIST_FAILED             Failed to add metadata item, %s, to items list.
 psMetadata_ADD_TABLE_FAILED            Failed to add metadata item, %s, to items table.
@@ -197,8 +197,8 @@
 psStats_STATS_FAILED                   Failed to calculate the specified statistic.
 psStats_STATS_SAMPLE_MEDIAN_SORT_PROBLEM            Failed to sort input data.
-psStats_STATS_VECTOR_BIN_DISECT_PROBLEM		Failed to determine the bin number of a data element.
+psStats_STATS_VECTOR_BIN_DISECT_PROBLEM     Failed to determine the bin number of a data element.
 psStats_STATS_FIT_QUADRATIC_POLYNOMIAL_1D_FIT Failed to fit a 1-dimensional polynomial to the three specified data points.  Returning NAN.
 psStats_STATS_FIT_QUADRATIC_POLY_MEDIAN Failed to determine the median of the fitted polynomial.  Returning NAN.
-psStats_ROBUST_STATS_CLIPPED_STATS	Failed to determine clipped statistics.
+psStats_ROBUST_STATS_CLIPPED_STATS  Failed to determine clipped statistics.
 psStats_STATS_POLY_MEDIAN_OUT_OF_RANGE The requested y-value does not fall with the specified range of x-values.  Returning NAN.
 #
Index: /trunk/psLib/src/types/psMetadata.h
===================================================================
--- /trunk/psLib/src/types/psMetadata.h	(revision 6038)
+++ /trunk/psLib/src/types/psMetadata.h	(revision 6039)
@@ -11,6 +11,6 @@
 *  @author Ross Harman, MHPCC
 *
-*  @version $Revision: 1.71 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-11-18 01:51:03 $
+*  @version $Revision: 1.72 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-01-18 23:49:06 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -304,5 +304,5 @@
     long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
     const char *name,                  ///< Name of metadata item.
-    int format,                        ///< Type of metadata item (psMetadataType) and options (psMetadataFlags)
+    int format,                        ///< psDataType of metadata item & options (psMetadataFlags)
     const char *comment,               ///< Comment for metadata item.
     ...                                ///< Arguments for name formatting and metadata item data.
@@ -320,5 +320,5 @@
     long location,                     ///< Index number, PS_LIST_HEAD, or PS_LIST_TAIL
     const char *name,                  ///< Name of metadata item.
-    int format,                        ///< Type of metadata item (psMetadataType) and options (psMetadataFlags)
+    int format,                        ///< psDataType of metadata item & options (psMetadataFlags)
     const char *comment,               ///< Comment for metadata item.
     va_list list                       ///< Arguments for name formatting and metadata item data.
Index: /trunk/psLib/test/astro/tst_psEarthOrientation.c
===================================================================
--- /trunk/psLib/test/astro/tst_psEarthOrientation.c	(revision 6038)
+++ /trunk/psLib/test/astro/tst_psEarthOrientation.c	(revision 6039)
@@ -5,6 +5,6 @@
 *  @author d-Rob, MHPCC
 *
-*  @version $Revision: 1.26 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-01-18 00:41:29 $
+*  @version $Revision: 1.27 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-01-18 23:49:06 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -25,4 +25,5 @@
 static psS32 testSphereRot_CEOtoGCRS(void);
 static psS32 testSphereRot_ITRStoTEO(void);
+static psS32 testSphereRotPrecess(void);
 
 testDescription tests[] = {
@@ -37,4 +38,5 @@
                               {testSphereRot_CEOtoGCRS, 675, "psSphereRot_CEOtoGCRS()", 0, false},
                               {testSphereRot_ITRStoTEO, 676, "psSphereRRot_ITRStoTEO()", 0, false},
+                              {testSphereRotPrecess, 677, "psSphereRotPrecess()", 0, false},
                               {NULL}
                           };
@@ -661,12 +663,13 @@
     }
     //Return NULL for UT1 time input
-    psTime *UT1time = psTimeAlloc(PS_TIME_UT1);
-    nute = psEOC_NutationCorr(UT1time);
-    if (nute != NULL) {
-        psError(PS_ERR_BAD_PARAMETER_VALUE, false,
-                "psEOC_NutationCorr failed to return NULL for UT1 input time.\n");
-        return 2;
-    }
-    psFree(UT1time);
+    /*    psTime *UT1time = psTimeAlloc(PS_TIME_UT1);
+        nute = psEOC_NutationCorr(UT1time);
+        if (nute != NULL) {
+            psError(PS_ERR_BAD_PARAMETER_VALUE, false,
+                    "psEOC_NutationCorr failed to return NULL for UT1 input time.\n");
+            return 2;
+        }
+        psFree(UT1time);
+    */
     //Check return values from valid nutation time input
     nute = psEOC_NutationCorr(in);
@@ -925,2 +928,135 @@
 }
 
+#define SPHERE_PRECESS_TP1_R            0.0               //    0.0       degrees
+#define SPHERE_PRECESS_TP1_D            0.0               //    0.0       degrees
+#define SPHERE_PRECESS_TP1_EXPECT_R     6.238453          //  357.437     degrees
+#define SPHERE_PRECESS_TP1_EXPECT_D    -0.019426          //   -1.113     degrees
+#define SPHERE_PRECESS_TP2_R            0.0               //    0.0       degrees
+#define SPHERE_PRECESS_TP2_D            1.570796          //   90.0       degrees
+#define SPHERE_PRECESS_TP2_EXPECT_R     6.260828          //  358.719     degrees
+#define SPHERE_PRECESS_TP2_EXPECT_D     1.551353          //   88.886     degrees
+#define SPHERE_PRECESS_TP3_R            3.141593          //  180.0       degrees
+#define SPHERE_PRECESS_TP3_D            0.523599          //   30.0       degrees
+#define SPHERE_PRECESS_TP3_EXPECT_R     3.096616          //  177.423     degrees
+#define SPHERE_PRECESS_TP3_EXPECT_D     0.543024          //   31.113     degrees
+#define ERROR_TOL   0.0001
+#define MJD_1900  15021.0        // Modified Julian Day 1/1/1900 00:00:00
+#define MJD_2100  88069.0        // Modified Julian Day 1/1/2100 00:00:00
+
+psS32 testSphereRotPrecess( void )
+{
+
+    psSphere*     inputCoord  = psSphereAlloc();
+    psSphere*     outputCoord = NULL;
+    psTime*       fromTime    = psTimeFromMJD(MJD_2100);
+    psTime*       toTime      = psTimeFromMJD(MJD_1900);
+
+    // Set input coordinate
+    inputCoord->r = SPHERE_PRECESS_TP1_R;
+    inputCoord->d = SPHERE_PRECESS_TP1_D;
+    inputCoord->rErr = 0.0;
+    inputCoord->dErr = 0.0;
+
+    // Calculate precess
+    outputCoord = psSpherePrecess(inputCoord, fromTime, toTime);
+    // Verify return is not NULL
+    if(outputCoord == NULL) {
+        psError(PS_ERR_UNKNOWN,true,"Returned NULL not expected");
+        return 1;
+    }
+    // Verify return with expected values
+    if( fabs(outputCoord->r - SPHERE_PRECESS_TP1_EXPECT_R) > ERROR_TOL) {
+        psError(PS_ERR_UNKNOWN,true,"Precess r = %lg not equal to expected = %lg",
+                outputCoord->r,SPHERE_PRECESS_TP1_EXPECT_R);
+        return 2;
+    }
+    if( fabs(outputCoord->d - SPHERE_PRECESS_TP1_EXPECT_D) > ERROR_TOL) {
+        psError(PS_ERR_UNKNOWN,true,"Precess d = %lg not equal to expected = %lg",
+                outputCoord->d,SPHERE_PRECESS_TP1_EXPECT_D);
+        return 3;
+    }
+    psFree(outputCoord);
+
+    // Set input coordinate
+    inputCoord->r = SPHERE_PRECESS_TP2_R;
+    inputCoord->d = SPHERE_PRECESS_TP2_D;
+    inputCoord->rErr = 0.0;
+    inputCoord->dErr = 0.0;
+
+    // Calculate precess
+    outputCoord = psSpherePrecess(inputCoord, fromTime, toTime);
+    // Verify return is not NULL
+    if(outputCoord == NULL) {
+        psError(PS_ERR_UNKNOWN,true,"Returned NULL not expected");
+        return 4;
+    }
+    // Verify return with expected values
+    if( fabs(outputCoord->r - SPHERE_PRECESS_TP2_EXPECT_R) > ERROR_TOL) {
+        psError(PS_ERR_UNKNOWN,true,"Precess r = %lg not equal to expected = %lg",
+                outputCoord->r,SPHERE_PRECESS_TP2_EXPECT_R);
+        return 5;
+    }
+    if( fabs(outputCoord->d - SPHERE_PRECESS_TP2_EXPECT_D) > ERROR_TOL) {
+        psError(PS_ERR_UNKNOWN,true,"Precess d = %lg not equal to expected = %lg",
+                outputCoord->d,SPHERE_PRECESS_TP2_EXPECT_D);
+        return 6;
+    }
+    psFree(outputCoord);
+
+    // Set input coordinate
+    inputCoord->r = SPHERE_PRECESS_TP3_R;
+    inputCoord->d = SPHERE_PRECESS_TP3_D;
+    inputCoord->rErr = 0.0;
+    inputCoord->dErr = 0.0;
+
+    // Calculate precess
+    outputCoord = psSpherePrecess(inputCoord, fromTime, toTime);
+    // Verify return is not NULL
+    if(outputCoord == NULL) {
+        psError(PS_ERR_UNKNOWN,true,"Returned NULL not expected");
+        return 7;
+    }
+    // Verify return with expected values
+    if( fabs(outputCoord->r - SPHERE_PRECESS_TP3_EXPECT_R) > ERROR_TOL) {
+        psError(PS_ERR_UNKNOWN,true,"Precess r = %lg not equal to expected = %lg",
+                outputCoord->r,SPHERE_PRECESS_TP3_EXPECT_R);
+        return 8;
+    }
+    if( fabs(outputCoord->d - SPHERE_PRECESS_TP3_EXPECT_D) > ERROR_TOL) {
+        psError(PS_ERR_UNKNOWN,true,"Precess d = %lg not equal to expected = %lg",
+                outputCoord->d,SPHERE_PRECESS_TP3_EXPECT_D);
+        return 9;
+    }
+    psFree(outputCoord);
+
+    // Invoke precess with invalid parameter
+    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message");
+    outputCoord = psSpherePrecess(inputCoord, fromTime, NULL);
+    if(outputCoord != NULL) {
+        psError(PS_ERR_UNKNOWN,true,"Did not return NULL with invalid input");
+        return 10;
+    }
+
+    // Invoke precess with invalid parameter
+    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message");
+    outputCoord = psSpherePrecess(inputCoord, NULL, toTime);
+    if(outputCoord != NULL) {
+        psError(PS_ERR_UNKNOWN,true,"Did not return NULL with invalid input");
+        return 11;
+    }
+
+    // Invoke precess with invalid parameter
+    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message");
+    outputCoord = psSpherePrecess(NULL, fromTime, toTime);
+    if(outputCoord != NULL) {
+        psError(PS_ERR_UNKNOWN,true,"Did not return NULL with invalid input");
+        return 12;
+    }
+
+    // Free objects
+    psFree(fromTime);
+    psFree(toTime);
+    psFree(inputCoord);
+
+    return 0;
+}
Index: /trunk/psLib/test/astro/tst_psSphereOps.c
===================================================================
--- /trunk/psLib/test/astro/tst_psSphereOps.c	(revision 6038)
+++ /trunk/psLib/test/astro/tst_psSphereOps.c	(revision 6039)
@@ -5,6 +5,6 @@
 *  @author d-Rob, MHPCC
 *
-*  @version $Revision: 1.14 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-11-30 02:17:17 $
+*  @version $Revision: 1.15 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2006-01-18 23:49:06 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -18,5 +18,5 @@
 static psS32 testSphereRotApply1(void);
 static psS32 testSphereRotApplyCelestial(void);
-static psS32 testSphereRotPrecess(void);
+//static psS32 testSphereRotPrecess(void);
 static psS32 testSphereOffset(void);
 
@@ -26,5 +26,5 @@
                               {testSphereRotApply1, 821, "psSphereRotApply()", 0, false},
                               {testSphereRotApplyCelestial, 822, "psSphereRotApplyCel()", 0, false},
-                              {testSphereRotPrecess, 823, "psSphereRotPrecess()", 0, false},
+                              //                              {testSphereRotPrecess, 823, "psSphereRotPrecess()", 0, false},
                               {testSphereOffset, 825, "testSphereOffset()", 0, false},
                               {NULL}
@@ -298,135 +298,4 @@
 }
 
-#define SPHERE_PRECESS_TP1_R            0.0               //    0.0       degrees
-#define SPHERE_PRECESS_TP1_D            0.0               //    0.0       degrees
-#define SPHERE_PRECESS_TP1_EXPECT_R     6.238453          //  357.437     degrees
-#define SPHERE_PRECESS_TP1_EXPECT_D    -0.019426          //   -1.113     degrees
-#define SPHERE_PRECESS_TP2_R            0.0               //    0.0       degrees
-#define SPHERE_PRECESS_TP2_D            1.570796          //   90.0       degrees
-#define SPHERE_PRECESS_TP2_EXPECT_R     6.260828          //  358.719     degrees
-#define SPHERE_PRECESS_TP2_EXPECT_D     1.551353          //   88.886     degrees
-#define SPHERE_PRECESS_TP3_R            3.141593          //  180.0       degrees
-#define SPHERE_PRECESS_TP3_D            0.523599          //   30.0       degrees
-#define SPHERE_PRECESS_TP3_EXPECT_R     3.096616          //  177.423     degrees
-#define SPHERE_PRECESS_TP3_EXPECT_D     0.543024          //   31.113     degrees
-
-psS32 testSphereRotPrecess( void )
-{
-
-    psSphere*     inputCoord  = psSphereAlloc();
-    psSphere*     outputCoord = NULL;
-    psTime*       fromTime    = psTimeFromMJD(MJD_2100);
-    psTime*       toTime      = psTimeFromMJD(MJD_1900);
-
-    // Set input coordinate
-    inputCoord->r = SPHERE_PRECESS_TP1_R;
-    inputCoord->d = SPHERE_PRECESS_TP1_D;
-    inputCoord->rErr = 0.0;
-    inputCoord->dErr = 0.0;
-
-    // Calculate precess
-    outputCoord = psSpherePrecess(inputCoord, fromTime, toTime);
-    // Verify return is not NULL
-    if(outputCoord == NULL) {
-        psError(PS_ERR_UNKNOWN,true,"Returned NULL not expected");
-        return 1;
-    }
-    // Verify return with expected values
-    if( fabs(outputCoord->r - SPHERE_PRECESS_TP1_EXPECT_R) > ERROR_TOL) {
-        psError(PS_ERR_UNKNOWN,true,"Precess r = %lg not equal to expected = %lg",
-                outputCoord->r,SPHERE_PRECESS_TP1_EXPECT_R);
-        return 2;
-    }
-    if( fabs(outputCoord->d - SPHERE_PRECESS_TP1_EXPECT_D) > ERROR_TOL) {
-        psError(PS_ERR_UNKNOWN,true,"Precess d = %lg not equal to expected = %lg",
-                outputCoord->d,SPHERE_PRECESS_TP1_EXPECT_D);
-        return 3;
-    }
-    psFree(outputCoord);
-
-    // Set input coordinate
-    inputCoord->r = SPHERE_PRECESS_TP2_R;
-    inputCoord->d = SPHERE_PRECESS_TP2_D;
-    inputCoord->rErr = 0.0;
-    inputCoord->dErr = 0.0;
-
-    // Calculate precess
-    outputCoord = psSpherePrecess(inputCoord, fromTime, toTime);
-    // Verify return is not NULL
-    if(outputCoord == NULL) {
-        psError(PS_ERR_UNKNOWN,true,"Returned NULL not expected");
-        return 4;
-    }
-    // Verify return with expected values
-    if( fabs(outputCoord->r - SPHERE_PRECESS_TP2_EXPECT_R) > ERROR_TOL) {
-        psError(PS_ERR_UNKNOWN,true,"Precess r = %lg not equal to expected = %lg",
-                outputCoord->r,SPHERE_PRECESS_TP2_EXPECT_R);
-        return 5;
-    }
-    if( fabs(outputCoord->d - SPHERE_PRECESS_TP2_EXPECT_D) > ERROR_TOL) {
-        psError(PS_ERR_UNKNOWN,true,"Precess d = %lg not equal to expected = %lg",
-                outputCoord->d,SPHERE_PRECESS_TP2_EXPECT_D);
-        return 6;
-    }
-    psFree(outputCoord);
-
-    // Set input coordinate
-    inputCoord->r = SPHERE_PRECESS_TP3_R;
-    inputCoord->d = SPHERE_PRECESS_TP3_D;
-    inputCoord->rErr = 0.0;
-    inputCoord->dErr = 0.0;
-
-    // Calculate precess
-    outputCoord = psSpherePrecess(inputCoord, fromTime, toTime);
-    // Verify return is not NULL
-    if(outputCoord == NULL) {
-        psError(PS_ERR_UNKNOWN,true,"Returned NULL not expected");
-        return 7;
-    }
-    // Verify return with expected values
-    if( fabs(outputCoord->r - SPHERE_PRECESS_TP3_EXPECT_R) > ERROR_TOL) {
-        psError(PS_ERR_UNKNOWN,true,"Precess r = %lg not equal to expected = %lg",
-                outputCoord->r,SPHERE_PRECESS_TP3_EXPECT_R);
-        return 8;
-    }
-    if( fabs(outputCoord->d - SPHERE_PRECESS_TP3_EXPECT_D) > ERROR_TOL) {
-        psError(PS_ERR_UNKNOWN,true,"Precess d = %lg not equal to expected = %lg",
-                outputCoord->d,SPHERE_PRECESS_TP3_EXPECT_D);
-        return 9;
-    }
-    psFree(outputCoord);
-
-    // Invoke precess with invalid parameter
-    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message");
-    outputCoord = psSpherePrecess(inputCoord, fromTime, NULL);
-    if(outputCoord != NULL) {
-        psError(PS_ERR_UNKNOWN,true,"Did not return NULL with invalid input");
-        return 10;
-    }
-
-    // Invoke precess with invalid parameter
-    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message");
-    outputCoord = psSpherePrecess(inputCoord, NULL, toTime);
-    if(outputCoord != NULL) {
-        psError(PS_ERR_UNKNOWN,true,"Did not return NULL with invalid input");
-        return 11;
-    }
-
-    // Invoke precess with invalid parameter
-    psLogMsg(__func__,PS_LOG_INFO,"Following should generate an error message");
-    outputCoord = psSpherePrecess(NULL, fromTime, toTime);
-    if(outputCoord != NULL) {
-        psError(PS_ERR_UNKNOWN,true,"Did not return NULL with invalid input");
-        return 12;
-    }
-
-    // Free objects
-    psFree(fromTime);
-    psFree(toTime);
-    psFree(inputCoord);
-
-    return 0;
-}
-
 psS32 testSphereOffset(void)
 {
Index: /trunk/psLib/test/astro/verified/tst_psSphereOps.stderr
===================================================================
--- /trunk/psLib/test/astro/verified/tst_psSphereOps.stderr	(revision 6038)
+++ /trunk/psLib/test/astro/verified/tst_psSphereOps.stderr	(revision 6039)
@@ -45,25 +45,4 @@
 /***************************** TESTPOINT ******************************************\
 *             TestFile: tst_psSphereOps.c                                          *
-*            TestPoint: psSphereOps{psSphereRotPrecess()}                          *
-*             TestType: Positive                                                   *
-\**********************************************************************************/
-
-<DATE><TIME>|<HOST>|I|testSphereRotPrecess
-    Following should generate an error message
-<DATE><TIME>|<HOST>|E|psSpherePrecess (FILE:LINENO)
-    Unallowable operation: toTime is NULL.
-<DATE><TIME>|<HOST>|I|testSphereRotPrecess
-    Following should generate an error message
-<DATE><TIME>|<HOST>|E|psSpherePrecess (FILE:LINENO)
-    Unallowable operation: fromTime is NULL.
-<DATE><TIME>|<HOST>|I|testSphereRotPrecess
-    Following should generate an error message
-<DATE><TIME>|<HOST>|E|psSpherePrecess (FILE:LINENO)
-    Unallowable operation: coords is NULL.
-
----> TESTPOINT PASSED (psSphereOps{psSphereRotPrecess()} | tst_psSphereOps.c)
-
-/***************************** TESTPOINT ******************************************\
-*             TestFile: tst_psSphereOps.c                                          *
 *            TestPoint: psSphereOps{testSphereOffset()}                            *
 *             TestType: Positive                                                   *
Index: /trunk/psLib/test/astro/verified/tst_psTime_04.stderr
===================================================================
--- /trunk/psLib/test/astro/verified/tst_psTime_04.stderr	(revision 6038)
+++ /trunk/psLib/test/astro/verified/tst_psTime_04.stderr	(revision 6039)
@@ -82,2 +82,13 @@
 ---> TESTPOINT PASSED (psTime{psTimer} | tst_psTime_04.c)
 
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psTime_04.c                                            *
+*            TestPoint: psTime{psTime_TideUT1Corr}                                 *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|E|psTime_TideUT1Corr (FILE:LINENO)
+    Unallowable operation: time is NULL.
+
+---> TESTPOINT PASSED (psTime{psTime_TideUT1Corr} | tst_psTime_04.c)
+
Index: /trunk/psLib/test/types/verified/tst_psMetadata_02.stderr
===================================================================
--- /trunk/psLib/test/types/verified/tst_psMetadata_02.stderr	(revision 6038)
+++ /trunk/psLib/test/types/verified/tst_psMetadata_02.stderr	(revision 6039)
@@ -4,5 +4,5 @@
     Unallowable operation: name is NULL.
 <DATE><TIME>|<HOST>|E|psMetadataItemAllocV (FILE:LINENO)
-    Specified psMetadataType, -1, is not supported.
+    Specified psDataType, -1, is not supported.
 <DATE><TIME>|<HOST>|E|psMetadataAddItem (FILE:LINENO)
     Unallowable operation: md is NULL.
