Source code for omfit_classes.omfit_gks

try:
    # framework is running
    from .startup_choice import *
except ImportError as _excp:
    # class is imported by itself
    if (
        'attempted relative import with no known parent package' in str(_excp)
        or 'No module named \'omfit_classes\'' in str(_excp)
        or "No module named '__main__.startup_choice'" in str(_excp)
    ):
        from startup_choice import *
    else:
        raise

from omfit_classes.omfit_nc import OMFITnc

__all__ = ['OMFITgksout']


[docs]class OMFITgksout(OMFITnc): def __init__(self, filename, **kw): OMFITnc.__init__(self, filename, **kw)
[docs] def plot(self, asd=None): from matplotlib import pyplot import numpy as np from omfit_classes.utils_plot import pcolor2 pyplot.subplots_adjust(hspace=0.3) zdata = self['gamma_electron']['data'] ydata = self['kys_k']['data'] xdata = self['rho_k']['data'] print(zdata.shape, ydata.shape, xdata.shape) if len(ydata.shape) == 2: def log10_label(x, pos=''): """ Used for making $10^$ labels after having taken log10 of a quantity """ return '$10^{%g}$' % x formatter = pyplot.FuncFormatter(log10_label) pyplot.gcf() ax = pyplot.subplot(121) ax.yaxis.set_major_formatter(formatter) if len(xdata.shape) == 2: xdata = xdata[:, 0] r = xdata.flatten() xdata = np.array([r] * len(ydata[0, :])).T ydata = np.log10(ydata) obj = pcolor2(xdata, ydata, zdata) pyplot.title('$\\gamma_e$') pyplot.colorbar(obj, orientation='vertical') pyplot.ylabel('$k_{\\theta} \\, \\rho_s$') pyplot.xlabel('$\\rho_N$') pyplot.gcf() ax = pyplot.subplot(122, sharex=ax, sharey=ax) ax.yaxis.set_major_formatter(formatter) zdata = self['gamma_ion']['data'] obj = pcolor2(xdata, ydata, zdata) pyplot.title('$\\gamma_i$') pyplot.colorbar(obj, orientation='vertical') pyplot.ylabel('$k_{\\theta} \\, \\rho_s$') pyplot.xlabel('$\\rho_N$') # pyplot.gcf() # pyplot.subplot(223) # pyplot.plot(r,self['fprim1']['data'],label='ion') # pyplot.plot(r,self['fprim2']['data'],label='impurity') # pyplot.plot(r,self['fprim3']['data'],label='electron') # pyplot.legend().draggable(state=True) # pyplot.title('$\\nabla n$') # pyplot.xlabel('$\\rho_N$') # pyplot.gcf() # pyplot.subplot(224) # pyplot.plot(r,self['tprim1']['data']*self['tprim3']['data'],label='ion') # pyplot.plot(r,self['tprim2']['data']*self['tprim3']['data'],label='impurity') # pyplot.plot(r,self['tprim3']['data'],label='electron') # pyplot.title('$\\nabla T$') # pyplot.xlabel('$\\rho_N$') pyplot.suptitle( 'Shot %s @ %s sec. - Growth Rates' % (''.join(np.atleast_1d(self['shot']['data'])).strip(), np.mean(self['xp_time']['data'])) ) elif len(ydata) > 1: pyplot.gcf() ax = pyplot.subplot(111) zdata[np.where(zdata == 0)] = np.nan if len(np.where(zdata > 0)[0]): pyplot.loglog(ydata, zdata, label='$Log_{10} \\gamma_e$') else: pyplot.plot(ydata, zdata, label='$Log_{10} \\gamma_e$') pyplot.xlabel('$Log_{10} {\\gamma}$') pyplot.xlabel('$k_{\\theta} \\, \\rho_s$') zdata = self['gamma_ion']['data'] if len(np.where(zdata > 0)[0]): pyplot.loglog(ydata, zdata, label='$Log_{10} \\gamma_i$') else: pyplot.plot(ydata, zdata, label='$Log_{10} \\gamma_i$') pyplot.legend().draggable(state=True) pyplot.title( 'Shot %s @ %s sec. - Growth Rates at $\\rho=%2.2f$' % (''.join(np.atleast_1d(self['shot']['data'])).strip(), self['xp_time']['data'], self['rho_k']['data']) ) pyplot.draw()