             "Flux surface average of true Kappa curvature Dot Grad Psip");
         map1d.emplace_back( "X_gradPsip_fsa", X_gradPsip_fsa,
             "Flux surface average of |Grad Psip|");
+        // h02 factor
+        dg::HVec h02 = dg::pullback( Hoo(mag), gX2d), X_h02_fsa;
+        dg::blas1::pointwiseDot( volX2d, h02, h02);
+        avg_eta( h02, X_h02_fsa, false);
+        dg::blas1::scal( X_h02_fsa, 4*M_PI*M_PI); //
+        dg::blas1::pointwiseDivide( X_h02_fsa, dvdzeta, X_h02_fsa );
+        map1d.emplace_back( "X_hoo_fsa", X_h02_fsa,
+            "Flux surface average of novel h02 factor");
+        //divb
+        h02 = dg::pullback( dg::geo::Divb(mag), gX2d);
+        dg::blas1::pointwiseDot( volX2d, h02, h02);
+        avg_eta( h02, X_h02_fsa, false);
+        dg::blas1::scal( X_h02_fsa, 4*M_PI*M_PI); //
+        dg::blas1::pointwiseDivide( X_h02_fsa, dvdzeta, X_h02_fsa );
+        map1d.emplace_back( "X_divb_fsa", X_h02_fsa,
+            "Flux surface average of divb");
     }
 
     ///////////////////Compute flux average////////////////////

        // h02 factor
        dg::HVec h02 = dg::evaluate( Hoo(mag), grid2d);
        fsa.set_container( h02);
        map1d.emplace_back( "hoo", dg::evaluate( fsa, grid1d),
            "Flux surface average of novel h02 factor");


        dg::geo::FluxVolumeIntegral<dg::HVec> fvi( (dg::CartesianGrid2d)grid2d, mag);

        double fx_0 = 1./8.;
        psipmax = -fx_0/(1.-fx_0)*psipmin;
        std::cout << "psi 1 is          "<<psipmax<<"\n";
        dg::geo::CurvilinearGridX2d gX2d( generator, fx_0, 0., npsi, Npsi, 640, dg::DIR, dg::NEU);
        std::cout << "DONE! Generate X-point flux-aligned grid!\n";
        dg::Average<dg::HVec > avg_eta( gX2d.grid(), dg::coo2d::y);
        std::vector<dg::HVec> coordsX = gX2d.map();
