This page should get anyone started using the SDSS spectra within minutes. There are instructions for anyone to get the publicly-available data, or for SDSS collaborators to get the still-proprietary data. This page describes tools to view, query and use these data using IDL, SuperMongo or IRAF. There are also summary ASCII files that contain positions, magnitudes, classification information, and redshifts.
David Schlegel<EMAIL_ADDRESS>In this document:
Related documents:
Science web sites:
Technical web sites:
Technical mailing lists (restricted access):
Plot of the cumulative number of survey-quality spectra.
Here are some nifty plots of only those objects within 2 degrees of the equatorial plane:
(On a PostScript previewer, turn off State->Antialias.) The Milky Way is masked with dashed lines. The MAIN galaxy sample are black points, the luminous red galaxies (LRGs) that are not in MAIN are red, and quasars are blue. Specifically, these plots are made with all good plates whose centers are within 0.25 deg of the plane.The SDSS will observe approximately 2000 plates by the end of its 5 year survey. Each plate is physically an aluminum disk 60 cm in diameter that subtends 3 degrees on the sky. 640 fibers are plugged into each plate at the location of objects chosen from the photometric survey, allowing us to spectroscopically observe 640 objects at time. Typically, we integrate for 45 minutes on each plate.
Since plates are occasionally re-observed, the plate number plus the observation date uniquely identifies an observation. We track the date with modified Julian date (MJD). In these re-observations, the optical fibers may be plugged into different holes, so fiber #1 on plate 306 won't be the same on the MJD=51637 observation as on MJD=51690.
Therefore, PLATE + MJD + FIBERID uniquely determines a single observation of a single object. The TILE number uniquely determines a position on the sky, and there are a few instances where two PLATEs are drilled for one TILE.
This list of plates is auto-updated each day based upon which reductions have completed. It is available in the following formats:
Aside from PLATE, TILE and MJD, this list contains the following:
RA = Right ascension of plate center [J2000 degrees]. DEC = Declination of plate center [J2000 degrees]. MAPNAME = Mapping name for this plate; data with the same mapping name are always combined into one plate file, even if taken on different nights. VERSLOG = Version of speclog product (spectroscopic log files). VERSUTIL = Version of idlutils product. VERSFLAT = Version of specflat product (spectroscopic pixel flats). VERSREAD = Version of Spectro-2D code for pre-processing raw data. VERS2D = Version of Spectro-2D code to reduce the individual frames. VERSCOMB = Version of Spectro-2D code to combine frames into a plate file. VERS1D = Version of Princeton-1D code to measure redshifts. VERSTARG = Version of Target code for selecting the objects on this plate. CHUNKNAME= The name of the Target and tiling run which produced this plate. NEXP = Total number of frames from all cameras used in the co-adding; since there are 4 cameras, NEXP=12 would typically mean that there were 3 exposures in each camera. NEXP_B1 = Number of exposures in b1 camera. NEXP_B2 = Number of exposures in b2 camera. NEXP_R1 = Number of exposures in r1 camera. NEXP_R2 = Number of exposures in r2 camera. EXPT_B1 = Total exposure time in b1 camera. EXPT_B2 = Total exposure time in b2 camera. EXPT_R1 = Total exposure time in r1 camera. EXPT_R2 = Total exposure time in r2 camera. SN2_G1 = (S/N)^2 per pixel at g=20.2 on spectrograph #1. SN2_G2 = (S/N)^2 per pixel at g=20.2 on spectrograph #2. SN2_R1 = (S/N)^2 per pixel at r=20.25 on spectrograph #1. SN2_R2 = (S/N)^2 per pixel at r=20.25 on spectrograph #2. SN2_I1 = (S/N)^2 per pixel at i=19.9 on spectrograph #1. SN2_I2 = (S/N)^2 per pixel at i=19.9 on spectrograph #2. N_GALAXY = The number of objects Princeton-1D called a galaxy. N_QSO = The number of objects Princeton-1D called a QSO. N_STAR = The number of objects Princeton-1D called a star. N_UNKNOWN= The number of objects Princeton-1D declared spectroscopically unknown (a ZWARNING flag is set) N_SKY = The number of sky fibers (almost always exactly 32) N_TARGET_MAIN = Number of objects targetted for the main galaxy survey. N_TARGET_LRG = Number of objects targetted for the LRG galaxy survey. N_TARGET_QSO = Number of objects targetted for the QSO survey. SUCCESS_MAIN = Percentage success rate for objects targetted as "main" galaxies and spectroscopically classified as either "GALAXY" or "QSO". SUCCESS_LRG = Percentage success rate for objects targetted as LRG galaxies and spectroscopically classified as "GALAXY". SUCCESS_QSO = Percentage success rate for objects targetted as QSOs and spectroscopically classified as "QSO". STATUS2D = Status of Spectro-2D pipeline for reducing individual exposures; "Done" if done. STATUSCOMBINE = Status of Spectro-2D pipeline for combining individual exposures into the spPlate files; "Done" if done. STATUS1D = Status of Princeton-1D pipeline; "Done" if done. QSURVEY = Status flag set to 1 for the best observation of any tile on the sky that satisfies the following: (S/N)^2 > 13.0 for G1,G2,I1,I2, and the target version cannot be "special" or "devel". PUBLIC = Name of public data release; presently plates are either not public, or part of the Early Data Release (EDR) or Data Release 1 (DR1).
The values of SN2 give an estimate of the signal-to-noise (per pixel) of a plate at a fiducial magnitude. The fiducials are set to g=20.2, r=20.25, i=19.9. The measurement is of the signal-to-noise squared, per pixel, for an object at that magnitude. All these values must be > 13 for a plate to be "marginal". All these values must be > 15 for a plate to be "good".
The best effort to avoid duplicate objects is to make use of the SPECPRIMARY field in the spAll summary file. That selects the best observation of any given object.
Selecting only those plates with QSURVEY=1 will yield non-duplicate observations of tiles on the sky that meet the survey requirements for signal-to-noise. There still may be a few duplicate objects, as some objects are put on multiple tiles for "quality assurance". These duplicates can be identified with OBJTYPE="QA". That OBJTYPE column exists either in HDU #5 of the spPlate files, or in a column by that name in the spAll summary files.
Note that the above statements are almost but not exactly true. There were some target-selection errors that resulted in duplicated targets not labelled as "QA" (notably in runs 94 and 125; see sdss-spectro/710). The following IDL commands can be used to select a truly unique set of objects:
IDL> columns = ['PLATE','FIBER','MJD','OBJTYPE','PLUG_RA','PLUG_DEC'] IDL> spall = hogg_mrdfits('spAll-qsurvey.fits',1,columns=columns) IDL> spall = spall[where(strmatch(spall.objtype, 'QA*') EQ 0)] IDL> junk = djs_angle_group(spall.plug_ra, spall.plug_dec, 1./3600, $ gindx=gindx, gstart=gstart, gcount=gcount) IDL> spall = spall[gindx[gstart]]
The version of the code used in the reductions is specified in the header keywords VERS2D, VERSCOMB, VERS1D as described in the data model.
All these reductions were done using versions of the code tagged v4_9_8 through v4_10_6, which represents a fairly homogeneous set of reductions.
The Princeton re-reductions of the "public release" data is available from this web site.
Note that these reductions are not identical to the "official SDSS data release", but have several improvements and include our redshift fits, spectral classifications, velocity dispersions for galaxies, and emission line fits.
The spectroscopic data is reduced at Princeton, typically within 12 hours of the data being taken. These reductions are available directly from Princeton as described below.
At Princeton, the top-level directory for the reduced data is:
/u/dss/spectro
/u/dss/spectro_v4_8
To obtain the data from Princeton you will need access to the "alfred" account. Send your SSH public key (in the file ".ssh/identity.pub") to<EMAIL_ADDRESS>(See Mike Blanton's notes on generating ssh keys.) Once you have been added to the authorized_keys list for user "alfred", then you can copy the data with "rsync" or "scp".
Each plate has the following files associated with it:
$SPECTRO_DATA/$PLATE/spPlate-$PLATE-$MJD.fits $SPECTRO_DATA/$PLATE/spZbest-$PLATE-$MJD.fits $SPECTRO_DATA/$PLATE/spZline-$PLATE-$MJD.fits $SPECTRO_DATA/$PLATE/spZall-$PLATE-$MJD.fits
Most people will only want the summary files, combined spectra and 1D outputs (redshifts). These total about 125 Gb for 1300 plates as of Feb 2004. The following command will copy that entire list of files (eventually). Should the copy be interrupted, the "rsync" command can be invoked again to successfully copy the remainder of the data.
rsync -arv --rsh="ssh1" --copy-unsafe-links \ --include "*/" \ --include "platelist*" --include "spAll*" \ --include "*spZ*.fits" --include "spPlate*.fits" \ --exclude "*" \ alfred@sdssdata.astro.princeton.edu:/u/dss/spectro/ .
These spectroscopic reductions are completely automated with the Spectro Robot. As data are taken at Apache Point, the data are copied to Princeton, plan files are built that describe how to reduce the data, and the reductions are batched on local and remote CPU's. You can expect all spectroscopic observations to be reduced within 24 hours.
An efficient way to keep your copy of these reductions current is to use the Unix "rsync" command as described above. A cleaner implementation of this is to use the pullspectra script from the "idlspec2d" product. If you run "rsync" or "pullspectra" each day or each week, it will only copy files that have been changed or added. This is a convenient way to keep your data up-to-date without re-copying everything en-masse. Note that you need "ssh" to work without asking for a pass-phrase for "rsync" to work as a cron job (see below) -- see your system admin if you need help with that.
Finally, you could set up a "cron" job to update your copy of the data on a daily basis. This would be done by creating a cron table file (call it "cron.table" in this example). If you want to copy the typical set of spectroscopic outputs every day at 3:15 am, this file would look something like this:
15 3 * * * /my/directory/bin/pullspectra /my/data
crontab cron.table
crontab -r
There are a number of "special" plates, designed for commissioning either the hardware or target selection for the survey. These plates are:
We generated one monstrous file with all the spectroscopic and photometric outputs (but not the actual images, spectra or spectroscopic line fits). These files are FITS binary tables. The photometric information is from the best-available ``uber-calibration'' of the imaging data as of April 2005. The details of the photometric information can be found here: http://photo.astro.princeton.edu/#data_model . These files include matches to to the FIRST radio catalog, the 2MASS catalog, and the USNO-B astrometric catalog. The following files exist:
The following information is compiled for each object:
| PROGNAME | Spectroscopic program: 'main' for the SDSS main survey, 'southern' for the SDSS Southern survey, and 'devel', 'special', 'photoz' for other assorted programs |
| CHUNKNAME | Targetting chunk name (this is a numeric value for all plates in the 'main' or 'southern' survey) |
| PLATEQUALITY | Quality of plate from platelist file: 'bad', 'marginal', or 'good' |
| PLATESN2 | Signal-of-noise measure of the plate (the worst of the 4 cameras) |
| SPECPRIMARY | 1 for the best spectroscopic observation of each object, 0 otherwise |
| SPECOBJ_ID | Unique ID for spectroscopic objects, starting with 1; objects at the same coordinates have the same ID, with only one being SPECPRIMARY |
| NSPECOBS | Number of spectroscopic observations of this object |
| ZANS | ZANS structure from spZbest file with spectroscopic classifications (CLASS), redshifts (Z), etc. |
| calibObj | calibObj structure with all imaging parameters; fluxes are in units of nano-maggies, so MAG=22.5-2.5*log10(FLUX) |
In addition, we've also made ASCII files with the most relevant quantities that one may wish to search on. These files are "spAll*.dat", and are basically a stripped-down version of "spAll*.fits" for those FITS-challenged astronomers. I have made some small changes to the ASCII file to make it more convenient with Unix commands such as "awk" that want to index based upon word number: (1) blank strings have been replaced with double-quotes, and (2) spaces within strings have been replaced with plus signs (i.e., replacing "BROADLINE STARBURST" with "BROADLINE+STARBURST").
These photometric outputs are from the Princeton PHOTO reductions.
If you have access to the Princeton computers, these trimmed calibObj files can be found at:
sdssdata.astro.princeton.edu:/u/dss/spectro/calibobj
The summary files make it convenient to select complete samples. There are three complete samples that one can generate from the SDSS spectra: the "main" galaxy sample, the Luminous Red galaxy sample (LRGs), and QSOs. For complete samples, one should only use those plates that are for the PROGNAME="main" survey (not "southern", "photoz", etc.) and the primary observations of each object (SPECPRIMARY=1).
The main galaxy survey is selected from the target flags being set to GALAXY, GALAXY_BIG, or GALAXY_BRIGHT_CORE. The following bit of IDL code will select a unique list of objects targetted by the main galaxy survey that have been spectroscopically confirmed as galaxies or QSOs:
IDL> columns = ['PLATE','FIBER','MJD','OBJTYPE','PLUG_RA','PLUG_DEC', $ 'PROGNAME','SPECPRIMARY','PRIMARGET','SECTARGET','CLASS','Z','ZWARNING'] IDL> spall = hogg_mrdfits('spAll.fits',1,columns=columns) IDL> imain = where(spall.specprimary EQ 1 $ AND strmatch(spall.progname,'main*') $ AND (spall.primtarget AND 2L^6 + 2L^7 + 2L^8) NE 0 $ AND (strmatch(spall.class,'GALAXY*') OR strmatch(spall.class,'QSO*')) $ AND spall.zwarning EQ 0)
IDL> columns = ['PLATE','FIBER','MJD','OBJTYPE','PLUG_RA','PLUG_DEC', $ 'PROGNAME','SPECPRIMARY','PRIMARGET','SECTARGET','CLASS','Z','ZWARNING'] IDL> spall = hogg_mrdfits('spAll.fits',1,columns=columns) IDL> ilrg = where(spall.specprimary EQ 1 $ AND strmatch(spall.progname,'main*') $ AND (spall.primtarget AND 2L^5 + 2L^26) NE 0 $ AND strmatch(spall.class,'GALAXY*') $ AND spall.zwarning EQ 0)
IDL> columns = ['PLATE','FIBER','MJD','OBJTYPE','PLUG_RA','PLUG_DEC', $ 'PROGNAME','SPECPRIMARY','PRIMARGET','SECTARGET','CLASS','Z','ZWARNING'] IDL> spall = hogg_mrdfits('spAll.fits',1,columns=columns) IDL> iqso = where(spall.specprimary EQ 1 $ AND strmatch(spall.progname,'main*') $ AND (spall.primtarget AND 2L^0 + 2L^1 + 2L^2 +2L^3 + 2L^4) NE 0 $ AND strmatch(spall.class,'QSO*') $ AND spall.zwarning EQ 0)
These same selections can be made from the ASCII version of the spAll summary files using the Unix "awk" command. To select the main sample of galaxies (the following must all be on one line):
% awk '{if (($22==1) && ($21=="main") && (and($19,2^6+2^7+2^8) != 0) && ($4=="GALAXY" || $4=="QSO") && ($8==0)) {print $0}}' spAll.dat > galaxies.dat
% awk '{if (($22==1) && ($21=="main") && (and($19,2^5+2^26) != 0) && ($4=="GALAXY") && ($8==0)) {print $0}}' spAll.dat > lrgs.dat
% awk '{if (($22==1) && ($21=="main") && (and($19,2^0+2^1+2^2+2^3+2^4) != 0) && ($4=="QSO") && ($8==0)) {print $0}}' spAll.dat > qsos.dat
As of 31 May 2002, the above would select complete samples of 185,899 galaxies, 51,417 LRGs, and 22,245 QSOs.
Since standard FITS files are used, there are many ways to access these data. Below are descriptions of specially-written IDL, SM, and IRAF code for looking at the data. If you write any such tools, it would be useful to make them available to the collaboration by posting them on this site.
The absolute simplest way to look at the data is to use ATV, SAOimage or XIMTOOL to display the plate images (spPlate*.fits), which will show you all 640 spectra on a plate at once.
You must have "idl" in your path, and the IDL_PATH environment variable should already be set. At Princeton, you would type the following for C-shell:
source /usr/peyton/common/licensed/idl/bin/idl_setup setenv IDL_PATH .:+{$IDL_DIR}/lib
IDL_DIR=/usr/peyton/common/licensed/idl IDL_PATH=.:+{$IDL_DIR}/lib alias idl=$IDL_DIR/bin/idl
If you have someone maintaining survey code at your institution (i.e., at Princeton using a Linux box), you can set up the tools by simply typing the following for C-shell:
setenv EUPS_FLAVOR Linux source /u/dss/products/evilups/bin/setups.csh # If you are using C-shell setup idlspec2d
export SHELL=/bin/bash export EUPS_FLAVOR=Linux source /u/dss/products/evilups/bin/setups.sh # If you are using Bourne-shell setup idlspec2d
If you need to install the code yourself, you need two products: "idlutils", and "idlspec2d". If you wish to reduce the raw data from scratch, you will also need a third product called "specflat". See the instructions for installing this code at:
http://spectro.princeton.edu/idlspec2d_install.html
Extensive documentation exists for the commands described below, in the file:
$IDLSPEC2D_DIR/doc/www/idlspec2d_doc.html
First, set up the "idlutils" and "idlspec2d" software, as described above.
You need to set an environment variable that points to the top-level directory of the data. At Princeton, this would be:
setenv SPECTRO_DATA /u/dss/spectro
Start IDL with:
idl
Then from within IDL, you can display individual spectra as following. To display plate 401, fiber 100:
IDL> plotspec, 401, 100
Make the same plot, but boxcar-smooth the spectrum:
IDL> plotspec, 401, 100, nsmooth=10
Some plates are observed on multiple nights. To select one of the two observations of plate 306:
IDL> plotspec, 306, 20, mjd=51690
You can write the spectrum to an ASCII file as follows:
IDL> writespec, 401, 100
IDL> writespec, 401, 100, filename='junk.dat'
Quitting IDL:
IDL> exit
For IDL pundits, the general-purpose routine for reading the the coadded spectra is READSPEC, or SPFRAME_READ for reading the spectra from a single exposure.
The SM tools were written by Michael Strauss, Vijay Narayanan, and Robert Lupton.
Problems and suggestions should be reported to Michael Strauss (strauss@astro.princeton.edu).You will need a version of SM which supports FITS extensions (version SM2_4_8 or later). If you have a valid SM license, you or your system admin should be able to install this (see the bottom of Michael's README file.
At Princeton, you could type the following to display plate 306 fiber 100, then overplot the best-fit template:
setenv SPECTRO_DATA /u/dss/spectro setenv IDLSPEC2D_DIR /u/schlegel/idlspec2d cd ~strauss/spectro_sm/release sm dev x11 input_new spectro.sm define idl 1 plotspec 306 100 t
Described below is the most basic method of plotting the spectra from IRAF. Better tools will be posted on this page as they are available.
Use the splot task in the noao.onedspec package. For example:
cl> noao no> onedspec on> splot spPlate-0311-51665.fits[0][*,1] # plot fiber 1's flux on> splot spPlate-0311-51665.fits[1][*,1] # plot fiber 1's inverse variance ** on> splot spPlate-0311-51665.fits[0] # interactively plot fluxes: Image line/aperture to plot (0:) (1): 65 # start w/fiber 65; use # to choose # a new fiber, or ( and ) to move down and up by 1 in number; q to quit on> phelp splot # for detailed help on splot on> phelp onedspec # for summary of other tasks, e.g.: on> specplot spPlate-0311-51665.fits[0][*,1],spPlate-0311-51665.fits[0][*,2] # stack and plot fibers 1 and 2 without overlapping
Pat Hall has written an IRAF package, PHIST, for displaying SDSS spectra. It does not have all the functionality of the IDL tools, but does have some complementary functions. The task list is as follows:
dec2seg - convert decimal coordinates to sexigesimal doigi - run existing IGI script hexprint - convert a decimal number to hexadecimal ionlte - calculate LTE ratios of MgI-III,AlI-IV,FeI-IV for given n_e,T ranges lplots - overplot wavelengths of emission / absorption lines for given z lplots2 - 2-panel lplots mkfitsobs - make coadded FITS and text spectrum mkobs - make text spectrum from FITS spectrum sbqgr - sample task for converting GR's SX .tbl output to formatted ASCII sbqsx - sample task for converting SX .tbl output to formatted ASCII sbqsx2 - another task for converting SX .tbl output to formatted ASCII seg2dec - convert sexigesimal coordinates to decimal spdata - get objid,mags,ra,dec,objtype from spectrum (plate,mjd,fiber) splat - interactively SPLOT a specific observation (plate+mjd+fiber) splet - non-interactively SPECPLOT an observation and its error spectrum unredden - deredden spectrum using SMC or LMC extinction curve vcalc - calculate velocity offset in quasar rest frame vplot - overplot wavelengths of emission / absorption lines in velocity space vplots - multiple vplot wcalc - calculate vacuum wavelength from air wavelength zplot - plot spectrum in the rest frame at the specified zHere's the README file on how to retrieve & install the package for version v.2 (December 2001):
PHIST -- Pat Hall's IRAF SDSS Tasks v.2 011207 Read "phist.hlp" ("phelp phist opt=sys" in IRAF) for an introduction. Entire package available as a compressed tarfile from http://astro.princeton.edu/~pathall/phist2.tar.gz To install, enter the proper pathnames in "phist.cl" and "phist.hd", load the IRAF "softools" package, and type "mkhelpdb root.hd helpdb.mip", deleting the old helpdb.mip if necessary. See "phist.hlp" for how to include the package in your default IRAF startup.
This file contains the extracted spectra for a single CCD of a single exposure. In general, each object has several blue exposures and several red exposures. These spectra are still in the native wavelength mapping, which is neither linear in wavelength nor log-wavelength. However, the spectra are flux-calibrated, and deviant pixels are rejected in the pixel mask (from the comparison with the other exposures).
The spCFrame file contains the following:
HDU #0 = Flux in units of 10^(-17) erg/s/cm^2/Ang [FLOAT] HDU #1 = Inverse variance (1/sigma^2) for the above [FLOAT] HDU #2 = Pixel mask [32-bit INT] HDU #3 = Wavelength solution in log-10 Angstroms (vacuum) [FLOAT] HDU #4 = Wavelength dispersion in units of (10^(-4) log-10 wavelength)^(-1) [FLOAT] (these are the same units as in the combined-spectrum spPlate file) HDU #5 = Plug-map structure from plPlugMapM file [BINARY FITS TABLE] HDU #6 = Sky flux in units of 10^(-17) erg/s/cm^2/Ang [FLOAT] HDU #7 = X position on the CCD [FLOAT]
The log file from running SPREDUCE2D for one night of data for one plate.
The PostScript plots associated with the spDiag2d-pppp-mmmmm.log file.
This file contains the combined spectra for all exposures (potentially spanning multiple nights) for a given mapped plate. The first 5 HDU's contain NPIX by 640 images, where NPIX is the number of wavelengths. The pixel scale is exactly 1e-4 in log-wavelength (any units), which corresponds to 1e-4 * c * ln(10) = 69.029765 km/sec.
The spPlate file contains the following:
HDU #0 = Flux in units of 10^(-17) erg/s/cm^2/Ang [FLOAT] HDU #1 = Inverse variance (1/sigma^2) for the above [FLOAT] HDU #2 = AND mask [32-bit INT] HDU #3 = OR mask [32-fit INT] HDU #4 = Wavelength dispersion in pixels [FLOAT] HDU #5 = Plug-map structure from plPlugMapM file [BINARY FITS TABLE] HDU #6 = Average sky flux in units of 10^(-17) erg/s/cm^2/Ang [FLOAT]
The following header keywords are of interest (in HDU #0):
PLATEID = Plate ID TILEID = Tile ID MJD = Modified Julian date for first night of observation MJDLIST = Modified Julian date for all nights of observation MAPID = Fiber mapper ID CARTID = Fiber cartridge used at the telescope NAME = Name of target: Plate ID, MJD, Fiber mapper rerun COEFF0 = Central wavelength (log10-Angstroms) of first pixel COEFF1 = Wavelength range of each pixel (log-10 Angstroms) CRVAL1 = (Same as COEFF0) CD1_1 = (Same as COEFF1) RADEG = Right ascension of plate center (J2000 degrees) DECDEG = Declination of plate center (J2000 degrees) AIRMASS = Airmass for mid-point of observation RA = Right ascension of where the telescope thinks it is pointing DEC = Declination of where the telescope thinks it is pointing AZ = Azimuth of the telescope (degrees) ALT = Altitude of the telescope (degrees) NEXP = Total number of frames from all cameras used in the co-adding; since there are 4 cameras, NEXP=12 would typically mean that there were 3 exposures in each camera. EXPT_B1 = b1 camera exposure time (seconds) EXPT_B2 = b2 camera exposure time (seconds) EXPT_R1 = r1 camera exposure time (seconds) EXPT_R2 = r2 camera exposure time (seconds) EXPTIME = Minimum of exposure times for all cameras SPEC1_G = (S/N)^2 per pixel at g=20.2 on spectrograph #1 SPEC2_G = (S/N)^2 per pixel at g=20.2 on spectrograph #2 SPEC1_R = (S/N)^2 per pixel at r=20.25 on spectrograph #1 SPEC2_R = (S/N)^2 per pixel at r=20.25 on spectrograph #2 SPEC1_I = (S/N)^2 per pixel at i=19.9 on spectrograph #1 SPEC2_I = (S/N)^2 per pixel at i=19.9 on spectrograph #2 GOFFSTD = Median spectrophotometry minus photo mag for standard stars in g-band ROFFSTD = Median spectrophotometry minus photo mag for standard stars in r-band IOFFSTD = Median spectrophotometry minus photo mag for standard stars in i-band GOFFRMS = RMS of spectrophotometry minus photo mag for standard stars in g-band ROFFRMS = RMS of spectrophotometry minus photo mag for standard stars in r-band IOFFRMS = RMS of spectrophotometry minus photo mag for standard stars in i-band GOFFGAL = Median spectrophotometry minus photo mag for "main" galaxies in g-band ROFFGAL = Median spectrophotometry minus photo mag for "main" galaxies in r-band IOFFGAL = Median spectrophotometry minus photo mag for "main" galaxies in i-band GOFFGAL = RMS of spectrophotometry minus photo mag for "main" galaxies in g-band ROFFGAL = RMS of spectrophotometry minus photo mag for "main" galaxies in r-band IOFFGAL = RMS of spectrophotometry minus photo mag for "main" galaxies in i-band BESTEXP = Exposure number for the "best" exposure (all 4 cameras) EXPIDxx = Identifier for the each invididual exposure+CCD used in this combine, for ex. 'b1-00006853-00006857-00006858' refers to the b1 CCD, exposure #6853, using flat #6857 and arc #6858 TAI = Number of seconds since Nov 17 1858 for mid-point of observation TAI-BEG = Number of seconds since Nov 17 1858 for beginning of observation TAI-END = Number of seconds since Nov 17 1858 for end of observation SEEING20= 20th-percentile of seeing during exposure (arcsec) SEEING50= 50th-percentile of seeing during exposure (arcsec) SEEING80= 80th-percentile of seeing during exposure (arcsec) RMSOFF20= 20th-percentile of RMS offset of guide fibers (arcsec) RMSOFF50= 50th-percentile of RMS offset of guide fibers (arcsec) RMSOFF80= 80th-percentile of RMS offset of guide fibers (arcsec) VERSIDL = Version of IDL VERS2D = Version of idlspec2d for 2D reduction VERSCOMB= Version of idlspec2d for combining multiple spectra VERSFLAT= Version of specflat for spectroscopic flat-fields VERS1D = Version of idlspec2d for 1D reduction HELIO_RV= Barycentric velocity correction (km/sec)
There are two masks, an "AND" mask and an "OR" mask. The spectra are constructed from 3 or more 15-minute observations, and the "AND" mask bits are set if that bit is set for each and every input observation. The "OR" mask bits are set if that bit is set for any of the observations. Usually, I only look at the "AND" mask.
The mask bits are set as follows:
0 NOPLUG Fiber not listed in plugmap file 1 BADTRACE Bad trace from routine TRACE320CRUDE 2 BADFLAT Low counts in fiberflat 3 BADARC Bad arc solution 4 MANYBADCOLUMNS >10% pixels are bad columns 5 MANYREJECTED >10% pixels are rejected in extraction 6 LARGESHIFT Large spatial shift between flat and object pos'n 7 BADSKYFIBER Sky Fiber shows extreme residuals 8 NEARWHOPPER Within 2 fibers of a whopping fiber (inclusive) 10 SMEARIMAGE Smear available for red and blue cameras (deprecated) 11 SMEARHIGHSN S/N sufficient for full smear fit (deprecated) 12 SMEARMEDSN S/N only sufficient for scaled median fit (deprecated) 16 NEARBADPIXEL Bad pixel within 3 pixels of trace 17 LOWFLAT Flat field less than 0.5 18 FULLREJECT Pixel fully rejected in extraction (INVVAR=0) 19 PARTIALREJECT Some pixels rejected in extraction 20 SCATTEREDLIGHT Scattered light significant 21 CROSSTALK Cross-talk significant 22 NOSKY Sky level unknown at this wavelength (INVVAR=0) 23 BRIGHTSKY Sky level > flux + 10*(flux error) AND sky > 2.0 * median(sky,99 pixels) 24 NODATA No data available in combine B-spline (INVVAR=0) 25 COMBINEREJ Rejected in combine B-spline 26 BADFLUXFACTOR Low flux-calibration or flux-correction factor 27 BADSKYCHI Relative chi^2 > 3 in sky residuals at this wavelength 28 REDMONSTER Contiguous region of bad chi^2 in sky residuals (with threshhold of relative chi^2 > 3)
When low numbered bits (<16) are set, those will be set for half of the spectra -- either the blue or red spectrograph. The higher-numbered bits (>=16) are set for individual pixels.
Which mask bits are important? The conditions that are considered very bad are already used to set the errors to infinity for the effected pixels (specifically, the inverse variance is set to zero). The most useful mask bit to look at is BRIGHTSKY, which indicates when the sky is so bright relative to the object that perhaps one shouldn't trust any of the object flux there. Our reported errors are meant to include sky-subtraction errors, but there are instances (particularly around 5577) where these errors may be untrustworthy.
Dispersion and sky: The dispersion per pixel and the sky flux are computed at each pixel by re-weighting the individual spectra at each pixel according to their formal errors. This re-weighting is only approximate.
Sky wavelengths: Note that the sky lines are slightly shifted in the reductions because we transform the velocities to the barycenter of the solar system. Each exposure that contributes to the co-added spectra will have slightly different barycenter correction, so the "average sky" contains a superposition of these slightly-offset sky lines. These shifts keep the object spectra as-measured at the barycenter, regardless of the time of year or the Earth's rotation relative to the spectroscopic targets.
This file contains the spectroscopic classifications and redshifts from the Princeton-1D code. Ths first HDU is the FITS binary table described below. The 2nd HDU is the best-fit eigen-spectrum for each object. These can be regenerated from the tabular information, but for convenience I've explicitly computed them.
The columns in the first HDU are as follows:
PLATE Plate number TILE Tile number MJD Modified Julian date of observation FIBERID Fiber ID (1 to 640) OBJID 4-element PHOTO ID of targetted object: run, re-run, column, ID OBJTYPE Why this object was targetted. Note that if this field says QSO, it could be the case that this object would have been targetted as a GALAXY or any number of other categories as well. The PRIMTARGET and SECTARGET flags in the plug-map structure (in the spPlate file) gives this full information. PLUG_RA Object RA (drilled fiber position) [J2000 degrees]. PLUG_DEC Object DEC (drilled fiber position) [J2000 degrees]. CLASS Spectro classification: GALAXY, QSO, STAR; reductions prior to version v4_7 will also use SKY and UNKNOWN; later versions set the ZWARNING flags SUBCLASS Spectro sub-classification. Galaxies and QSO's can be given sub-classifications based upon their emission lines. This text includes the word "AGN" if: log10(OIII/Hbeta) > 0.7 - 1.2 * (log10(NII/Halpha) - 0.4) This text includes the word "STARFORMING" if: log10(OIII/Hbeta) < 0.7 - 1.2 * (log10(NII/Halpha) - 0.4) If the H_alpha E.W. > 500 Ang, then upgrade "STARFORMING" to "STARBURST." In all cases for AGN, STARFORMING, and STARBURST, the 4 emission lines used for that sub-classification must have well-measured errors (e.g., LINEAREA_ERR > 0). If any galaxies or quasars have lines detected at the 10-sigma level with sigmas > 200 km/sec at the 5-sigma level, call them "BROADLINE". For stars, the following subclassifications are in use: O, OB, B6, B9, A0, A0p, F2, F5, F9, G0, G2, G5, K1, K3, K5, K7, M0V, M2V,M1, M2, M3, M4, M5, M6, M7, M8, L0, L1, L2, L3, L4, L5, L5.5, L9, T2, Carbon, Carbon_lines, CarbonWD, CV. Z Redshift; if the ZWARNING flag is nonzero, then assume that this redshift is incorrect Z_ERR Redshift error based upon fit to chi^2 minimum; negative for invalid fit RCHI2 Reduced chi^2 for best fit DOF Degrees of freedom for best fit RCHI2DIFF Difference in reduced chi^2 of best solution to 2nd best solution TFILE Template file in $IDLSPEC2D_DIR/templates TCOLUMN Columns to use in template file (0-indexed); unused values set to -1 NPOLY Number of polynomial terms used in conjunction with TFILE THETA Eigenvalue coefficients for each column in template file + each polynomial term THETA_COVAR Covariance matrix for THETA, where the square root of the diagonal elements gives the formal 1-sigma statistical errors VDISP Velocity dispersion, only computed for galaxies (km/sec) and explicitly masking emission line regions VDISP_ERR Error in VDISP (km/sec); negative for invalid fit VDISPZ Redshift for best-fit velocity dispersion VDISP_ERR Error in VDISPZ VDISPCHI2 Chi^2 for best-fit velocity dispersion VDISPNPIX Number of pixels overlapping the templates used in the velocity dispersion fit VDISPDOF Degrees of freedom for best-fit velocity dispersion, equal to VDISPNPIX minus the number of templates minus the number of polynomial terms minus 1 (the last 1 is for the velocity dispersion) WAVEMIN Minimum observed (vacuum) wavelength for this object (Angstroms) WAVEMAX Maximum observed (vacuum) wavelength for this object (Angstroms) WCOVERAGE Amount of wavelength coverage in log-10(Angstroms) ZWARNING A flag set for bad redshift fits in place of calling CLASS=UNKNOWN. The following bits may be set: 0 = Sky fiber 1 = Too little wavelength coverage (WCOVERAGE < 0.18) 2 = Chi^2 is too close to chi^2 for the next best fit (within 0.01 in the reduced chi^2) 3 = Synthetic spectrum is negative (only set for stars and QSO's) 4 = Fraction of points above 5 sigma is too large (> 5%) 5 = Chi^2 minimum was at the edge of the redshift-fitting range, resulting in Z_ERR being set to -1 6 = Negative emission in a QSO line, triggered only in QSO spectra iff C_IV, C_III, Mg_II, H_beta, or H_alpha has LINEAREA + 3 * LINEAREA_ERR < 0 SN_MEDIAN Median S/N for all good pixels CHI68P 68-th percentile value of abs(chi) of the best-fit synthetic spectrum to the actual spectrum, which would be 1.0 for a good fit if the errors are properly normalized. FRACNSIGMA Fraction of pixels deviant by more than N sigma, where N=[1,2,...10] (igorning all points blueward of rest-frame 1216 Ang) FRACNSIGHI Fraction of pixels high by more than N sigma, where N=[1,2,...10] (igorning all points blueward of rest-frame 1216 Ang) FRACNSIGLO Fraction of pixels low by more than N sigma, where N=[1,2,...10] (igorning all points blueward of rest-frame 1216 Ang) (incorrectly computed for versions of the code before v4_9_10) SPECTROFLUX 5-element array of integrated flux in each of the 5 SDSS imaging filters (ugriz); the units are nanomaggies, which is 1 at 22.5 magnitude; convert to magnitudes with 22.5 - 2.5 * LOG_10(SPECTROFLUX); the u-band and z-band counts should not be used SPECTROFLUX_IVAR: The approximate error (inverse variance) in SPECTROFLUX as measured by the sky fibers; we assign identical errors in linear flux units to all fibers on a plate. SPECTROSYNFLUX: Same as SPECTROFLUX, but measured using the best-fit synthetic eigen-spectrum rather than the actual data points SPECTROSYNFLUX_IVAR: The approximate error (inverse variance) in SPECTROSYNFLUX as measured by the sky fibers; we assign identical errors in linear flux units to all fibers on a plate. SPECTROSKYFLUX: 5-element array of the sky flux in each of the 5 SDSS imaging filters ANYANDMASK Mask bits which are set if any pixels for an object's ANDMASK have that bit set (these fields incorrect in current reductions) ANYORMASK Mask bits which are set if any pixels for an object's ORMASK have that bit set (these fields incorrect in current reductions) SPEC1_G (S/N)^2 at g=20.20 for spectrograph #1 (same value for 320 fibers) SPEC1_R (S/N)^2 at r=20.25 for spectrograph #1 (same value for 320 fibers) SPEC1_I (S/N)^2 at i=19.90 for spectrograph #1 (same value for 320 fibers) SPEC2_G (S/N)^2 at g=20.20 for spectrograph #2 (same value for 320 fibers) SPEC2_R (S/N)^2 at r=20.25 for spectrograph #2 (same value for 320 fibers) SPEC2_I (S/N)^2 at i=19.90 for spectrograph #2 (same value for 320 fibers) ELODIE_FILENAME File name for best-fit Elodie star ELODIE_OBJECT Star name (mostly Henry Draper names) ELODIE_SPTYPE Spectral type ELODIE_BV (B-V) color ELODIE_TEFF Effective temperature ELODIE_LOGG Log10(gravity) ELODIE_FEH [Fe/H] ELODIE_Z Redshift ELODIE_Z_ERR Redshift error; negative for invalid fit ELODIE_Z_MODELERR The standard deviation in redshift amongst the 12 best-fit stars ELODIE_RCHI2 Reduced chi^2 ELODIE_DOF Degrees of freedom for fit VELOCITY_TAI Timestamp for each exposure [sec] VELOCITY Velocity for each exposure [km/s], where the first exposure should be zero within roundoff VELOCITY_ERR Error in VELOCITY [km/s] VELOCITY_COVAR Covariance matrix for VELOCITY, where the square root of the diagonal elements gives the formal 1-sigma statistical errors
This file contains the line fits from from the Princeton-1D code.
The columns in the first HDU are as follows:
PLATE Plate number MJD Modified Julian date of observation FIBERID Fiber ID (1 to 640) LINENAME Line name LINEWAVE Catalog wavelength for this line in vacuum Angstroms LINEZ Redshift LINEZ_ERR Redshift error (negative for invalid fit) LINESIGMA Gaussian width in km/sec LINESIGMA_ERR Error in gaussian width (negative for invalid fit) LINEAREA Area in gaussian fit where units are (flux-units) * Ang LINEAREA_ERR Flux error (negative for invalid fit) LINEEW Equivalent width (Angstroms) LINEEW_ERR Equivalent width error (negative for invalid fit) LINECONTLEVEL Continuum level at line center LINECONTLEVEL_ERR Error in continuum level at line center LINENPIX Number of good pixels within +/- 3 sigma of the line center LINEDOF Degrees of freedom in fit, approximated as LINENPIX minus the number of terms fit for that line, which can be fractional if one parameter if fixed betwen several lines LINECHI2 Chi^2 for all points within +/- 3 sigma of the line center (negative if no such points)
The following lines are fit. Lines with the same ZINDEX are constrained to have the same redshift. Lines with the same WINDEX are constrained to have the same gaussian width. The flux ratios of [O_III] and [N_II] are are constrained to be 1:3.
| LINEWAVE | LINENAME | ZINDEX | WINDEX | Flux ratio |
|---|---|---|---|---|
| 1215.67 | Ly_alpha | z_lya | w_ly_a | |
| 1240.81 | N_V 1240 | zemission | w_n_v | |
| 1549.48 | C_IV 1549 | zemission | wemission | |
| 1640.42 | He_II 1640 | zemission | wemission | |
| 1908.734 | C_III] 1908 | zemission | wemission | |
| 2799.49 | Mg_II 2799 | zemission | wemission | |
| 3726.032 | [O_II] 3725 | zemission | wemission | |
| 3728.815 | [O_II] 3727 | zemission | wemission | |
| 3868.75 | [Ne_III] 3868 | zemission | wemission | |
| 3889.049 | H_epsilon | zemission | w_balmer | |
| 3970.00 | [Ne_III] 3970 | zemission | wemission | |
| 4101.734 | H_delta | zemission | w_balmer | |
| 4340.464 | H_gamma | zemission | wemission | |
| 4363.209 | [O_III] 4363 | zemission | wemission | |
| 4685.68 | He_II 4685 | zemission | wemission | |
| 4861.325 | H_beta | zemission | w_balmer | |
| 4958.911 | [O_III] 4959 | zemission | wemission | |
| 5006.843 | [O_III] 5007 | zemission | wemission | 3 * ([O_III] 4959) |
| 5411.52 | He_II 5411 | zemission | wemission | |
| 5577.339 | [O_I] 5577 | zemission | wemission | |
| 6300.304 | [O_I] 6300 | zemission | wemission | |
| 6363.776 | [O_I] 6363 | zemission | wemission | |
| 6548.05 | [N_II] 6548 | zemission | wemission | |
| 6562.801 | H_alpha | zemission | w_balmer | |
| 6583.45 | [N_II] 6583 | zemission | wemission | 3 * ([N_II] 6548) |
| 6716.44 | [S_II] 6716 | zemission | wemission | |
| 6730.82 | [S_II] 6730 | zemission | wemission | |
| 7135.790 | [Ar_III] 7135 | zemission | wemission |
This file is a FITS binary table identical in form to the spZbest file, but with all the fits ever done to each object. This includes 5 possible galaxy redshifts, 5 possible QSO redshifts, and 1 for each of many types of stars. They are rank-sorted for each object, letting you go through and keep asking "but what's the next best fit?". This is what the IDL procedure plotspec uses when the ZNUM keyword is specified. For example, ZNUM=2 will over-plot the 2nd-best fit eigenspectrum.
For the v4_9_8 through v5_0_0 reductions, NAXIS2=33280 in HDU#1 for the spZall files, meaning there are fits for 33280/640 = 52 sets of eigentemplates per object. Most of those are single-eigenspectra stars.
Not all of the parameters in the spZbest file are computed for the spZall file. For example, the SDSS filter convolutions are not done.
The log file from running the Princeton-1D reduction code (SPREDUCE1D) on a plate.
The PostScript plots associated with the spDiag1d-pppp-mmmmm.log file.
The target selection sets bits in two flags called PRIMTARGET and SECTARGET. An object can have multiple bits set. For example, if the target selection code determined that an object was both a QSO_SKIRT and a STAR_WHITE_DWARF, then two bits will be set. The value of PRIMTARGET in this example will be 2^4 + 2^19 = 524304.
Let's say you want to find all objects either targetted as a carbon star, or spectroscopically classified as one. All this information is in the summary file "spAll.fits". From IDL, one could search for these objects and print their PLATE, MJD, and FIBERID as follows:
IDL> a = mrdfits('spAll.fits',1) ; This file should be in your current directory IDL> i = where((a.primtarget AND 2L^14) NE 0) IDL> print, transpose([[a[i].plate],[a[i].mjd],[a[i].fiberid]]) [ Prints list of objects targetted as a Carbon star.] IDL> i = where(strmatch(a.subclass, 'Carbon*') AND a.zwarning EQ 0) IDL> print, transpose([[a[i].plate],[a[i].mjd],[a[i].fiberid]]) [ Prints list of objects spectroscopically called a Carbon star.]
Now plot all of the objects found above:
IDL> i=0 & plotspec, a.plate, a.fiberid, mjd=a.mjd
The PRIMTARGET bit values are as follows (in hex and decimal):
QSO_HIZ = 0x1 = bit # 0 = 1 QSO_CAP = 0x2 = bit # 1 = 2 QSO_SKIRT = 0x4 = bit # 2 = 4 QSO_FIRST_CAP = 0x8 = bit # 3 = 8 QSO_FIRST_SKIRT = 0x10 = bit # 4 = 16 QSO_MAG_OUTLIER = 0x2000000 = bit #25 = 33554432 QSO_REJECT = 0x20000000 = bit #29 =536870912 GALAXY_RED = 0x20 = bit # 5 = 32 GALAXY_RED_II = 0x4000000 = bit #26 = 67108864 GALAXY = 0x40 = bit # 6 = 64 GALAXY_BIG = 0x80 = bit # 7 = 128 GALAXY_BRIGHT_CORE= 0x100 = bit # 8 = 256 ROSAT_A = 0x200 = bit # 9 = 512 ROSAT_B = 0x400 = bit #10 = 1024 ROSAT_C = 0x800 = bit #11 = 2048 ROSAT_D = 0x1000 = bit #12 = 4096 ROSAT_E = 0x8000000 = bit #27 =134217728 STAR_BHB = 0x2000 = bit #13 = 8192 STAR_CARBON = 0x4000 = bit #14 = 16384 STAR_BROWN_DWARF = 0x8000 = bit #15 = 32768 STAR_SUB_DWARF = 0x10000 = bit #16 = 65536 STAR_CATY_VAR = 0x20000 = bit #17 = 131072 STAR_RED_DWARF = 0x40000 = bit #18 = 262144 STAR_WHITE_DWARF = 0x80000 = bit #19 = 524288 STAR_PN = 0x10000000 = bit #28 =268435456 SERENDIP_BLUE = 0x100000 = bit #20 = 1048576 SERENDIP_FIRST = 0x200000 = bit #21 = 2097152 SERENDIP_RED = 0x400000 = bit #22 = 4194304 SERENDIP_DISTANT = 0x800000 = bit #23 = 8388608 SERENDIP_MANUAL = 0x100000 = bit #24 = 16777216 QSO_MAG_OUTLIER = 0x200000 = bit #25 = 33554432 GALAXY_RED_II = 0x400000 = bit #26 = 67108864 ROSAT_E = 0x800000 = bit #27 =134217728 STAR_PN = 0x1000000 = bit #28 =268435456 QSO_REJECT = 0x2000000 = bit #29 =536870912 SOUTHERN_SURVEY = 0x8000000 = bit #31 =-2147483648
The SECTARGET bit values are as follows (in hex and decimal):
LIGHT_TRAP = 0x1 = bit # 0 = 1 REDDEN_STD = 0x2 = bit # 1 = 2 TEST_TARGET = 0x4 = bit # 2 = 4 QA = 0x8 = bit # 3 = 8 SKY = 0x10 = bit # 4 = 16 SPECTROPHOTO_STD = 0x20 = bit # 5 = 32 GUIDE_STAR = 0x40 = bit # 6 = 64 BUNDLE_HOLE = 0x80 = bit # 7 = 128 QUALITY_HOLE = 0x100 = bit # 8 = 256 HOT_STD = 0x200 = bit # 9 = 512 SOUTHERN_SURVEY = 0x8000000 = bit #31 =-2147483648
These flag values were copied from the "target" module files "common/arTargetType.h" and "etc/diags.tcl". (There doesn't actually appear to be any single file that tracks all of these flags!)
Yes, the data are stored using vacuum wavelengths. This makes sense for quasologists. But most optical astronomers know the wavelengths of transitions as measured at S.T.P., which is how the CRC lists them for any transitions redward of 2000 Angstroms.
The IAU standard for conversion from air to vacuum wavelengths is given
in Morton (1991, ApJS, 77, 119). For vacuum wavelengths (VAC) in Angstroms,
convert to air wavelength (AIR) via:
AIR = VAC / (1.0 + 2.735182E-4 + 131.4182 / VAC^2 + 2.76249E8 / VAC^4)
Below, I've listed the vacuum wavelength of some transitions:
Air Vacuum -------- -------- 4861.363 4862.721 H_beta 4958.911 4960.295 [O III] 5006.843 5008.239 [O III] 6548.05 6549.86 [N II] 6562.801 6564.614 H_alpha 6583.45 6585.27 [N II] 6716.44 6718.29 [S II] 6730.82 6732.68 [S II]
Note that the wavelengths are also shifted such that measured velocities will be relative to barycentric at the mid-point of each 15-minute exposure (using TAI-BEG + 0.5 * EXPTIME from the header).
Here is a list of the most offensive known problems in either the data or in the Spectro-2D reduction code as of version v4_9_11 (31 May 2002):
Plate 0187/51455 has no good b2 arc on the first night of data 51454. This plate has severe scattered light problems. The r2 camera is completely flagged as REDMONSTER in the ORMASK, and is therefore ignored by the redshift-finding code. For that reason, the synthetic spectra do not match the spectra at all for the red side of fibers 321-640. Plate 0192/51461 has severe scattered light problems. Plate 0202/51441 has the Red Monster light at 6400-6550 Ang in the last 2 of 4 exposures (exp #1367,1368). This results in some wrong z=4.3 QSOs (fibers 601,639). Apparently 2 of the b1 science exposures saturated (exp #1366,1367). See PR #1890. Plate 0214/51441 has the Red Monster light at 6400-6550 Ang in the first 3 of 4 exposures (exp #1356-1368). See PR #1890. Plate 0231/51456 has no good r1 arc on the first night of data 51455. Plate 0260/51612 looks like funny fluxing in the blue below 4000 Ang, probably due to very low S/N. Plate 0354/51792 taken during moon Plate 0360/51780 had the b1 CCD warm up during exposures 6193,6194,6199 resulting in apparent scattered light in 6193,6194 and rejection of frame 6199. See PR #2170. Plate 0426/51882 has the Red Monster light at 6400-6550 Ang in exp #7366-7367. See PR #1890. Plate 0541/51959 has bad extraction chi^2 and sky-subtraction, especially in r1. Plate 0644/52149 has bad extraction chi^2 and sky-subtraction. Is this the same problem as for plate 0541/51959?The following list of plates were rejected because of out-of-collimation spectrographs (c.f., sdss-spectro/873):
Plate 0504/52316 - Many rejected pixels Plate 0704/52205 - Many rejected pixels Plate 0721/52228 - Many rejected pixels Plate 0736/52210 - Many rejected pixels Plate 0756/52237 - Badly out-of-focus Plate 0761/52266 - Many rejected pixels Plate 0769/52282 - Many rejected pixels Plate 0770/52282 - Many rejected pixels Plate 0775/52295 - Many rejected pixels Plate 0778/52337 - Many rejected pixels Plate 0790/52346 - Badly out-of-focus night Plate 0791/52347 - Badly out-of-focus Plate 0873/52347 - Badly out-of-focus Plate 0876/52346 - Badly out-of-focus night Plate 0889/52346 - Badly out-of-focus night; many rejected pixels
Plates 0179,0182 are FASTT plates with 12th mag stars and no sky fibers; these data are not reducable. Plate 0204/51455 has no good b1,b2,r2 arcs Plate 0209/51462 has too many saturated rows in r2 for the modern reduction code Plate 0213/51578 has no good b2 arc Plate 0218/51461 has no good b2 arc Plate 0235/51462 has no good b2 arc (saturated) Plate 0260/51612 has only 2 science exposures, so will not combine Plate 0284/51934 has no good arcs (flat-field screen was not closed for arcs); no plan file even built Plate 0296/51578 has no good b2 arc Plate 0317/51589 has no flats or arcs; no plan file even built Plate 0318 special plate needs edited plug-map files in order to run Plate 0324/51616 only has one science exposure, so won't combine Plate 0347/51701 has 1 saturated exposure on 51694, and 1 good one on 51701 Plate 0560/52045 only has one science exposure, so will not combine
MJD -> 51569 (->25 Jan 2000): Shutter open during readout! Definitely compromises data for plates 187,188,190,191, 192,194,198,202,203,217,231. MJD -> 51605 (->2 Mar 2000): Scattered light from internal LED's contaminate all these data. After this date, we went through several work-arounds that basically eliminated the problem. Definitely compromises data for plates 187,188,190,191, 192,194,198,202,203,214,217,231,265,266,269,283,295. MJD 51578 - 55580 (3-5 Feb 2000): Severe "shifted row" electronics problem. This only effects plate 295/51580.  Unsure what this actually does to the data. Potentially effects plates 266,267,279,281,282,283,295,303. MJD 51688 - 51703 (22 May 2000): Electronics "dropped pixel" problem on cameras b2,r2. Potentially effects plates 312,338,339, 343,344,346,348,349,351,353. MJD 51779 only (22 Aug 2000): Terrible electronics problem on r2. This only effects plate 356/51779. MJD 51789 - today: (2 Sep 2000): Smear implemented for most plates. MJD 52220 - 52266, 52312 - 52356 (Nov-Dec 2001, Feb-Mar 2002) Spectrograph slit-head latch problems. The kinematic mounts for the slit-heads were not always engaged, resulting in out-of-focus exposures on the instrument. The optimal extraction code works quite poorly on these data, as does the sky-subtraction which shows large relative chi^2 (MJD 52346 is the worst, plates 790, 876, 889). MJD 52899 - today: Noise source in right amplifier of r2 adding ~30 DN of noise to ~5% of the pixels. See sdss-obs/4425 and other e-mail traffic after 20 March 2004. MJD 52988,52991: LED from telephone causing red spotlight on plate 1489/52991. See sdss-spectro/1245 and sdss-spectro/1246. MJD 53053 (18 Feb 2004): A fiber bundle on cartridge #9 spectro-1 detached while observing plate 1372. MJD 53670-53676 (26-28 Oct 2005): Condensation inside the b1 camera make the data useless on plates 2264/53673, 2333/53676, 2338/53676 (c.f. PR #6713). The data on 2265/53674 and 2266/53675 appears surprisingly OK. Plates 1 - 431: Tiling bug resulted in larger color range for SPECTROPHOTO standards, which must compromise spectro-photometry at some level. Plates 371 - 416: Bad QSO selection due to bug in target v2_7 (chunk 8), resulting in a very low success rate for quasars.
Problems can be reported via the bug database at:
http://spectro.princeton.edu/cgi-bin/gnatsweb.pl
Funding for the creation and distribution of the SDSS Archive has been provided by the Alfred P. Sloan Foundation, the Participating Institutions, the National Aeronautics and Space Administration, the National Science Foundation, the U.S. Department of Energy, the Japanese Monbukagakusho, and the Max Planck Society. The SDSS Web site is http://www.sdss.org/.
The SDSS is managed by the Astrophysical Research Consortium (ARC) for the Participating Institutions. The Participating Institutions are The University of Chicago, Fermilab, the Institute for Advanced Study, the Japan Participation Group, The Johns Hopkins University, Los Alamos National Laboratory, the Max-Planck-Institute for Astronomy (MPIA), the Max-Planck-Institute for Astrophysics (MPA), New Mexico State University, Princeton University, the United States Naval Observatory, and the University of Washington.


This as the name suggests is my "first webpage"
This is a program with greetings in seven different languages.
This program has farewells in four different languages
This program was a parodied verion of Cookie Recipe created by myself and a fellow classmate.
This is a "Blog" that sums up my time on Thursday, March 26 2020.
I went to Cascade high school and started work at an early age, my first real job was at a gourmet dogfood factory at the age of fourteen. Three years later I found a new line of work at a lumber mill called Freres. There I spent a long and physically taxing five years doing six eight hour days, and with plenty of close calls. However after a disagreement with management I decided it best to leave and find a less dangerous job. I then started working for Coca-Cola for three years.
Luckily from my experience at Freres the physical labor was no issue whatsoever. However the hours were unpredictable and fellow coworkers were not great teamplayers. Once the Covid-19 pandemic hit I decided it best to stay home rather than risk the virus from my distributing job, a decision my employers didn't share and considered it volountary leave rather than termination. It was then I decided if physical labor, mental stress and no time with my family was what I really wanted to do for the rest of my life... That was when I heard of Epicodus!
I was both nervous and excited all at the same time, I always wanted to program but haven't even touched a computer for well over a decade. As soon as I started my classes I was pleasantly surprised by the NON-hostile enviroment and fantastic chemistry between my instructors and fellow students! It can be a bit complicated at times but I've always prided myself on my endurableness, and I feel that I'm catching on to the lessons fairly well. I'm VERY excited to learn more into coding and am looking forward to what the future holds.
If I had to list my skills I'd say I'm a good team player, I can be intuitive and I'm very patient. I'm also pretty strong which will most likely not be used for programming.


04 Jan 2015 tagged in goals, new years, resolutions
I love the concept of New Years’ resolutions. I like using the beginning of anything – years, semesters, weeks – as a chance to review what I’ve accomplished and what I want going forward. Here’s what I’m hoping to do in 2015:
Read more...
28 Dec 2014 tagged in 2014, historian, history, public history
Seeing as 2014 was a big plot-development year in my life (and this blog’s first full year of activity,) I wanted to spend this last Sunday summarizing exactly what I did this year.
Read more...
14 Dec 2014 tagged in bristol ri, colt state park, family, rhode island, ri history
As I’m wrapping up my posts for 2014, I’ve looked through my saved drafts for inspiration. A lot of these posts are one or two sentences along, waiting for a time when news is slow and I can really devote some time to their topic. And while I haven’t had a slow week, I think it’s time to tell this story.
Read more...
07 Dec 2014 tagged in historian, history buff, the history peeps, thp
Earlier this week, I read Andrew Pegoda’s post about the difference between historians and history buffs, a point that I found really fascinating. This is a debate that is constantly in the back of mind, because for the longest time, I didn’t really know the difference.
Read more...
23 Nov 2014 tagged in amherst, amherst college, art, mead art museum, museum life, museums
This week, my Hampshire College course took a trip to the Mead Art Museum at Amherst College!
Read more...
16 Nov 2014 tagged in hist 397Z, museum, museums, national women's history museum, nwhm, women's history
I’ve been looking into a lot of digital history exhibits – for business and pleasure – but along the way, I took a look at the National Women’s History Museum (NWMH). Check it out at www.nwhm.org.
Read more...
02 Nov 2014 tagged in archives, archives life, archivist, askanarchivist, twitter
Thursday was #AskAnArchivist on Twitter, so I took advantage of the opportunity to get in contact with archivists across the nation. Here are some of the questions I asked:
Read more...
26 Oct 2014 tagged in hist 397Z, living new deal, ma history, new bedford, new bedford ma, new bedford regional airport, new deal, uc berkley, us history, works progress administration, world war ii, wpa, wwii
So for HIST 397Z, we had to make a digital history contribution in one of three ways: 1) by investigating a building or memorial for Lost UMass; 2) contribute to Living New Deal by updating or creating a new entry; or 3) create a Document Deep Dive with a primary source found in the Five College archives. I chose the middle one, hoping to make an adventure out of finding one of these locations.
Read more...
19 Oct 2014 tagged in art assignment, art history, art museum, art museums, contemporary art, umass amherst, university museum of contemporary art
So on Friday afternoon, my friend and I made our way over to the University Museum of Contemporary Art (UMCA) here at UMass. It’s been on our to-do lists for awhile, and so when the opportunity arose after lunch, we made our way over to the Fine Arts Center (FAC) to stop in.
Read more...
13 Oct 2014 tagged in museum life, museum visit, museums, natural history, providence, ri history, roger williams park, roger williams park museum
While home for Columbus Day Weekend, I made sure to visit a museum! These photos are from the Roger Williams Park Museum of Natural History. It’s been several years since my last visit, and I only vaguely remembered its exhibits – the planetarium being the most memorable.
Read more...


