def __init__(self, dat_file=None, tree=None): # Generate with type AbslineSystem.__init__(self,'DLA') # Over-ride tree? if tree != None: self.tree = tree else: self.tree = '' # Parse .dat file if dat_file != None: self.dat_file = self.tree+dat_file print('dla_utils: Reading {:s}'.format(self.dat_file)) self.parse_dat_file(self.dat_file) # QSO keys self.qso = self.datdict['QSO name'] self.zqso = float(self.datdict['QSO zem']) # Abund self.flg_MH = float(self.datdict['flg_mtl']) self.MH = float(self.datdict['[M/H]']) self.sigMH = float(self.datdict['sig([M/H])']) # Init self.ions = None self.zpeak = None
def __init__(self, dat_file=None, tree=None): # Generate with type AbslineSystem.__init__(self, 'DLA') # Over-ride tree? if tree != None: self.tree = tree else: self.tree = '' # Parse .dat file if dat_file != None: self.dat_file = self.tree + dat_file print('dla_utils: Reading {:s}'.format(self.dat_file)) self.parse_dat_file(self.dat_file) # QSO keys self.qso = self.datdict['QSO name'] self.zqso = float(self.datdict['QSO zem']) # Abund self.flg_MH = float(self.datdict['flg_mtl']) self.MH = float(self.datdict['[M/H]']) self.sigMH = float(self.datdict['sig([M/H])']) # Init self.ions = None self.zpeak = None
def __init__(self, dat_file=None, tree=None, **kwargs): # Generate with type AbslineSystem.__init__(self,'LLS', **kwargs) # Over-ride tree? if tree != None: self.tree = tree else: self.tree = '' # Parse .dat file if dat_file != None: self.parse_dat_file(self.tree+dat_file) self.dat_file = self.tree+dat_file # Set tau_LL self.tau_LL = (10.**self.NHI)*6.3391597e-18 # Should replace with photocross self.ions = None self.zpeak = None
def __init__(self, dat_file=None, tree=None, **kwargs): # Generate with type AbslineSystem.__init__(self, 'LLS', **kwargs) # Over-ride tree? if tree != None: self.tree = tree else: self.tree = '' # Parse .dat file if dat_file != None: self.parse_dat_file(self.tree + dat_file) self.dat_file = self.tree + dat_file # Set tau_LL self.tau_LL = ( 10.**self.NHI) * 6.3391597e-18 # Should replace with photocross self.ions = None self.zpeak = None
def parse_dat_file(self,dat_file): # Standard Call out_list = AbslineSystem.parse_dat_file(self,dat_file,flg_out=1) # LLS keys self.bgsrc = self.datdict['QSO name'] self.zem = float(self.datdict['QSO zem']) # Was zqso self.MH = float(self.datdict['[M/H] ave']) self.nsub = int(self.datdict['N subsys']) self.cldyfil = self.datdict['Cloudy Grid File'] # LLS Subsystems if self.nsub > 0: self.subsys = {} lbls= map(chr, range(65, 91)) # Dict keys = (['zabs','NHI','NHIsig','NH','NHsig','log x','sigx','b','bsig','Abund file', 'U','Usig','flg_low','flg_alpha','[alpha/H]','sig[a/H]', 'flg_Fe','[Fe/H]','sig[Fe/H]','VPFIT file']) att = (['zabs','NHI','NHIsig','NH','NHsig','logx','sigx','bval','bsig','clm_file', 'U','Usig','flg_low','flg_alpha','alpha_H','sig_a_H', 'flg_Fe','Fe_H','sig_Fe_H','VPFIT_file']) values = ([0., 0., np.zeros(2), 0., np.zeros(2), 0., np.zeros(2), 0., 0., '', 0., np.zeros(2), 0, 0, 0., 0., 0, 0., 0., '']) null_dict = dict(zip(keys,values)) # Loop on subsystems for i in range(self.nsub): # Generate self.subsys[lbls[i]] = Abs_Sub_System('LLS') self.subsys[lbls[i]].name = self.name+lbls[i] self.subsys[lbls[i]].coord = self.coord self.subsys[lbls[i]].tree = self.tree self.subsys[lbls[i]].linelist = self.linelist # Fill in for ii,key in enumerate(keys): try: tmpc = self.datdict[lbls[i]+' '+key] except: raise ValueError('lls_utils: Key "{:s}" not found in {:s}' .format(lbls[i]+key,dat_file)) else: # Convert val = null_dict[key] #pdb.set_trace() if val.__class__ == np.ndarray: setattr(self.subsys[lbls[i]], att[ii], np.array(map(float,tmpc.split())) ) else: # Single value setattr(self.subsys[lbls[i]], att[ii], (map(type(val),[tmpc]))[0] )
def __init__(self): # Generate with type AbslineSystem.__init__(self, 'CGM') # Init self.ions = None
def parse_dat_file(self, dat_file): # Standard Call out_list = AbslineSystem.parse_dat_file(self, dat_file, flg_out=1) # LLS keys self.bgsrc = self.datdict['QSO name'] self.zem = float(self.datdict['QSO zem']) # Was zqso self.MH = float(self.datdict['[M/H] ave']) self.nsub = int(self.datdict['N subsys']) self.cldyfil = self.datdict['Cloudy Grid File'] # LLS Subsystems if self.nsub > 0: self.subsys = {} lbls = map(chr, range(65, 91)) # Dict keys = ([ 'zabs', 'NHI', 'NHIsig', 'NH', 'NHsig', 'log x', 'sigx', 'b', 'bsig', 'Abund file', 'U', 'Usig', 'flg_low', 'flg_alpha', '[alpha/H]', 'sig[a/H]', 'flg_Fe', '[Fe/H]', 'sig[Fe/H]', 'VPFIT file' ]) att = ([ 'zabs', 'NHI', 'NHIsig', 'NH', 'NHsig', 'logx', 'sigx', 'bval', 'bsig', 'clm_file', 'U', 'Usig', 'flg_low', 'flg_alpha', 'alpha_H', 'sig_a_H', 'flg_Fe', 'Fe_H', 'sig_Fe_H', 'VPFIT_file' ]) values = ([ 0., 0., np.zeros(2), 0., np.zeros(2), 0., np.zeros(2), 0., 0., '', 0., np.zeros(2), 0, 0, 0., 0., 0, 0., 0., '' ]) null_dict = dict(zip(keys, values)) # Loop on subsystems for i in range(self.nsub): # Generate self.subsys[lbls[i]] = Abs_Sub_System('LLS') self.subsys[lbls[i]].name = self.name + lbls[i] self.subsys[lbls[i]].coord = self.coord self.subsys[lbls[i]].tree = self.tree self.subsys[lbls[i]].linelist = self.linelist # Fill in for ii, key in enumerate(keys): try: tmpc = self.datdict[lbls[i] + ' ' + key] except: raise ValueError( 'lls_utils: Key "{:s}" not found in {:s}'.format( lbls[i] + key, dat_file)) else: # Convert val = null_dict[key] #pdb.set_trace() if val.__class__ == np.ndarray: setattr(self.subsys[lbls[i]], att[ii], np.array(map(float, tmpc.split()))) else: # Single value setattr(self.subsys[lbls[i]], att[ii], (map(type(val), [tmpc]))[0])
def __init__(self): # Generate with type AbslineSystem.__init__(self,'CGM') # Init self.ions = None