Provided by: neat_2.3.2-2build3_amd64 bug

NAME

       neat - nebular empirical analysis tool

SYNOPSIS

       neat [option1] [value1] ...

DESCRIPTION

       neat  carries  out  a  comprehensive  empirical  analysis  on  a list of nebular emission line fluxes. If
       uncertainties are required, it evaluates them using a Monte Carlo approach.  neat's  philosophy  is  that
       abundance  determinations  should  be  as objective as possible, and so user input should be minimised. A
       number of choices can be made by the user, but the default options should yield meaningful results.

OPTIONS

       -c [VALUE]
              The logarithmic extinction at H beta.  By default, this is calculated from the Balmer line ratios.

       -cf, --configuration-file [FILE]
              Since version 2.0, NEAT's analysis scheme is specified in a configuration file which is read in at
              run time, rather than being hard coded.  If this option is omitted the default configuration  file
              is  used,  which is intended to be suitable for any line list and should only really need changing
              if particular lines need to be excluded from the analysis.   The  configuration  file  contains  a
              series of weights to be applied when calculating diagnostics and abundances, and the format of the
              default  file  should  be clear enough that editing it is straightforward.  A negative value for a
              weight means that the line will be weighted by its observed intensity; a positive value means that
              the line will be weighted by the given value.  Any weights not specified in FILE take their values
              from the default configuration file.

       --citation
              Prints out the bibliographic details of the paper to cite if you use neat in your research

       -e, --extinction-law [VALUE]
              Extinction law to use for dereddening.

              Valid values are:
               How: Galactic law of Howarth (1983, MNRAS, 203, 301)
               CCM: Galactic law of Cardelli, Clayton, Mathis (1989, ApJ, 345, 245)
               Fitz: Galactic law of Fitzpatrick & Massa (1990, ApJS, 72, 163)
               LMC: LMC law of Howarth (1983, MNRAS, 203, 301)
               SMC: SMC law of Prevot et al. (984, A&A, 132, 389)

              Default: How

       -he, --helium-data [VALUE]
              The atomic data to use for He I abundances

              Valid values are:
               S96: Smits, 1996, MNRAS, 278, 683
               P12: Porter et al., 2012, MNRAS, 425, 28

              Default: P12

       -i, --input [FILENAME]
              The line list to be analysed.  Plain text files containing two, three or four columns  of  numbers
              can  be  understood  by  neat.   Full  details  of the input format are given in the "methodology"
              section below.

       -icf, --ionisation-correction-scheme [VALUE]
              The ICF scheme to be used to correct for unseen ions

              Valid values are:
               KB94: Kingsburgh & Barlow (1994, MNRAS, 271, 257)
               PT92: Peimbert, Torres-Peimbert & Ruiz (1992, RMxAA, 24, 155)
               DI14: Delgado-Inglada, Morisset & Stasinska (2014, MNRAS, 440, 536)
               DI14mod: DI14, but using the classical ICF for nitrogen (N/O=N+/O+)

              Default: DI14.  The KB94 ICF implemented in neat additionally contains a correction for  chlorine,
              from Liu et al., 2000, MNRAS, 312, 585.

       -id, --identify
              This  option  triggers  an  algorithm  which  attempts  to  convert observed wavelengths into rest
              wavelengths. If the option is not present, neat assumes that the input line list already has  rest
              wavelengths in the first column.

       -idc, --identify-confirm
              Does  the same as --identify but without stopping for user confirmation. Useful when reanalysing a
              line list where you already used --identify and were happy with the result.

       -n, --n-iterations [VALUE]
              Number of iterations. Default: 1

       -nelow, -nemed, -nehigh, -telow, -temed, -tehigh [VALUE]
              By default, electron densities and temperatures are calculated from the available diagnostics, but
              their values can be overridden with these commands.  The required units are cm-3 for densities and
              K for temperatures.

       -rp    When calculating Monte Carlo uncertainties,  neat's  default  behaviour  is  to  assume  that  all
              uncertainties are Gaussian.  If -rp is specified, it will compensate for the upward bias affecting
              weak  lines  described by Rola and Pelat (1994), assuming log normal probability distributions for
              weaker lines.  Until version 1.8, the default behaviour was the opposite; log  normal  probability
              distributions  were assumed unless -norp was specified.  This was changed after our discovery that
              the effect described by Rola and Pelat only occurred  under  extremely  specific  conditions:  see
              Wesson et al. 2016 for details.

       -sr, --subtract-recombination
              The  recombination contribution to some important diagnostic collisionally excited lines is always
              calculated but, by default, is not subtracted. This option causes the subtraction  to  be  carried
              out.  Note that the code takes roughly twice as long to run if this is enabled, as the temperature
              and abundance calculations need to be repeated following the subtraction.

       -u, --uncertainties
              Calculate uncertainties, using 10,000 iterations.  If this option is specified, the -n option will
              be ignored

       -v, --verbosity [VALUE]
              Amount of output to write for each derived quantity. This option has no effect unless -n or -u  is
              specified.

              Valid values are:
               1: write out summary files, binned results and complete results
               2: write out summary files and binned results
               3: write out summary files only

              Default: 3

