[Yt-svn] yt-commit r1412 - trunk/yt/lagos

jwise at wrangler.dreamhost.com jwise at wrangler.dreamhost.com
Tue Aug 25 14:19:09 PDT 2009


Author: jwise
Date: Tue Aug 25 14:19:07 2009
New Revision: 1412
URL: http://yt.spacepope.org/changeset/1412

Log:
RTIntegrator.pyx needed to be compiled into C.


Modified:
   trunk/yt/lagos/RTIntegrator.c

Modified: trunk/yt/lagos/RTIntegrator.c
==============================================================================
--- trunk/yt/lagos/RTIntegrator.c	(original)
+++ trunk/yt/lagos/RTIntegrator.c	Tue Aug 25 14:19:07 2009
@@ -1,4 +1,4 @@
-/* Generated by Cython 0.11.2 on Tue Jul 14 20:45:07 2009 */
+/* Generated by Cython 0.11.2 on Tue Aug 25 16:39:43 2009 */
 
 #define PY_SSIZE_T_CLEAN
 #include "Python.h"
@@ -752,6 +752,8 @@
 static PyObject *__pyx_kp_grid_mask;
 static char __pyx_k_grid_t[] = "grid_t";
 static PyObject *__pyx_kp_grid_t;
+static char __pyx_k_grid_dt[] = "grid_dt";
+static PyObject *__pyx_kp_grid_dt;
 static char __pyx_k_left_edge[] = "left_edge";
 static PyObject *__pyx_kp_left_edge;
 static char __pyx_k_right_edge[] = "right_edge";
@@ -835,7 +837,7 @@
 static char __pyx_k_29[] = "Format string allocated too short.";
 static char __pyx_k_30[] = "unknown dtype code in numpy.pxd (%d)";
 
-/* "yt/lagos/RTIntegrator.pyx":31
+/* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":31
  * 
  * @cython.boundscheck(False)
  * def Transfer3D(np.ndarray[np.float_t, ndim=2] i_s,             # <<<<<<<<<<<<<<
@@ -1084,7 +1086,7 @@
   __pyx_bstride_0_a = __pyx_bstruct_a.strides[0]; __pyx_bstride_1_a = __pyx_bstruct_a.strides[1]; __pyx_bstride_2_a = __pyx_bstruct_a.strides[2];
   __pyx_bshape_0_a = __pyx_bstruct_a.shape[0]; __pyx_bshape_1_a = __pyx_bstruct_a.shape[1]; __pyx_bshape_2_a = __pyx_bstruct_a.shape[2];
 
-  /* "yt/lagos/RTIntegrator.pyx":50
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":50
  *     cdef int k, kk
  *     cdef float temp
  *     for i in range((imax-imin)*istride):             # <<<<<<<<<<<<<<
@@ -1094,7 +1096,7 @@
   for (__pyx_t_1 = 0; __pyx_t_1 < ((__pyx_v_imax - __pyx_v_imin) * __pyx_v_istride); __pyx_t_1+=1) {
     __pyx_v_i = __pyx_t_1;
 
-    /* "yt/lagos/RTIntegrator.pyx":51
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":51
  *     cdef float temp
  *     for i in range((imax-imin)*istride):
  *         ii = i + imin*istride             # <<<<<<<<<<<<<<
@@ -1103,7 +1105,7 @@
  */
     __pyx_v_ii = (__pyx_v_i + (__pyx_v_imin * __pyx_v_istride));
 
-    /* "yt/lagos/RTIntegrator.pyx":52
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":52
  *     for i in range((imax-imin)*istride):
  *         ii = i + imin*istride
  *         for j in range((jmax-jmin)*jstride):             # <<<<<<<<<<<<<<
@@ -1113,7 +1115,7 @@
     for (__pyx_t_2 = 0; __pyx_t_2 < ((__pyx_v_jmax - __pyx_v_jmin) * __pyx_v_jstride); __pyx_t_2+=1) {
       __pyx_v_j = __pyx_t_2;
 
-      /* "yt/lagos/RTIntegrator.pyx":53
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":53
  *         ii = i + imin*istride
  *         for j in range((jmax-jmin)*jstride):
  *             jj = j + jmin*jstride             # <<<<<<<<<<<<<<
@@ -1122,7 +1124,7 @@
  */
       __pyx_v_jj = (__pyx_v_j + (__pyx_v_jmin * __pyx_v_jstride));
 
-      /* "yt/lagos/RTIntegrator.pyx":54
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":54
  *         for j in range((jmax-jmin)*jstride):
  *             jj = j + jmin*jstride
  *             temp = i_s[ii,jj]             # <<<<<<<<<<<<<<
@@ -1135,7 +1137,7 @@
       if (__pyx_t_4 < 0) __pyx_t_4 += __pyx_bshape_1_i_s;
       __pyx_v_temp = (*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float_t *, __pyx_bstruct_i_s.buf, __pyx_t_3, __pyx_bstride_0_i_s, __pyx_t_4, __pyx_bstride_1_i_s));
 
-      /* "yt/lagos/RTIntegrator.pyx":55
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":55
  *             jj = j + jmin*jstride
  *             temp = i_s[ii,jj]
  *             for k in range(kmax-kmin):             # <<<<<<<<<<<<<<
@@ -1145,7 +1147,7 @@
       for (__pyx_t_5 = 0; __pyx_t_5 < (__pyx_v_kmax - __pyx_v_kmin); __pyx_t_5+=1) {
         __pyx_v_k = __pyx_t_5;
 
-        /* "yt/lagos/RTIntegrator.pyx":56
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":56
  *             temp = i_s[ii,jj]
  *             for k in range(kmax-kmin):
  *                 o_s[i,j,k] = temp + dx*(e[i,j,k] - temp*a[i,j,k])             # <<<<<<<<<<<<<<
@@ -1172,7 +1174,7 @@
         if (__pyx_t_14 < 0) __pyx_t_14 += __pyx_bshape_2_o_s;
         *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_bstruct_o_s.buf, __pyx_t_12, __pyx_bstride_0_o_s, __pyx_t_13, __pyx_bstride_1_o_s, __pyx_t_14, __pyx_bstride_2_o_s) = (__pyx_v_temp + (__pyx_v_dx * ((*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_bstruct_e.buf, __pyx_t_6, __pyx_bstride_0_e, __pyx_t_7, __pyx_bstride_1_e, __pyx_t_8, __pyx_bstride_2_e)) - (__pyx_v_temp * (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_bstruct_a.buf, __pyx_t_9, __pyx_bstride_0_a, __pyx_t_10, __pyx_bstride_1_a, __pyx_t_11, __pyx_bstride_2_a))))));
 
-        /* "yt/lagos/RTIntegrator.pyx":57
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":57
  *             for k in range(kmax-kmin):
  *                 o_s[i,j,k] = temp + dx*(e[i,j,k] - temp*a[i,j,k])
  *                 temp = o_s[i,j,k]             # <<<<<<<<<<<<<<
@@ -1188,7 +1190,7 @@
         __pyx_v_temp = (*__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float_t *, __pyx_bstruct_o_s.buf, __pyx_t_15, __pyx_bstride_0_o_s, __pyx_t_16, __pyx_bstride_1_o_s, __pyx_t_17, __pyx_bstride_2_o_s));
       }
 
-      /* "yt/lagos/RTIntegrator.pyx":58
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":58
  *                 o_s[i,j,k] = temp + dx*(e[i,j,k] - temp*a[i,j,k])
  *                 temp = o_s[i,j,k]
  *             i_s[ii,jj] = temp             # <<<<<<<<<<<<<<
@@ -1227,7 +1229,7 @@
   return __pyx_r;
 }
 
-/* "yt/lagos/RTIntegrator.pyx":61
+/* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":61
  * 
  * @cython.boundscheck(False)
  * def Transfer1D(float i_s,             # <<<<<<<<<<<<<<
@@ -1385,7 +1387,7 @@
   __pyx_bstride_0_dx = __pyx_bstruct_dx.strides[0];
   __pyx_bshape_0_dx = __pyx_bstruct_dx.shape[0];
 
-  /* "yt/lagos/RTIntegrator.pyx":68
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":68
  *                int imin, int imax):
  *     cdef int i
  *     for i in range(imin, imax):             # <<<<<<<<<<<<<<
@@ -1395,7 +1397,7 @@
   for (__pyx_t_1 = __pyx_v_imin; __pyx_t_1 < __pyx_v_imax; __pyx_t_1+=1) {
     __pyx_v_i = __pyx_t_1;
 
-    /* "yt/lagos/RTIntegrator.pyx":69
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":69
  *     cdef int i
  *     for i in range(imin, imax):
  *         o_s[i] = i_s + dx[i]*(e[i] - i_s*a[i])             # <<<<<<<<<<<<<<
@@ -1412,7 +1414,7 @@
     if (__pyx_t_5 < 0) __pyx_t_5 += __pyx_bshape_0_o_s;
     *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_bstruct_o_s.buf, __pyx_t_5, __pyx_bstride_0_o_s) = (__pyx_v_i_s + ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_bstruct_dx.buf, __pyx_t_2, __pyx_bstride_0_dx)) * ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_bstruct_e.buf, __pyx_t_3, __pyx_bstride_0_e)) - (__pyx_v_i_s * (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_bstruct_a.buf, __pyx_t_4, __pyx_bstride_0_a))))));
 
-    /* "yt/lagos/RTIntegrator.pyx":70
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":70
  *     for i in range(imin, imax):
  *         o_s[i] = i_s + dx[i]*(e[i] - i_s*a[i])
  *         i_s = o_s[i]             # <<<<<<<<<<<<<<
@@ -1424,7 +1426,7 @@
     __pyx_v_i_s = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float_t *, __pyx_bstruct_o_s.buf, __pyx_t_6, __pyx_bstride_0_o_s));
   }
 
-  /* "yt/lagos/RTIntegrator.pyx":71
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":71
  *         o_s[i] = i_s + dx[i]*(e[i] - i_s*a[i])
  *         i_s = o_s[i]
  *     return i_s             # <<<<<<<<<<<<<<
@@ -1463,18 +1465,19 @@
   return __pyx_r;
 }
 
-/* "yt/lagos/RTIntegrator.pyx":75
+/* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":75
  * @cython.wraparound(False)
  * @cython.boundscheck(False)
  * def VoxelTraversal(np.ndarray[np.int_t, ndim=3] grid_mask,             # <<<<<<<<<<<<<<
  *                    np.ndarray[np.float64_t, ndim=3] grid_t,
- *                    np.ndarray[np.float64_t, ndim=1] left_edge,
+ *                    np.ndarray[np.float64_t, ndim=3] grid_dt,
  */
 
 static PyObject *__pyx_pf_2yt_5lagos_12RTIntegrator_VoxelTraversal(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyObject *__pyx_pf_2yt_5lagos_12RTIntegrator_VoxelTraversal(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
   PyArrayObject *__pyx_v_grid_mask = 0;
   PyArrayObject *__pyx_v_grid_t = 0;
+  PyArrayObject *__pyx_v_grid_dt = 0;
   PyArrayObject *__pyx_v_left_edge = 0;
   PyArrayObject *__pyx_v_right_edge = 0;
   PyArrayObject *__pyx_v_dx = 0;
@@ -1507,6 +1510,13 @@
   Py_ssize_t __pyx_bshape_0_grid_t = 0;
   Py_ssize_t __pyx_bshape_1_grid_t = 0;
   Py_ssize_t __pyx_bshape_2_grid_t = 0;
+  Py_buffer __pyx_bstruct_grid_dt;
+  Py_ssize_t __pyx_bstride_0_grid_dt = 0;
+  Py_ssize_t __pyx_bstride_1_grid_dt = 0;
+  Py_ssize_t __pyx_bstride_2_grid_dt = 0;
+  Py_ssize_t __pyx_bshape_0_grid_dt = 0;
+  Py_ssize_t __pyx_bshape_1_grid_dt = 0;
+  Py_ssize_t __pyx_bshape_2_grid_dt = 0;
   Py_buffer __pyx_bstruct_cur_ind;
   Py_ssize_t __pyx_bstride_0_cur_ind = 0;
   Py_ssize_t __pyx_bshape_0_cur_ind = 0;
@@ -1649,36 +1659,36 @@
   long __pyx_t_106;
   long __pyx_t_107;
   long __pyx_t_108;
-  long __pyx_t_109;
+  __pyx_t_5numpy_int64_t __pyx_t_109;
   __pyx_t_5numpy_int64_t __pyx_t_110;
   __pyx_t_5numpy_int64_t __pyx_t_111;
-  __pyx_t_5numpy_int64_t __pyx_t_112;
+  long __pyx_t_112;
   long __pyx_t_113;
   long __pyx_t_114;
   long __pyx_t_115;
-  long __pyx_t_116;
-  long __pyx_t_117;
-  long __pyx_t_118;
+  __pyx_t_5numpy_int64_t __pyx_t_116;
+  __pyx_t_5numpy_int64_t __pyx_t_117;
+  __pyx_t_5numpy_int64_t __pyx_t_118;
   long __pyx_t_119;
   long __pyx_t_120;
   long __pyx_t_121;
-  __pyx_t_5numpy_int64_t __pyx_t_122;
-  __pyx_t_5numpy_int64_t __pyx_t_123;
-  __pyx_t_5numpy_int64_t __pyx_t_124;
+  long __pyx_t_122;
+  long __pyx_t_123;
+  long __pyx_t_124;
   long __pyx_t_125;
   long __pyx_t_126;
-  long __pyx_t_127;
-  long __pyx_t_128;
-  long __pyx_t_129;
+  __pyx_t_5numpy_int64_t __pyx_t_127;
+  __pyx_t_5numpy_int64_t __pyx_t_128;
+  __pyx_t_5numpy_int64_t __pyx_t_129;
   long __pyx_t_130;
   long __pyx_t_131;
   long __pyx_t_132;
   long __pyx_t_133;
-  long __pyx_t_134;
-  long __pyx_t_135;
+  __pyx_t_5numpy_int64_t __pyx_t_134;
+  __pyx_t_5numpy_int64_t __pyx_t_135;
   __pyx_t_5numpy_int64_t __pyx_t_136;
-  __pyx_t_5numpy_int64_t __pyx_t_137;
-  __pyx_t_5numpy_int64_t __pyx_t_138;
+  long __pyx_t_137;
+  long __pyx_t_138;
   long __pyx_t_139;
   long __pyx_t_140;
   long __pyx_t_141;
@@ -1687,22 +1697,47 @@
   long __pyx_t_144;
   long __pyx_t_145;
   long __pyx_t_146;
-  long __pyx_t_147;
+  __pyx_t_5numpy_int64_t __pyx_t_147;
   __pyx_t_5numpy_int64_t __pyx_t_148;
   __pyx_t_5numpy_int64_t __pyx_t_149;
-  __pyx_t_5numpy_int64_t __pyx_t_150;
+  long __pyx_t_150;
   long __pyx_t_151;
   long __pyx_t_152;
   long __pyx_t_153;
-  long __pyx_t_154;
-  long __pyx_t_155;
-  static PyObject **__pyx_pyargnames[] = {&__pyx_kp_grid_mask,&__pyx_kp_grid_t,&__pyx_kp_left_edge,&__pyx_kp_right_edge,&__pyx_kp_dx,&__pyx_kp_u,&__pyx_kp_v,0};
+  __pyx_t_5numpy_int64_t __pyx_t_154;
+  __pyx_t_5numpy_int64_t __pyx_t_155;
+  __pyx_t_5numpy_int64_t __pyx_t_156;
+  long __pyx_t_157;
+  long __pyx_t_158;
+  long __pyx_t_159;
+  long __pyx_t_160;
+  long __pyx_t_161;
+  long __pyx_t_162;
+  long __pyx_t_163;
+  long __pyx_t_164;
+  __pyx_t_5numpy_int64_t __pyx_t_165;
+  __pyx_t_5numpy_int64_t __pyx_t_166;
+  __pyx_t_5numpy_int64_t __pyx_t_167;
+  long __pyx_t_168;
+  long __pyx_t_169;
+  long __pyx_t_170;
+  long __pyx_t_171;
+  __pyx_t_5numpy_int64_t __pyx_t_172;
+  __pyx_t_5numpy_int64_t __pyx_t_173;
+  __pyx_t_5numpy_int64_t __pyx_t_174;
+  long __pyx_t_175;
+  long __pyx_t_176;
+  long __pyx_t_177;
+  long __pyx_t_178;
+  long __pyx_t_179;
+  static PyObject **__pyx_pyargnames[] = {&__pyx_kp_grid_mask,&__pyx_kp_grid_t,&__pyx_kp_grid_dt,&__pyx_kp_left_edge,&__pyx_kp_right_edge,&__pyx_kp_dx,&__pyx_kp_u,&__pyx_kp_v,0};
   __Pyx_SetupRefcountContext("VoxelTraversal");
   __pyx_self = __pyx_self;
   if (unlikely(__pyx_kwds)) {
     Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
-    PyObject* values[7] = {0,0,0,0,0,0,0};
+    PyObject* values[8] = {0,0,0,0,0,0,0,0};
     switch (PyTuple_GET_SIZE(__pyx_args)) {
+      case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
       case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
       case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
       case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
@@ -1722,37 +1757,43 @@
       values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_grid_t);
       if (likely(values[1])) kw_args--;
       else {
-        __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 7, 7, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 8, 8, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
       case  2:
-      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_kp_left_edge);
+      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_kp_grid_dt);
       if (likely(values[2])) kw_args--;
       else {
-        __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 7, 7, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 8, 8, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
       case  3:
-      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_kp_right_edge);
+      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_kp_left_edge);
       if (likely(values[3])) kw_args--;
       else {
-        __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 7, 7, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 8, 8, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
       case  4:
-      values[4] = PyDict_GetItem(__pyx_kwds, __pyx_kp_dx);
+      values[4] = PyDict_GetItem(__pyx_kwds, __pyx_kp_right_edge);
       if (likely(values[4])) kw_args--;
       else {
-        __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 7, 7, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 8, 8, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
       case  5:
-      values[5] = PyDict_GetItem(__pyx_kwds, __pyx_kp_u);
+      values[5] = PyDict_GetItem(__pyx_kwds, __pyx_kp_dx);
       if (likely(values[5])) kw_args--;
       else {
-        __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 7, 7, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 8, 8, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
       case  6:
-      values[6] = PyDict_GetItem(__pyx_kwds, __pyx_kp_v);
+      values[6] = PyDict_GetItem(__pyx_kwds, __pyx_kp_u);
       if (likely(values[6])) kw_args--;
       else {
-        __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 7, 7, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 8, 8, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+      }
+      case  7:
+      values[7] = PyDict_GetItem(__pyx_kwds, __pyx_kp_v);
+      if (likely(values[7])) kw_args--;
+      else {
+        __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 8, 8, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
     }
     if (unlikely(kw_args > 0)) {
@@ -1760,25 +1801,27 @@
     }
     __pyx_v_grid_mask = ((PyArrayObject *)values[0]);
     __pyx_v_grid_t = ((PyArrayObject *)values[1]);
-    __pyx_v_left_edge = ((PyArrayObject *)values[2]);
-    __pyx_v_right_edge = ((PyArrayObject *)values[3]);
-    __pyx_v_dx = ((PyArrayObject *)values[4]);
-    __pyx_v_u = ((PyArrayObject *)values[5]);
-    __pyx_v_v = ((PyArrayObject *)values[6]);
-  } else if (PyTuple_GET_SIZE(__pyx_args) != 7) {
+    __pyx_v_grid_dt = ((PyArrayObject *)values[2]);
+    __pyx_v_left_edge = ((PyArrayObject *)values[3]);
+    __pyx_v_right_edge = ((PyArrayObject *)values[4]);
+    __pyx_v_dx = ((PyArrayObject *)values[5]);
+    __pyx_v_u = ((PyArrayObject *)values[6]);
+    __pyx_v_v = ((PyArrayObject *)values[7]);
+  } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
     goto __pyx_L5_argtuple_error;
   } else {
     __pyx_v_grid_mask = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 0));
     __pyx_v_grid_t = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 1));
