Information on resource 'SP_ACE spectral analysis tool'

SP_ACE computes stellar parameters (gravity, temperature) and element abundances from optical stellar spectra (sample spectrum). It employs 1D stellar atmosphere models in Local Thermodynamic Equilibrium (LTE).

The present service does not offer all the options available for SP_Ace as documented in the tutorial. All options are available if running SP_Ace locally (cf. download page).

This service exposes an updated version containing some bug fixes with respect to the one described in the paper.

This service's API is relatively easy to operate from user programs or scripts. The parameters available are identical to those of the interactive service except for the upload modalities. A parameter definition in a machine-readable VOTable is produced by the service itself at http://dc.zah.uni-heidelberg.de/sp_ace/q/c/api?MAXREC=0

To run the program offline, please refer to our download page

To run it, upload your radial-velocity-corrected continuum-normalised (!) spectrum (example) giving wavelengths in Angstrom vs. flux. Spectra of resolutions outside of the 2000 .. 20000 range will probably not yield reliable results.

Using curl, this would look like this:

curl -FUPLOAD=spectrum,param:up -Fup=@zw.asc\
        http://dc.zah.uni-heidelberg.de/sp_ace/q/c/api

Alternative functions or programs may, of course, be used as well. Further parameters would just add more -F options (but take care to use proper shell quoting).

This will give you VOTables, which are nice if the result is going to be processed with TOPCAT or astropy or similar. To get CSV, add a RESPONSEFORMAT parameter:

curl -FUPLOAD=spectrum,param:up -Fup=@zw.asc\
        -FRESPONSEFORMAT=csv\
        http://dc.zah.uni-heidelberg.de/sp_ace/q/c/api

For convenient processing of multiple spectra, we recommend using Python with astropy and the requests package. The following code will print the abundances and global parameters for a spectrum in tmp/space/fast_spectrum.txt:

from cStringIO import StringIO
from astropy.io.votable import parse_single_table
import requests

r = requests.post("http://dc.g-vo.org/sp_ace/q/c/api",
                data = {
                        "UPLOAD": "spectrum,param:file",
                        "compute_errors": "False"},
                files = {
                        "file": open("tmp/space/fast_spectrum.txt")})
t = parse_single_table(StringIO(r.content))
print t.array

for p in t.params:
        print p.name, p.value

If you get messages about bad units, don't worry. By VOUnit, Astropy's wrong and we are right.

An additional hint: If you don't absolutely need the errors, don't make sp_ace compute them -- it's much faster without them, so that's the default. If you need errors, pass -Fcompute_errors=True.

Services defined within this resource descriptor

Tables defined within this resource descriptor

If you use results obtained by this service, please cite the original publication (see source meta) and acknowlege: This work has made use of the sp_ace spectral analysis tool version 1.4.

[Manage RD]