Пример #1
0
    def __init__(self, all_modes):

        self.mode_db = all_modes
        self.db = all_modes
        #self.ave_db = all_ave

        alldb = self.db
        #self.modekeys = data[0]['fields']['Ni']['modes'][0].keys()
        #print len(alldb)

        self.meta = np.array(ListDictKey(self.db, 'meta'))[0]

        self.keys = (self.mode_db)[0].keys()
        #self.avekeys = data[0]['fields']['Ni']['ave'].keys()

        #self.nrun = len(alldb) #number of runs

        self.path = np.array(ListDictKey(self.db, 'path'))
        self.cxx = []
        self.maxN = []

        self.ave = np.array(ListDictKey(alldb, 'ave'))

        #[self.cxx.append(read_cxx(path=elem,boutcxx='2fluid.cxx.ref')) for elem in self.path]
        #[self.maxN.append(findlowpass(elem)) for elem in self.cxx]
        [
            self.cxx.append(read_cxx(path=elem,
                                     boutcxx='physics_code.cxx.ref'))
            for elem in self.path
        ]

        self.maxZ = np.array(ListDictKey(alldb, 'maxZ'))
        self.maxN = self.maxZ
        #self.maxN = findlowpass(self.cxx) #low pass filt from .cxx

        self.nx = np.array(ListDictKey(alldb, 'nx'))[0]
        self.ny = np.array(ListDictKey(alldb, 'ny'))[0]
        self.nz = np.array(ListDictKey(alldb, 'nz'))[0]

        #self.nt = int(data[0]['meta']['NOUT']['v']+1)
        self.Rxy = np.array(ListDictKey(alldb, 'Rxy'))
        self.Rxynorm = np.array(ListDictKey(alldb, 'Rxynorm'))
        self.nt = np.array(ListDictKey(alldb, 'nt'))

        self.dt = np.array(ListDictKey(alldb, 'dt'))
        self.nfields = np.array(ListDictKey(alldb, 'nfields'))

        self.field = np.array(ListDictKey(alldb, 'field'))

        self.k = np.array(ListDictKey(alldb, 'k'))
        self.k_r = np.array(ListDictKey(alldb, 'k_r'))

        self.mn = np.array(ListDictKey(alldb, 'mn'))

        #return ListDictKey(alldb,'phase')

        #self.phase = np.array(ListDictKey(alldb,'phase'))
        self.phase = ListDictKey(alldb, 'phase')

        # self.amp= np.array(ListDictKey(alldb,'amp'))
        # self.amp_n=np.array(ListDictKey(alldb,'amp_n'))
        # self.dc= []
        # self.freq = np.array(ListDictKey(alldb,'k'))
        # self.gamma = np.array(ListDictKey(alldb,'gamma'))

        self.amp = ListDictKey(alldb, 'amp')
        self.amp_n = ListDictKey(alldb, 'amp_n')
        self.dc = []
        #self.freq = np.array(ListDictKey(alldb,'k'))
        self.gamma = np.array(ListDictKey(alldb, 'gamma'))
        self.gamma_i = np.array(ListDictKey(alldb, 'gamma_i'))

        self.freq = np.array(ListDictKey(alldb, 'freq'))

        self.IC = np.array(ListDictKey(alldb, 'IC'))
        self.dz = np.array(ListDictKey(alldb, 'dz'))
        self.meta['dz'] = np.array(list(set(self.dz).union()))

        self.nmodes = self.dz.size

        self.MN = np.array(ListDictKey(alldb, 'MN'))
        #self.MN = np.float32(self.mn)
        #self.MN[:,1] = self.mn[:,1]/self.dz
        self.nrun = len(set(self.path).union())
        self.L = np.array(ListDictKey(alldb, 'L'))
        #self.C_s =
        self.modeid = np.array(ListDictKey(alldb, 'modeid'))

        self.trans = np.array(ListDictKey(alldb, 'transform'))

        if np.any(self.trans):
            self.phase_r = ListDictKey(alldb, 'phase_r')
            self.gamma_r = np.array(ListDictKey(alldb, 'gamma_r'))
            self.amp_r = ListDictKey(alldb, 'amp_r')
            self.freq_r = np.array(ListDictKey(alldb, 'freq_r'))

    # try:
    #     self.model(haswak=False) #
    # except:
    #     self.M = 0

    #try:
        try:  #analytic model based on simple matrix
            self.models = []
            #self.models.append(_model(self)) #create a list to contain models
            self.models.append(_model(self, haswak=True,
                                      name='haswak'))  #another model
        #self.models.append(_model(self,haswak=True,name='haswak_0',m=0))
        # for Ln in range(10):
        #     Lval = 10**((.2*Ln -1)/10)
        #     #Lval = 10**(Ln-1)
        #     #Lval =
        #     print Lval
        #     self.models.append(_model(self,varL=True,name='varL'+str(Lval),Lval=Lval,haswak=True))

        except:
            self.M = 0

        try:  #analytic models based on user defined complex omega
            self.ref = []
            self.ref.append(_ref(self))
        #self.ref.append(_ref(self,haswak=False,name='drift'))