**L.A. Confidential** Reviewed by Jeff Walters
One of the best movies I've ever seen. I'd heard extremely good things about this movie, and though the previews didn't really intrigue that much, it was a movie I'd been anticipating for a few months now. For some reason I'm not sure of - this movie was not that big a sucess over in the U.S. It was a definite hit with the critics, but didn't exactly set any box office records. After viewing this incredibly well directed, written and acted movie, I can't help but wonder - why?
The strength of this film is it's gritty realism. The main characters are all human with individual flaws, no stereo-type hollywood heroes. You may not agree with many of their actions in the movie or their approach to life, but that is what makes it so real. I had expected this movie to be more of a drama than a thriller, but I was mistaken. Even the interrogation scenes moved at such a pace so that it felt just as thrilling as any car chase. And the ending......whoa.
I've never seen a movie in my life where everyone in it acts brilliantly. The three male leads - Guy Pearce, Kevin Spacey and Russell Crowe are all just terrific. The 'Best Actor' Oscar talk surrounding this film should have netted one of them a statue, but there is one problem there. How could they have chosen between these three actors? There is no way I could look at this film and say one of them was better than the other two. It's impossible.
Kim Bassinger's performance is also a revelation. I'd never been a big fan of hers before and always thought she was, well...what's the word - a twinky? That impression has changed, as she complemented Crowe and Pearce perfectly.
The depth to the story and characters is truly astounding. No cardboard characters here. The plot is full of twists and turns and some very clever sequences. Pearce's interogation of three seperate suspects is nothing short of brilliant.
I really can't fault this movie at all. I was so glad to see fellow Australian's Pearce and Crowe star in such a breathtaking movie. I had been very familiar with Russell Crowe beforehand from his many Australian films, but had not seen much of Guy Pearce. I intend to change this next time I visit the video store :)
Overall, all I can say is "See it. See it NOW!".
5 stars out of 5
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Recipe: Brussels Sprouts With Pistachios and Lime
by CBS NewsFrom Bon Appétit's November 2019 issue: A Thanksgiving recipe from Christina Chaey and Claire Saffitz:
Bon Appetit"These roasted whole brussels sprouts get so crispy on the outside you'll worry they're burnt (they're not!). Inside though, they're perfectly, deliciously mushy – which, according to us, isn't a bad thing.
"Of course, it gets even better when you coat them in a date molasses-brown butter glaze. Typically made from dates and nothing else, date molasses has a thick consistency and brings a deep, fruity sweetness and a bit of tartness. The Test Kitchen likes Al Wadi Al Akhdar brand or Just Date Syrup."
Brussels Sprouts With Pistachios and Lime
Recipe by Christina Chaey and Claire Saffitz
Makes 8–10 servings
Ingredients:
2 lb. small brussels sprouts, trimmed
3 Tbsp. vegetable oil
Kosher salt, freshly ground pepper
3 Tbsp. unsalted butter
3 Tbsp. raw pistachios
2 Tbsp. date molasses or honey
1 tsp. honey
Zest of ½ lime
2 Tbsp. fresh lime juice
½ tsp. crushed red pepper flakes
Lime wedges (for serving; optional)
Preparation:
- Place a rack in lower third of oven; preheat to 450°. Toss brussels sprouts and oil in a large bowl to coat; season with salt and pepper. Roast brussels sprouts on a rimmed baking sheet 15 minutes, then shake baking sheet to loosen them. Continue to roast until deeply browned all over, 5–10 minutes longer. Reduce oven temperature to 350° and roast another 10 minutes. Shake baking sheet again, then roast brussels sprouts until the tip of a small knife easily slides through, 5–10 minutes longer (total cook time will be 35–45 minutes).
- Melt butter in a large skillet over medium heat. Once butter starts to foam, add pistachios and a pinch of salt and cook, stirring often, until nuts are golden brown and butter solids are browned, about 4 minutes. Remove from heat.
- Using a slotted spoon, transfer nuts to paper towels; let cool. Coarsely chop.
- Meanwhile, bring date molasses, honey, and lime juice to a simmer in same skillet over medium heat (this will happen quickly), swirling pan to emulsify. Add 1 Tbsp. water and swirl to emulsify, scraping up browned bits with a wooden spoon. Add brussels sprouts; toss to coat.
- Transfer brussels sprouts to a platter. Toss nuts, lime zest, red pepper flakes, and a pinch of salt in a small bowl to combine; scatter over brussels sprouts. Serve with lime wedges if desired.
- Do Ahead: Brussels sprouts, glaze (without water), and pistachio mixture can all be made 3 hours ahead. Do not combine. Reheat glaze over medium heat until bubbling before adding water and brussels sprouts.
To watch Claire Saffitz and Christina Chaey make this "perfect" Thanksgiving side dish, click on the video player below:
For more info:


This package provides a custom set of directives to make it easy to customize different gallery templates.
These directives are: *galleryItemDef
, *galleryImageDef
, *galleryThumbDef
and *galleryBoxDef
*galleryItemDef
overrides the gallery item template, useful if you want create your own gallery
template for any type from scratch.
Example:
*galleryImageDef
applies only on image items - the image will still be displayed, but this adds an
custom inner template, useful to add text overlay on top of the image.
Example:
*galleryThumbDef
applies on all thumbnails types, image will still displayed, but adds an custom
inner template.
Example:
The following adds a Youtube icon on Youtube thumbnail and video icon on video thumbnails
Passing in data to a custom template
When using one of the previous templates above, additional context data can be used to render the data as needed.
Available data:
let item
Object of the item, including properties likesrc
,thumb
andalt
... etc.let index = index
Index of the item.let type = type
Type of the item, default ones areimage
,video
,youtube
andiframe
.let active = active
True if this item is the active one.let count = count
The number of total items.let first = first
True if this item is first.let last = last
True if this item is last.
*galleryBoxDef
Adds a single static template on top of the gallery items.
Example:
Available data:
let state = state
Gallery state object.let config = config
Gallery config object.


iPod Touch 4th gen
September 2010
It has fun written all over it.
iPod touch (4th generation) has an iSight camera and FaceTime HD camera.
Back to iPod Touch