-    __pyx_v_left_edge = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 2));
-    __pyx_v_right_edge = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 3));
-    __pyx_v_dx = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 4));
-    __pyx_v_u = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 5));
-    __pyx_v_v = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 6));
+    __pyx_v_grid_dt = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 2));
+    __pyx_v_left_edge = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 3));
+    __pyx_v_right_edge = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 4));
+    __pyx_v_dx = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 5));
+    __pyx_v_u = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 6));
+    __pyx_v_v = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 7));
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 7, 7, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("VoxelTraversal", 1, 8, 8, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_AddTraceback("yt.lagos.RTIntegrator.VoxelTraversal");
   return NULL;
@@ -1790,6 +1833,7 @@
   __pyx_bstruct_intersect.buf = NULL;
   __pyx_bstruct_grid_mask.buf = NULL;
   __pyx_bstruct_grid_t.buf = NULL;
+  __pyx_bstruct_grid_dt.buf = NULL;
   __pyx_bstruct_left_edge.buf = NULL;
   __pyx_bstruct_right_edge.buf = NULL;
   __pyx_bstruct_dx.buf = NULL;
@@ -1797,11 +1841,12 @@
   __pyx_bstruct_v.buf = NULL;
   if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_grid_mask), __pyx_ptype_5numpy_ndarray, 1, "grid_mask", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_grid_t), __pyx_ptype_5numpy_ndarray, 1, "grid_t", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_left_edge), __pyx_ptype_5numpy_ndarray, 1, "left_edge", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_right_edge), __pyx_ptype_5numpy_ndarray, 1, "right_edge", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dx), __pyx_ptype_5numpy_ndarray, 1, "dx", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_u), __pyx_ptype_5numpy_ndarray, 1, "u", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_v), __pyx_ptype_5numpy_ndarray, 1, "v", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_grid_dt), __pyx_ptype_5numpy_ndarray, 1, "grid_dt", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_left_edge), __pyx_ptype_5numpy_ndarray, 1, "left_edge", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_right_edge), __pyx_ptype_5numpy_ndarray, 1, "right_edge", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dx), __pyx_ptype_5numpy_ndarray, 1, "dx", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_u), __pyx_ptype_5numpy_ndarray, 1, "u", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_v), __pyx_ptype_5numpy_ndarray, 1, "v", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   {
     __Pyx_BufFmt_StackElem __pyx_stack[1];
     if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_grid_mask, (PyObject*)__pyx_v_grid_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -1816,6 +1861,12 @@
   __pyx_bshape_0_grid_t = __pyx_bstruct_grid_t.shape[0]; __pyx_bshape_1_grid_t = __pyx_bstruct_grid_t.shape[1]; __pyx_bshape_2_grid_t = __pyx_bstruct_grid_t.shape[2];
   {
     __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_grid_dt, (PyObject*)__pyx_v_grid_dt, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 3, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  }
+  __pyx_bstride_0_grid_dt = __pyx_bstruct_grid_dt.strides[0]; __pyx_bstride_1_grid_dt = __pyx_bstruct_grid_dt.strides[1]; __pyx_bstride_2_grid_dt = __pyx_bstruct_grid_dt.strides[2];
+  __pyx_bshape_0_grid_dt = __pyx_bstruct_grid_dt.shape[0]; __pyx_bshape_1_grid_dt = __pyx_bstruct_grid_dt.shape[1]; __pyx_bshape_2_grid_dt = __pyx_bstruct_grid_dt.shape[2];
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
     if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_left_edge, (PyObject*)__pyx_v_left_edge, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
   __pyx_bstride_0_left_edge = __pyx_bstruct_left_edge.strides[0];
@@ -1845,49 +1896,49 @@
   __pyx_bstride_0_v = __pyx_bstruct_v.strides[0];
   __pyx_bshape_0_v = __pyx_bstruct_v.shape[0];
 
-  /* "yt/lagos/RTIntegrator.pyx":87
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":88
  *     cdef int i, x, y
  *     cdef np.float64_t tl, tr, intersect_t, enter_t, exit_t, dt_tolerance
  *     cdef np.ndarray[np.int64_t,   ndim=1] step = np.empty((3,), dtype=np.int64)             # <<<<<<<<<<<<<<
  *     cdef np.ndarray[np.int64_t,   ndim=1] cur_ind = np.empty((3,), dtype=np.int64)
  *     cdef np.ndarray[np.float64_t, ndim=1] tdelta = np.empty((3,), dtype=np.float64)
  */
-  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_1);
-  __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_empty); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_empty); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_2));
   __Pyx_INCREF(__pyx_int_3);
   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3);
   __Pyx_GIVEREF(__pyx_int_3);
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_3));
   PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2));
   __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
   __pyx_t_2 = 0;
-  __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_1));
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_2);
-  __pyx_t_2 = PyObject_GetAttr(__pyx_2, __pyx_kp_31); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyObject_GetAttr(__pyx_2, __pyx_kp_31); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
-  if (PyDict_SetItem(__pyx_1, __pyx_kp_dtype, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_1, __pyx_kp_dtype, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = PyEval_CallObjectWithKeywords(__pyx_t_1, ((PyObject *)__pyx_t_3), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyEval_CallObjectWithKeywords(__pyx_t_1, ((PyObject *)__pyx_t_3), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  if (!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_4 = ((PyArrayObject *)__pyx_t_2);
   {
     __Pyx_BufFmt_StackElem __pyx_stack[1];
     if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_step, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) {
       __pyx_v_step = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_bstruct_step.buf = NULL;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     } else {__pyx_bstride_0_step = __pyx_bstruct_step.strides[0];
       __pyx_bshape_0_step = __pyx_bstruct_step.shape[0];
     }
@@ -1896,49 +1947,49 @@
   __pyx_v_step = ((PyArrayObject *)__pyx_t_2);
   __pyx_t_2 = 0;
 
-  /* "yt/lagos/RTIntegrator.pyx":88
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":89
  *     cdef np.float64_t tl, tr, intersect_t, enter_t, exit_t, dt_tolerance
  *     cdef np.ndarray[np.int64_t,   ndim=1] step = np.empty((3,), dtype=np.int64)
  *     cdef np.ndarray[np.int64_t,   ndim=1] cur_ind = np.empty((3,), dtype=np.int64)             # <<<<<<<<<<<<<<
  *     cdef np.ndarray[np.float64_t, ndim=1] tdelta = np.empty((3,), dtype=np.float64)
  *     cdef np.ndarray[np.float64_t, ndim=1] tmax = np.empty((3,), dtype=np.float64)
  */
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_2);
-  __pyx_t_2 = PyObject_GetAttr(__pyx_2, __pyx_kp_empty); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyObject_GetAttr(__pyx_2, __pyx_kp_empty); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_3));
   __Pyx_INCREF(__pyx_int_3);
   PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_3);
   __Pyx_GIVEREF(__pyx_int_3);
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_1));
   PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_t_3));
   __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
   __pyx_t_3 = 0;
-  __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_1));
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_2);
-  __pyx_t_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_31); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_31); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
   __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