USING NEAT

   Input file format
       neat  requires as input a plain text file containing a list of emission line fluxes. The file can contain
       two, three or four columns. If two columns are found, the code assumes they contain  the  the  laboratory
       wavelength  of the line (λ0) and its flux (F). Three columns are assumed to be λ0, F, and the uncertainty
       on F (ΔF). Four columns are assumed to be the observed wavelength of the line, λobs, λ0, F, and  ΔF.  The
       rest     wavelengths     should     correspond     exactly     to    those    listed    in    the    file
       /usr/share/neat/complete_line_list. The flux column can use any units, and the uncertainty  on  the  flux
       should be given in the same units. Examples can be found in the /usr/share/neat/examples/ directory.

   Rest wavelengths
       neat  identifies  lines by comparing the quoted wavelength to its list of rest wavelengths. However, rest
       wavelengths of lines can differ by up to a few tenths of an Angstrom depending on the source. Making sure
       that neat is identifying your lines properly is probably the most important step in using the  code,  and
       misidentifications are the first thing to suspect if you get unexpected results. To assist with preparing
       the line list, the command line option -id can be used. This applies a very simple algorithm to the input
       line list to determine their rest wavelengths, which works as follows:

        1.  A  reference  list  of  10  rest  wavelengths  of  common  bright  emission lines is compared to the
       wavelengths of the 20 brightest lines in the observed spectrum.
        2. Close matches are identified and the mean offset between observed and rest wavelengths is calculated.
        3. The shift is applied, and then an RMS scatter between shifted and rest wavelengths is calculated.
        4. This RMS scatter is then used as a tolerance to assign line IDs based on close  coincidences  between
       shifted    observed    wavelengths   and   the   full   catalogue   of   rest   wavelengths   listed   in
       utilities/complete_line_list

       The routine is not intended to provide 100% accuracy and one should always check very  carefully  whether
       the lines are properly identified, particularly in the case of high resolution spectra.

   Line blends
       In  low resolution spectra, lines of comparable intensity may be blended into a single feature. These can
       be indicated with an asterisk instead of a flux in the input line list. Currently, neat has only  limited
       capabilities  for dealing with blends: lines marked as blends are not used in any abundance calculations,
       and apart from a few cases, it assumes that all  other  line  fluxes  represent  unblended  or  deblended
       intensities.  The  exceptions  are some collisionally excited lines which are frequently blended, such as
       the [O II] lines at 3727/3729Å. In these cases the blended flux can be given with the mean wavelength  of
       the   blend,   and   the   code   will   treat   it  properly.  These  instances  are  indicated  in  the
       utilities/complete_line_list file by a "b" after the ion name.

   Uncertainties
       The uncertainty column of the input file is of crucial importance if you want to  estimate  uncertainties
       on  the  results you derive. Points to bear in mind are that the more realistic your estimate of the line
       flux measurement uncertainties, the more realistic the estimate of the uncertainties on the results  will
       be,  and  that in all cases, the final reported uncertainties are a lower limit to the actual uncertainty
       on the results, because they account only for the propagation of  the  statistical  errors  on  the  line
       fluxes and not on sources of systematic uncertainty.

       In  some  cases  you  may  not need or wish to propagate uncertainties. In this case you can run just one
       iteration of the code, and the uncertainty values are ignored if present.