| < | This Week | > |
| Projects | Mon (Nov 09) |
Tue (Nov 10) |
Wed (Nov 11) |
Thu (Nov 12) |
Fri (Nov 13) |
Sat (Nov 14) |
Sun (Nov 15) |
|
|
15-001: Walsh Street - A.1: Concept Design |
||||||||
|
15-001: Walsh Street - A.1: Concept Design |
||||||||
|
15-001: Walsh Street - A.1: Concept Design |
||||||||
| Marketing | ||||||||
|
15-001: Walsh Street - A.1: Concept Design |
||||||||
|
15-001: Walsh Street - A.1: Concept Design |
||||||||
| Admin | ||||||||
|
15-001: Walsh Street - A.1: Concept Design |
||||||||
|
15-001: Walsh Street - A.1: Concept Design |
||||||||
| + Add New Time Entry | 0:00 | 0:00 | 0:00 | 0:00 | 0:00 | 0:00 | 0:00 |
| < | Mon | Tue | Wed | Thu | Fri | Sat | Sun | > |
| Project | Hours | Notes | |
| + Add New Time Entry | 0:00 |


qm wait vm_id- Wait until the virtual machine is stopped with a 10 second timeout:
qm wait --timeout 10 vm_id- Send a shutdown request, then wait until the virtual machine is stopped with a 10 second timeout:
qm shutdown vm_id && qm wait --timeout 10 vm_id


