def process(fname): """Process verif output file. fname: name of file return: tuple of (exp_name, solver, dx, dt, dome_e, max_e, min_e, mean_e, sd_e)""" # extract errors ncf = Scientific.IO.NetCDF.NetCDFFile(fname) diff = ncf.variables['thke'][-1, :, :] - ncf.variables['thk'][-1, :, :] centre = (numpy.shape(diff)[0] - 1) / 2 dome_e = diff[centre, centre] diff = numpy.ravel(diff) max_e = max(diff) min_e = min(diff) if (abs(max_e - min_e) < 1e-10): max_e = max_e + 5e-10 min_e = min_e - 5e-10 hist = histogram.histogram(100) hist.set_ranges_uniform(math.floor(min_e), math.ceil(max_e)) for e in diff.tolist(): hist.increment(e) mean_e = hist.mean() sd_e = hist.sigma() config = ncf.title.split(',') exp_name = config[0][-1] solver = config[1].strip() dx = float(config[2].strip()[:-2]) dt = float(config[3].strip()[:-1]) ncf.close() return (exp_name, solver, dx, dt, dome_e, max_e, min_e, mean_e, sd_e)
def process(fname): """Process verif output file. fname: name of file return: tuple of (exp_name, solver, dx, dt, dome_e, max_e, min_e, mean_e, sd_e)""" # extract errors ncf = Scientific.IO.NetCDF.NetCDFFile(fname) diff = ncf.variables["thke"][-1, :, :] - ncf.variables["thk"][-1, :, :] centre = (Numeric.shape(diff)[0] - 1) / 2 dome_e = diff[centre, centre] diff = Numeric.ravel(diff) max_e = max(diff) min_e = min(diff) hist = histogram.histogram(100) hist.set_ranges_uniform(round_down(min_e), round_up(max_e)) for e in diff.tolist(): hist.increment(e) mean_e = hist.mean() sd_e = hist.sigma() config = ncf.title.split(",") exp_name = config[0][-1] solver = config[1].strip() dx = float(config[2].strip()[:-2]) dt = float(config[3].strip()[:-1]) ncf.close() return (exp_name, solver, dx, dt, dome_e, max_e, min_e, mean_e, sd_e)
def process(fname): """Process verif output file. fname: name of file return: tuple of (exp_name, solver, dx, dt, dome_e, max_e, min_e, mean_e, sd_e)""" # extract errors ncf = Scientific.IO.NetCDF.NetCDFFile(fname) diff = ncf.variables['thke'][-1,:,:] - ncf.variables['thk'][-1,:,:] centre = (Numeric.shape(diff)[0]-1)/2 dome_e = diff[centre,centre] diff = Numeric.ravel(diff) max_e = max(abs(diff)) min_e = min(abs(diff)) hist = histogram.histogram(100) hist.set_ranges_uniform(PyGMT.round_down(min_e),PyGMT.round_up(max_e)) for e in diff.tolist(): hist.increment(e) mean_e = hist.mean() sd_e = hist.sigma() (exp_name,solver,dx,dt) = parse_title(ncf.title) ncf.close() return (exp_name, solver, dx, dt, dome_e, max_e, min_e, mean_e, sd_e)
def process(fname): """Process verif output file. fname: name of file return: tuple of (exp_name, solver, dx, dt, dome_e, max_e, min_e, mean_e, sd_e)""" # extract errors ncf = Scientific.IO.NetCDF.NetCDFFile(fname) diff = ncf.variables['thke'][-1,:,:] - ncf.variables['thk'][-1,:,:] centre = (numpy.shape(diff)[0]-1)/2 dome_e = diff[centre,centre] diff = numpy.ravel(diff) max_e = max(diff) min_e = min(diff) if (abs(max_e-min_e) < 1e-10): max_e=max_e+5e-10 min_e=min_e-5e-10 hist = histogram.histogram(100) hist.set_ranges_uniform(math.floor(min_e),math.ceil(max_e)) for e in diff.tolist(): hist.increment(e) mean_e = hist.mean() sd_e = hist.sigma() config = ncf.title.split(',') exp_name = config[0][-1] solver = config[1].strip() dx = float(config[2].strip()[:-2]) dt = float(config[3].strip()[:-1]) ncf.close() return (exp_name, solver, dx, dt, dome_e, max_e, min_e, mean_e, sd_e)
from pygsl import histogram, rng import pygsl import sys from time import clock from matplotlib import pylab pygsl.set_debug_level(0) n = 2000 m = 5000 h =histogram.histogram(n) h.set_ranges_uniform(-8,8.) r = rng.rng() t0 = clock() h.increment(r.gaussian(1,n*m)) t1 = clock() print "Needed %d seconds" % (t1 - t0) x, d = h.plot_data() x = (x[:,0]+x[:,1])/2 pylab.plot(x,d) pylab.show()
from pygsl import histogram, rng import pygsl import sys from time import clock from matplotlib import pylab pygsl.set_debug_level(0) n = 2000 m = 5000 h = histogram.histogram(n) h.set_ranges_uniform(-8, 8.) r = rng.rng() t0 = clock() h.increment(r.gaussian(1, n * m)) t1 = clock() print "Needed %d seconds" % (t1 - t0) x, d = h.plot_data() x = (x[:, 0] + x[:, 1]) / 2 pylab.plot(x, d) pylab.show()