-  if (PyDict_SetItem(__pyx_1, __pyx_kp_dtype, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_1, __pyx_kp_dtype, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_t_3 = PyEval_CallObjectWithKeywords(__pyx_t_2, ((PyObject *)__pyx_t_1), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyEval_CallObjectWithKeywords(__pyx_t_2, ((PyObject *)__pyx_t_1), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  if (!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_5 = ((PyArrayObject *)__pyx_t_3);
   {
     __Pyx_BufFmt_StackElem __pyx_stack[1];
     if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_cur_ind, (PyObject*)__pyx_t_5, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) {
       __pyx_v_cur_ind = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_bstruct_cur_ind.buf = NULL;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     } else {__pyx_bstride_0_cur_ind = __pyx_bstruct_cur_ind.strides[0];
       __pyx_bshape_0_cur_ind = __pyx_bstruct_cur_ind.shape[0];
     }
@@ -1947,49 +1998,49 @@
   __pyx_v_cur_ind = ((PyArrayObject *)__pyx_t_3);
   __pyx_t_3 = 0;
 
-  /* "yt/lagos/RTIntegrator.pyx":89
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":90
  *     cdef np.ndarray[np.int64_t,   ndim=1] step = np.empty((3,), dtype=np.int64)
  *     cdef np.ndarray[np.int64_t,   ndim=1] cur_ind = np.empty((3,), dtype=np.int64)
  *     cdef np.ndarray[np.float64_t, ndim=1] tdelta = np.empty((3,), dtype=np.float64)             # <<<<<<<<<<<<<<
  *     cdef np.ndarray[np.float64_t, ndim=1] tmax = np.empty((3,), dtype=np.float64)
  *     cdef np.ndarray[np.float64_t, ndim=1] intersect = np.empty((3,), dtype=np.float64)
  */
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_2);
-  __pyx_t_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_empty); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_empty); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
   __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_1));
   __Pyx_INCREF(__pyx_int_3);
   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_3);
   __Pyx_GIVEREF(__pyx_int_3);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_2));
   PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1));
   __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
   __pyx_t_1 = 0;
-  __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_1));
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_2);
-  __pyx_t_1 = PyObject_GetAttr(__pyx_2, __pyx_kp_32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyObject_GetAttr(__pyx_2, __pyx_kp_32); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
-  if (PyDict_SetItem(__pyx_1, __pyx_kp_dtype, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_1, __pyx_kp_dtype, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = PyEval_CallObjectWithKeywords(__pyx_t_3, ((PyObject *)__pyx_t_2), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyEval_CallObjectWithKeywords(__pyx_t_3, ((PyObject *)__pyx_t_2), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  if (!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_6 = ((PyArrayObject *)__pyx_t_1);
   {
     __Pyx_BufFmt_StackElem __pyx_stack[1];
     if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_tdelta, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) {
       __pyx_v_tdelta = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_bstruct_tdelta.buf = NULL;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     } else {__pyx_bstride_0_tdelta = __pyx_bstruct_tdelta.strides[0];
       __pyx_bshape_0_tdelta = __pyx_bstruct_tdelta.shape[0];
     }
@@ -1998,49 +2049,49 @@
   __pyx_v_tdelta = ((PyArrayObject *)__pyx_t_1);
   __pyx_t_1 = 0;
 
-  /* "yt/lagos/RTIntegrator.pyx":90
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":91
  *     cdef np.ndarray[np.int64_t,   ndim=1] cur_ind = np.empty((3,), dtype=np.int64)
  *     cdef np.ndarray[np.float64_t, ndim=1] tdelta = np.empty((3,), dtype=np.float64)
  *     cdef np.ndarray[np.float64_t, ndim=1] tmax = np.empty((3,), dtype=np.float64)             # <<<<<<<<<<<<<<
  *     cdef np.ndarray[np.float64_t, ndim=1] intersect = np.empty((3,), dtype=np.float64)
  *     intersect_t = 1
  */
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_2);
-  __pyx_t_1 = PyObject_GetAttr(__pyx_2, __pyx_kp_empty); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyObject_GetAttr(__pyx_2, __pyx_kp_empty); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_2));
   __Pyx_INCREF(__pyx_int_3);
   PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_3);
   __Pyx_GIVEREF(__pyx_int_3);
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_3));
   PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2));
   __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
   __pyx_t_2 = 0;
-  __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_1));
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_2);
-  __pyx_t_2 = PyObject_GetAttr(__pyx_2, __pyx_kp_32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyObject_GetAttr(__pyx_2, __pyx_kp_32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
-  if (PyDict_SetItem(__pyx_1, __pyx_kp_dtype, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_1, __pyx_kp_dtype, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = PyEval_CallObjectWithKeywords(__pyx_t_1, ((PyObject *)__pyx_t_3), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyEval_CallObjectWithKeywords(__pyx_t_1, ((PyObject *)__pyx_t_3), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  if (!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_7 = ((PyArrayObject *)__pyx_t_2);
   {
     __Pyx_BufFmt_StackElem __pyx_stack[1];
     if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_tmax, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) {
       __pyx_v_tmax = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_bstruct_tmax.buf = NULL;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     } else {__pyx_bstride_0_tmax = __pyx_bstruct_tmax.strides[0];
       __pyx_bshape_0_tmax = __pyx_bstruct_tmax.shape[0];
     }
@@ -2049,49 +2100,49 @@
   __pyx_v_tmax = ((PyArrayObject *)__pyx_t_2);
   __pyx_t_2 = 0;
 
-  /* "yt/lagos/RTIntegrator.pyx":91
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":92
  *     cdef np.ndarray[np.float64_t, ndim=1] tdelta = np.empty((3,), dtype=np.float64)
  *     cdef np.ndarray[np.float64_t, ndim=1] tmax = np.empty((3,), dtype=np.float64)
  *     cdef np.ndarray[np.float64_t, ndim=1] intersect = np.empty((3,), dtype=np.float64)             # <<<<<<<<<<<<<<
  *     intersect_t = 1
  *     dt_tolerance = 1e-6
  */
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_2);
-  __pyx_t_2 = PyObject_GetAttr(__pyx_2, __pyx_kp_empty); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = PyObject_GetAttr(__pyx_2, __pyx_kp_empty); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_2);
   __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_3));
   __Pyx_INCREF(__pyx_int_3);
   PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_3);
   __Pyx_GIVEREF(__pyx_int_3);
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_1));
   PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_t_3));
   __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
   __pyx_t_3 = 0;
-  __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_1));
-  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_2);
-  __pyx_t_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_32); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_32); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
   __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