Name Campus
Province
-Select Province-
Jawa Barat
Regency / City
-Select Regency / City-
Bogor
Address
Information
Not active? (NA)
*) Check if it's not active
Cancel


Palace Ultimo 2019 Outerwear
From camouflage parks to Polartec fleeces.
by Jack StanleyPalace has debuted its full range of winter-ready outerwear from its Ultimo 2019 collection, which first appeared in the brand’s recent lookbook. With the coldest months being underway, the new collection sees the London-based label deliver a range of weather-appropriate pieces.
Arguably the stand-out item is the P-3B Parka, which is set to release in black as well as a number of different camouflage iterations. Elsewhere, the Ultimo 2019 collection also feature a puffa jacket constructed from a fuse ripstop fabric, and a selection of Polartec fleece options.
The first pieces will arrive in store and online on November 29. For more from the collection, make sure to check out the range in the following categories -
- Lookbook
- Tracksuits
- Tops & Sweatshirts
- Tees
- Hats
- Footwear, Accessories & Hardware


Book Library Management Api
You can find more Informations over this API in the Swagger Documentation
Swagger
Spa
Spa (Development 8080)


--- layout: post title: Rails & Spine.JS - Using The CoffeeScript Source categories: - ruby-rails - javascript ---
Our options for JavaScript MVC frameworks are numerous these days. While working on the third major rewrite of my personal bookmarking application, HomeMarks, I decided to learn Backbone.js. Thankfully a local friend of mine recommended that I try Spine.JS. I was immediately hooked!
Spine.JS is is authored in CoffeeScript and that is a big deal for me. I will never write raw JavaScript again, which I consider, the deprecated syntax. So a JavaScript MVC framework that is written in CoffeeScript means I can read the source, learn from it and even debug it if necessary. Sure, I can read raw JavaScript or just rely on documentation. But nothing beats reading source code. A practice I think good developers follow. So here is an example of the Backbone.js model source compared to reading Spine.JS model source and I think you will see the difference.
Source code legibilty is not the only reason to use Spine.JS. It is also very lightweight and requires no other JavaScript dependencies. Take for example Backbone.js which requies the use of Underscore.js and think for a moment why. Underscore.js makes mundane tasks in JavaScript like itterators and event binding much more friendly. But this is all moot when you are using CoffeeScipt's loops and comprehensions. And take my advice, CoffeeScript has so much more to offer. One of my personal favorites is the existential operator!
So, are you with me and want to try out Spine? Great! But do not rush in and use the spine-rails gem. Sure it gives you a nice way to require the Spine JavaScript files in the asset pipeline and some fancy generators. But when you break it down, there are better ways to get Spine's source files and who the hell uses generators? I mean, the only useful one is the initial rails g spine:new
generator. Past the initial project setup, the spine-rails gem really does nothing but lock you down to an explicit version of Spine tied to that gem release.
I highly advise that new-comers to Spine start off with the spine-rails gem and its new project generator. Then quickly switch to just including the spine source using a git submodule. This will give you the benefit of using the source CoffeeScript files and tracking Spine's git repo which is getting good active development. So let's live on the edge and read some source. First uninstall the spine-rails gem if you have it and add the Spine project as a git submodule to your git repo.
$ mkdir -p vendor/assets/javascripts $ git submodule add git://github.com/maccman/spine.git vendor/assets/javascripts/spine
This adds the Spine project to your vendor/assets/javascripts/spine
directory. Which means it can now be leveraged by Rails asset pipeline using Sprockets. So if you had used the spine-rails generator above and had your spine requires in app/assets/javascripts/app/index.js.coffee
, you would now be able to change what should have looked like this:
To something like the following. Since the spine/src
directory is where the source CoffeeScript files from our submodule above and Sprockets will render these just fine, it all just works!
So now you can easily update your Spine dependency using a simple git workflow with the added benefit that you can open up any of the source CoffeeScript files and learn Spine from the inside out. You can even change the source or put in console debugging to see what is happening and your application files will recompile via Sprockets on the next request.