RUNNING THE CODE

       Assuming you have a line list prepared as above, you can now run the code. In line  with  our  philosophy
       that neat should be as simple and objective as possible, this should be extremely straightforward. To use
       the code in its simplest form on one of the example linelists, you would type

        % cp /usr/share/neat/examples/ngc6543_3cols.dat .
        % neat -i ngc6543_3cols.dat

       This  would  run  a  single iteration of the code, not propagating uncertainties. You'll see some logging
       output  to  the  terminal,  and  the  calculated  results  will   have   been   written   to   the   file
       ngc6543_3cols.dat_results. If this is all you need, then the job's done and you can write a paper now.

       Your  results will be enhanced greatly, though, if you can estimate the uncertainty associated with them.
       To do this, invoke the code as follows:

        % neat -i ngc6543_3cols.dat -u

       The -u switch causes the code to run 10,000 times. In each iteration, the  line  flux  is  drawn  from  a
       normal  distribution  with  a mean of the quoted flux and a standard deviation of the quoted uncertainty.
       By repeating this randomisation process  lots  of  times,  you  build  up  a  realistic  picture  of  the
       uncertainties  associated with the derived quantities. The more iterations you run, the more accurate the
       results; 10,000 is a sensible number to achieve well sampled probability distributions. If  you  want  to
       run  a  different  number of iterations for any reason, you can use the -n command line option to specify
       your preferred value

       If the -rp option is specified, then for lines with a signal to noise ratio of less than 6, the line flux
       is drawn from a log-normal distribution which becomes more skewed the lower the signal to noise ratio is.
       This corrects the low SNR lines for the upward bias in  their  measurement  described  by  Rola  &  Pelat
       (1994).  The  full  procedure  is  described  in Wesson et al. (2012).  However, use of this option is no
       longer recommended as the bias is highly dependent on the fitting procedure - see Wesson et al. (2016).

   Error codes
       If the code does not complete the analysis, it will return one of the following exit codes:

        100  no input file specified
        101  input file does not exist
        102  config file does not exist
        103  invalid number of iterations
        104  invalid output format requested
        105  could not read input line list
        106  could not read LINES extension in FITS input
        107  error reading line list from FITS
        108  error creating FITS output
        109  invalid configuration file

        200  invalid temperature or density
        201  no Hbeta found
        202  unknown ion
        203  line identifications rejected

       In the case of a FITS handling error, it will also return the CFITSIO exit code.