-  if (PyDict_SetItem(__pyx_1, __pyx_kp_dtype, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyDict_SetItem(__pyx_1, __pyx_kp_dtype, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_t_3 = PyEval_CallObjectWithKeywords(__pyx_t_2, ((PyObject *)__pyx_t_1), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyEval_CallObjectWithKeywords(__pyx_t_2, ((PyObject *)__pyx_t_1), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0;
-  if (!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_8 = ((PyArrayObject *)__pyx_t_3);
   {
     __Pyx_BufFmt_StackElem __pyx_stack[1];
     if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_intersect, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
       __pyx_v_intersect = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_bstruct_intersect.buf = NULL;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     } else {__pyx_bstride_0_intersect = __pyx_bstruct_intersect.strides[0];
       __pyx_bshape_0_intersect = __pyx_bstruct_intersect.shape[0];
     }
@@ -2100,7 +2151,7 @@
   __pyx_v_intersect = ((PyArrayObject *)__pyx_t_3);
   __pyx_t_3 = 0;
 
-  /* "yt/lagos/RTIntegrator.pyx":92
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":93
  *     cdef np.ndarray[np.float64_t, ndim=1] tmax = np.empty((3,), dtype=np.float64)
  *     cdef np.ndarray[np.float64_t, ndim=1] intersect = np.empty((3,), dtype=np.float64)
  *     intersect_t = 1             # <<<<<<<<<<<<<<
@@ -2109,7 +2160,7 @@
  */
   __pyx_v_intersect_t = 1;
 
-  /* "yt/lagos/RTIntegrator.pyx":93
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":94
  *     cdef np.ndarray[np.float64_t, ndim=1] intersect = np.empty((3,), dtype=np.float64)
  *     intersect_t = 1
  *     dt_tolerance = 1e-6             # <<<<<<<<<<<<<<
@@ -2118,7 +2169,7 @@
  */
   __pyx_v_dt_tolerance = 9.9999999999999995e-07;
 
-  /* "yt/lagos/RTIntegrator.pyx":96
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":97
  *     # recall p = v * t + u
  *     #  where p is position, v is our vector, u is the start point
  *     for i in range(3):             # <<<<<<<<<<<<<<
@@ -2128,7 +2179,7 @@
   for (__pyx_t_9 = 0; __pyx_t_9 < 3; __pyx_t_9+=1) {
     __pyx_v_i = __pyx_t_9;
 
-    /* "yt/lagos/RTIntegrator.pyx":98
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":99
  *     for i in range(3):
  *         # As long as we're iterating, set some other stuff, too
  *         if(v[i] < 0): step[i] = -1             # <<<<<<<<<<<<<<
@@ -2144,7 +2195,7 @@
     }
     /*else*/ {
 
-      /* "yt/lagos/RTIntegrator.pyx":99
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":100
  *         # As long as we're iterating, set some other stuff, too
  *         if(v[i] < 0): step[i] = -1
  *         else: step[i] = 1             # <<<<<<<<<<<<<<
@@ -2156,7 +2207,7 @@
     }
     __pyx_L8:;
 
-    /* "yt/lagos/RTIntegrator.pyx":100
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":101
  *         if(v[i] < 0): step[i] = -1
  *         else: step[i] = 1
  *         x = (i+1)%3             # <<<<<<<<<<<<<<
@@ -2165,7 +2216,7 @@
  */
     __pyx_v_x = ((__pyx_v_i + 1) % 3);
 
-    /* "yt/lagos/RTIntegrator.pyx":101
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":102
  *         else: step[i] = 1
  *         x = (i+1)%3
  *         y = (i+2)%3             # <<<<<<<<<<<<<<
@@ -2174,7 +2225,7 @@
  */
     __pyx_v_y = ((__pyx_v_i + 2) % 3);
 
-    /* "yt/lagos/RTIntegrator.pyx":102
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":103
  *         x = (i+1)%3
  *         y = (i+2)%3
  *         tl = (left_edge[i] - u[i])/v[i]             # <<<<<<<<<<<<<<
@@ -2186,7 +2237,7 @@
     __pyx_t_16 = __pyx_v_i;
     __pyx_v_tl = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_left_edge.buf, __pyx_t_14, __pyx_bstride_0_left_edge)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_u.buf, __pyx_t_15, __pyx_bstride_0_u))) / (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_v.buf, __pyx_t_16, __pyx_bstride_0_v)));
 
-    /* "yt/lagos/RTIntegrator.pyx":103
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":104
  *         y = (i+2)%3
  *         tl = (left_edge[i] - u[i])/v[i]
  *         tr = (right_edge[i] - u[i])/v[i]             # <<<<<<<<<<<<<<
@@ -2198,7 +2249,7 @@
     __pyx_t_19 = __pyx_v_i;
     __pyx_v_tr = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_right_edge.buf, __pyx_t_17, __pyx_bstride_0_right_edge)) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_u.buf, __pyx_t_18, __pyx_bstride_0_u))) / (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_v.buf, __pyx_t_19, __pyx_bstride_0_v)));
 
-    /* "yt/lagos/RTIntegrator.pyx":104
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":105
  *         tl = (left_edge[i] - u[i])/v[i]
  *         tr = (right_edge[i] - u[i])/v[i]
  *         if (left_edge[x] <= (u[x] + tl*v[x]) <= right_edge[x]) and \             # <<<<<<<<<<<<<<
@@ -2216,7 +2267,7 @@
     }
     if (__pyx_t_11) {
 
-      /* "yt/lagos/RTIntegrator.pyx":105
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":106
  *         tr = (right_edge[i] - u[i])/v[i]
  *         if (left_edge[x] <= (u[x] + tl*v[x]) <= right_edge[x]) and \
  *            (left_edge[y] <= (u[y] + tl*v[y]) <= right_edge[y]) and \             # <<<<<<<<<<<<<<
@@ -2234,7 +2285,7 @@
       }
       if (__pyx_t_28) {
 
-        /* "yt/lagos/RTIntegrator.pyx":106
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":107
  *         if (left_edge[x] <= (u[x] + tl*v[x]) <= right_edge[x]) and \
  *            (left_edge[y] <= (u[y] + tl*v[y]) <= right_edge[y]) and \
  *            (0.0 <= tl < intersect_t):             # <<<<<<<<<<<<<<
@@ -2255,7 +2306,7 @@
     }
     if (__pyx_t_28) {
 
-      /* "yt/lagos/RTIntegrator.pyx":107
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":108
  *            (left_edge[y] <= (u[y] + tl*v[y]) <= right_edge[y]) and \
  *            (0.0 <= tl < intersect_t):
  *             intersect_t = tl             # <<<<<<<<<<<<<<
@@ -2267,7 +2318,7 @@
     }
     __pyx_L9:;
 
-    /* "yt/lagos/RTIntegrator.pyx":108
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":109
  *            (0.0 <= tl < intersect_t):
  *             intersect_t = tl
  *         if (left_edge[x] <= (u[x] + tr*v[x]) <= right_edge[x]) and \             # <<<<<<<<<<<<<<
@@ -2285,7 +2336,7 @@
     }
     if (__pyx_t_28) {
 
-      /* "yt/lagos/RTIntegrator.pyx":109
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":110
  *             intersect_t = tl
  *         if (left_edge[x] <= (u[x] + tr*v[x]) <= right_edge[x]) and \
  *            (left_edge[y] <= (u[y] + tr*v[y]) <= right_edge[y]) and \             # <<<<<<<<<<<<<<
@@ -2303,7 +2354,7 @@
       }
       if (__pyx_t_11) {
 
-        /* "yt/lagos/RTIntegrator.pyx":110
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":111
  *         if (left_edge[x] <= (u[x] + tr*v[x]) <= right_edge[x]) and \
  *            (left_edge[y] <= (u[y] + tr*v[y]) <= right_edge[y]) and \
  *            (0.0 <= tr < intersect_t):             # <<<<<<<<<<<<<<
@@ -2324,7 +2375,7 @@
     }
     if (__pyx_t_11) {
 
-      /* "yt/lagos/RTIntegrator.pyx":111
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":112
  *            (left_edge[y] <= (u[y] + tr*v[y]) <= right_edge[y]) and \
  *            (0.0 <= tr < intersect_t):
  *             intersect_t = tr             # <<<<<<<<<<<<<<
@@ -2337,7 +2388,7 @@
     __pyx_L10:;
   }
 
-  /* "yt/lagos/RTIntegrator.pyx":113
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":114
  *             intersect_t = tr
  *     # if fully enclosed
  *     if (left_edge[0] <= u[0] <= right_edge[0]) and \             # <<<<<<<<<<<<<<
@@ -2354,7 +2405,7 @@
   }
   if (__pyx_t_11) {
 
-    /* "yt/lagos/RTIntegrator.pyx":114
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":115
  *     # if fully enclosed
  *     if (left_edge[0] <= u[0] <= right_edge[0]) and \
  *        (left_edge[1] <= u[1] <= right_edge[1]) and \             # <<<<<<<<<<<<<<
@@ -2371,7 +2422,7 @@
     }
     if (__pyx_t_28) {
 
-      /* "yt/lagos/RTIntegrator.pyx":115
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":116
  *     if (left_edge[0] <= u[0] <= right_edge[0]) and \
  *        (left_edge[1] <= u[1] <= right_edge[1]) and \
  *        (left_edge[2] <= u[2] <= right_edge[2]):             # <<<<<<<<<<<<<<
@@ -2396,7 +2447,7 @@
   }
   if (__pyx_t_28) {
 
-    /* "yt/lagos/RTIntegrator.pyx":116
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":117
  *        (left_edge[1] <= u[1] <= right_edge[1]) and \
  *        (left_edge[2] <= u[2] <= right_edge[2]):
  *         intersect_t = 0.0             # <<<<<<<<<<<<<<
@@ -2408,7 +2459,7 @@
   }
   __pyx_L11:;
 
-  /* "yt/lagos/RTIntegrator.pyx":117
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":118
  *        (left_edge[2] <= u[2] <= right_edge[2]):
  *         intersect_t = 0.0
  *     if not (0 <= intersect_t <= 1): return             # <<<<<<<<<<<<<<
@@ -2428,22 +2479,22 @@
   }
   __pyx_L12:;
 
-  /* "yt/lagos/RTIntegrator.pyx":119
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":120
  *     if not (0 <= intersect_t <= 1): return
  *     # Now get the indices of the intersection
  *     intersect = u + intersect_t * v             # <<<<<<<<<<<<<<
  *     cdef int ncells = 0
  *     for i in range(3):
  */
-  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_intersect_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_intersect_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_1 = PyNumber_Multiply(__pyx_t_3, ((PyObject *)__pyx_v_v)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyNumber_Multiply(__pyx_t_3, ((PyObject *)__pyx_v_v)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_t_3 = PyNumber_Add(((PyObject *)__pyx_v_u), __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyNumber_Add(((PyObject *)__pyx_v_u), __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  if (!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_8 = ((PyArrayObject *)__pyx_t_3);
   {
     __Pyx_BufFmt_StackElem __pyx_stack[1];
@@ -2460,14 +2511,14 @@
     }
     __pyx_bstride_0_intersect = __pyx_bstruct_intersect.strides[0];
     __pyx_bshape_0_intersect = __pyx_bstruct_intersect.shape[0];
-    if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
   __pyx_t_8 = 0;
   __Pyx_DECREF(((PyObject *)__pyx_v_intersect));
   __pyx_v_intersect = ((PyArrayObject *)__pyx_t_3);
   __pyx_t_3 = 0;
 
-  /* "yt/lagos/RTIntegrator.pyx":120
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":121
  *     # Now get the indices of the intersection
  *     intersect = u + intersect_t * v
  *     cdef int ncells = 0             # <<<<<<<<<<<<<<
@@ -2476,7 +2527,7 @@
  */
   __pyx_v_ncells = 0;
 
-  /* "yt/lagos/RTIntegrator.pyx":121
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":122
  *     intersect = u + intersect_t * v
  *     cdef int ncells = 0
  *     for i in range(3):             # <<<<<<<<<<<<<<
@@ -2486,39 +2537,39 @@
   for (__pyx_t_9 = 0; __pyx_t_9 < 3; __pyx_t_9+=1) {
     __pyx_v_i = __pyx_t_9;
 
-    /* "yt/lagos/RTIntegrator.pyx":122
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":123
  *     cdef int ncells = 0
  *     for i in range(3):
  *         cur_ind[i] = np.floor((intersect[i] + 1e-8*dx[i] - left_edge[i])/dx[i])             # <<<<<<<<<<<<<<
  *         tmax[i] = (((cur_ind[i]+step[i])*dx[i])+left_edge[i]-u[i])/v[i]
  *         if cur_ind[i] == grid_mask.shape[i] and step[i] < 0:
  */
-    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_floor); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = PyObject_GetAttr(__pyx_2, __pyx_kp_floor); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_3);
     __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
     __pyx_t_52 = __pyx_v_i;
     __pyx_t_53 = __pyx_v_i;
     __pyx_t_54 = __pyx_v_i;
     __pyx_t_55 = __pyx_v_i;
-    __pyx_t_1 = PyFloat_FromDouble(((((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_intersect.buf, __pyx_t_52, __pyx_bstride_0_intersect)) + (1e-08 * (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_dx.buf, __pyx_t_53, __pyx_bstride_0_dx)))) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_left_edge.buf, __pyx_t_54, __pyx_bstride_0_left_edge))) / (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_dx.buf, __pyx_t_55, __pyx_bstride_0_dx)))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_1 = PyFloat_FromDouble(((((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_intersect.buf, __pyx_t_52, __pyx_bstride_0_intersect)) + (1e-08 * (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_dx.buf, __pyx_t_53, __pyx_bstride_0_dx)))) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_left_edge.buf, __pyx_t_54, __pyx_bstride_0_left_edge))) / (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_dx.buf, __pyx_t_55, __pyx_bstride_0_dx)))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(((PyObject *)__pyx_t_2));
     PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
     __Pyx_GIVEREF(__pyx_t_1);
     __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_1 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_1);
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
     __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-    __pyx_t_56 = __Pyx_PyInt_AsSignedLongLong(__pyx_t_1); if (unlikely((__pyx_t_56 == (signed PY_LONG_LONG)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_56 = __Pyx_PyInt_AsSignedLongLong(__pyx_t_1); if (unlikely((__pyx_t_56 == (signed PY_LONG_LONG)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
     __pyx_t_57 = __pyx_v_i;
     *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_57, __pyx_bstride_0_cur_ind) = __pyx_t_56;
 
-    /* "yt/lagos/RTIntegrator.pyx":123
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":124
  *     for i in range(3):
  *         cur_ind[i] = np.floor((intersect[i] + 1e-8*dx[i] - left_edge[i])/dx[i])
  *         tmax[i] = (((cur_ind[i]+step[i])*dx[i])+left_edge[i]-u[i])/v[i]             # <<<<<<<<<<<<<<
@@ -2534,7 +2585,7 @@
     __pyx_t_64 = __pyx_v_i;
     *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_64, __pyx_bstride_0_tmax) = ((((((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_58, __pyx_bstride_0_cur_ind)) + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_step.buf, __pyx_t_59, __pyx_bstride_0_step))) * (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_dx.buf, __pyx_t_60, __pyx_bstride_0_dx))) + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_left_edge.buf, __pyx_t_61, __pyx_bstride_0_left_edge))) - (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_u.buf, __pyx_t_62, __pyx_bstride_0_u))) / (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_v.buf, __pyx_t_63, __pyx_bstride_0_v)));
 
-    /* "yt/lagos/RTIntegrator.pyx":124
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":125
  *         cur_ind[i] = np.floor((intersect[i] + 1e-8*dx[i] - left_edge[i])/dx[i])
  *         tmax[i] = (((cur_ind[i]+step[i])*dx[i])+left_edge[i]-u[i])/v[i]
  *         if cur_ind[i] == grid_mask.shape[i] and step[i] < 0:             # <<<<<<<<<<<<<<
@@ -2550,7 +2601,7 @@
     }
     if (__pyx_t_11) {
 
-      /* "yt/lagos/RTIntegrator.pyx":125
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":126
  *         tmax[i] = (((cur_ind[i]+step[i])*dx[i])+left_edge[i]-u[i])/v[i]
  *         if cur_ind[i] == grid_mask.shape[i] and step[i] < 0:
  *             cur_ind[i] = grid_mask.shape[i] - 1             # <<<<<<<<<<<<<<
@@ -2563,7 +2614,7 @@
     }
     __pyx_L15:;
 
-    /* "yt/lagos/RTIntegrator.pyx":126
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":127
  *         if cur_ind[i] == grid_mask.shape[i] and step[i] < 0:
  *             cur_ind[i] = grid_mask.shape[i] - 1
  *         if step[i] > 0: tmax[i] = (((cur_ind[i]+1)*dx[i])+left_edge[i]-u[i])/v[i]             # <<<<<<<<<<<<<<
@@ -2584,7 +2635,7 @@
     }
     __pyx_L16:;
 
-    /* "yt/lagos/RTIntegrator.pyx":127
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":128
  *             cur_ind[i] = grid_mask.shape[i] - 1
  *         if step[i] > 0: tmax[i] = (((cur_ind[i]+1)*dx[i])+left_edge[i]-u[i])/v[i]
  *         if step[i] < 0: tmax[i] = (((cur_ind[i]+0)*dx[i])+left_edge[i]-u[i])/v[i]             # <<<<<<<<<<<<<<
@@ -2605,38 +2656,38 @@
     }
     __pyx_L17:;
 
-    /* "yt/lagos/RTIntegrator.pyx":128
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":129
  *         if step[i] > 0: tmax[i] = (((cur_ind[i]+1)*dx[i])+left_edge[i]-u[i])/v[i]
  *         if step[i] < 0: tmax[i] = (((cur_ind[i]+0)*dx[i])+left_edge[i]-u[i])/v[i]
  *         tdelta[i] = np.abs((dx[i]/v[i]))             # <<<<<<<<<<<<<<
  *     # The variable intersect contains the point we first pierce the grid
  *     enter_t = intersect_t
  */
-    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_1);
-    __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_abs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_abs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_1);
     __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
     __pyx_t_82 = __pyx_v_i;
     __pyx_t_83 = __pyx_v_i;
-    __pyx_t_2 = PyFloat_FromDouble(((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_dx.buf, __pyx_t_82, __pyx_bstride_0_dx)) / (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_v.buf, __pyx_t_83, __pyx_bstride_0_v)))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = PyFloat_FromDouble(((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_dx.buf, __pyx_t_82, __pyx_bstride_0_dx)) / (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_v.buf, __pyx_t_83, __pyx_bstride_0_v)))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(((PyObject *)__pyx_t_3));
     PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
     __Pyx_GIVEREF(__pyx_t_2);
     __pyx_t_2 = 0;
-    __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_2);
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
     __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    __pyx_t_23 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_23 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
     __pyx_t_84 = __pyx_v_i;
     *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tdelta.buf, __pyx_t_84, __pyx_bstride_0_tdelta) = __pyx_t_23;
   }
 
-  /* "yt/lagos/RTIntegrator.pyx":130
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":131
  *         tdelta[i] = np.abs((dx[i]/v[i]))
  *     # The variable intersect contains the point we first pierce the grid
  *     enter_t = intersect_t             # <<<<<<<<<<<<<<
@@ -2645,7 +2696,7 @@
  */
   __pyx_v_enter_t = __pyx_v_intersect_t;
 
-  /* "yt/lagos/RTIntegrator.pyx":131
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":132
  *     # The variable intersect contains the point we first pierce the grid
  *     enter_t = intersect_t
  *     while 1:             # <<<<<<<<<<<<<<
@@ -2656,7 +2707,7 @@
     __pyx_t_11 = 1;
     if (!__pyx_t_11) break;
 
-    /* "yt/lagos/RTIntegrator.pyx":132
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":133
  *     enter_t = intersect_t
  *     while 1:
  *         if (not (0 <= cur_ind[0] < grid_mask.shape[0])) or \             # <<<<<<<<<<<<<<
@@ -2671,7 +2722,7 @@
     }
     if (!(!__pyx_t_11)) {
 
-      /* "yt/lagos/RTIntegrator.pyx":133
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":134
  *     while 1:
  *         if (not (0 <= cur_ind[0] < grid_mask.shape[0])) or \
  *            (not (0 <= cur_ind[1] < grid_mask.shape[1])) or \             # <<<<<<<<<<<<<<
@@ -2686,7 +2737,7 @@
       }
       if (!(!__pyx_t_28)) {
 
-        /* "yt/lagos/RTIntegrator.pyx":134
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":135
  *         if (not (0 <= cur_ind[0] < grid_mask.shape[0])) or \
  *            (not (0 <= cur_ind[1] < grid_mask.shape[1])) or \
  *            (not (0 <= cur_ind[2] < grid_mask.shape[2])):             # <<<<<<<<<<<<<<
@@ -2709,7 +2760,7 @@
     }
     if (__pyx_t_28) {
 
-      /* "yt/lagos/RTIntegrator.pyx":135
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":136
  *            (not (0 <= cur_ind[1] < grid_mask.shape[1])) or \
  *            (not (0 <= cur_ind[2] < grid_mask.shape[2])):
  *             break             # <<<<<<<<<<<<<<
@@ -2721,12 +2772,12 @@
     }
     __pyx_L20:;
 
-    /* "yt/lagos/RTIntegrator.pyx":139
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":140
  *         # values from what they should be.
  *         # If we've reached t = 1, we are done.
  *         grid_mask[cur_ind[0], cur_ind[1], cur_ind[2]] = 1             # <<<<<<<<<<<<<<
  *         if (tmax[0] > 1.0) and (tmax[1] > 1.0) and (tmax[2] > 1.0):
- *             grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = 1.0 - enter_t
+ *             grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = 1.0 - enter_t
  */
     __pyx_t_88 = 0;
     __pyx_t_89 = 1;
