     p(p),
     evec(3),
     //probe
-//     probevec(2),
-//     Xprobe(1,p.lx*p.posX), //use blob position
-//     Yprobe(1,p.ly*p.posY),//use blob position
-//     probeinterp(dg::create::interpolation( Xprobe,  Yprobe,g, dg::NEU)),
+    probe_coord_X(dg::create::linspace(0.0, p.lx, p.lx * 1. / 8.)),
+    probe_coord_Y(8, 0.5 * p.ly),
+    probeinterp(dg::create::interpolation(probe_coord_X, probe_coord_Y, g, dg::NEU)),
 //     probevalue(1,0.0),
     //damping and sources
     lh( dg::evaluate(dg::TanhProfX(p.lx*p.solb,p.solw,-1.0,0.0,1.0),g)),

    double mass_, energy_, diff_, ediff_,gammanex_,coupling_;
    std::vector<double> evec;
    //probe
//     std::vector<container> probevec;
//     const container Xprobe,Yprobe;
//     Matrix probeinterp;
//     container probevalue;    
//     dg::Grid1d<double> gy;
//     const container w1d;

    invert_invgammaN(invgammaNU,target,src); //=ne-1 = Gamma (ni-1)    
}

/*
 * Interpolate physical values at the probe positions. Update probe
 * vectors.
 *
 */
template<class Matrix, class container, class P>
void Feltor<Matrix, container, P> :: update_probes()
{
    static container probe_values(8); 
    // Electron density
    dg::blas2::gemv(probeinterp, npe[0], probe_values);
    probevec[0] = probe_values;

    // Electric potential
    dg::blas2::gemv(probeinterp, phi[0], probe_values);
    probevec[1] = probe_values;

    // Radial particle transport
    dg::blas2::gemv(poisson.dyrhs(), phi[0], omega);
    dg::blas1::pointwiseDot(omega, binv, omega); // 1/B dy phi
    dg::blas1::pointwiseDot(npe[0], omega, omega); // 1/B N dy phi
    dg::blas2::gemv(probeinterp, omega, probe_values);
    probevec[2] = probe_values;

}


template<class Matrix, class container, class P>