'Summed up his afternoon' - Notts County player ratings from Barrow defeat
Magpies were beaten 3-0 at Meadow Lane
by Leigh CurtisNotts County suffered their first home defeat since August as Barrow secured a 3-0 win at Meadow Lane.
Here Leigh Curtis gives his verdict on the players on a frustrating afternoon for Neal Ardley's men.
Sam Slocombe: Beaten by a well worked goal for the first, left in no man's land for the second after a poor back pass from Enzio Boldewijn. Made a good save to deny Angus in the second half. 5
Richard Brindley: Defender not really seen much as an attacking threat when usually he is a good outlet. Had his hands full with Josh Kay but had a steady game. 5
Connell Rawlinson: Found Scott Quigley a bit of a handful with the striker being one of the top scorers in the division. But tried to give as good as he got in what was an absorbing battle. 4
Ben Turner: Dior Angus obviously fancied his pace against the defender's strength and tried his best to keep the forward under wraps but he was always a threat in behind. 4
Damian McCrory: Had one of those afternoon when his distribution was well below normal standard. Got into some great crossing positions, but overhit them which summed up his afternoon. 4
Enzio Boldewijn: Passing let him down particularly for the second goal when he under hit a back pass which allowed Barrow to create their second through John Rooney. Will be kicking himself at that mistake. 4
Mitch Rose: Made one brilliant tackle in the first half, but straight after that he gave the ball away in a dangerous area. Sometimes gets caught in possession far too easily. 4
Michael Doyle: Frustration with the way the game was heading was evident in the latter stages of the first half. Like the rest of Notts' team, passing was very hit and miss and the captain, like the rest of the team, struggled to find rhythm. 4
Regan Booty: Played a couple of diagonal passes that picked out Wes Thomas and was happy to go beyond the forwards but wasn't picked out. Almost grabbed a goal out of nothing with a free-kick. 4
Wes Thomas: The forward always posed a threat with his movement and his pace. Had a chance early on when he was thwarted by the goalkeeper and defender. Never stops going. 6
Kyle Wootton: A game in which he found very little joy from the centre-backs and as a result chances were very few and far between for the on-loan forward. 4