@@ -2736,11 +2787,11 @@
     __pyx_t_92 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_90, __pyx_bstride_0_cur_ind));
     *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_int_t *, __pyx_bstruct_grid_mask.buf, __pyx_t_56, __pyx_bstride_0_grid_mask, __pyx_t_91, __pyx_bstride_1_grid_mask, __pyx_t_92, __pyx_bstride_2_grid_mask) = 1;
 
-    /* "yt/lagos/RTIntegrator.pyx":140
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":141
  *         # If we've reached t = 1, we are done.
  *         grid_mask[cur_ind[0], cur_ind[1], cur_ind[2]] = 1
  *         if (tmax[0] > 1.0) and (tmax[1] > 1.0) and (tmax[2] > 1.0):             # <<<<<<<<<<<<<<
- *             grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = 1.0 - enter_t
+ *             grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = 1.0 - enter_t
  *             break
  */
     __pyx_t_93 = 0;
@@ -2758,10 +2809,10 @@
     }
     if (__pyx_t_11) {
 
-      /* "yt/lagos/RTIntegrator.pyx":141
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":142
  *         grid_mask[cur_ind[0], cur_ind[1], cur_ind[2]] = 1
  *         if (tmax[0] > 1.0) and (tmax[1] > 1.0) and (tmax[2] > 1.0):
- *             grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = 1.0 - enter_t             # <<<<<<<<<<<<<<
+ *             grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = 1.0 - enter_t             # <<<<<<<<<<<<<<
  *             break
  *         ncells += 1
  */
@@ -2771,11 +2822,11 @@
       __pyx_t_99 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_96, __pyx_bstride_0_cur_ind));
       __pyx_t_100 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_97, __pyx_bstride_0_cur_ind));
       __pyx_t_101 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_98, __pyx_bstride_0_cur_ind));
-      *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_t.buf, __pyx_t_99, __pyx_bstride_0_grid_t, __pyx_t_100, __pyx_bstride_1_grid_t, __pyx_t_101, __pyx_bstride_2_grid_t) = (1.0 - __pyx_v_enter_t);
+      *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_dt.buf, __pyx_t_99, __pyx_bstride_0_grid_dt, __pyx_t_100, __pyx_bstride_1_grid_dt, __pyx_t_101, __pyx_bstride_2_grid_dt) = (1.0 - __pyx_v_enter_t);
 
-      /* "yt/lagos/RTIntegrator.pyx":142
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":143
  *         if (tmax[0] > 1.0) and (tmax[1] > 1.0) and (tmax[2] > 1.0):
- *             grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = 1.0 - enter_t
+ *             grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = 1.0 - enter_t
  *             break             # <<<<<<<<<<<<<<
  *         ncells += 1
  *         if tmax[0] < tmax[1]:
@@ -2785,8 +2836,8 @@
     }
     __pyx_L21:;
 
-    /* "yt/lagos/RTIntegrator.pyx":143
- *             grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = 1.0 - enter_t
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":144
+ *             grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = 1.0 - enter_t
  *             break
  *         ncells += 1             # <<<<<<<<<<<<<<
  *         if tmax[0] < tmax[1]:
@@ -2794,243 +2845,303 @@
  */
     __pyx_v_ncells += 1;
 
-    /* "yt/lagos/RTIntegrator.pyx":144
+    /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":145
  *             break
  *         ncells += 1
  *         if tmax[0] < tmax[1]:             # <<<<<<<<<<<<<<
  *             if tmax[0] < tmax[2]:
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[0] - enter_t
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t
  */
     __pyx_t_102 = 0;
     __pyx_t_103 = 1;
     __pyx_t_11 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_102, __pyx_bstride_0_tmax)) < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_103, __pyx_bstride_0_tmax)));
     if (__pyx_t_11) {
 
-      /* "yt/lagos/RTIntegrator.pyx":145
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":146
  *         ncells += 1
  *         if tmax[0] < tmax[1]:
  *             if tmax[0] < tmax[2]:             # <<<<<<<<<<<<<<
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[0] - enter_t
- *                 enter_t = tmax[0]
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[0] - enter_t
  */
       __pyx_t_104 = 0;
       __pyx_t_105 = 2;
       __pyx_t_11 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_104, __pyx_bstride_0_tmax)) < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_105, __pyx_bstride_0_tmax)));
       if (__pyx_t_11) {
 
-        /* "yt/lagos/RTIntegrator.pyx":146
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":147
  *         if tmax[0] < tmax[1]:
  *             if tmax[0] < tmax[2]:
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[0] - enter_t             # <<<<<<<<<<<<<<
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t             # <<<<<<<<<<<<<<
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[0] - enter_t
  *                 enter_t = tmax[0]
- *                 tmax[0] += tdelta[0]
  */
         __pyx_t_106 = 0;
-        __pyx_t_107 = 0;
-        __pyx_t_108 = 1;
-        __pyx_t_109 = 2;
+        __pyx_t_107 = 1;
+        __pyx_t_108 = 2;
+        __pyx_t_109 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_106, __pyx_bstride_0_cur_ind));
         __pyx_t_110 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_107, __pyx_bstride_0_cur_ind));
         __pyx_t_111 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_108, __pyx_bstride_0_cur_ind));
-        __pyx_t_112 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_109, __pyx_bstride_0_cur_ind));
-        *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_t.buf, __pyx_t_110, __pyx_bstride_0_grid_t, __pyx_t_111, __pyx_bstride_1_grid_t, __pyx_t_112, __pyx_bstride_2_grid_t) = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_106, __pyx_bstride_0_tmax)) - __pyx_v_enter_t);
+        *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_t.buf, __pyx_t_109, __pyx_bstride_0_grid_t, __pyx_t_110, __pyx_bstride_1_grid_t, __pyx_t_111, __pyx_bstride_2_grid_t) = __pyx_v_enter_t;
 
-        /* "yt/lagos/RTIntegrator.pyx":147
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":148
  *             if tmax[0] < tmax[2]:
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[0] - enter_t
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[0] - enter_t             # <<<<<<<<<<<<<<
+ *                 enter_t = tmax[0]
+ *                 tmax[0] += tdelta[0]
+ */
+        __pyx_t_112 = 0;
+        __pyx_t_113 = 0;
+        __pyx_t_114 = 1;
+        __pyx_t_115 = 2;
+        __pyx_t_116 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_113, __pyx_bstride_0_cur_ind));
+        __pyx_t_117 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_114, __pyx_bstride_0_cur_ind));
+        __pyx_t_118 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_115, __pyx_bstride_0_cur_ind));
+        *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_dt.buf, __pyx_t_116, __pyx_bstride_0_grid_dt, __pyx_t_117, __pyx_bstride_1_grid_dt, __pyx_t_118, __pyx_bstride_2_grid_dt) = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_112, __pyx_bstride_0_tmax)) - __pyx_v_enter_t);
+
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":149
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[0] - enter_t
  *                 enter_t = tmax[0]             # <<<<<<<<<<<<<<
  *                 tmax[0] += tdelta[0]
  *                 cur_ind[0] += step[0]
  */
-        __pyx_t_113 = 0;
-        __pyx_v_enter_t = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_113, __pyx_bstride_0_tmax));
+        __pyx_t_119 = 0;
+        __pyx_v_enter_t = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_119, __pyx_bstride_0_tmax));
 
-        /* "yt/lagos/RTIntegrator.pyx":148
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[0] - enter_t
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":150
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[0] - enter_t
  *                 enter_t = tmax[0]
  *                 tmax[0] += tdelta[0]             # <<<<<<<<<<<<<<
  *                 cur_ind[0] += step[0]
  *             else:
  */
-        __pyx_t_114 = 0;
-        __pyx_t_115 = 0;
-        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_115, __pyx_bstride_0_tmax) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tdelta.buf, __pyx_t_114, __pyx_bstride_0_tdelta));
+        __pyx_t_120 = 0;
+        __pyx_t_121 = 0;
+        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_121, __pyx_bstride_0_tmax) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tdelta.buf, __pyx_t_120, __pyx_bstride_0_tdelta));
 
-        /* "yt/lagos/RTIntegrator.pyx":149
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":151
  *                 enter_t = tmax[0]
  *                 tmax[0] += tdelta[0]
  *                 cur_ind[0] += step[0]             # <<<<<<<<<<<<<<
  *             else:
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t
  */
-        __pyx_t_116 = 0;
-        __pyx_t_117 = 0;
-        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_117, __pyx_bstride_0_cur_ind) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_step.buf, __pyx_t_116, __pyx_bstride_0_step));
+        __pyx_t_122 = 0;
+        __pyx_t_123 = 0;
+        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_123, __pyx_bstride_0_cur_ind) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_step.buf, __pyx_t_122, __pyx_bstride_0_step));
         goto __pyx_L23;
       }
       /*else*/ {
 
-        /* "yt/lagos/RTIntegrator.pyx":151
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":153
  *                 cur_ind[0] += step[0]
  *             else:
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t             # <<<<<<<<<<<<<<
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t             # <<<<<<<<<<<<<<
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t
  *                 enter_t = tmax[2]
- *                 tmax[2] += tdelta[2]
  */
-        __pyx_t_118 = 2;
-        __pyx_t_119 = 0;
-        __pyx_t_120 = 1;
-        __pyx_t_121 = 2;
-        __pyx_t_122 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_119, __pyx_bstride_0_cur_ind));
-        __pyx_t_123 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_120, __pyx_bstride_0_cur_ind));
-        __pyx_t_124 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_121, __pyx_bstride_0_cur_ind));
-        *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_t.buf, __pyx_t_122, __pyx_bstride_0_grid_t, __pyx_t_123, __pyx_bstride_1_grid_t, __pyx_t_124, __pyx_bstride_2_grid_t) = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_118, __pyx_bstride_0_tmax)) - __pyx_v_enter_t);
+        __pyx_t_124 = 0;
+        __pyx_t_125 = 1;
+        __pyx_t_126 = 2;
+        __pyx_t_127 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_124, __pyx_bstride_0_cur_ind));
+        __pyx_t_128 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_125, __pyx_bstride_0_cur_ind));
+        __pyx_t_129 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_126, __pyx_bstride_0_cur_ind));
+        *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_t.buf, __pyx_t_127, __pyx_bstride_0_grid_t, __pyx_t_128, __pyx_bstride_1_grid_t, __pyx_t_129, __pyx_bstride_2_grid_t) = __pyx_v_enter_t;
 
-        /* "yt/lagos/RTIntegrator.pyx":152
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":154
  *             else:
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t             # <<<<<<<<<<<<<<
+ *                 enter_t = tmax[2]
+ *                 tmax[2] += tdelta[2]
+ */
+        __pyx_t_130 = 2;
+        __pyx_t_131 = 0;
+        __pyx_t_132 = 1;
+        __pyx_t_133 = 2;
+        __pyx_t_134 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_131, __pyx_bstride_0_cur_ind));
+        __pyx_t_135 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_132, __pyx_bstride_0_cur_ind));
+        __pyx_t_136 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_133, __pyx_bstride_0_cur_ind));
+        *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_dt.buf, __pyx_t_134, __pyx_bstride_0_grid_dt, __pyx_t_135, __pyx_bstride_1_grid_dt, __pyx_t_136, __pyx_bstride_2_grid_dt) = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_130, __pyx_bstride_0_tmax)) - __pyx_v_enter_t);
+
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":155
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t
  *                 enter_t = tmax[2]             # <<<<<<<<<<<<<<
  *                 tmax[2] += tdelta[2]
  *                 cur_ind[2] += step[2]
  */
-        __pyx_t_125 = 2;
-        __pyx_v_enter_t = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_125, __pyx_bstride_0_tmax));
+        __pyx_t_137 = 2;
+        __pyx_v_enter_t = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_137, __pyx_bstride_0_tmax));
 
-        /* "yt/lagos/RTIntegrator.pyx":153
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":156
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t
  *                 enter_t = tmax[2]
  *                 tmax[2] += tdelta[2]             # <<<<<<<<<<<<<<
  *                 cur_ind[2] += step[2]
  *         else:
  */
-        __pyx_t_126 = 2;
-        __pyx_t_127 = 2;
-        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_127, __pyx_bstride_0_tmax) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tdelta.buf, __pyx_t_126, __pyx_bstride_0_tdelta));
+        __pyx_t_138 = 2;
+        __pyx_t_139 = 2;
+        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_139, __pyx_bstride_0_tmax) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tdelta.buf, __pyx_t_138, __pyx_bstride_0_tdelta));
 
-        /* "yt/lagos/RTIntegrator.pyx":154
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":157
  *                 enter_t = tmax[2]
  *                 tmax[2] += tdelta[2]
  *                 cur_ind[2] += step[2]             # <<<<<<<<<<<<<<
  *         else:
  *             if tmax[1] < tmax[2]:
  */
