def add_LLS(self, z, NHI=17.3, bval=20. * u.km / u.s): '''Generate a new LLS ''' # new_sys = LLSSystem(NHI=NHI) new_sys.zabs = z new_sys.fill_lls_lines(bval=bval) # Name self.count_lls += 1 new_sys.label = 'LLS_Sys_{:d}'.format(self.count_lls) # Add self.abssys_widg.add_fil(new_sys.label) self.abssys_widg.all_abssys.append(new_sys) self.abssys_widg.abslist_widget.item(len( self.abssys_widg.all_abssys)).setSelected(True)
def add_LLS(self,z,NHI=17.3,bval=20.*u.km/u.s): '''Generate a new LLS ''' # new_sys = LLSSystem(NHI=NHI) new_sys.zabs = z new_sys.fill_lls_lines(bval=bval) # Name self.count_lls += 1 new_sys.label = 'LLS_Sys_{:d}'.format(self.count_lls) # Add self.abssys_widg.add_fil(new_sys.label) self.abssys_widg.all_abssys.append(new_sys) self.abssys_widg.abslist_widget.item( len(self.abssys_widg.all_abssys)).setSelected(True)
def add_LLS(self, z, NHI=17.3, bval=20.0 * u.km / u.s, comment="None"): """Generate a new LLS """ # new_sys = LLSSystem(NHI=NHI) new_sys.zabs = z new_sys.bval = bval # This is not standard, but for convenience new_sys.comment = comment new_sys.fill_lls_lines(bval=bval) # Name self.count_lls += 1 new_sys.label = "LLS_Sys_{:d}".format(self.count_lls) # Add self.abssys_widg.add_fil(new_sys.label) self.abssys_widg.all_abssys.append(new_sys) self.abssys_widg.abslist_widget.item(len(self.abssys_widg.all_abssys)).setSelected(True)
def add_LLS(self, z, NHI=17.3, bval=20. * u.km / u.s, comment='None'): '''Generate a new LLS ''' # new_sys = LLSSystem(NHI=NHI) new_sys.zabs = z new_sys.bval = bval # This is not standard, but for convenience new_sys.comment = comment new_sys.fill_lls_lines(bval=bval) # Name self.count_lls += 1 new_sys.label = 'LLS_Sys_{:d}'.format(self.count_lls) # Add self.abssys_widg.add_fil(new_sys.label) self.abssys_widg.all_abssys.append(new_sys) self.abssys_widg.abslist_widget.item(len( self.abssys_widg.all_abssys)).setSelected(True)
def xq100_plls_ex(outfil='fig_xq100_plls_ex.pdf'): # Load spectrum spec_fil = os.getenv('DROPBOX_DIR') + '/XQ-100/data/J0030-5159_uvb.fits' spec = load_spectrum(spec_fil) # Generate model model_file = os.getenv( 'DROPBOX_DIR') + '/XQ-100/LLS/convg_J0030-5159_llsfit.json' with open(model_file) as data_file: lls_dict = json.load(data_file) # Continuum basec = Quantity(lls_dict['conti']) telfer_spec = XSpectrum1D.from_tuple((spec.dispersion.value, basec.value)) # Start the plot if outfil is not None: pp = PdfPages(outfil) plt.figure(figsize=(8, 4)) plt.clf() gs = gridspec.GridSpec(1, 1) fsz = 17. # Read and plot full spectrum ax_full = plt.subplot(gs[0]) # Limits wvmnx = [3600., 5000.] gdpix = np.where(spec.dispersion < wvmnx[1] * u.AA)[0] perc = xsb.perc(spec.flux[gdpix]) ax_full.set_xlim(wvmnx) #ax_full.set_ylim(-0.05*perc[1], 1.1*perc[1]) ax_full.set_ylim(-1e-18, 4e-17) # Plot ax_full.plot(spec.dispersion, spec.flux, color='black', lw=1.0) ax_full.plot(wvmnx, [0., 0.], '--', color='green') # Label ax_full.set_xlabel('Wavelength') ax_full.set_ylabel('Relative Flux') ax_full.text(0.05, 0.9, 'XQ100 J0030-5159', transform=ax_full.transAxes, color='black', size='x-large', ha='left', va='center', bbox={'facecolor': 'white'}) all_ills = [] all_lls = [] all_zlls = [] for key in lls_dict['LLS'].keys(): new_sys = LLSSystem(NHI=lls_dict['LLS'][key]['NHI']) new_sys.zabs = lls_dict['LLS'][key]['z'] new_sys.fill_lls_lines(bval=lls_dict['LLS'][key]['bval'] * u.km / u.s) # all_ills.append(new_sys) all_lls.append(new_sys) all_zlls.append(new_sys.zabs) # Model norm_flux = lls_model(spec.dispersion, all_ills, smooth=lls_dict['smooth']) continuum = telfer_spec.flux * lls_dict['conti_model']['Norm'] * ( spec.dispersion.value / lls_dict['conti_model']['piv_wv'])**lls_dict['conti_model']['tilt'] # Model ax_full.plot(spec.dispersion, continuum * norm_flux) # Font size xputils.set_fontsize(ax_full, fsz) # Finish page plt.tight_layout(pad=0.2, h_pad=0.3, w_pad=0.0) pp.savefig() plt.close() print('Wrote: {:s}'.format(outfil)) # Finish pp.close()