METHODOLOGY

   Extinction correction
       The code corrects for interstellar reddening using the ratios of the Hα, Hβ, Hγ and Hδ  lines.  Intrinsic
       ratios of the lines are first calculated assuming a temperature of 10,000K and a density of 1000cm-3. The
       line  list is then dereddened, and temperatures and densities are then calculated as described below. The
       temperatures and densities are then used to  recalculate  the  intrinsic  Balmer  line  ratios,  and  the
       original line list is then dereddened using this value.

   Temperatures and densities
       neat  determines  temperatures,  densities and abundances by dividing emission lines into low (ionisation
       potential <20eV),  medium  (20eV<IP<45eV)  and  high  excitation  (IP>45eV)  lines.  In  each  zone,  the
       diagnostics are calculated as follows:

        1. A temperature of 10000K is initially assumed, and the density is then calculated from the line ratios
       relevant to the zone.
        2.  The  temperature  is  then calculated from the temperature diagnostic line ratios, using the derived
       density.
        3. The density is recalculated using the appropriately weighted average of the temperature diagnostics.
        4. The temperature is recalculated using this density.

       This iterative procedure is carried out successively for low-, medium- and high-ionization zones, and  in
       each  case  if  no  diagnostics  are  available,  the temperature and/or density will be taken to be that
       derived for the previous zone. Temperatures and densities for each zone can  also  be  specified  on  the
       command line with the -telow, -temed, -tehigh and -nelow, -nemed, -nehigh options.

       neat also calculates a number of diagnostics from recombination line diagnostics. These are:

        1. The Balmer jump temperature is calculated using equation 3 of Liu et al. (2001)
        2. The Paschen jump temperature is calculated using equation 7 of Fang et al. (2011)
        3.  A density is derived from the Balmer and Paschen decrements if any lines from H10-H25 or P10-P25 are
       observed. Their ratios relative to Hβ are compared to theoretical ratios from Storey & Hummer (1995), and
       a density for each line calculated by linear interpolation.  The  final  density  is  calculated  as  the
       weighted average of all the densities.
        4.  Temperatures  are  estimated from helium line ratios, using equations derived from fits to tabulated
       values of 5876/4471 and 6678/4471. The tables are calculated at ne=5000cm-3 only. We plan to improve this
       calculation in future releases.
        5. OII recombination line ratios are used to  derive  a  temperature  and  density,  using  atomic  data
       calculations  from  Storey  et  al.  (2017).  Values  are found by linearly interpolating the logarithmic
       values.
        6. Recomination line contributions to CELs of N+, O+ and O2+ are estimated using equations 1-3 of Liu et
       al. (2000).

       These  recombination  line  diagnostics  are  not  used  in  abundance  calculations.  By  default,   the
       recombination   contribution   to   CELs  is  reported  but  not  subtracted.  The  command  line  option
       --subtract-recombination can be used if the subtraction is required - this requires  an  additional  loop
       within the code which makes it run roughly half as fast as when the subtraction is not carried out.

   Ionic abundances
       Ionic abundances are calculated from collisionally excited lines (CELs) using the temperature and density
       appropriate  to  their  ionization potential. Where several lines from a given ion are present, the ionic
       abundance adopted is a weighted average of the abundances from each ion.

       Recombination lines (RLs) are also used to derive ionic abundances for helium and heavier  elements.  The
       method  by  which  the  helium  abundance  is  determined depends on the atomic data set being used; neat
       includes atomic data from Smits (1996) and from Porter et al. (2012, 2013). The Smits data is  given  for
       seven  temperatures  between  312.5K  and  20000K,  and for densities of 1e2, 1e4 and 1e6 cm-3; we fitted
       fourth order polynomials to the coefficient for each line at  each  density.  neat  then  calculates  the
       emissivities  for  each  density  using  these equations, and interpolates logarithmically to the correct
       density.

       For the Porter et al. data, the emissivities are tabulated between 5000 and 25000K, and for densities  up
       to 1e14cm-3. neat interpolates logarithmically in temperature and density between the tabulated values to
       determine the appropriate emissivity.

       In  deep  spectra, many more RLs may be available than CELs. The code calculates the ionic abundance from
       each individual RL intensity using the atomic data listed in Table 1 of Wesson et al.  (2012).  Then,  to
       determine the ionic abundance to adopt, it first derives an ionic abundance for each individual multiplet
       from  the  multiplet’s co-added intensity, and then averages the abundances derived for each multiplet to
       obtain the ionic abundance used in subsequent calculations.

       The weakness of recombination lines means that care must be taken in deriving abundances from them.  neat
       applies  some  simple  checks to the N2+/H+ and O2+/H+ abundances it derives to see if they are reliable:
       they will be flagged as unreliable in the _results file if any of the following apply:

        1. only one multiplet is detected
        2. the highest abundance calculated for a multiplet exceeds the lowest by a factor greater than 3.0
        3. (O2+ only) no lines are detected from either the V1 or V10 multiplets

       If either abundance is flagged as unreliable, an abundance discrepancy factor for the  relevant  ion  and
       element  is  not  calculated.  Weights may be set to exclude any unreliable multiplets so that a reliable
       abundance and ADF can be calculated.

   Total abundances
       Total elemental abundances are estimated using the ionisation correction scheme selected from  Kingsburgh
       and  Barlow  (1994),  Peimbert,  Torres-Peimbert and Ruiz (1992), or Delgado-Inglada et al. (2014). Total
       oxygen abundances estimated from several strong line methods are also reported.

       Where ionic or total abundances are available from both collisionally  excited  lines  and  recombination
       lines, the code calculates the measured discrepancy between the two values.