-        __pyx_t_128 = 2;
-        __pyx_t_129 = 2;
-        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_129, __pyx_bstride_0_cur_ind) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_step.buf, __pyx_t_128, __pyx_bstride_0_step));
+        __pyx_t_140 = 2;
+        __pyx_t_141 = 2;
+        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_141, __pyx_bstride_0_cur_ind) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_step.buf, __pyx_t_140, __pyx_bstride_0_step));
       }
       __pyx_L23:;
       goto __pyx_L22;
     }
     /*else*/ {
 
-      /* "yt/lagos/RTIntegrator.pyx":156
+      /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":159
  *                 cur_ind[2] += step[2]
  *         else:
  *             if tmax[1] < tmax[2]:             # <<<<<<<<<<<<<<
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[1] - enter_t
- *                 enter_t = tmax[1]
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[1] - enter_t
  */
-      __pyx_t_130 = 1;
-      __pyx_t_131 = 2;
-      __pyx_t_11 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_130, __pyx_bstride_0_tmax)) < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_131, __pyx_bstride_0_tmax)));
+      __pyx_t_142 = 1;
+      __pyx_t_143 = 2;
+      __pyx_t_11 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_142, __pyx_bstride_0_tmax)) < (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_143, __pyx_bstride_0_tmax)));
       if (__pyx_t_11) {
 
-        /* "yt/lagos/RTIntegrator.pyx":157
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":160
  *         else:
  *             if tmax[1] < tmax[2]:
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[1] - enter_t             # <<<<<<<<<<<<<<
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t             # <<<<<<<<<<<<<<
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[1] - enter_t
  *                 enter_t = tmax[1]
- *                 tmax[1] += tdelta[1]
  */
-        __pyx_t_132 = 1;
-        __pyx_t_133 = 0;
-        __pyx_t_134 = 1;
-        __pyx_t_135 = 2;
-        __pyx_t_136 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_133, __pyx_bstride_0_cur_ind));
-        __pyx_t_137 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_134, __pyx_bstride_0_cur_ind));
-        __pyx_t_138 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_135, __pyx_bstride_0_cur_ind));
-        *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_t.buf, __pyx_t_136, __pyx_bstride_0_grid_t, __pyx_t_137, __pyx_bstride_1_grid_t, __pyx_t_138, __pyx_bstride_2_grid_t) = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_132, __pyx_bstride_0_tmax)) - __pyx_v_enter_t);
+        __pyx_t_144 = 0;
+        __pyx_t_145 = 1;
+        __pyx_t_146 = 2;
+        __pyx_t_147 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_144, __pyx_bstride_0_cur_ind));
+        __pyx_t_148 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_145, __pyx_bstride_0_cur_ind));
+        __pyx_t_149 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_146, __pyx_bstride_0_cur_ind));
+        *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_t.buf, __pyx_t_147, __pyx_bstride_0_grid_t, __pyx_t_148, __pyx_bstride_1_grid_t, __pyx_t_149, __pyx_bstride_2_grid_t) = __pyx_v_enter_t;
 
-        /* "yt/lagos/RTIntegrator.pyx":158
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":161
  *             if tmax[1] < tmax[2]:
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[1] - enter_t
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[1] - enter_t             # <<<<<<<<<<<<<<
+ *                 enter_t = tmax[1]
+ *                 tmax[1] += tdelta[1]
+ */
+        __pyx_t_150 = 1;
+        __pyx_t_151 = 0;
+        __pyx_t_152 = 1;
+        __pyx_t_153 = 2;
+        __pyx_t_154 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_151, __pyx_bstride_0_cur_ind));
+        __pyx_t_155 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_152, __pyx_bstride_0_cur_ind));
+        __pyx_t_156 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_153, __pyx_bstride_0_cur_ind));
+        *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_dt.buf, __pyx_t_154, __pyx_bstride_0_grid_dt, __pyx_t_155, __pyx_bstride_1_grid_dt, __pyx_t_156, __pyx_bstride_2_grid_dt) = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_150, __pyx_bstride_0_tmax)) - __pyx_v_enter_t);
+
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":162
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[1] - enter_t
  *                 enter_t = tmax[1]             # <<<<<<<<<<<<<<
  *                 tmax[1] += tdelta[1]
  *                 cur_ind[1] += step[1]
  */
-        __pyx_t_139 = 1;
-        __pyx_v_enter_t = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_139, __pyx_bstride_0_tmax));
+        __pyx_t_157 = 1;
+        __pyx_v_enter_t = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_157, __pyx_bstride_0_tmax));
 
-        /* "yt/lagos/RTIntegrator.pyx":159
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[1] - enter_t
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":163
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[1] - enter_t
  *                 enter_t = tmax[1]
  *                 tmax[1] += tdelta[1]             # <<<<<<<<<<<<<<
  *                 cur_ind[1] += step[1]
  *             else:
  */
-        __pyx_t_140 = 1;
-        __pyx_t_141 = 1;
-        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_141, __pyx_bstride_0_tmax) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tdelta.buf, __pyx_t_140, __pyx_bstride_0_tdelta));
+        __pyx_t_158 = 1;
+        __pyx_t_159 = 1;
+        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_159, __pyx_bstride_0_tmax) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tdelta.buf, __pyx_t_158, __pyx_bstride_0_tdelta));
 
-        /* "yt/lagos/RTIntegrator.pyx":160
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":164
  *                 enter_t = tmax[1]
  *                 tmax[1] += tdelta[1]
  *                 cur_ind[1] += step[1]             # <<<<<<<<<<<<<<
  *             else:
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t
  */
-        __pyx_t_142 = 1;
-        __pyx_t_143 = 1;
-        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_143, __pyx_bstride_0_cur_ind) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_step.buf, __pyx_t_142, __pyx_bstride_0_step));
+        __pyx_t_160 = 1;
+        __pyx_t_161 = 1;
+        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_161, __pyx_bstride_0_cur_ind) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_step.buf, __pyx_t_160, __pyx_bstride_0_step));
         goto __pyx_L24;
       }
       /*else*/ {
 
-        /* "yt/lagos/RTIntegrator.pyx":162
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":166
  *                 cur_ind[1] += step[1]
  *             else:
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t             # <<<<<<<<<<<<<<
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t             # <<<<<<<<<<<<<<
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t
  *                 enter_t = tmax[2]
- *                 tmax[2] += tdelta[2]
  */
-        __pyx_t_144 = 2;
-        __pyx_t_145 = 0;
-        __pyx_t_146 = 1;
-        __pyx_t_147 = 2;
-        __pyx_t_148 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_145, __pyx_bstride_0_cur_ind));
-        __pyx_t_149 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_146, __pyx_bstride_0_cur_ind));
-        __pyx_t_150 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_147, __pyx_bstride_0_cur_ind));
-        *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_t.buf, __pyx_t_148, __pyx_bstride_0_grid_t, __pyx_t_149, __pyx_bstride_1_grid_t, __pyx_t_150, __pyx_bstride_2_grid_t) = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_144, __pyx_bstride_0_tmax)) - __pyx_v_enter_t);
+        __pyx_t_162 = 0;
+        __pyx_t_163 = 1;
+        __pyx_t_164 = 2;
+        __pyx_t_165 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_162, __pyx_bstride_0_cur_ind));
+        __pyx_t_166 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_163, __pyx_bstride_0_cur_ind));
+        __pyx_t_167 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_164, __pyx_bstride_0_cur_ind));
+        *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_t.buf, __pyx_t_165, __pyx_bstride_0_grid_t, __pyx_t_166, __pyx_bstride_1_grid_t, __pyx_t_167, __pyx_bstride_2_grid_t) = __pyx_v_enter_t;
 
-        /* "yt/lagos/RTIntegrator.pyx":163
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":167
  *             else:
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t             # <<<<<<<<<<<<<<
+ *                 enter_t = tmax[2]
+ *                 tmax[2] += tdelta[2]
+ */
+        __pyx_t_168 = 2;
+        __pyx_t_169 = 0;
+        __pyx_t_170 = 1;
+        __pyx_t_171 = 2;
+        __pyx_t_172 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_169, __pyx_bstride_0_cur_ind));
+        __pyx_t_173 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_170, __pyx_bstride_0_cur_ind));
+        __pyx_t_174 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_171, __pyx_bstride_0_cur_ind));
+        *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_grid_dt.buf, __pyx_t_172, __pyx_bstride_0_grid_dt, __pyx_t_173, __pyx_bstride_1_grid_dt, __pyx_t_174, __pyx_bstride_2_grid_dt) = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_168, __pyx_bstride_0_tmax)) - __pyx_v_enter_t);
+
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":168
+ *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = enter_t
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t
  *                 enter_t = tmax[2]             # <<<<<<<<<<<<<<
  *                 tmax[2] += tdelta[2]
  *                 cur_ind[2] += step[2]
  */
-        __pyx_t_151 = 2;
-        __pyx_v_enter_t = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_151, __pyx_bstride_0_tmax));
+        __pyx_t_175 = 2;
+        __pyx_v_enter_t = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_175, __pyx_bstride_0_tmax));
 
-        /* "yt/lagos/RTIntegrator.pyx":164
- *                 grid_t[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":169
+ *                 grid_dt[cur_ind[0], cur_ind[1], cur_ind[2]] = tmax[2] - enter_t
  *                 enter_t = tmax[2]
  *                 tmax[2] += tdelta[2]             # <<<<<<<<<<<<<<
  *                 cur_ind[2] += step[2]
  *     return
  */
-        __pyx_t_152 = 2;
-        __pyx_t_153 = 2;
-        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_153, __pyx_bstride_0_tmax) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tdelta.buf, __pyx_t_152, __pyx_bstride_0_tdelta));
+        __pyx_t_176 = 2;
+        __pyx_t_177 = 2;
+        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tmax.buf, __pyx_t_177, __pyx_bstride_0_tmax) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float64_t *, __pyx_bstruct_tdelta.buf, __pyx_t_176, __pyx_bstride_0_tdelta));
 
-        /* "yt/lagos/RTIntegrator.pyx":165
+        /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":170
  *                 enter_t = tmax[2]
  *                 tmax[2] += tdelta[2]
  *                 cur_ind[2] += step[2]             # <<<<<<<<<<<<<<
  *     return
  */
-        __pyx_t_154 = 2;
-        __pyx_t_155 = 2;
-        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_155, __pyx_bstride_0_cur_ind) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_step.buf, __pyx_t_154, __pyx_bstride_0_step));
+        __pyx_t_178 = 2;
+        __pyx_t_179 = 2;
+        *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_cur_ind.buf, __pyx_t_179, __pyx_bstride_0_cur_ind) += (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int64_t *, __pyx_bstruct_step.buf, __pyx_t_178, __pyx_bstride_0_step));
       }
       __pyx_L24:;
     }
@@ -3038,7 +3149,7 @@
   }
   __pyx_L19_break:;
 
-  /* "yt/lagos/RTIntegrator.pyx":166
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":171
  *                 tmax[2] += tdelta[2]
  *                 cur_ind[2] += step[2]
  *     return             # <<<<<<<<<<<<<<
@@ -3060,6 +3171,7 @@
     __Pyx_SafeReleaseBuffer(&__pyx_bstruct_right_edge);
     __Pyx_SafeReleaseBuffer(&__pyx_bstruct_intersect);
     __Pyx_SafeReleaseBuffer(&__pyx_bstruct_grid_t);
+    __Pyx_SafeReleaseBuffer(&__pyx_bstruct_grid_dt);
     __Pyx_SafeReleaseBuffer(&__pyx_bstruct_cur_ind);
     __Pyx_SafeReleaseBuffer(&__pyx_bstruct_left_edge);
     __Pyx_SafeReleaseBuffer(&__pyx_bstruct_step);
@@ -3077,6 +3189,7 @@
   __Pyx_SafeReleaseBuffer(&__pyx_bstruct_right_edge);
   __Pyx_SafeReleaseBuffer(&__pyx_bstruct_intersect);
   __Pyx_SafeReleaseBuffer(&__pyx_bstruct_grid_t);
+  __Pyx_SafeReleaseBuffer(&__pyx_bstruct_grid_dt);
   __Pyx_SafeReleaseBuffer(&__pyx_bstruct_cur_ind);
   __Pyx_SafeReleaseBuffer(&__pyx_bstruct_left_edge);
   __Pyx_SafeReleaseBuffer(&__pyx_bstruct_step);
@@ -3097,7 +3210,7 @@
   return __pyx_r;
 }
 
-/* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":65
+/* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":65
  *         # experimental exception made for __getbuffer__ and __releasebuffer__
  *         # -- the details of this may change.
  *         def __getbuffer__(ndarray self, Py_buffer* info, int flags):             # <<<<<<<<<<<<<<
@@ -3130,7 +3243,7 @@
   __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
   __Pyx_GIVEREF(__pyx_v_info->obj);
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":71
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":71
  *             # of flags
  *             cdef int copy_shape, i, ndim
  *             cdef int endian_detector = 1             # <<<<<<<<<<<<<<
@@ -3139,7 +3252,7 @@
  */
   __pyx_v_endian_detector = 1;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":72
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":72
  *             cdef int copy_shape, i, ndim
  *             cdef int endian_detector = 1
  *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
@@ -3148,7 +3261,7 @@
  */
   __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":74
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":74
  *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
  * 
  *             ndim = PyArray_NDIM(self)             # <<<<<<<<<<<<<<
