CDS.headStuff2
FORTRAN Generation
Conversion of standardized ReadMe file for
catalog 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-May-07 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