# # 1) Spectral synthesis # Creates object that will run the four Fortran executables (innewmarcs, hydro2, pfant, nulbad) ecombo = pyfant.Combo() # synthesis interval start (angstrom) ecombo.conf.opt.llzero = 6530 # synthesis interval end (angstrom) ecombo.conf.opt.llfin = 6535 # Runs Fortrans and hangs until done ecombo.run() ecombo.load_result() # Retains un-convolved spectrum for comparison spectra = [ecombo.result["norm"]] # # 2) Convolutions for fwhm in FWHMS: enulbad = pyfant.Nulbad() enulbad.conf.opt.fwhm = fwhm enulbad.run() enulbad.load_result() # Appends convolved spectrum for comparison spectra.append(enulbad.result["convolved"]) # # 3) Plots plt.figure() f311.draw_spectra_overlapped(spectra) K = 1.1 a99.set_figure_size(plt.gcf(), 1000 * K, 500 * K) plt.tight_layout() plt.savefig("many-convs.png") plt.show()
# partition functions, etc. pyfant.link_to_data() # Creates object that will run the four Fortran executables (innewmarcs, hydro2, pfant, nulbad) obj = pyfant.Combo() oo = obj.conf.opt # synthesis interval start (angstrom) oo.llzero = 2500 # synthesis interval end (angstrom) oo.llfin = 30000 # savelength step (angstrom) oo.pas = 1. # Turns off hydrogen lines oo.no_h = True # Turns off atomic lines oo.no_atoms = True # Turns off molecular lines oo.no_molecules = True obj.run() obj.load_result() print("obj.result = {}".format(obj.result)) res = obj.result f311.draw_spectra_stacked([res["cont"]], setup=f311.PlotSpectrumSetup(fmt_ylabel=None)) K = .75 a99.set_figure_size(plt.gcf(), 1300 * K, 450 * K) plt.tight_layout() plt.savefig("continuum.png") plt.show()
pyfant.run_parallel(runnables) num_panels = SUBPLOT_NUM_COLS * SUBPLOT_NUM_ROWS num_molecules = len(runnables) ifigure = 0 a99.format_BLB() for i in range(num_molecules + 1): not_first = i > 0 first_panel_of_figure = (i / num_panels - int(i / num_panels)) < 0.01 is_panel = i < num_molecules if not_first and (not is_panel or first_panel_of_figure): plt.tight_layout() K = 1. a99.set_figure_size(plt.gcf(), 1500 * K, 740 * K) plt.tight_layout() filename_fig = "synthesis-molecules-{}.png".format(ifigure) print("Saving figure '{}'...".format(filename_fig)) plt.savefig(filename_fig) plt.close() ifigure += 1 if first_panel_of_figure and is_panel: plt.figure() if is_panel: ecombo = runnables[i] ecombo.load_result() isubplot = i % num_panels + 1