spectrum_exomol: Description of the input/output structure Purpose: Program to generate synthetic synthetic spectra using the PN line lists in the ExoMol format for a specified temperature. The spectrum is given either as a stick diagram (cm/molecule or erg/s molecule-1 sr-1), or in the form of cross-sections with a Gaussian/Doppler profile on a grid of frequency points (cm^2/molecule or erg/s cm molecule-1 sr-1 ). The partition function value can be also recomputed, if it is not provided by the user. The total intensity is also estimated as well as the distribution of the number of lines per log10(intensity) Input structure: ! number of Transition files to read ! read*,nfiles ! names of Transition files ! do i = 1,nfiles read*,intfilename(i) enddo ! name of the Energy file ! read*,enrfilename ! the selected by the frequency limits transitions will be stored to the temporary file 'swapfile', ! which can be later used in stead of the Transition file - this will make the simualtions faster !Name of the Swapfile read*,swapfile !read the number of characters for the quantum numbers from the .states file read*,nchar ! temperature (K), partition function; ! if partfunc <0 the partition function will be computed using the energies provided ! read*,temp,partfunc ! frequency range (cm-1) and number of grid points; the latter is not referenced for proftype='stick' ! read*,freql,freqr,npoints ! form of spectra (profiles): 'gauss', 'doppler', 'bin' or 'stick' ! read*,proftype ! ! type of spectra: ! 'absorption': absorption coefficients (cm/mol) ! 'emission': emission coefficients (Ergs/mol/Sr) ! 'partfunc': partition function for a series of temperatures together with derivatives ! read*,specttype ! HWPar = HWHM (cm-1) if ProfType='gauss' ! HWPar = molecular mean molar mass (g) if ProfType='doppler' ! HWPar = a print our threshold for absorption coefficient (cm/mol) if ProfType='stick' ! read*, HWPar ! intensity cutoff (cm/mol or Ergs/mol/Sr) to spead up evaluation of intensity, can be set negative for a zero-cutoff. ! not referenced for 'stick' ! read*,thresh ! !Output structure: ! for 'gauss', 'doppler', 'bin' ! print('(2(1x,es16.8))'), (Freq(i), Intens(i), i = 1, Npoints) ! for 'stick' the typical record has the following format: ! nu(cm-1) Intensity J_f E_f J_i E_i v of f-state <- v of i-state (sring of ncahr length) 1.90839060E+01 3.02879991E-21 1.0 19.8416 <- 0.0 0.7577 2 <- 5 ! where i,f stand for initial and final states, respectively; ! nu is the transition frequency ! Intensity is the absorption (cm/molecule)/emission (erg/s molecule-1 Sr-1) intensity ! J_f and J_i are the rotational angular momentum quantum number ! E_i and E_f are the rovibrational term values; ! nchar - number of characters used for quantum numbers as appear in .states