Let's get started with Veltrix
It will be as simple as Occidental in fact it will be Occidental.
Subscribe


After writing a long & annoyed letter to Reliance, here’s what they offered:
Dear Customer,
We regret the inconvenience caused to you.
This is with reference to your e-mail regarding “Waiver For Service Faults”, registered under the Service Request ID 142081510. Please note that your complaint has been resolved with the resolution, the net not working complaint registered has been resolved within the given time period.
Hence we are unable to process the waiver.
Looking forward to serve you in the future.
Yours sincerely,
Siddhesh Pawaskar
Broadband Customer Care
Reliance Communications.
You may contact us through any of the following means:
Phone: 1800 3000 7777 from any phone (Toll free) or,
022–3033 7777 from any phone.
Email<EMAIL_ADDRESS>Website: www.rcom.co.in
You can book your service complaints online at http://cnm.reliancecommunications.co.in/cnm/web/genTTCreation.jsp OR through IVR while calling at contact center.
You can view your bills and make payments online through http://myservices.relianceada.com/launchAMSS.do for all RCOM services. Please register yourself on the portal. For difficulties in registration please write to<EMAIL_ADDRESS>Please note that your message will not be delivered if it exceeds the size limit of 5 MB per mail (including attachments).
Requesting you to please create a shorter message (including attachments) with size less than or equal to the allowed mail limit in all your future communication.
The information provided is based on prevailing terms and conditions of the company, which are subject to change without prior notice.
This electronic message transmission contains information from Reliance Communications & is confidential or privileged. The information is intended to be for the use of the individual or entity named above. If you are not the intended recipient, beware that any disclosure, copy distribution or use of the contents of this information is prohibited. If you have received the electronic transmission in error please notify us immediately.
Yes, their signature is that long, including their pleading request to keep our attachments small. Aaanyway, here’s what I responded:
The fact that I had to register multiple complaints during the same week is indicative of the fact that my problem was NOT resolved.
Your engineers fill out and close complaints as they please with no consultation with the customer; just because they say it’s closed doesn’t mean the problem is resolved or that your customer is satisfied. I would not have to register 3 separate complaints if the problem had been resolved in 24 hours and it amuses me to read such rubbish.
I have, as a result, posted my grievance against Reliance online on my blogs and elsewhere and intend to take this further.
Please have a manager call me to discuss disconnection of my service at home and office (I have 2 connections) as I do not wish to deal with Reliance any further if this is the attitude.
Suggest you speak to your team leader Durgesh and Supervisor Ujvala as I have spoken to both of them during this problem and I’m confident that they were not contacted to get information at all.
I do NOT consider this problem resolved, and I expect a manager to contact me by PHONE if you have any hope. I will contact your customer care to set up disconnection of my services tomorrow morning. I’m guessing you must be glad to lose customers this way.
Chirag
I wonder…but yea.
There is no regret in the inconvenience they caused me.
Finally, this morning:
Dear Customer,
We regret the inconvenience caused.
This is with reference to your e-mail regarding “Waiver For Service Faults”, registered under the Service Request ID 142081510. Kindly note that as informed earlier your complaint has been resolved with the resolution, the net not working complaint registered has been resolved within the given time period.
Hence, we are unable to process the waiver.
Yours sincerely,
Abhijit Athavale
Broadband Customer Care
Reliance Communications
How does one deal with such friggin’ brilliance? I don’t believe they are looking beyond a ticket closed by an incompetent engineer saying he fixed the problem without budging from his seat.
Part I of this saga is here.
Update: Part III is here.


Research and analysis
Report looking at whether pre-school and early home learning helps students gain more A levels.
Ref: ISBN 978-1-78105-514-4 , DFE-RR472A PDF , 854KB , 39 pages
Ref: ISBN 978-1-78105-515-1 , DFE-RR472B PDF , 932KB , 27 pages
Research into the ‘Effective pre-school, primary and secondary education’ ( EPPSE ) project and A level results.
Published: 7 December 2015


An implementation of a cost constrained flux balance analysis technique (i.e. MetabOlic Modeling with ENzyme kineTics (MOMENT)). MOMENT uses enzyme kinetic data and enzyme molecular weights to constrain flux balance analysis(FBA) and it is described in Adadi, R., Volkmer, B., Milo, R., Heinemann, M., & Shlomi, T. (2012). Prediction of Microbial Growth Rate versus Biomass Yield by a Metabolic Network with Kinetic Parameters, 8(7). doi:10.1371/journal.pcbi.1002575. This package also implements an improvement of MOMENT that considers multi-functional enzymes. FBA is a mathematical technique to find fluxes in metabolic models at steady state. It is described in Orth, J.D., Thiele, I. and Palsson, B.O. What is flux balance analysis? Nat. Biotech. 28, 245-248(2010).
| Version: | 2.0.0 |
| Depends: | R (≥ 2.10.0), sybil, Matrix |
| Suggests: | cplexAPI (≥ 1.2.6), glpkAPI (≥ 1.2.1) |
| Published: | 2015-04-02 |
| Author: | Abdelmoneim Amer Desouki [aut, cre] |
| Maintainer: | Abdelmoneim Amer Desouki <abdelmoneim.amer at uni-duesseldorf.de> |
| License: | GPL-3 |
| NeedsCompilation: | no |
| Materials: | NEWS |
| CRAN checks: | sybilccFBA results |
| Reference manual: | sybilccFBA.pdf |
| Package source: | sybilccFBA_2.0.0.tar.gz |
| Windows binaries: | r-devel: sybilccFBA_2.0.0.zip, r-release: sybilccFBA_2.0.0.zip, r-oldrel: sybilccFBA_2.0.0.zip |
| OS X binaries: | r-release: sybilccFBA_2.0.0.tgz, r-oldrel: sybilccFBA_2.0.0.tgz |
| Old sources: | sybilccFBA archive |
Please use the canonical form https://CRAN.R-project.org/package=sybilccFBA to link to this page.


