FEROS Public Spectra
2012-04-04T13:32:00
100
Spectra from FEROS spectrograph at La Silla's 1.5m telescope as obtained
during commissioning and guaranteed time.
Kaufer, A.; Stahl, O.; Tubbesing, S.; Nørregaard,
P.; Avila, G.; Francois, P.; Pasquini, L.; Pizzella, A.; Wolf, B.
spectroscopy
ob-stars
1999Msngr..95....8K
La Silla ESO 1.5m telescope
FEROS
Archive
Optical
Issues
------
The FITS RA and DEC header cards contain positions obtained from the
telescope guidance system. These positions are frequently off by several
arcminutes with respect to the actual object. Therefore, in the metadata
table, the positions used for SSA location are obtained from SIMBAD
whenever the target names could be resolved.
The nomenclature of objects in the FITS header is somewhat eclectic. For the
SSA target name, we use translated names that can be resolved using SIMBAD.
However, there are quite a few names we could no longer make sense of;
we marked these in the SSA target names with a tilda (~). For
these spectra, the SSA location is constructed from the (flaky) positions
in the RA, DEC header cards. Any assistance in figuring
out proper designations for the objects observed is appreciated.
This service currently only serves data from the commissioning phase
and from guaranteed time on the instrument. Spectra taken
in visitor mode may be available from ESO in unreduced form.
If you have reduced spectra obtained with FEROS and would like to publish
them, please do not hesitate to contact gavo@ari.uni-heidelberg.de.
The basic metadata obtained from the
spectrum headers (not for user consumption; use the data table
instead).
//ssap#plainlocation//ssap#simpleCoverage
previews"\schema.data"\standardPreviewPath"image/png"
yield row
row["prodtblAccref"] = row["prodtblPath"]+".vot"
row["prodtblPath"] = \fullDLURL{sdl}
row["prodtblMime"] = "application/x-votable+xml"
yield row
float(@CRVAL1)float(@CRPIX1)float(@CDELT1)int(@NAXIS1)vars["FILENAME"].strip()(@specVal+(1-@specPix)*@specDel)*1e-10(@specVal+(@specLen-@specPix)*@specDel)*1e-10\standardPubDID@specLenutils.parseISODT(@DATE.strip())float(@MJD_OBS)float(@EXPTIME)
The object name can be in OBJECT or, failing that, in CIDENT.
This apply leaves whatever is collected in @rawObject,
which becomes "UNKNOWN" if all fails.
objName = @OBJECT.strip()
if not objName:
objName = vars.get("CIDENT", "").strip()
vars["rawObject"] = objName or "UNKNOWN"
"cleanedObject"True@rawObject"feros/res/namefixes.txt"
adds an objClass var based on the value of the object
header. Instrument frames are identified here, and their
processing is cut short.
{
"Ganymede": "planet",
"ThAr": "instrument",
"TEST1": "instrument",
}
vars["objtype"] = objClasses.get(@cleanedObject, "star")
if vars["objtype"]=="instrument":
raise IgnoreThisRow()
@cleanedObjectvars.get("simbadAlpha", float(@RA))vars.get("simbadDelta", float(@DEC))0.00075
2.15425e-19 5.64217e-1951093 51394.46/137,161,183,210,341,689,1102,3003,4419,4614,4892,4920,6161,8210,12544,12864,14646,16667,16807,16821,16834,17171,17395,17425,17578,18094,18139,18206,18416,18468,18549,18712,18775,18915,18978,19017,19097,19202,19402,19585,19959,20145,20331,20523,20699,20823-20824,20828,20915,21060,21083,21177,21289,21316,21394,21402,21418,21421,21436,21438-21439,21447,21456,21482,21515,21638,21643,21646,21665,21704,21744,21746,21833,21962,22023,22088,22333,22448,22466,22517,22615,22707,22787,22805,22828,22854,22888,22895,22911,23190,23236,23342,23369,23375,23533,23547,23637,23669,23769,24212,24312,24713,24839,25246,25487,25554,25766,25789,26975,27884,27903,28352,28491,28804,28921,29005,29116,29196,29360,29711,29893,30040,30106,30176,30293,30859,31227,32956,33027,33076,33091,33094-33095,33097-33098,33100,33102,33112-33113,33121,33123-33124,33211,33294-33295,33304,33306,33317,33328,33351,33490,33717,34278,34502,34577,34792,34896,35064,35079,35327,35532,35702,35768,35948,36365,36379,36612,36664,36693,36697,36711,36850,36942,36956,37186,37212,37232,37244,37253,37307,37327,37333,37339,37353,37358,37362,37395,37452,37639,37660,37729,37787,37790,37826,37831,37865,37871,37881,37886,37916,37922,37924,37926,37930,37934,38002,38016,38018,38023,38045,38049,38051,38238,38382,38411,38566,38660,38682,39216,39267,39281,39374,39396,39486,39532,39645,39671,39832,39863,39877,39899,39923,39937,40410,40584,40593,40617,40716,40828,41171,41339,41472,41591,41630,41648,41689,42101,42274,42394,42407,42416,42714,42862,42959,43024,43033,43075,43141,43152,43310,43365,43407,43748,45408,45676,45821,46053,46079,47056,47091,47125,47246,47916,48072,48152,48534,48736
from gavo.protocols import products
from gavo.utils import pyfits
# split off artificial .vot off the accref to get the inputs-relative
# path to the source FITS.
accref = self.sourceToken["accref"]
if accref.endswith(".vot"):
accref = accref[:-4]
fitsPath = os.path.join(
base.getConfig("inputsDir"), accref)
hdu = pyfits.open(fitsPath)[0]
crval1, crpix1 = hdu.header["CRVAL1"], hdu.header["CRPIX1"]
cdelt1 = hdu.header["CDELT1"]
def specTrans(pixNo):
return crval1+(pixNo+1-crpix1)*cdelt1
for spec, flux in enumerate(hdu.data):
yield {"spectral": specTrans(spec), "flux": flux}
FEROS Datalink Service
On published datasets like
:dl-id:`ivo://org.gavo.dc/~?feros/q/f04031.bdf`,
this service lets you do cutouts, translations into FITS binary
tables, ASCII, and possibly more, as well as simple recalibration.
"\rdId#data""\rdId#build_sdm_data"
FEROS Web
FEROS Public Spectra Web Interface
\internallink{feros/q/ssa/info}
Somewhat cleaned name of the target object as
given in the file. The names should either be SIMBAD-resolvable
or give a reference for the source. Some names we could not make
sense of are marked with a tilda (~); any help figuring out what
they are is appreciated.
application/x-votable+xml
yield T.a(href=getDatalinkMetaLink(
rd.getById("sdl"), data)
)["Datalink"]
application/x-votable+xml;content=datalinkDatalinkaccref, mime, ssa_targname,
ssa_aperture, ssa_dateObs
FEROS SSAP
pointed
MAXREC=1
archival
query
autossa/ssap.xml
self.assertXpath("//v:FIELD[@name='ssa_datasource']", {
"utype": "ssa:DataID.DataSource"})
self.assertXpath("//v:FIELD[@name='ssa_targname']", {
"utype": "ssa:Target.Name",
"datatype": "char"})
self.assertXpath(
"v:RESOURCE[1]/v:TABLE[1]/v:DATA[1]/v:TABLEDATA[1]/v:TR[1]/v:TD["
"count(//v:FIELD[@name='ssa_targname']/preceding::v:FIELD)+1]",
{None: "HD 27371"})
self.assertXpath(
"v:RESOURCE[1]/v:TABLE[1]/v:DATA[1]/v:TABLEDATA[1]/v:TR[1]/v:TD["
"count(//v:FIELD[@name='ssa_datasource']/preceding::v:FIELD)+1]",
{None: "pointed"})
# "direct SODA" service
self.assertXpath(
"v:RESOURCE[@utype='adhoc:service' and "
"v:PARAM[@name='standardID']/@value='ivo://ivoa.net/std/soda#"
"sync-1.0']/v:GROUP[@name='inputParams']/v:PARAM[@name='BAND']"
"/v:VALUES/v:MIN",
{"value": EqualingRE("3.5298\d*e-07")})
# datalink meta service
self.assertXpath(
"v:RESOURCE[@utype='adhoc:service' and "
"v:PARAM[@name='standardID']/@value='ivo://ivoa.net/std/datalink"
"#links-1.1']/v:GROUP[@name='inputParams']/v:PARAM[@name='ID']",
{"ref": "ssa_pubDID"})
sdl/dlmeta
self.assertHasStrings(
'value="http://', '/feros/q/sdl/dlget"',
"getproduct/feros/data/f04031.fits?preview=True</TD>",
'<MIN value="3.5298')
sdl/dlget
self.assertHasStrings("4504.59,0.01448")
/getproduct/feros/data/f04031.fits?preview=True
self.assertHasStrings("PNG", "IDAT")