Index: trunk/psLib/src/astronomy/psCoord.c
===================================================================
--- trunk/psLib/src/astronomy/psCoord.c	(revision 3351)
+++ trunk/psLib/src/astronomy/psCoord.c	(revision 3359)
@@ -10,6 +10,6 @@
 *  @author GLG, MHPCC
 *
-*  @version $Revision: 1.56 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-03-01 21:38:23 $
+*  @version $Revision: 1.57 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-03-02 03:39:58 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -777,8 +777,15 @@
                           const psTime *toTime)
 {
+    // Check input for NULL pointers
+    PS_PTR_CHECK_NULL(coords, NULL);
+    PS_PTR_CHECK_NULL(fromTime, NULL);
+    PS_PTR_CHECK_NULL(toTime, NULL);
+
+    // Calculate Julian centuries
     psF64 fromMJD = psTimeToMJD(fromTime);
     psF64 toMJD = psTimeToMJD(toTime);
-    psF64 T = (toMJD - fromMJD) / 36525.0;
-
+    psF64 T = (toMJD - fromMJD) / JULIAN_CENTURY;
+
+    // Calculate conversion constants
     psF64 alphaP = DEG_TO_RAD(90.0) - ((DEG_TO_RAD(0.6406161) * T) +
                                        (DEG_TO_RAD(0.0000839) * T * T) +
@@ -789,10 +796,12 @@
                    (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(90.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
     psSphereTransform *tmpST = psSphereTransformAlloc(alphaP, deltaP, phiP);
 
+    // Apply transform to coordinates
     psSphere *out = psSphereTransformApply(NULL, tmpST, coords);
 