#demand a complex omega to compare
#self.ref.append(_ref(self,haswas=True,name='haswak'))
        except:
            self.ref = 0
Пример #2
0
   def __init__(self,alldb):
      #self.raw = data
      self.db = alldb

      #self.modekeys = data[0]['fields']['Ni']['modes'][0].keys()
      print len(alldb)
      
      self.meta = np.array(ListDictKey(alldb,'meta'))[0]
      
      self.keys = alldb[0].keys()
      #self.avekeys = data[0]['fields']['Ni']['ave'].keys()
      
      #self.nrun = len(alldb) #number of runs
      
      self.path= np.array(ListDictKey(alldb,'path'))
      self.cxx =[]
      self.maxN =[]

      [self.cxx.append(read_cxx(path=elem,boutcxx='2fluid.cxx.ref')) for elem in self.path]
      [self.maxN.append(findlowpass(elem)) for elem in self.cxx]
      

      #self.maxN = findlowpass(self.cxx) #low pass filt from .cxx

      self.nx = np.array(ListDictKey(alldb,'nx'))[0]
      self.ny = np.array(ListDictKey(alldb,'ny'))[0]
      self.nz = np.array(ListDictKey(alldb,'nz'))[0]

      #self.nt = int(data[0]['meta']['NOUT']['v']+1)
      self.Rxy = np.array(ListDictKey(alldb,'Rxy'))
      self.Rxynorm = np.array(ListDictKey(alldb,'Rxynorm'))
      self.nt = np.array(ListDictKey(alldb,'nt'))

     
      self.dt = np.array(ListDictKey(alldb,'dt')) 
      self.nfields = np.array(ListDictKey(alldb,'nfields')) 

      self.field = np.array(ListDictKey(alldb,'field'))
      
      self.k = np.array(ListDictKey(alldb,'k'))
      self.k_r = np.array(ListDictKey(alldb,'k_r'))

      self.mn = np.array(ListDictKey(alldb,'mn'))

      #return ListDictKey(alldb,'phase')

      #self.phase = np.array(ListDictKey(alldb,'phase'))
      self.phase = ListDictKey(alldb,'phase')

      # self.amp= np.array(ListDictKey(alldb,'amp'))
      # self.amp_n=np.array(ListDictKey(alldb,'amp_n'))
      # self.dc= []
      # self.freq = np.array(ListDictKey(alldb,'k'))
      # self.gamma = np.array(ListDictKey(alldb,'gamma'))
      
      self.amp= ListDictKey(alldb,'amp')
      self.amp_n = ListDictKey(alldb,'amp_n')
      self.dc= []
      self.freq = np.array(ListDictKey(alldb,'k'))
      self.gamma = np.array(ListDictKey(alldb,'gamma'))
     
      self.freq  = ListDictKey(alldb,'freq')
      
      self.IC = np.array(ListDictKey(alldb,'IC'))
      self.dz = np.array(ListDictKey(alldb,'dz'))
      self.meta['dz'] = np.array(list(set(self.dz).union()))

      self.nmodes = self.dz.size
    
      self.MN = np.array(ListDictKey(alldb,'MN'))
      #self.MN = np.float32(self.mn) 
      #self.MN[:,1] = self.mn[:,1]/self.dz
      self.nrun =  len(set(self.path).union())
      self.L = np.array(ListDictKey(alldb,'L'))
      #self.C_s = 
      self.modeid = np.array(ListDictKey(alldb,'modeid'))

      self.trans = np.array(ListDictKey(alldb,'transform'))

      if np.any(self.trans):
          self.phase_r = ListDictKey(alldb,'phase_r')
          self.gamma_r = np.array(ListDictKey(alldb,'gamma_r'))
          self.amp_r = ListDictKey(alldb,'amp_r')
          self.freq_r = np.array(ListDictKey(alldb,'freq_r'))
          
      # try:
      #     self.model(haswak=False) #
      # except:
      #     self.M = 0

      #try:
      try:
          self.models=[]
          self.models.append(_model(self)) #create a list to contain models
          self.models.append(_model(self,haswak=True,name='haswak')) #another model
          self.models.append(_model(self,haswak2=True,name='haswak2'))
      except:
          self.M = 0