@@ -3157,7 +3270,7 @@
  */
   __pyx_v_ndim = PyArray_NDIM(((PyArrayObject *)__pyx_v_self));
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":76
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":76
  *             ndim = PyArray_NDIM(self)
  * 
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -3167,7 +3280,7 @@
   __pyx_t_1 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t)));
   if (__pyx_t_1) {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":77
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":77
  * 
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
  *                 copy_shape = 1             # <<<<<<<<<<<<<<
@@ -3179,7 +3292,7 @@
   }
   /*else*/ {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":79
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":79
  *                 copy_shape = 1
  *             else:
  *                 copy_shape = 0             # <<<<<<<<<<<<<<
@@ -3190,7 +3303,7 @@
   }
   __pyx_L5:;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":81
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":81
  *                 copy_shape = 0
  * 
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -3199,7 +3312,7 @@
  */
   if (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS)) {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":82
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":82
  * 
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):             # <<<<<<<<<<<<<<
@@ -3212,7 +3325,7 @@
   }
   if (__pyx_t_1) {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":83
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":83
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
  *                 raise ValueError("ndarray is not C contiguous")             # <<<<<<<<<<<<<<
@@ -3234,7 +3347,7 @@
   }
   __pyx_L6:;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":85
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":85
  *                 raise ValueError("ndarray is not C contiguous")
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -3243,7 +3356,7 @@
  */
   if (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS)) {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":86
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":86
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):             # <<<<<<<<<<<<<<
@@ -3256,7 +3369,7 @@
   }
   if (__pyx_t_1) {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":87
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":87
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
  *                 raise ValueError("ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
@@ -3278,7 +3391,7 @@
   }
   __pyx_L7:;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":89
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":89
  *                 raise ValueError("ndarray is not Fortran contiguous")
  * 
  *             info.buf = PyArray_DATA(self)             # <<<<<<<<<<<<<<
@@ -3287,7 +3400,7 @@
  */
   __pyx_v_info->buf = PyArray_DATA(((PyArrayObject *)__pyx_v_self));
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":90
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":90
  * 
  *             info.buf = PyArray_DATA(self)
  *             info.ndim = ndim             # <<<<<<<<<<<<<<
@@ -3296,7 +3409,7 @@
  */
   __pyx_v_info->ndim = __pyx_v_ndim;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":91
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":91
  *             info.buf = PyArray_DATA(self)
  *             info.ndim = ndim
  *             if copy_shape:             # <<<<<<<<<<<<<<
@@ -3306,7 +3419,7 @@
   __pyx_t_4 = __pyx_v_copy_shape;
   if (__pyx_t_4) {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":94
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":94
  *                 # Allocate new buffer for strides and shape info. This is allocated
  *                 # as one block, strides first.
  *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2)             # <<<<<<<<<<<<<<
@@ -3315,7 +3428,7 @@
  */
     __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * __pyx_v_ndim) * 2)));
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":95
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":95
  *                 # as one block, strides first.
  *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2)
  *                 info.shape = info.strides + ndim             # <<<<<<<<<<<<<<
@@ -3324,7 +3437,7 @@
  */
     __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":96
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":96
  *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2)
  *                 info.shape = info.strides + ndim
  *                 for i in range(ndim):             # <<<<<<<<<<<<<<
@@ -3334,7 +3447,7 @@
     for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_v_ndim; __pyx_t_4+=1) {
       __pyx_v_i = __pyx_t_4;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":97
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":97
  *                 info.shape = info.strides + ndim
  *                 for i in range(ndim):
  *                     info.strides[i] = PyArray_STRIDES(self)[i]             # <<<<<<<<<<<<<<
@@ -3343,7 +3456,7 @@
  */
       (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(((PyArrayObject *)__pyx_v_self))[__pyx_v_i]);
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":98
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":98
  *                 for i in range(ndim):
  *                     info.strides[i] = PyArray_STRIDES(self)[i]
  *                     info.shape[i] = PyArray_DIMS(self)[i]             # <<<<<<<<<<<<<<
@@ -3356,7 +3469,7 @@
   }
   /*else*/ {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":100
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":100
  *                     info.shape[i] = PyArray_DIMS(self)[i]
  *             else:
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)             # <<<<<<<<<<<<<<
@@ -3365,7 +3478,7 @@
  */
     __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(((PyArrayObject *)__pyx_v_self)));
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":101
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":101
  *             else:
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)             # <<<<<<<<<<<<<<
@@ -3376,7 +3489,7 @@
   }
   __pyx_L8:;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":102
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":102
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
  *             info.suboffsets = NULL             # <<<<<<<<<<<<<<
@@ -3385,7 +3498,7 @@
  */
   __pyx_v_info->suboffsets = NULL;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":103
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":103
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
  *             info.suboffsets = NULL
  *             info.itemsize = PyArray_ITEMSIZE(self)             # <<<<<<<<<<<<<<
@@ -3394,7 +3507,7 @@
  */
   __pyx_v_info->itemsize = PyArray_ITEMSIZE(((PyArrayObject *)__pyx_v_self));
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":104
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":104
  *             info.suboffsets = NULL
  *             info.itemsize = PyArray_ITEMSIZE(self)
  *             info.readonly = not PyArray_ISWRITEABLE(self)             # <<<<<<<<<<<<<<
@@ -3403,7 +3516,7 @@
  */
   __pyx_v_info->readonly = (!PyArray_ISWRITEABLE(((PyArrayObject *)__pyx_v_self)));
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":107
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":107
  * 
  *             cdef int t
  *             cdef char* f = NULL             # <<<<<<<<<<<<<<
@@ -3412,7 +3525,7 @@
  */
   __pyx_v_f = NULL;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":108
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":108
  *             cdef int t
  *             cdef char* f = NULL
  *             cdef dtype descr = self.descr             # <<<<<<<<<<<<<<
@@ -3422,7 +3535,7 @@
   __Pyx_INCREF(((PyObject *)((PyArrayObject *)__pyx_v_self)->descr));
   __pyx_v_descr = ((PyArrayObject *)__pyx_v_self)->descr;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":112
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":112
  *             cdef int offset
  * 
  *             cdef bint hasfields = PyDataType_HASFIELDS(descr)             # <<<<<<<<<<<<<<
@@ -3431,7 +3544,7 @@
  */
   __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr);
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":114
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":114
  *             cdef bint hasfields = PyDataType_HASFIELDS(descr)
  * 
  *             if not hasfields and not copy_shape:             # <<<<<<<<<<<<<<
@@ -3445,7 +3558,7 @@
   }
   if (__pyx_t_1) {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":116
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":116
  *             if not hasfields and not copy_shape:
  *                 # do not call releasebuffer
  *                 info.obj = None             # <<<<<<<<<<<<<<
@@ -3461,7 +3574,7 @@
   }
   /*else*/ {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":119
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":119
  *             else:
  *                 # need to call releasebuffer
  *                 info.obj = self             # <<<<<<<<<<<<<<
@@ -3476,7 +3589,7 @@
   }
   __pyx_L11:;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":121
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":121
  *                 info.obj = self
  * 
  *             if not hasfields:             # <<<<<<<<<<<<<<
@@ -3486,7 +3599,7 @@
   __pyx_t_1 = (!__pyx_v_hasfields);
   if (__pyx_t_1) {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":122
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":122
  * 
  *             if not hasfields:
  *                 t = descr.type_num             # <<<<<<<<<<<<<<
@@ -3495,7 +3608,7 @@
  */
     __pyx_v_t = __pyx_v_descr->type_num;
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":123
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":123
  *             if not hasfields:
  *                 t = descr.type_num
  *                 if ((descr.byteorder == '>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -3509,7 +3622,7 @@
     }
     if (!__pyx_t_1) {
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":124
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":124
  *                 t = descr.type_num
  *                 if ((descr.byteorder == '>' and little_endian) or
  *                     (descr.byteorder == '<' and not little_endian)):             # <<<<<<<<<<<<<<
@@ -3527,7 +3640,7 @@
     }
     if (__pyx_t_6) {
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":125
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":125
  *                 if ((descr.byteorder == '>' and little_endian) or
  *                     (descr.byteorder == '<' and not little_endian)):
  *                     raise ValueError("Non-native byte order not supported")             # <<<<<<<<<<<<<<
@@ -3549,7 +3662,7 @@
     }
     __pyx_L13:;
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":126
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":126
  *                     (descr.byteorder == '<' and not little_endian)):
  *                     raise ValueError("Non-native byte order not supported")
  *                 if   t == NPY_BYTE:        f = "b"             # <<<<<<<<<<<<<<
@@ -3561,7 +3674,7 @@
       __pyx_v_f = __pyx_k_6;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":127
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":127
  *                     raise ValueError("Non-native byte order not supported")
  *                 if   t == NPY_BYTE:        f = "b"
  *                 elif t == NPY_UBYTE:       f = "B"             # <<<<<<<<<<<<<<
@@ -3572,7 +3685,7 @@
       __pyx_v_f = __pyx_k_7;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":128
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":128
  *                 if   t == NPY_BYTE:        f = "b"
  *                 elif t == NPY_UBYTE:       f = "B"
  *                 elif t == NPY_SHORT:       f = "h"             # <<<<<<<<<<<<<<
@@ -3583,7 +3696,7 @@
       __pyx_v_f = __pyx_k_8;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":129
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":129
  *                 elif t == NPY_UBYTE:       f = "B"
  *                 elif t == NPY_SHORT:       f = "h"
  *                 elif t == NPY_USHORT:      f = "H"             # <<<<<<<<<<<<<<
@@ -3594,7 +3707,7 @@
       __pyx_v_f = __pyx_k_9;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":130
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":130
  *                 elif t == NPY_SHORT:       f = "h"
  *                 elif t == NPY_USHORT:      f = "H"
  *                 elif t == NPY_INT:         f = "i"             # <<<<<<<<<<<<<<
@@ -3605,7 +3718,7 @@
       __pyx_v_f = __pyx_k_10;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":131
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":131
  *                 elif t == NPY_USHORT:      f = "H"
  *                 elif t == NPY_INT:         f = "i"
  *                 elif t == NPY_UINT:        f = "I"             # <<<<<<<<<<<<<<
@@ -3616,7 +3729,7 @@
       __pyx_v_f = __pyx_k_11;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":132
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":132
  *                 elif t == NPY_INT:         f = "i"
  *                 elif t == NPY_UINT:        f = "I"
  *                 elif t == NPY_LONG:        f = "l"             # <<<<<<<<<<<<<<
@@ -3627,7 +3740,7 @@
       __pyx_v_f = __pyx_k_12;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":133
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":133
  *                 elif t == NPY_UINT:        f = "I"
  *                 elif t == NPY_LONG:        f = "l"
  *                 elif t == NPY_ULONG:       f = "L"             # <<<<<<<<<<<<<<
@@ -3638,7 +3751,7 @@
       __pyx_v_f = __pyx_k_13;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":134
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":134
  *                 elif t == NPY_LONG:        f = "l"
  *                 elif t == NPY_ULONG:       f = "L"
  *                 elif t == NPY_LONGLONG:    f = "q"             # <<<<<<<<<<<<<<
@@ -3649,7 +3762,7 @@
       __pyx_v_f = __pyx_k_14;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":135
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":135
  *                 elif t == NPY_ULONG:       f = "L"
  *                 elif t == NPY_LONGLONG:    f = "q"
  *                 elif t == NPY_ULONGLONG:   f = "Q"             # <<<<<<<<<<<<<<
@@ -3660,7 +3773,7 @@
       __pyx_v_f = __pyx_k_15;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":136
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":136
  *                 elif t == NPY_LONGLONG:    f = "q"
  *                 elif t == NPY_ULONGLONG:   f = "Q"
  *                 elif t == NPY_FLOAT:       f = "f"             # <<<<<<<<<<<<<<
@@ -3671,7 +3784,7 @@
       __pyx_v_f = __pyx_k_16;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":137
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":137
  *                 elif t == NPY_ULONGLONG:   f = "Q"
  *                 elif t == NPY_FLOAT:       f = "f"
  *                 elif t == NPY_DOUBLE:      f = "d"             # <<<<<<<<<<<<<<
@@ -3682,7 +3795,7 @@
       __pyx_v_f = __pyx_k_17;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":138
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":138
  *                 elif t == NPY_FLOAT:       f = "f"
  *                 elif t == NPY_DOUBLE:      f = "d"
  *                 elif t == NPY_LONGDOUBLE:  f = "g"             # <<<<<<<<<<<<<<
@@ -3693,7 +3806,7 @@
       __pyx_v_f = __pyx_k_18;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":139
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":139
  *                 elif t == NPY_DOUBLE:      f = "d"
  *                 elif t == NPY_LONGDOUBLE:  f = "g"
  *                 elif t == NPY_CFLOAT:      f = "Zf"             # <<<<<<<<<<<<<<
@@ -3704,7 +3817,7 @@
       __pyx_v_f = __pyx_k_19;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":140
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":140
  *                 elif t == NPY_LONGDOUBLE:  f = "g"
  *                 elif t == NPY_CFLOAT:      f = "Zf"
  *                 elif t == NPY_CDOUBLE:     f = "Zd"             # <<<<<<<<<<<<<<
@@ -3715,7 +3828,7 @@
       __pyx_v_f = __pyx_k_20;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":141
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":141
  *                 elif t == NPY_CFLOAT:      f = "Zf"
  *                 elif t == NPY_CDOUBLE:     f = "Zd"
  *                 elif t == NPY_CLONGDOUBLE: f = "Zg"             # <<<<<<<<<<<<<<
@@ -3726,7 +3839,7 @@
       __pyx_v_f = __pyx_k_21;
       break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":142
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":142
  *                 elif t == NPY_CDOUBLE:     f = "Zd"
  *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
  *                 elif t == NPY_OBJECT:      f = "O"             # <<<<<<<<<<<<<<
@@ -3738,7 +3851,7 @@
       break;
       default:
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":144
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":144
  *                 elif t == NPY_OBJECT:      f = "O"
  *                 else:
  *                     raise ValueError("unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
@@ -3764,7 +3877,7 @@
       break;
     }
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":145
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":145
  *                 else:
  *                     raise ValueError("unknown dtype code in numpy.pxd (%d)" % t)
  *                 info.format = f             # <<<<<<<<<<<<<<
@@ -3773,7 +3886,7 @@
  */
     __pyx_v_info->format = __pyx_v_f;
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":146
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":146
  *                     raise ValueError("unknown dtype code in numpy.pxd (%d)" % t)
  *                 info.format = f
  *                 return             # <<<<<<<<<<<<<<
@@ -3786,7 +3899,7 @@
   }
   /*else*/ {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":148
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":148
  *                 return
  *             else:
  *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)             # <<<<<<<<<<<<<<