-
Working as Software Engineer at Grab since September 1, 2017.
-
Built apis for aggregator layer integrating with various services (Merchant KYC, Transactions, Fraudulent devices and users detection, Cashouts, Settlement Reports, MDR, Digital Marketplace etc).
-
Built apis following maker-checker pattern for Topup / Deduct Wallet, Refunds.
-
Implemented middlewares to control access for resources for end users of internal portal.
-
Built and contributed to various admin apis of Role Service(Addition of users, Attaching roles, Roles switching, Resource to Role mappings)as well as others like Bank list synch in database.
-
Contributed to apis for File Service(Saving to S3, Watermarking).
-
Contributed to apis for version 1 of Email Notification Service using AWS SES which is used across teams for sending out emails.
-
Contributed on internal portal's frontend for various features(Full views, Transaction lists, Resource control elements) which was built in React.
-
Wrote SQL DB scripts/ Code scripts(apis) for migration of data across various versions of a service.
-
Revamped DB schema and code to scale and support ever changing compliance requirements for KYC documents.
-
Built generic mapping api used to scale adding of views from various products for internal portal.
-
Worked on various bug-fixes, improving the overall stability and scalability as well as provided oncall-support on many occasions.
-
Worked as Product Development Engineer at Appknox from June 6, 2016 - August 30, 2017.
-
Built Devknox- a security plugin for Android Studio/Intellij IDEA that scans and suggests possible fixes for security vulnerabilities at realtime. signups as of now.
-
Added multiple security checks and unused permissions check on this plugin.
-
Plugin has been showcased in Blackhat Asia 2017 as well as in BlackHat USA 2017 and has over 500+ signups
-
Worked on pushing general analytics like most occured security vulnerabilities detected by the plugin etc over Kibana.
-
Built cleancode plugin as a part of Hackathon event. This plugin inspects if your java source code conforms to the clean code guidelines in realtime.
-
Worked as Systems Engineer at Infosys from September 28, 2015 to June 1,2016.
-
Worked as Systems Engineer Trainee in Infosys from May 25, 2015 to September 27, 2015.
-
Pursued B.Tech. in Information Technology from International Institute of Information Technology, Bhubaneswar.
-
Scored a CGPA of 8.26 on a 10 point scale.
-
Attended high school from Ispat English Medium School, Rourkela.
-
Scored a percentage of 78.83 in Indian School Certificate Examination.
-
Attended primary school from Ispat English Medium School, Rourkela.
-
Scored a percentage of 90.85 in Indian Certificate of Secondary Examination.


ip neighbour
Neighbour/ARP tables management IP subcommand.
More information: home page
- Display the neighbour/ARP table entries:
ip neighbour
- Remove entries in the neighbour table on device `eth0`:
sudo ip neighbour flush dev eth0
- Perform a neighbour lookup and return a neighbour entry:
ip neighbour get lookup_ip dev eth0
- Add or delete an ARP entry for the neighbour IP address to `eth0`:
sudo ip neighbour add|del ip_address lladdr mac_address dev eth0 nud reachable
- Change or replace an ARP entry for the neighbour IP address to `eth0`:
sudo ip neighbour change|replace ip_address lladdr new_mac_address dev eth0


Home
Welcome to the FBLookApp, an application that enables you to see the list of your facebook friends and know who is currently online.
Fetch Friends
About
FBLookApp - Developer
FBLookApp is a brilliant project created by this annoyingly handsome guy.


Violation result analysis
by Lei
Violation result analysis
1. Basic result analysis
We noticed that the Nan
values distributions over differents are quite different.
Except the situation of missing values,Nan
values’ proportion are higher in Pass
,License Suspended
,No Entry
and Not ready
we considering that there are different reasons each ithem that occur this phenomena:
Pass
We consider that this indicate that there is no violations were found during the inspection.License Suspended
From the dataset discription,we know that suspending license only occurs when critial violations found or violation not been corrected before re-inspection.
We think that reason why this category has suchNan
value proportion is that when the most inspector didn’t record the violatons once they decided to suspend the license of the ficility.Not Ready
andNo Entry
have similar sitiation that happened inLicense Suspended
2. Description of Inspection
According to the website about the detail of Chicago food inspection description:link.
We can see that the results are related to the violations and the inspection type of this inspection.In this document, there is detailed description of different violations.
- Critical vioilation: From the description,Onece a critical violation found in fiacity,if it can not be corrected immediately,it will recieve a
License suspended
. - Serious violation: Serious violationo found without correction immediately won’t casuse
License suspended
, only causeFail
and a re inspection.But if serious violation found in re inspection will cause aLicense sunspended
. -
Minor violarion: within Minor violations can still have a
Pass
result. - Exception: In License related inspections, any violation including ‘Minor’ will cause a
Fail
In the following part, We want to have a view of the Violation-Results relationship:
We absored that in real inspection, they didn’t follow exactly as described, for example, In the description, Fail
result won’t appear in the inspections that Critical viol
was found.
As for different kinds of inspections, it can be easily noticed that their results distributions are not the same as well.
3. Violation Changings
From the resource of this dataset:Chicago food inspection.
We know that the inspection procedures using new form to record the inspection data as described here:new data form
The main Changes are about the Violations, including the categories and responding Violation numbers. In the new dataset, the types of violations are not 45, instead of 63.
Corresponding name changes of violations’ categories are as follows:
Minor Violations
toCore (C) Violation
Serious Violations
toPriority Foundation (PF) Violation
Critical Violations
toPriority (P) Violation
From the description,it can be seen that there is a corresponding relationship between new and previous violation categories.
For these changed violations, there is no description about the which catagory that new violations should belong to.In this case, we tried to use clustering to group violations depends on their pass rate of 4 most high-frequency inspection types.
Since previous inspection violation have the truth category, We did k-Means clustering for the violations before 1/7/2018 to check the the performance
The F1_score of the model above is 0.79 for the violations before 1/7/2018,. And the distance of clustered group can be seen clearly as well.So we did the clustering for the new violation as well.
For the violations after 1/7/2018, The clustering result seems not as well as the one before 1/7/2018.
From graph below,it can be seen that bafore 1/7/2018, although pass_rate and pass_w_condition rate fluctuate some times,the overall trend is stabilizing. While after 1/7/2018,the ratio of these two inspection results to all results is reversed immediately.And we also can ovbserved that in the further time till newest inspection data,their ration tend to back to previous relationship. We think this might be the reason why it’s hard to use result_rate of certain violation to find out the violation catagory.
Although we cannot use result_rate to infer the violations’ severity, we notice this changing of inspection’s violation category might help to improve the sanitary condition of facilities. Since the pure_Pass_rate has a huge falling after changing to new categories and then kept climbing, this might indicate that this new category put more violation not been used or considered serious before. And by increasing corresponding severity, it can force the facility to do better in this despised ascpect.The climbing of pure_Pass_rate proof of its effectiveness.
Subscribe via RSS


This chapter provides information on how to define Google Earth databases with Google Earth Enterprise Fusion. For information about defining Google Maps databases, see the chapter titled Defining a Map Database.
When you finish defining your projects, you define your database. To define a database, you specify one or more projects whose data functions together on the Google Earth Enterprise Server. You can select up to three projects for a database--one of each type:
Because the majority of your efforts go into defining and configuring projects, it is relatively simple to define a database. You simply select the projects that comprise the database and give it a name.
Note: The selection in the Type drop-down list near the bottom of this dialog determines the type of projects that appear on the list. Vector Project is automatically selected, so only vector projects appear on the list.
Now you are ready to build your database. See the Building Assets chapter for complete details.
Caution: Assets can not be deleted once they are saved. They can be cleaned, so that they are no longer available to use in Google Earth Enterprise Fusion; see Cleaning Asset Versions in the Building Assets chapter for more information.
To change one of the selected projects, click next to the project you want to replace. The Open dialog appears.
To remove a project from the database and not include any project of that type, click next to the project you want to remove, then select File > Save.
In both cases, Google Earth Enterprise Fusion saves the database in the same place with the same name. If you have already built the database, you must build a new version to make the changes available for publishing.
Search tabs allow Google Earth EC and Google Maps users to search external databases on non-Google servers. For example, if you have a database of property locations that contains specific information that your users need, you can add a search tab call “Property Search” and configure it to search for locations in your property database, even if that database is stored on another server.
The Search Tab Manager allows you to add and pre-configure the standard search tabs to be used throughout Google Earth Enterprise Fusion. See Managing Search Tabs for more information. After you have configured the search tabs in the Search Tab Manager, you can select the search tabs you want to use for each database you define.
Note: Regardless of how many search tabs you add, even if you add only one or two, the custom search tab(s) replace all three default search tabs in Google Earth EC. If you do not create any tabs, Google Earth EC displays the default search tabs.
Note: If you specified search fields for a layer in the selected vector project, the tab label you provided in the Vector Project Editor for that project appears on this pop-up list. See Search Tab for details. You can select that search tab or not.
After you add three tabs, the button is disabled.
The tab disappears from the Search Tabs dialog, and the button is enabled again.
After you successfully build a database, you are ready to publish it to a Google Earth Enterprise Server. Publishing a database is fairly straightforward after you set up your server associations. Consult your administrator or refer to the Administration Guide for complete details about setting up server associations.
The first server association on the list in the Server Associations Manager is the default selection on the Server Association drop-down list. The most recently built version of the database is the default selection on the Version drop-down list.
Enter your user name and password, and click OK.
Contact your system administrator if you do not know your user name and password.
A progress dialog shows you the progress of the publishing operation. When the publishing operation is complete, a message confirms that the database was successfully published. If the publishing operation is unsuccessful, see the Common Error Messages chapter for more information.
After you publish your database, you can view it in Google Earth EC.
Caution: If you have logged in to this server with Google Earth EC previously, log out, clear your cache, and log back in. For help with clearing your cache, refer to the Google Earth User Guide.
Google Earth EC displays your database. The Layers panel shows the terrain, imagery, and vector layers in the published database.


01
Logma
➤
➤
The fireball that we rode was moving –
But now we've got a new machine –
They got music in the solar system
Discover
02
Naos
Let me take you on a little trip –
We're gonna travel faster than light –
And you'll go anywhere you want to decide
Discover
03
Chara
Close your eyes now –
And give in to the night –
Soar above the stars –
Forget what's behind
Discover


\2727\2003\2003\2727\2003\2003\2727
Wouldn't it be useful also to define the behavior of `::before` and `::after` for void and (especially) replaced elements more specifically, with regard to the current behavior of the browsers? E.g., all browsers currently support these pseudo-elements for `hr` (and `hr::before { content: "\2727\2003\2003\2727\2003\2003\2727"; }` is widely used in the new design of W3C specs themselves), although this element [is defined as void](https://www.w3.org/TR/html52/syntax.html#void-elements) in HTML. Also, almost all browsers don't apply them to regular `img` elements, but do apply for broken `img`s (https://bitsofco.de/styling-broken-images/). Since the difference between regular and broken differ in their browser Shadow DOM structure ([at least in Blink browsers](http://css-live.ru/Primer/pseudos/chrome-img-shadow-dom.png)), maybe the behavior of pseudo elements also could be described in Shadow DOM terms? -- GitHub Notification of comment by SelenIT Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/625#issuecomment-255303762 using your GitHub account