     ifaces_x = mx + 1;
     ifaces_y = my + 1;
     num_ifaces = ifaces_x*ifaces_y;
- 
+
     for(int thread_index = threadIdx.x; thread_index < num_ifaces; thread_index += blockDim.x)
     { 
         int ix = thread_index % ifaces_x;

                    dotr += wave[mq]*waves[I_waves+1];
                }
                I_speeds = I + mw*zs;
                r = (speeds[I_speeds] > 0) ? dotl/wnorm2 : dotr/wnorm2;

                wlimitr = limiter(r);  /* allow for selection */

                for(mq = 0; mq < meqn; mq++)
                {
                    I_waves = I + (mw*meqn + mq)*zs;
                    waves[I_waves] = wlimitr*wave[mq];                    
                }

                /* y-faces */
                wnorm2 = 0;

        I = (ix + mbc)*xs + (iy + mbc)*ys;

        double wnorm2,dotr,dotl, wlimitr,r;
        //double cqxx[MEQN];
        if (ix < mx + 1 && iy < my + 1)
        {
#if 0            
            for(mq=0; mq < meqn; mq++)
            {
                I_q = I + mq;
                amdq[mq] = fm[I_q];
                apdq[mq] = fp[I_q];
            }
#endif            
            double cqxx = 0;
            for(mw = 0; mw < mwaves; mw++)
            {
                /* x-faces */
