Conversion of standardized ReadMe file for
file /./ftp/cats/II/294 into FORTRAN code for loading all data files into arrays.
Note that special values are assigned to unknown or unspecified
numbers (also called NULL numbers);
when necessary, the coordinate components making up the right ascension
and declination are converted into floating-point numbers
representing these angles in degrees.
program load_ReadMe C============================================================================= C F77-compliant program generated by readme2f_1.81 (2015-09-23), on 2024-Apr-19 C============================================================================= * This code was generated from the ReadMe file documenting a catalogue * according to the "Standard for Documentation of Astronomical Catalogues" * currently in use by the Astronomical Data Centers (CDS, ADC, A&A) * (see full documentation at URL http://vizier.u-strasbg.fr/doc/catstd.htx) * Please report problems or questions to C============================================================================= implicit none * Unspecified or NULL values, generally corresponding to blank columns, * are assigned one of the following special values: * rNULL__ for unknown or NULL floating-point values * iNULL__ for unknown or NULL integer values real*4 rNULL__ integer*4 iNULL__ parameter (rNULL__=--2147483648.) ! NULL real number parameter (iNULL__=(-2147483647-1)) ! NULL int number integer idig ! testing NULL number C============================================================================= Cat. II/294 The SDSS Photometric Catalog, Release 7 (Adelman-McCarthy+, 2009) *================================================================================ *The SDSS Photometric Catalog, Release 7 * Adelman-McCarthy J.K. et al. * <Astrophys. J. Suppl. 182, 543 (2009)> * =2009ApJS..182..543A C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'sdss7.sam' ! *Sample output of the SDSS photometric catalog integer*4 nr__ parameter (nr__=100) ! Number of records character*978 ar__ ! Full-size record C Position composed of: RAdeg DEdeg integer*4 mode (nr__) ! [1,2] 1: primary (357,175,411 sources), * 2: secondary (96,670,822 sources). character*1 q_mode (nr__) ! [+] '+' indicates clean photometry * (105,969,748 sources with mode 1+) integer*4 cl (nr__) ! Type (class) of the object (type) (1) character*19 SDSS (nr__) ! Recommended SDSS name, based on J2000 position character*1 m_SDSS (nr__) ! [*] The asterisk indicates that 2 different * SDSS objects share the same SDSS name character*1 R (nr__) ! [3457] Release inclusion (blank for new, * 3,4,5 when already included in DR3/4/5) character*16 SDSS_ID (nr__) ! [ 0-9.] SDSS object identifier (2) integer*8 objID (nr__) ! SDSS unique object identifier (2) integer*8 SpObjID (nr__) ! Pointer to the spectrum of object, or 0 (7) integer*8 parentID (nr__) ! Pointer to parent (if object deblended) integer*4 rerun (nr__) ! [40,651] Re-run number (2) integer*8 flags (nr__) ! Photo Object Attribute flags (3) character*8 Status (nr__) ! [0-9A-F] Hexadecimal status (4) real*8 RAdeg (nr__) ! (deg) Right Ascension of the object (ICRS) (ra) real*8 DEdeg (nr__) ! (deg) Declination of the object (ICRS) (dec) real*4 e_RAdeg (nr__) ! (arcsec) Mean error on RAdeg (raErr) real*4 e_DEdeg (nr__) ! (arcsec) Mean error on DEdeg (decErr) real*4 ccPos (nr__) ! Correlation between e_RAdeg/e_DEdeg (raDecCorr) real*8 ObsDate (nr__) ! (yr) Mean Observation date integer*4 Q (nr__) ! Quality of the observation: * 1=bad 2=acceptable 3=good 4=missing 5=hole (6) real*8 zsp (nr__) ! ?=- Spectroscopic redshift (when SpObjID>0) (7) real*4 e_zsp (nr__) ! ?=- Mean error on zsp (7) real*4 umag (nr__) ! (mag) ?=- Model magnitude in u filter (u) (5) real*4 e_umag (nr__) ! (mag) ?=- Mean error on umag (err_u) real*4 gmag (nr__) ! (mag) ?=- Model magnitude in g filter (g) (5) real*4 e_gmag (nr__) ! (mag) ?=- Mean error on gmag (err_g) real*4 rmag (nr__) ! (mag) ?=- Model magnitude in r filter (r) (5) real*4 e_rmag (nr__) ! (mag) ?=- Mean error on rmag (err_r) real*4 imag (nr__) ! (mag) ?=- Model magnitude in i filter (i) (5) real*4 e_imag (nr__) ! (mag) ?=- Mean error on imag (err_i) real*4 zmag (nr__) ! (mag) ?=- Model magnitude in z filter (z) (5) real*4 e_zmag (nr__) ! (mag) ?=- Mean error on zmag (err_z) *-------------------------------------------------------------------------------- integer*8 uFlags (nr__) ! Detection flags, u band (flags_u)(3) integer*4 us (nr__) ! [0,2] 0=notStar, 1=Star in u band (probPSF_u) integer*4 uc (nr__) ! [0,9] Phototype in u band, 6=Star (type_u) (1) real*8 uDate (nr__) ! (yr) Date of observation in u band (6) real*4 u_mag (nr__) ! (mag) ?=- Model magnitude in u filter (= umag) (5) real*4 e_u_mag (nr__) ! (mag) ?=- Mean error on u'mag (= e_umag) real*4 upmag (nr__) ! (mag) ?=- PSF magnitude in u band (psfMag_u) real*4 e_upmag (nr__) ! (mag) ?=- Mean error on upmag (psfMagErr_u) real*4 uPmag_1 (nr__) ! (mag) ?=- Petrosian magnitude in u band (petroMag_u) real*4 e_uPmag_1 (nr__) ! (mag) ?=- Mean error on uPmag (petroMagErr_u) real*8 uPrad (nr__) ! (arcsec) ? Petrosian radius in u band (petroRad_u) real*8 e_uPrad (nr__) ! (arcsec) ?=- Mean error in uPrad (petroRadErr_u) real*4 uoRA (nr__) ! (arcsec) ? Offset of u position along RA (offsetRa_u) real*4 uoDE (nr__) ! (arcsec) ? Offset of u position along Dec (offsetDec_u) real*8 uisoA (nr__) ! (arcsec) ?=- Isophotal major diameter in u band (isoA_u) real*8 uisoB (nr__) ! (arcsec) ?=- Isophotal minor diameter in u band (isoB_u) real*4 uPA (nr__) ! (deg) ?=- Position angle of uisoA in u band (isoPhi_u) *-------------------------------------------------------------------------------- integer*8 gFlags (nr__) ! Detection flags, g band (flags_g)(3) integer*4 gs (nr__) ! [0,2] 0=notStar, 1=Star in g band (probPSF_g) integer*4 gc (nr__) ! [0,9] Phototype in g band, 6=Star (type_g) (1) real*8 gDate (nr__) ! (yr) Date of observation in g band (6) real*4 g_mag (nr__) ! (mag) ?=- Model magnitude in g filter (= gmag) (5) real*4 e_g_mag (nr__) ! (mag) ?=- Mean error on g'mag (= e_gmag) real*4 gpmag (nr__) ! (mag) ?=- PSF magnitude in g band (psfMag_g) real*4 e_gpmag (nr__) ! (mag) ?=- Mean error on gpmag (psfMagErr_g) real*4 gPmag_1 (nr__) ! (mag) ?=- Petrosian magnitude in g band (petroMag_g) real*4 e_gPmag_1 (nr__) ! (mag) ?=- Mean error on gPmag (petroMagErr_g) real*8 gPrad (nr__) ! (arcsec) ?=- Petrosian radius in g band (petroMagErr_g) real*8 e_gPrad (nr__) ! (arcsec) ?=- Mean error in gPrad (petroMagErr_g) real*4 goRA (nr__) ! (arcsec) ? Offset of g position along RA (offsetRa_g) real*4 goDE (nr__) ! (arcsec) ? Offset of g position along Dec (offsetDec_g) real*8 gisoA (nr__) ! (arcsec) ?=- Isophotal major diameter in g band (isoA_g) real*8 gisoB (nr__) ! (arcsec) ?=- Isophotal minor diameter in g band (isoB_g) real*4 gPA (nr__) ! (deg) ?=- Position angle of gisoA in g band (isoPhi_g) *-------------------------------------------------------------------------------- integer*8 rFlags (nr__) ! Detection flags, r band (flags_r)(3) integer*4 rs (nr__) ! [0,2] 0=notStar, 1=Star in r band (probPSF_r) integer*4 rc (nr__) ! [0,9] Phototype in r band, 6=Star (type_r) (1) real*8 rDate (nr__) ! (yr) Date of observation in r band (6) real*4 r_mag (nr__) ! (mag) ?=- Model magnitude in r filter (= rmag) (5) real*4 e_r_mag (nr__) ! (mag) ?=- Mean error on r'mag (= e_rmag) real*4 rpmag (nr__) ! (mag) ?=- PSF magnitude in r band (psfMag_r) real*4 e_rpmag (nr__) ! (mag) ?=- Mean error on rpmag (psfMagErr_r) real*4 rPmag_1 (nr__) ! (mag) ?=- Petrosian magnitude in r band (petroMag_r) real*4 e_rPmag_1 (nr__) ! (mag) ?=- Mean error on rPmag (petroMagErr_r) real*8 rPrad (nr__) ! (arcsec) ? Petrosian radius in r band (petroMagErr_r) real*8 e_rPrad (nr__) ! (arcsec) ?=- Mean error in rPrad (petroMagErr_r) real*4 roRA (nr__) ! (arcsec) ? Offset of r position along RA (offsetRa_r) real*4 roDE (nr__) ! (arcsec) ? Offset of r position along Dec (offsetDec_r) real*8 risoA (nr__) ! (arcsec) ?=- Isophotal major diameter in r band (isoA_r) real*8 risoB (nr__) ! (arcsec) ?=- Isophotal minor diameter in r band (isoB_r) real*4 rPA (nr__) ! (deg) ?=- Position angle of risoA in r band (isoPhi_r) *-------------------------------------------------------------------------------- integer*8 iFlags (nr__) ! Detection flags, i band (flags_i)(3) integer*4 is (nr__) ! [0,2] 0=notStar, 1=Star in i band (probPSF_i) integer*4 ic (nr__) ! [0,9] Phototype in i band, 6=Star (type_i) (1) real*8 iDate (nr__) ! (yr) Date of observation in i band (6) real*4 i_mag (nr__) ! (mag) ?=- Model magnitude in i filter (= imag) (5) real*4 e_i_mag (nr__) ! (mag) ?=- Mean error on i'mag (= e_imag) real*4 ipmag (nr__) ! (mag) ?=- PSF magnitude in i band (psfMag_i) real*4 e_ipmag (nr__) ! (mag) ?=- Mean error on ipmag (psfMagErr_i) real*4 iPmag_1 (nr__) ! (mag) ?=- Petrosian magnitude in i band (petroMag_i) real*4 e_iPmag_1 (nr__) ! (mag) ?=- Mean error on iPmag (petroMagErr_i) real*8 iPrad (nr__) ! (arcsec) ? Petrosian radius in i band (petroMagErr_i) real*8 e_iPrad (nr__) ! (arcsec) ?=- Mean error in iPrad (petroMagErr_i) real*4 ioRA (nr__) ! (arcsec) ? Offset of i position along RA (offsetRa_i) real*4 ioDE (nr__) ! (arcsec) ? Offset of i position along Dec (offsetDec_i) real*8 iisoA (nr__) ! (arcsec) ?=- Isophotal major diameter in i band (isoA_i) real*8 iisoB (nr__) ! (arcsec) ?=- Isophotal minor diameter in i band (isoB_i) real*4 iPA (nr__) ! (deg) ?=- Position angle of iisoA in i band (isoPhi_i) *-------------------------------------------------------------------------------- integer*8 zFlags (nr__) ! Detection flags, z band (flags_z)(3) integer*4 zs (nr__) ! [0,2] 0=notStar, 1=Star in z band (probPSF_z) integer*4 zc (nr__) ! [0,9] Phototype in z band, 6=Star (type_z) (1) real*8 zDate (nr__) ! (yr) Date of observation in z band (6) real*4 z_mag (nr__) ! (mag) ?=- Model magnitude in z filter (= zmag) (5) real*4 e_z_mag (nr__) ! (mag) ?=- Mean error on z'mag (= e_zmag) real*4 zpmag (nr__) ! (mag) ?=- PSF magnitude in z band (psfMag_z) real*4 e_zpmag (nr__) ! (mag) ?=- Mean error on zpmag (psfMagErr_z) real*4 zPmag_1 (nr__) ! (mag) ?=- Petrosian magnitude in z band (petroMag_z) real*4 e_zPmag_1 (nr__) ! (mag) ?=- Mean error on zPmag (petroMagErr_z) real*8 zPrad (nr__) ! (arcsec) ?=- Petrosian radius in z band (petroMagErr_z) real*8 e_zPrad (nr__) ! (arcsec) ?=- Mean error in zPrad (petroMagErr_z) real*4 zoRA (nr__) ! (arcsec) ? Offset of z position along RA (offsetRa_z) real*4 zoDE (nr__) ! (arcsec) ? Offset of z position along Dec (offsetDec_z) real*8 zisoA (nr__) ! (arcsec) ?=- Isophotal major diameter in z band (isoA_z) real*8 zisoB (nr__) ! (arcsec) ?=- Isophotal minor diameter in z band (isoB_z) real*4 zPA (nr__) ! (deg) ?=- Position angle of zisoA in z band (isoPhi_z) *-------------------------------------------------------------------------------- integer*4 pmRA (nr__) ! (mas/yr) ?=- Proper motion along RightAscension (pmRa) (8) integer*4 e_pmRA (nr__) ! (mas/yr) ?=- Mean error on pmRA (pmRaErr) (8) integer*4 pmDE (nr__) ! (mas/yr) ?=- Proper motion along Declination (pmDec) (8) integer*4 e_pmDE (nr__) ! (mas/yr) ?=- Mean error on pmDE (pmDecErr) (8) real*4 sigRA (nr__) ! (arcsec) ?=- RMS residual of proper motion fit in RA (8) real*4 sigDE (nr__) ! (arcsec) ?=- RMS residual of proper motion fit in Dec (8) integer*4 M (nr__) ! Number of USNO-B objects matched * within 1arcsec (match) (8) integer*4 N (nr__) ! Number of detections used in the pm fit, * including SDSS (nFit) (8) real*4 g_O (nr__) ! (mag) ?=- Magnitude from O plate recalibrated to g (8) real*4 r_E (nr__) ! (mag) ?=- Magnitude from E plate recalibrated to r (8) real*4 g_J (nr__) ! (mag) ?=- Magnitude from J plate recalibrated to g (8) real*4 r_F (nr__) ! (mag) ?=- Magnitude from F plate recalibrated to r (8) real*4 i_N (nr__) ! (mag) ?=- Magnitude from N plate recalibrated to i (8) *Note (1): the type (class) is numbered as follows: * 0 = Unknown: Object type is not known. * 1 = Cosmic-ray track (not used). * 2 = Defect (not used) * 3 = Galaxy: An extended object composed of many stars and other matter. * 4 = Ghost: Object created by reflected or refracted light. (not used) * 5 = KnownObject: Object came from some other catalog (not yet used) * 6 = Star: A a self-luminous gaseous celestial body. * 7 = Trail: A satellite or asteroid or meteor trail. (not yet used) * 8 = Sky: Blank sky spectrogram (no objects in this arcsecond area). * 9 = NotAType *Note (2): the SDSS identifier is composed of the skyVersion number, * run, rerun, camcol, field and object number. The SDSS-ID * is written run.cam.field.obj (4 numbers and 3 separator dots). * The objID is also combined from these numbers (the <<n operator * represent the left shift of n bits, i.e. a multiplication by 2^n^): * objID = skyVersion<<59 + rerun<<48 + run<<32 * + camcol<<29 + field<<16 + obj *Note (3): flags written in hexadecimal, full description available at * http://cas.sdss.org/astro/en/help/browser/enum.asp?n=PhotoFlags * ------------------------------------------------------------------------------ * 0000000000000001 = CANONICAL_CENTER Measurements used the center in r* * 0000000000000002 = BRIGHT Object detected in bright object-finding * 0000000000000004 = EDGE Object is too close to edge of frame * 0000000000000008 = BLENDED Multiple peaks detected * 0000000000000010 = CHILD Product of deblending a BLENDED object. * 0000000000000020 = PEAKCENTER Position of peak pixel rather than ML * 0000000000000040 = NODEBLEND No deblending attempted on BLENDED object * 0000000000000080 = NOPROFILE Radial profile could not be estimated * 0000000000000100 = NOPETRO No valid Petrosian radius found * 0000000000000200 = MANYPETRO More than one Petrosian radius found. * 0000000000000400 = NOPETRO_BIG Petrosian radius beyond radial profile. * 0000000000000800 = DEBLEND_TOO_MANY_PEAKS More than 25 peaks in this object * 0000000000001000 = COSMIC_RAY Contains a pixel part of a cosmic ray. * 0000000000002000 = MANYR50 More than one 50% light radius. * 0000000000004000 = MANYR90 More than one 90% light radius. * 0000000000008000 = BAD_RADIAL Some points in radial profile S/N<0 * 0000000000010000 = INCOMPLETE_PROFILE Petrosian radius intersects frame edge * 0000000000020000 = INTERP Pixel(s) determined by interpolation. * 0000000000040000 = SATURATED Saturated pixel(s) * 0000000000080000 = NOTCHECKED Not checked for local peaks * 0000000000100000 = SUBTRACTED BRIGHT object, wings subtracted * 0000000000200000 = NOSTOKES No measured Stokes params * 0000000000400000 = BADSKY Sky level so bad that highest pixel <0. * 0000000000800000 = PETROFAINT Petrosian radius(es) rejected for low SB * 0000000001000000 = TOO_LARGE Object too large to measure its profile * 0000000002000000 = DEBLENDED_AS_PSF Deblender treated obj as PSF * 0000000004000000 = DEBLEND_PRUNED At least one child was removed * 0000000008000000 = ELLIPFAINT Object center fainter than the isophote * 0000000010000000 = BINNED1 Object detected in 1x1 binned image * 0000000020000000 = BINNED2 Object detected in 2x2 binned image * 0000000040000000 = BINNED4 Object detected in 4x4 binned image * 0000000080000000 = MOVED Possibly moving object * 0000000100000000 = DEBLENDED_AS_MOVING A MOVED object treated as moving. * 0000000200000000 = NODEBLEND_MOVING A MOVED object not treated as moving. * 0000000400000000 = TOO_FEW_DETECTIONS Too few detections to deblend as moving. * 0000000800000000 = BAD_MOVING_FIT Moving fit too poor to be believable. * 0000001000000000 = STATIONARY Object consistent with being stationary. * 0000002000000000 = PEAKS_TOO_CLOSE Some peaks merged into a single peak. * 0000004000000000 = MEDIAN_CENTER Center given is of median-smoothed image. * 0000008000000000 = LOCAL_EDGE Center too close to an edge. * 0000010000000000 = BAD_COUNTS_ERROR Too few good pixels, error underestimated * 0000020000000000 = BAD_MOVING_FIT_CHILD Moving child's velocity fit too poor * 0000040000000000 = DEBLEND_UNASSIGNED_FLUX After deblending flux not assigned * 0000080000000000 = SATUR_CENTER Center is close to saturated pixel(s) * 0000100000000000 = INTERP_CENTER Center is close to interpolated pixel(s) * 0000200000000000 = DEBLENDED_AT_EDGE Object close to edge was deblended * 0000400000000000 = DEBLEND_NOPEAK No detected peak within this child * 0000800000000000 = PSF_FLUX_INTERP PSF flux from interpolated pixels > 20% * 0001000000000000 = TOO_FEW_GOOD_DETECTIONS Too few good detections * 0002000000000000 = CENTER_OFF_AIMAGE At least one peak's center lay off image * 0004000000000000 = DEBLEND_DEGENERATE Identical candidate children, 1 retained * 0008000000000000 = BRIGHTEST_GALAXY_CHILD Brightest member classified as galaxy * 0010000000000000 = CANONICAL_BAND Band chosen as 'Canonical', generally r * 0020000000000000 = AMOMENT_FAINT Object too faint to measure moments * 0040000000000000 = AMOMENT_SHIFT Centroid shift too large * 0080000000000000 = AMOMENT_MAXITER Maximum number of iterations exceeded * 0100000000000000 = MAYBE_CR Object could actually be a cosmic ray * 0200000000000000 = MAYBE_EGHOST Object could actually be a ghost * 0400000000000000 = NOTCHECKED_CENTER Object center in a region not searched * 0800000000000000 = OBJECT2_HAS_SATUR_DN Trails included in estimated flux. * 1000000000000044 = OBJECT2_DEBLEND_PEEPHOLE Deblend modified by peephole * 2000000000000044 = GROWN_MERGED Growing led to a merger * 4000000000000044 = HAS_CENTER Object has a canonical center * 8000000000000044 = RESERVED Not used * ------------------------------------------------------------------------------ *Note (4): status flags written in hexadecimal, full description available at * http://cas.sdss.org/astro/en/help/browser/enum.asp?n=PhotoStatus * ------------------------------------------------------------------------------ * 00000001 = SET Object status has been set in reference to its own run * 00000002 = GOOD Object is good -- absence implies bad. * 00000004 = DUPLICATE Duplicate detections in an adjacent field * 00000010 = OK_RUN Object is usable * 00000020 = RESOLVED Object has been resolved against other runs. * 00000040 = PSEGMENT Object Belongs to a PRIMARY segment. * 00000100 = FIRST_FIELD Object belongs to the first field in its segment. * 00000200 = OK_SCANLINE Object lies within valid nu range for its scanline. * 00000400 = OK_STRIPE Object lies within valid eta range for its stripe. * 00001000 = SECONDARY This is a secondary survey object. * 00002000 = PRIMARY This is a primary survey object. * 00004000 = TARGET This is a spectroscopic target. * ------------------------------------------------------------------------------ *Note (5): * The response curves of the SDSS filters (u g r i z) can be found on * the SDSS pages: http://www.sdss.org/dr5/instruments/imager/index.html * The central wavelength and FWHM are: * ----------------------------------------------- * (nm) u' g' r' i' z' * ----------------------------------------------- * lambda 354.3 477.0 623.1 762.5 913.4 * FWHM 56.7 138.7 137.3 152.6 95.0 * ----------------------------------------------- *Note (6): column from the "Fields" table. * Dates of the observations for each colour, and their average. *Note (7): column from the "SpecObjAll" table (see also Cat. III/255). * The "SpObjID" is composed of plate + mjd + fiber with formula * (the <<n operator represent the left shift of n bits, i.e. a * multiplication by 2^n^): * SpObjID = (plate<<48) + (mjd<<32) + (fiber<<22) *Note (8): column from the "ProperMotions" table. C============================================================================= C Loading file 'sdss7.sam' ! *Sample output of the SDSS photometric catalog C Format for file interpretation 1 format( + I1,A1,I1,1X,A19,A1,1X,A1,1X,A16,I18,1X,I18,1X,I18,I3,1X,I20, + 1X,A8,2X,F10.6,F10.6,1X,F5.3,1X,F5.3,1X,F5.2,1X,F9.4,1X,I1,1X, + F7.5,1X,F6.5,1X,F6.3,1X,F5.3,1X,F6.3,1X,F5.3,1X,F6.3,1X,F5.3, + 1X,F6.3,1X,F5.3,1X,F6.3,1X,F5.3,1X,I20,1X,I1,1X,I1,1X,F9.4,1X, + F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F7.3,1X,F7.3, + 2X,F6.2,1X,F6.2,1X,F7.3,1X,F7.3,1X,F5.1,1X,I20,1X,I1,1X,I1,1X, + F9.4,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F7.3, + 1X,F7.3,2X,F6.2,1X,F6.2,1X,F7.3,1X,F7.3,1X,F5.1,1X,I20,1X,I1, + 1X,I1,1X,F9.4,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3, + 1X,F7.3,1X,F7.3,2X,F6.2,1X,F6.2,1X,F7.3,1X,F7.3,1X,F5.1,1X, + I20,1X,I1,1X,I1,1X,F9.4,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X, + F6.3,1X,F6.3,1X,F7.3,1X,F7.3,2X,F6.2,1X,F6.2,1X,F7.3,1X,F7.3, + 1X,F5.1,1X,I20,1X,I1,1X,I1,1X,F9.4,1X,F6.3,1X,F6.3,1X,F6.3,1X, + F6.3,1X,F6.3,1X,F6.3,1X,F7.3,1X,F7.3,2X,F6.2,1X,F6.2,1X,F7.3, + 1X,F7.3,1X,F5.1,1X,I6,1X,I3,1X,I6,1X,I3,1X,F5.3,1X,F5.3,1X,I1, + 1X,I1,1X,F4.1,1X,F4.1,1X,F4.1,1X,F4.1,1X,F4.1) C Effective file loading open(unit=1,status='old',file= +'sdss7.sam') write(6,*) '....Loading file: sdss7.sam' do i__=1,100 read(1,'(A978)')ar__ read(ar__,1) + mode(i__),q_mode(i__),cl(i__),SDSS(i__),m_SDSS(i__),R(i__), + SDSS_ID(i__),objID(i__),SpObjID(i__),parentID(i__),rerun(i__), + flags(i__),Status(i__),RAdeg(i__),DEdeg(i__),e_RAdeg(i__), + e_DEdeg(i__),ccPos(i__),ObsDate(i__),Q(i__),zsp(i__), + e_zsp(i__),umag(i__),e_umag(i__),gmag(i__),e_gmag(i__), + rmag(i__),e_rmag(i__),imag(i__),e_imag(i__),zmag(i__), + e_zmag(i__),uFlags(i__),us(i__),uc(i__),uDate(i__),u_mag(i__), + e_u_mag(i__),upmag(i__),e_upmag(i__),uPmag_1(i__), + e_uPmag_1(i__),uPrad(i__),e_uPrad(i__),uoRA(i__),uoDE(i__), + uisoA(i__),uisoB(i__),uPA(i__),gFlags(i__),gs(i__),gc(i__), + gDate(i__),g_mag(i__),e_g_mag(i__),gpmag(i__),e_gpmag(i__), + gPmag_1(i__),e_gPmag_1(i__),gPrad(i__),e_gPrad(i__),goRA(i__), + goDE(i__),gisoA(i__),gisoB(i__),gPA(i__),rFlags(i__),rs(i__), + rc(i__),rDate(i__),r_mag(i__),e_r_mag(i__),rpmag(i__), + e_rpmag(i__),rPmag_1(i__),e_rPmag_1(i__),rPrad(i__), + e_rPrad(i__),roRA(i__),roDE(i__),risoA(i__),risoB(i__), + rPA(i__),iFlags(i__),is(i__),ic(i__),iDate(i__),i_mag(i__), + e_i_mag(i__),ipmag(i__),e_ipmag(i__),iPmag_1(i__), + e_iPmag_1(i__),iPrad(i__),e_iPrad(i__),ioRA(i__),ioDE(i__), + iisoA(i__),iisoB(i__),iPA(i__),zFlags(i__),zs(i__),zc(i__), + zDate(i__),z_mag(i__),e_z_mag(i__),zpmag(i__),e_zpmag(i__), + zPmag_1(i__),e_zPmag_1(i__),zPrad(i__),e_zPrad(i__),zoRA(i__), + zoDE(i__),zisoA(i__),zisoB(i__),zPA(i__),pmRA(i__), + e_pmRA(i__),pmDE(i__),e_pmDE(i__),sigRA(i__),sigDE(i__), + M(i__),N(i__),g_O(i__),r_E(i__),g_J(i__),r_F(i__),i_N(i__) if (idig(ar__(186:192)).EQ.0) zsp(i__) = rNULL__ if (idig(ar__(194:199)).EQ.0) e_zsp(i__) = rNULL__ if (idig(ar__(201:206)).EQ.0) umag(i__) = rNULL__ if (idig(ar__(208:212)).EQ.0) e_umag(i__) = rNULL__ if (idig(ar__(214:219)).EQ.0) gmag(i__) = rNULL__ if (idig(ar__(221:225)).EQ.0) e_gmag(i__) = rNULL__ if (idig(ar__(227:232)).EQ.0) rmag(i__) = rNULL__ if (idig(ar__(234:238)).EQ.0) e_rmag(i__) = rNULL__ if (idig(ar__(240:245)).EQ.0) imag(i__) = rNULL__ if (idig(ar__(247:251)).EQ.0) e_imag(i__) = rNULL__ if (idig(ar__(253:258)).EQ.0) zmag(i__) = rNULL__ if (idig(ar__(260:264)).EQ.0) e_zmag(i__) = rNULL__ if (idig(ar__(301:306)).EQ.0) u_mag(i__) = rNULL__ if (idig(ar__(308:313)).EQ.0) e_u_mag(i__) = rNULL__ if (idig(ar__(315:320)).EQ.0) upmag(i__) = rNULL__ if (idig(ar__(322:327)).EQ.0) e_upmag(i__) = rNULL__ if (idig(ar__(329:334)).EQ.0) uPmag_1(i__) = rNULL__ if (idig(ar__(336:341)).EQ.0) e_uPmag_1(i__) = rNULL__ if(ar__(343:349) .EQ. '') uPrad(i__) = rNULL__ if (idig(ar__(351:357)).EQ.0) e_uPrad(i__) = rNULL__ if(ar__(360:365) .EQ. '') uoRA(i__) = rNULL__ if(ar__(367:372) .EQ. '') uoDE(i__) = rNULL__ if (idig(ar__(374:380)).EQ.0) uisoA(i__) = rNULL__ if (idig(ar__(382:388)).EQ.0) uisoB(i__) = rNULL__ if (idig(ar__(390:394)).EQ.0) uPA(i__) = rNULL__ if (idig(ar__(431:436)).EQ.0) g_mag(i__) = rNULL__ if (idig(ar__(438:443)).EQ.0) e_g_mag(i__) = rNULL__ if (idig(ar__(445:450)).EQ.0) gpmag(i__) = rNULL__ if (idig(ar__(452:457)).EQ.0) e_gpmag(i__) = rNULL__ if (idig(ar__(459:464)).EQ.0) gPmag_1(i__) = rNULL__ if (idig(ar__(466:471)).EQ.0) e_gPmag_1(i__) = rNULL__ if (idig(ar__(473:479)).EQ.0) gPrad(i__) = rNULL__ if (idig(ar__(481:487)).EQ.0) e_gPrad(i__) = rNULL__ if(ar__(490:495) .EQ. '') goRA(i__) = rNULL__ if(ar__(497:502) .EQ. '') goDE(i__) = rNULL__ if (idig(ar__(504:510)).EQ.0) gisoA(i__) = rNULL__ if (idig(ar__(512:518)).EQ.0) gisoB(i__) = rNULL__ if (idig(ar__(520:524)).EQ.0) gPA(i__) = rNULL__ if (idig(ar__(561:566)).EQ.0) r_mag(i__) = rNULL__ if (idig(ar__(568:573)).EQ.0) e_r_mag(i__) = rNULL__ if (idig(ar__(575:580)).EQ.0) rpmag(i__) = rNULL__ if (idig(ar__(582:587)).EQ.0) e_rpmag(i__) = rNULL__ if (idig(ar__(589:594)).EQ.0) rPmag_1(i__) = rNULL__ if (idig(ar__(596:601)).EQ.0) e_rPmag_1(i__) = rNULL__ if(ar__(603:609) .EQ. '') rPrad(i__) = rNULL__ if (idig(ar__(611:617)).EQ.0) e_rPrad(i__) = rNULL__ if(ar__(620:625) .EQ. '') roRA(i__) = rNULL__ if(ar__(627:632) .EQ. '') roDE(i__) = rNULL__ if (idig(ar__(634:640)).EQ.0) risoA(i__) = rNULL__ if (idig(ar__(642:648)).EQ.0) risoB(i__) = rNULL__ if (idig(ar__(650:654)).EQ.0) rPA(i__) = rNULL__ if (idig(ar__(691:696)).EQ.0) i_mag(i__) = rNULL__ if (idig(ar__(698:703)).EQ.0) e_i_mag(i__) = rNULL__ if (idig(ar__(705:710)).EQ.0) ipmag(i__) = rNULL__ if (idig(ar__(712:717)).EQ.0) e_ipmag(i__) = rNULL__ if (idig(ar__(719:724)).EQ.0) iPmag_1(i__) = rNULL__ if (idig(ar__(726:731)).EQ.0) e_iPmag_1(i__) = rNULL__ if(ar__(733:739) .EQ. '') iPrad(i__) = rNULL__ if (idig(ar__(741:747)).EQ.0) e_iPrad(i__) = rNULL__ if(ar__(750:755) .EQ. '') ioRA(i__) = rNULL__ if(ar__(757:762) .EQ. '') ioDE(i__) = rNULL__ if (idig(ar__(764:770)).EQ.0) iisoA(i__) = rNULL__ if (idig(ar__(772:778)).EQ.0) iisoB(i__) = rNULL__ if (idig(ar__(780:784)).EQ.0) iPA(i__) = rNULL__ if (idig(ar__(821:826)).EQ.0) z_mag(i__) = rNULL__ if (idig(ar__(828:833)).EQ.0) e_z_mag(i__) = rNULL__ if (idig(ar__(835:840)).EQ.0) zpmag(i__) = rNULL__ if (idig(ar__(842:847)).EQ.0) e_zpmag(i__) = rNULL__ if (idig(ar__(849:854)).EQ.0) zPmag_1(i__) = rNULL__ if (idig(ar__(856:861)).EQ.0) e_zPmag_1(i__) = rNULL__ if (idig(ar__(863:869)).EQ.0) zPrad(i__) = rNULL__ if (idig(ar__(871:877)).EQ.0) e_zPrad(i__) = rNULL__ if(ar__(880:885) .EQ. '') zoRA(i__) = rNULL__ if(ar__(887:892) .EQ. '') zoDE(i__) = rNULL__ if (idig(ar__(894:900)).EQ.0) zisoA(i__) = rNULL__ if (idig(ar__(902:908)).EQ.0) zisoB(i__) = rNULL__ if (idig(ar__(910:914)).EQ.0) zPA(i__) = rNULL__ if (pmRA(i__) .EQ. 45) pmRA(i__) = iNULL__ if (e_pmRA(i__) .EQ. 45) e_pmRA(i__) = iNULL__ if (pmDE(i__) .EQ. 45) pmDE(i__) = iNULL__ if (e_pmDE(i__) .EQ. 45) e_pmDE(i__) = iNULL__ if (idig(ar__(938:942)).EQ.0) sigRA(i__) = rNULL__ if (idig(ar__(944:948)).EQ.0) sigDE(i__) = rNULL__ if (idig(ar__(954:957)).EQ.0) g_O(i__) = rNULL__ if (idig(ar__(959:962)).EQ.0) r_E(i__) = rNULL__ if (idig(ar__(964:967)).EQ.0) g_J(i__) = rNULL__ if (idig(ar__(969:972)).EQ.0) r_F(i__) = rNULL__ if (idig(ar__(974:977)).EQ.0) i_N(i__) = rNULL__ c ..............Just test output........... write(6,1) + mode(i__),q_mode(i__),cl(i__),SDSS(i__),m_SDSS(i__),R(i__), + SDSS_ID(i__),objID(i__),SpObjID(i__),parentID(i__),rerun(i__), + flags(i__),Status(i__),RAdeg(i__),DEdeg(i__),e_RAdeg(i__), + e_DEdeg(i__),ccPos(i__),ObsDate(i__),Q(i__),zsp(i__), + e_zsp(i__),umag(i__),e_umag(i__),gmag(i__),e_gmag(i__), + rmag(i__),e_rmag(i__),imag(i__),e_imag(i__),zmag(i__), + e_zmag(i__),uFlags(i__),us(i__),uc(i__),uDate(i__),u_mag(i__), + e_u_mag(i__),upmag(i__),e_upmag(i__),uPmag_1(i__), + e_uPmag_1(i__),uPrad(i__),e_uPrad(i__),uoRA(i__),uoDE(i__), + uisoA(i__),uisoB(i__),uPA(i__),gFlags(i__),gs(i__),gc(i__), + gDate(i__),g_mag(i__),e_g_mag(i__),gpmag(i__),e_gpmag(i__), + gPmag_1(i__),e_gPmag_1(i__),gPrad(i__),e_gPrad(i__),goRA(i__), + goDE(i__),gisoA(i__),gisoB(i__),gPA(i__),rFlags(i__),rs(i__), + rc(i__),rDate(i__),r_mag(i__),e_r_mag(i__),rpmag(i__), + e_rpmag(i__),rPmag_1(i__),e_rPmag_1(i__),rPrad(i__), + e_rPrad(i__),roRA(i__),roDE(i__),risoA(i__),risoB(i__), + rPA(i__),iFlags(i__),is(i__),ic(i__),iDate(i__),i_mag(i__), + e_i_mag(i__),ipmag(i__),e_ipmag(i__),iPmag_1(i__), + e_iPmag_1(i__),iPrad(i__),e_iPrad(i__),ioRA(i__),ioDE(i__), + iisoA(i__),iisoB(i__),iPA(i__),zFlags(i__),zs(i__),zc(i__), + zDate(i__),z_mag(i__),e_z_mag(i__),zpmag(i__),e_zpmag(i__), + zPmag_1(i__),e_zPmag_1(i__),zPrad(i__),e_zPrad(i__),zoRA(i__), + zoDE(i__),zisoA(i__),zisoB(i__),zPA(i__),pmRA(i__), + e_pmRA(i__),pmDE(i__),e_pmDE(i__),sigRA(i__),sigDE(i__), + M(i__),N(i__),g_O(i__),r_E(i__),g_J(i__),r_F(i__),i_N(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= stop end C Locate position of first digit in string; or return 0 integer function idig(c) character*(*) c character*1 c1 integer lc,i lc=len(c) idig=0 do i=1,lc if(c(i:i).ne.' ') go to 1 end do 1 if(i.gt.lc) return c1=c(i:i) if(c1.eq.'.'.or.c1.eq.'-'.or.c1.eq.'+') i=i+1 if(i.gt.lc) return c1=c(i:i) if(c1.ge.'0'.and.c1.le.'9') idig=i return end