Пример #3
0
    def __init__(self,all_modes):

        
        self.mode_db = all_modes
        self.db = all_modes
        #self.ave_db = all_ave
        
        alldb = self.db
            #self.modekeys = data[0]['fields']['Ni']['modes'][0].keys()
        #print len(alldb)
        
        self.meta = np.array(ListDictKey(self.db,'meta'))[0]
      

        self.keys = (self.mode_db)[0].keys()
      #self.avekeys = data[0]['fields']['Ni']['ave'].keys()
      
      #self.nrun = len(alldb) #number of runs
      
        self.path= np.array(ListDictKey(self.db,'path'))
        self.cxx =[]
        self.maxN =[]
        
        self.ave = np.array(ListDictKey(alldb,'ave'))

      #[self.cxx.append(read_cxx(path=elem,boutcxx='2fluid.cxx.ref')) for elem in self.path]
      #[self.maxN.append(findlowpass(elem)) for elem in self.cxx]
        [self.cxx.append(read_cxx(path=elem,boutcxx='physics_code.cxx.ref')) for elem in self.path]
        
        self.maxZ = np.array(ListDictKey(alldb,'maxZ'))
        self.maxN = self.maxZ
      #self.maxN = findlowpass(self.cxx) #low pass filt from .cxx

        self.nx = np.array(ListDictKey(alldb,'nx'))[0]
        self.ny = np.array(ListDictKey(alldb,'ny'))[0]
        self.nz = np.array(ListDictKey(alldb,'nz'))[0]

      #self.nt = int(data[0]['meta']['NOUT']['v']+1)
        self.Rxy = np.array(ListDictKey(alldb,'Rxy'))
        self.Rxynorm = np.array(ListDictKey(alldb,'Rxynorm'))
        self.nt = np.array(ListDictKey(alldb,'nt'))

     
        self.dt = np.array(ListDictKey(alldb,'dt')) 
        self.nfields = np.array(ListDictKey(alldb,'nfields')) 

        self.field = np.array(ListDictKey(alldb,'field'))
        
        self.k = np.array(ListDictKey(alldb,'k'))
        self.k_r = np.array(ListDictKey(alldb,'k_r'))

        self.mn = np.array(ListDictKey(alldb,'mn'))

      #return ListDictKey(alldb,'phase')

      #self.phase = np.array(ListDictKey(alldb,'phase'))
        self.phase = ListDictKey(alldb,'phase')

      # self.amp= np.array(ListDictKey(alldb,'amp'))
      # self.amp_n=np.array(ListDictKey(alldb,'amp_n'))
      # self.dc= []
      # self.freq = np.array(ListDictKey(alldb,'k'))
      # self.gamma = np.array(ListDictKey(alldb,'gamma'))
      
        self.amp= ListDictKey(alldb,'amp')
        self.amp_n = ListDictKey(alldb,'amp_n')
        self.dc= []
      #self.freq = np.array(ListDictKey(alldb,'k'))
        self.gamma = np.array(ListDictKey(alldb,'gamma'))
        self.gamma_i = np.array(ListDictKey(alldb,'gamma_i'))
     
        self.freq  = np.array(ListDictKey(alldb,'freq'))
        
        self.IC = np.array(ListDictKey(alldb,'IC'))
        self.dz = np.array(ListDictKey(alldb,'dz'))
        self.meta['dz'] = np.array(list(set(self.dz).union()))

        self.nmodes = self.dz.size
    
        self.MN = np.array(ListDictKey(alldb,'MN'))
      #self.MN = np.float32(self.mn) 
      #self.MN[:,1] = self.mn[:,1]/self.dz
        self.nrun =  len(set(self.path).union())
        self.L = np.array(ListDictKey(alldb,'L'))
      #self.C_s = 
        self.modeid = np.array(ListDictKey(alldb,'modeid'))

        self.trans = np.array(ListDictKey(alldb,'transform'))
      
        if np.any(self.trans):
            self.phase_r = ListDictKey(alldb,'phase_r')
            self.gamma_r = np.array(ListDictKey(alldb,'gamma_r'))
            self.amp_r = ListDictKey(alldb,'amp_r')
            self.freq_r = np.array(ListDictKey(alldb,'freq_r'))
          
      # try:
      #     self.model(haswak=False) #
      # except:
      #     self.M = 0

      #try:
        try: #analytic model based on simple matrix
            self.models=[]
          #self.models.append(_model(self)) #create a list to contain models
            self.models.append(_model(self,haswak=True,name='haswak')) #another model
          #self.models.append(_model(self,haswak=True,name='haswak_0',m=0))
          # for Ln in range(10):
          #     Lval = 10**((.2*Ln -1)/10)
          #     #Lval = 10**(Ln-1)
          #     #Lval = 
          #     print Lval
          #     self.models.append(_model(self,varL=True,name='varL'+str(Lval),Lval=Lval,haswak=True))
          

        except:
            self.M = 0
          
        try: #analytic models based on user defined complex omega
            self.ref=[]
            self.ref.append(_ref(self))
          #self.ref.append(_ref(self,haswak=False,name='drift'))
 #demand a complex omega to compare
          #self.ref.append(_ref(self,haswas=True,name='haswak'))
        except:
            self.ref =0