def compareGrid(specFlag, globals):

    Te_MIN = globals.TE_MIN
    Te_MAX = globals.TE_MAX
    ne_MAX = globals.NE_MAX
    ne_MIN = globals.NE_MIN

    
    data = Data()
    data.loadData(1110328120)
    ps = data.getPolySegData(3,0)
    fitPolySeg(ps)
    print "Init density: ", ps.ne0, " Init temp: ", ps.Te0

    maxProb = 0
    ps.ne0 = -1
    ps.Te0 = -1
    gridPts = 10.0
    gridsearch = zeros((gridPts,gridPts))
    i = 0
    for Te in logspace(log10(Te_MIN), log10(Te_MAX), gridPts):
	    j = 0
	    for ne in logspace(log10(ne_MIN), log10(ne_MAX), gridPts):
		    Nphotons = specPhotons(ne, Te, ps, specFlag)
		    prob = - calcModelProbability(ps, globals, Nphotons)
		    gridsearch[i,j] = prob
		    if prob > maxProb:
		        maxProb = prob
		       	ps.ne0 = ne
		       	ps.Te0 = Te
			j += 1
	    i += 1
    return gridsearch, maxProb, ps
Beispiel #2
0
def compareGrid(specFlag):
	
    from ..globals import global_settings
    #call global variables
    Te_MIN;
    Te_MAX;
    NE_STEPS;
    TE_STEPS;

    # Saturation levels
    ACQIRIS_MIN; 
    ACQIRIS_MAX;
    STRUCK_MIN;
    STRUCK_MAX;

    # Laser wavelength
    LASER_LAM;

    # Logbook quality
    LOGBOOK_TRUE;
    LOGBOOK_UNSURE;
    globals = init_globals()
    Te_MIN = globals[0];Te_MAX = globals[1];
    NE_STEPS = globals[2]; TE_STEPS = globals[3];
    ACQUIRIS_MIN = globals[4]; ACQUIRIS_MAX = globals[5];
    STRUCK_MIN = globals[6]; STRUCK_MAX = globals[7];
    LASER_LAM = globals[8];
    LOGBOOK_TRUE = globals[9]; LOGBOOK_UNSURE = globals[10]
    
	
    #global_settings.init_globals()
    
    data = Data()
    data.loadData(1110328120)
    ps = data.getPolySegData(3,0)
    fitPolySeg(ps)
    print "Init density: ", ps.ne0, " Init temp: ", ps.Te0

    maxProb = 0
    ps.ne0 = -1
    ps.Te0 = -1
    gridPts = 10.0
    gridsearch = zeros((gridPts,gridPts))
    i = 0
    for Te in logspace(log10(Te_MIN), log10(Te_MAX), gridPts):
	    j = 0
	    for ne in logspace(log10(ne_MIN), log10(ne_MAX), gridPts):
		    Nphotons = specPhotons(ne, Te, ps, specFlag)
		    prob = - calcModelProbability(ps, Nphotons)
		    gridsearch[i,j] = prob
		    if prob > maxProb:
		        maxProb = prob
		       	ps.ne0 = ne
		       	ps.Te0 = Te
			j += 1
	    i += 1
    return gridsearch, maxProb, ps
Beispiel #3
0
def test_compile():
	# a function to call each spectral calculation one time to make sure they have all
	# been compiled properly before using them on a fit (JDL has indicated that trying
	# to run an inline function for the first time with multiple processors going plays
	# havoc with the compiler)

	data = Data()
	data.loadData(1110328120)
	ps = data.getPolySegData(3,0)

	calcAmpOffset(ps)
	calcVoltageFromRawData(ps)
	calc_t0(ps)
	calcTransMask(ps)
	calcNumPhotons(ps)
        filterChans(ps)
	calcScatteringAngle(ps)
	calcLambdaArray(ps)

	ne = 45000.0 
	Te = 300.0

	dist = cold2o_Spec(ps, Te)
	NP_cold2o = ne * ps.calib.deltaLam * dot(ps.trans_Bayes, dist)

	dist = selden_Spec(ps, Te)
	NP_selden = ne * ps.calib.deltaLam * dot(ps.trans_Bayes, dist)

	dist = selden_old(ps, Te)
	NP_selden_old = (ne/1500000) * ps.calib.deltaLam * dot(ps.trans_Bayes, dist)

	prob_cold2o = calcModelProbability(ps, NP_cold2o)
	prob_selden = calcModelProbability(ps, NP_selden)
	prob_selden_old = calcModelProbability(ps, NP_selden_old)

	return prob_cold2o, prob_selden, prob_selden_old