OUTPUTS

       The  code prints some logging messages to the terminal, so that you can see which iteration it is on, and
       if anything has gone wrong. Starting from version 2.3, outputs are created in FITS format by default.  If
       the  input  file  was  in  FITS  format  (as  generated by v2.0 or later of alfa) then the results of the
       analysis will be written to the same file, updating the LINES extension and creating a RESULTS extension.
       If the input was plain text, then a new FITS file will be created, in the same  directory  as  the  input
       file. fv is a convenient way to view the tables.

       If  plain  text output is requested, then the results are written to a summary file, and a linelist file,
       the paths to which are indicated in the terminal output. The  summary  file  lists  the  results  of  the
       calculations  of  extinction, temperatures, densities, ionic and total abundances. Two linelist files are
       written - one is a plain text file listing observed and rest wavelengths, ionic identifications, observed
       and dereddened fluxes, and ionic abundances for each line used in the abundance calculations.  The  other
       is latex-formatted, intended to be usable with minimal further editing in a publication.

       In  the case of a single iteration, these files are the only output. If you have run multiple iterations,
       you can also use the -v option to tell the code to create additional  results  files  for  each  quantity
       calculated:   -v 1 tells the code to write out for each quantity all the individual results, and a binned
       probability distribution file; with -v 2, only the binned distributions are written out, and with -v 3  -
       the default - no additional results files are created.

       Plain text output is deprecated, and will be removed in a future release.

   Normality test
       The  code  now  applies a simple test to the probability distributions to determine whether they are well
       described by a normal, log-normal  or  exp-normal  distribution.  The  test  applied  is  that  the  code
       calculates  the  mean  and standard deviation of the measured values, their logarithm and their exponent,
       and calculates in each case the fraction of values lying within 1, 2 and 3σ of the mean. If the fractions
       are close to the expected values of 68.3%, 95.5% and 99.7%, then the relevant distribution is  considered
       to  apply.  In  these  cases,  the  summary  file  contains  the calculated mean and reports the standard
       deviation as the 1σ uncertainty.

       If the file is not well described by a normal-type distribution, then the code reports the median of  the
       distribution and takes the values at 15.9% and 84.1% of the distribution as the lower and upper limits.

   Inspecting the output
       It is often useful to directly inspect the probability distributions. In the utilities directory there is
       a  small  shell  script,  utilities/plot.sh, which will plot the histogram of results together with a bar
       showing the value and its uncertainty as derived above. It  will  create  PNG  graphics  files  for  easy
       inspection.

       The  script  requires  that  you  ran the code with -v 1 or -v 2, and that you have gnuplot installed. It
       takes one optional parameter, the prefix of the files generated by neat. So, for example, if  you've  run
       10,000  iterations on examples/ngc6543_3cols.dat, then there will now be roughly 150 files in the example
       directory, with names like examples/ngc6543_3cols.dat_mean_cHb, examples/ngc6543_3cols.dat_Oii_abund_CEL,
       etc. You can then generate plots of the probability distributions for the results by typing:

        % /usr/share/neat/utilities/plot.sh ngc6453.dat

       Running the code without the optional parameter will generate plots for all files with  names  ending  in
       "binned" in the working directory.

SEE ALSO

       alfa, equib06, mocassin

BUGS

       No  known  bugs. If reporting a bug, please state which version of neat you were using, and include input
       and any output files produced if possible.

AUTHORS

       Roger Wesson, Dave Stock, Peter Scicluna

2.1                                                5 June 2016                                            man(1)