@@ -3795,7 +3908,7 @@
  */
     __pyx_v_info->format = ((char *)malloc(255));
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":149
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":149
  *             else:
  *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)
  *                 info.format[0] = '^' # Native data types, manual alignment             # <<<<<<<<<<<<<<
@@ -3804,7 +3917,7 @@
  */
     (__pyx_v_info->format[0]) = '^';
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":150
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":150
  *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)
  *                 info.format[0] = '^' # Native data types, manual alignment
  *                 offset = 0             # <<<<<<<<<<<<<<
@@ -3813,7 +3926,7 @@
  */
     __pyx_v_offset = 0;
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":153
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":153
  *                 f = _util_dtypestring(descr, info.format + 1,
  *                                       info.format + _buffer_format_string_len,
  *                                       &offset)             # <<<<<<<<<<<<<<
@@ -3823,7 +3936,7 @@
     __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_v_f = __pyx_t_7;
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":154
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":154
  *                                       info.format + _buffer_format_string_len,
  *                                       &offset)
  *                 f[0] = 0 # Terminate format string             # <<<<<<<<<<<<<<
@@ -3855,7 +3968,7 @@
   return __pyx_r;
 }
 
-/* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":156
+/* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":156
  *                 f[0] = 0 # Terminate format string
  * 
  *         def __releasebuffer__(ndarray self, Py_buffer* info):             # <<<<<<<<<<<<<<
@@ -3869,7 +3982,7 @@
   int __pyx_t_2;
   __Pyx_SetupRefcountContext("__releasebuffer__");
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":157
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":157
  * 
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  *             if PyArray_HASFIELDS(self):             # <<<<<<<<<<<<<<
@@ -3879,7 +3992,7 @@
   __pyx_t_1 = PyArray_HASFIELDS(((PyArrayObject *)__pyx_v_self));
   if (__pyx_t_1) {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":158
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":158
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  *             if PyArray_HASFIELDS(self):
  *                 stdlib.free(info.format)             # <<<<<<<<<<<<<<
@@ -3891,7 +4004,7 @@
   }
   __pyx_L5:;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":159
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":159
  *             if PyArray_HASFIELDS(self):
  *                 stdlib.free(info.format)
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -3901,7 +4014,7 @@
   __pyx_t_2 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t)));
   if (__pyx_t_2) {
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":160
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":160
  *                 stdlib.free(info.format)
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
  *                 stdlib.free(info.strides)             # <<<<<<<<<<<<<<
@@ -3916,7 +4029,7 @@
   __Pyx_FinishRefcountContext();
 }
 
-/* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":277
+/* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":277
  * ctypedef npy_cdouble     complex_t
  * 
  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:             # <<<<<<<<<<<<<<
@@ -3948,7 +4061,7 @@
   __pyx_v_new_offset = Py_None; __Pyx_INCREF(Py_None);
   __pyx_v_t = Py_None; __Pyx_INCREF(Py_None);
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":284
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":284
  *     cdef int delta_offset
  *     cdef tuple i
  *     cdef int endian_detector = 1             # <<<<<<<<<<<<<<
@@ -3957,7 +4070,7 @@
  */
   __pyx_v_endian_detector = 1;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":285
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":285
  *     cdef tuple i
  *     cdef int endian_detector = 1
  *     cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
@@ -3966,7 +4079,7 @@
  */
   __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":287
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":287
  *     cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
  * 
  *     for i in descr.fields.itervalues():             # <<<<<<<<<<<<<<
@@ -4005,7 +4118,7 @@
     __pyx_v_i = ((PyObject *)__pyx_t_3);
     __pyx_t_3 = 0;
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":288
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":288
  * 
  *     for i in descr.fields.itervalues():
  *         child = i[0]             # <<<<<<<<<<<<<<
@@ -4019,7 +4132,7 @@
     __pyx_v_child = ((PyArray_Descr *)__pyx_1);
     __pyx_1 = 0;
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":289
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":289
  *     for i in descr.fields.itervalues():
  *         child = i[0]
  *         new_offset = i[1]             # <<<<<<<<<<<<<<
@@ -4032,7 +4145,7 @@
     __pyx_v_new_offset = __pyx_1;
     __pyx_1 = 0;
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":291
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":291
  *         new_offset = i[1]
  * 
  *         if (end - f) - (new_offset - offset[0]) < 15:             # <<<<<<<<<<<<<<
@@ -4057,7 +4170,7 @@
     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
     if (__pyx_t_6) {
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":292
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":292
  * 
  *         if (end - f) - (new_offset - offset[0]) < 15:
  *             raise RuntimeError("Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
@@ -4079,7 +4192,7 @@
     }
     __pyx_L5:;
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":294
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":294
  *             raise RuntimeError("Format string allocated too short, see comment in numpy.pxd")
  * 
  *         if ((child.byteorder == '>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -4093,7 +4206,7 @@
     }
     if (!__pyx_t_6) {
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":295
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":295
  * 
  *         if ((child.byteorder == '>' and little_endian) or
  *             (child.byteorder == '<' and not little_endian)):             # <<<<<<<<<<<<<<
@@ -4111,7 +4224,7 @@
     }
     if (__pyx_t_8) {
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":296
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":296
  *         if ((child.byteorder == '>' and little_endian) or
  *             (child.byteorder == '<' and not little_endian)):
  *             raise ValueError("Non-native byte order not supported")             # <<<<<<<<<<<<<<
@@ -4133,7 +4246,7 @@
     }
     __pyx_L6:;
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":306
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":306
  * 
  *         # Output padding bytes
  *         while offset[0] < new_offset:             # <<<<<<<<<<<<<<
@@ -4150,7 +4263,7 @@
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
       if (!__pyx_t_8) break;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":307
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":307
  *         # Output padding bytes
  *         while offset[0] < new_offset:
  *             f[0] = 120 # "x"; pad byte             # <<<<<<<<<<<<<<
@@ -4159,7 +4272,7 @@
  */
       (__pyx_v_f[0]) = 120;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":308
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":308
  *         while offset[0] < new_offset:
  *             f[0] = 120 # "x"; pad byte
  *             f += 1             # <<<<<<<<<<<<<<
@@ -4168,7 +4281,7 @@
  */
       __pyx_v_f += 1;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":309
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":309
  *             f[0] = 120 # "x"; pad byte
  *             f += 1
  *             offset[0] += 1             # <<<<<<<<<<<<<<
@@ -4178,7 +4291,7 @@
       (__pyx_v_offset[0]) += 1;
     }
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":311
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":311
  *             offset[0] += 1
  * 
  *         offset[0] += child.itemsize             # <<<<<<<<<<<<<<
@@ -4187,7 +4300,7 @@
  */
     (__pyx_v_offset[0]) += __pyx_v_child->elsize;
 
-    /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":313
+    /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":313
  *         offset[0] += child.itemsize
  * 
  *         if not PyDataType_HASFIELDS(child):             # <<<<<<<<<<<<<<
@@ -4197,7 +4310,7 @@
     __pyx_t_8 = (!PyDataType_HASFIELDS(__pyx_v_child));
     if (__pyx_t_8) {
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":314
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":314
  * 
  *         if not PyDataType_HASFIELDS(child):
  *             t = child.type_num             # <<<<<<<<<<<<<<
@@ -4210,7 +4323,7 @@
       __pyx_v_t = __pyx_t_4;
       __pyx_t_4 = 0;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":315
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":315
  *         if not PyDataType_HASFIELDS(child):
  *             t = child.type_num
  *             if end - f < 5:             # <<<<<<<<<<<<<<
@@ -4220,7 +4333,7 @@
       __pyx_t_8 = ((__pyx_v_end - __pyx_v_f) < 5);
       if (__pyx_t_8) {
 
-        /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":316
+        /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":316
  *             t = child.type_num
  *             if end - f < 5:
  *                 raise RuntimeError("Format string allocated too short.")             # <<<<<<<<<<<<<<
@@ -4242,7 +4355,7 @@
       }
       __pyx_L10:;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":319
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":319
  * 
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"             # <<<<<<<<<<<<<<
@@ -4261,7 +4374,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":320
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":320
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"             # <<<<<<<<<<<<<<
@@ -4280,7 +4393,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":321
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":321
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"             # <<<<<<<<<<<<<<
@@ -4299,7 +4412,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":322
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":322
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"             # <<<<<<<<<<<<<<
@@ -4318,7 +4431,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":323
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":323
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"
  *             elif t == NPY_INT:         f[0] = 105 #"i"             # <<<<<<<<<<<<<<
@@ -4337,7 +4450,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":324
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":324
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"
  *             elif t == NPY_INT:         f[0] = 105 #"i"
  *             elif t == NPY_UINT:        f[0] =  73 #"I"             # <<<<<<<<<<<<<<
@@ -4356,7 +4469,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":325
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":325
  *             elif t == NPY_INT:         f[0] = 105 #"i"
  *             elif t == NPY_UINT:        f[0] =  73 #"I"
  *             elif t == NPY_LONG:        f[0] = 108 #"l"             # <<<<<<<<<<<<<<
@@ -4375,7 +4488,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":326
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":326
  *             elif t == NPY_UINT:        f[0] =  73 #"I"
  *             elif t == NPY_LONG:        f[0] = 108 #"l"
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"             # <<<<<<<<<<<<<<
@@ -4394,7 +4507,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":327
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":327
  *             elif t == NPY_LONG:        f[0] = 108 #"l"
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"             # <<<<<<<<<<<<<<
@@ -4413,7 +4526,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":328
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":328
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"             # <<<<<<<<<<<<<<
@@ -4432,7 +4545,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":329
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":329
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"             # <<<<<<<<<<<<<<
@@ -4451,7 +4564,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":330
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":330
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"             # <<<<<<<<<<<<<<
@@ -4470,7 +4583,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":331
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":331
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"             # <<<<<<<<<<<<<<
@@ -4489,7 +4602,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":332
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":332
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf             # <<<<<<<<<<<<<<
@@ -4510,7 +4623,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":333
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":333
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd             # <<<<<<<<<<<<<<
@@ -4531,7 +4644,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":334
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":334
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
  *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg             # <<<<<<<<<<<<<<
@@ -4552,7 +4665,7 @@
         goto __pyx_L11;
       }
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":335
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":335
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
  *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
  *             elif t == NPY_OBJECT:      f[0] = 79 #"O"             # <<<<<<<<<<<<<<
@@ -4572,7 +4685,7 @@
       }
       /*else*/ {
 
-        /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":337
+        /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":337
  *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
  *             else:
  *                 raise ValueError("unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
@@ -4595,7 +4708,7 @@
       }
       __pyx_L11:;
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":338
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":338
  *             else:
  *                 raise ValueError("unknown dtype code in numpy.pxd (%d)" % t)
  *             f += 1             # <<<<<<<<<<<<<<
@@ -4607,7 +4720,7 @@
     }
     /*else*/ {
 
-      /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":342
+      /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":342
  *             # Cython ignores struct boundary information ("T{...}"),
  *             # so don't output it
  *             f = _util_dtypestring(child, f, end, offset)             # <<<<<<<<<<<<<<
@@ -4621,7 +4734,7 @@
   }
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/numpy.pxd":343
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/numpy.pxd":343
  *             # so don't output it
  *             f = _util_dtypestring(child, f, end, offset)
  *     return f             # <<<<<<<<<<<<<<
@@ -4689,6 +4802,7 @@
   {&__pyx_kp_dx, __pyx_k_dx, sizeof(__pyx_k_dx), 1, 1, 1},
   {&__pyx_kp_grid_mask, __pyx_k_grid_mask, sizeof(__pyx_k_grid_mask), 1, 1, 1},
   {&__pyx_kp_grid_t, __pyx_k_grid_t, sizeof(__pyx_k_grid_t), 1, 1, 1},
+  {&__pyx_kp_grid_dt, __pyx_k_grid_dt, sizeof(__pyx_k_grid_dt), 1, 1, 1},
   {&__pyx_kp_left_edge, __pyx_k_left_edge, sizeof(__pyx_k_left_edge), 1, 1, 1},
   {&__pyx_kp_right_edge, __pyx_k_right_edge, sizeof(__pyx_k_right_edge), 1, 1, 1},
   {&__pyx_kp_u, __pyx_k_u, sizeof(__pyx_k_u), 1, 1, 1},
@@ -4796,7 +4910,7 @@
   /*--- Function import code ---*/
   /*--- Execution code ---*/
 
-  /* "yt/lagos/RTIntegrator.pyx":26
+  /* "/Users/jwise/codes/yt/yt/lagos/RTIntegrator.pyx":26
  * """
  * 
  * import numpy as np             # <<<<<<<<<<<<<<
@@ -4808,7 +4922,7 @@
   if (PyObject_SetAttr(__pyx_m, __pyx_kp_np, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
-  /* "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/Cython-0.11.2-py2.5-macosx-10.3-i386.egg/Cython/Includes/stdlib.pxd":2
+  /* "/usr/local/python/lib/python2.6/site-packages/Cython/Includes/stdlib.pxd":2
  * 
  * cdef extern from "stdlib.h" nogil:             # <<<<<<<<<<<<<<
  *     void free(void *ptr)



More information about the yt-svn mailing list