Conversion of standardized ReadMe file for
file /./ftp/cats/B/mk into FORTRAN code for reading data files line by line.
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 2026-Oct-16
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. B/mk Catalogue of Stellar Spectral Classifications (Skiff, 2009- )
*================================================================================
*General Catalogue of Stellar Spectral Classifications
* Skiff B.A.
* <Lowell Observatory (October 2014)>
* =2014yCat....1.2023S
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'mktypes.dat' ! The catalog of MK Spectral Types
integer*4 nr__
parameter (nr__=1058791) ! Number of records
character*141 ar__ ! Full-size record
C J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs
real*8 RAdeg ! (deg) Right Ascension J2000
real*8 DEdeg ! (deg) Declination J2000
C ---------------------------------- ! (position vector(s) in degrees)
character*19 Bibcode ! Publication Source
character*27 Name ! Star name as published or valid
* SIMBAD name (Lortet et al.)
integer*4 RAh ! (h) Right Ascension (J2000) hour
integer*4 RAm ! (min) Right Ascension (J2000) minute
real*4 RAs ! (s) [0/60] Right Ascension (J2000) second
character*1 DE_ ! Declination sign
integer*4 DEd ! (deg) Declination (J2000) degree
integer*4 DEm ! (arcmin) Declination (J2000) minute
real*4 DEs ! (arcsec) [0/60] Declination (J2000) second
character*1 rc ! Source of coordinates (1)
real*4 Mag ! (mag) ? Magnitude, see passband in n_Mag
character*2 n_Mag ! Color passband of magnitude (2)
character*1 n_SpType ! [+] if spectral type is an MK standard
character*26 SpType ! spectral type (MK, HD, or other)
character*31 Remarks ! Comments (3)
*Note (1): sources of astrometry are numbered as follows:
* A = USNO-A2.0 (1998USNO2.C......0M, Cat. I/252)
* B = Bordeaux meridian circle (2001A&A...376..325R, Cat. I/272)
* + PM2000 (2006A&A...448.1235D, Cat. I/300)
* b = USNO-B1.0 (2003AJ....125..984M, Cat. I/284)
* c = AC2000 (1998AJ....115.1212U, Cat. I/275)
* C = Carlsberg CMC11 (1999yCat.1256.....C, Cat. I/256)
* + Carlsberg CMC12 (2002A&A...395..347E, Cat. I/282)
* + Carlsberg CMC14 (2005yCat.1304.....C, Cat. I/304)
* + Carlsberg CMC15 (2011yCat.1327.....C, Cat. I/327)
* D = DENIS (1999A&A...349..236E, Cat. b/denis)
* E = Edinburgh SuperCOSMOS (http://www-wfau.roe.ac.uk/sss/obj.html)
* F = USNO-Flagstaff transit circle (1999AJ....118.2488S, Cat. I/263)
* G = GSC-ACT (1999yCat.1255.....G, Cat. I/255)
* g = GSC-2.2 (2001yCat.1271.....S, Cat. I/271)
* + GSC-2.3 (2008AJ....136..735L, Cat. I/305)
* i = IRSF (2007PASJ...59..615K, Cat. II/288)
* I = IPHAS DR2 (2014yCat.2321....0B, Cat. II/321)
* L = LSPM (2005AJ....129.1483L, Cat. I/298)
* M = 2MASS second, all-sky, or 6x releases (2006AJ....131.1163S,
* Cat. II/241, II/246, II/281)
* s = SkyView estimate (+/-2")
* S = Sloan Digital Sky Survey DR6,7,8,9 (2008ApJS..175..297A, Cat. II/282)
* T = all Hipparcos/Tycho-related catalogues, including in approximate
* order of preference:
* + Tycho-2 (2000A&A...357..367H, Cat. I/259)
* + TDSC (2002A&A...384..180F, Cat. I/276)
* + TRC (1998A&A...335L..65H and 1999A&AS..136..491K, Cat. I/250)
* + ACT (1998AJ....115.2161U, Cat. I/246)
* + Hipparcos2 (2007A&A...474..653V, Cat. I/311)
* + Hipparcos (1997HIP...C......0E, Cat. I/239/hip_main)
* + Tycho-1 (1997HIP...C......0E, Cat. I/239/tyc_main)
* U = UCAC1, UCAC2, UCAC4, or URAT1 (2000AJ....120.2131Z,
* Cat. I/268, I/289, I/322, I/329)
* u = UKIDSS DR6 (2007MNRAS.379.1599L, Cat. II/316)
* + UKIDSS DR7 (Cat. II/310)
* + UKIDSS DR8 (Cat. II/314)
* + UKIDSS DR9 (Cat. II/319)
* W = WISE (Cutri et al 2011, Cat. II/311)
* Y = Yale SPM (1998AJ....116.2556P, Cat. I/277)
* z = MCPS catalogue (2002AJ....123..855Z, Cat. J/AJ/123/855)
* - = other (copied from source paper, derived from x,y coordinates, etc.)
*Note (2): passbands are usually standard Johnson-Cousins BVRI, or
* photographic equivalents, near-infrared J and K, Sloan-Gunn g or z.
*Note (3): comments are often greatly compressed; some common phrases are:
* brtr = brighter
* close pair = nearly-equal pairs usually < 0".5 separation observed together
* comp = companion or composite (clear from context)
* cpm pair = common proper motion double star
* DIB = diffuse interstellar band
* em = emission
* f = faint
* fntr = fainter
* grp = group
* gx = galaxy
* ID = identification
* interst = interstellar
* lg pm = large proper motion (usually > 0".15 per year)
* vlg pm = very large proper motion (> 2" per year)
* lum = luminosity (class)
* max = maximum (brightness)
* met, mets = metals, metallic lines
* min = minimum (brightness)
* nr = near
* opt pair = 'optical' double star, i.e. not common proper motion
* pec = peculiar
* prob = probably
* sl = slight, slightly
* spec var = spectrum variable
* str = strong
* uncer = uncertain
* var = variable
* wk = weak
* Nrn = northern
* Nmost = northernmost (and similar)
* Ern = eastern
* Srn = southern
* Wrn = western
* NErn = northeastern
* NWrn = northwestern
* SErn = southeastern
* SWrn = southwestern
C=============================================================================
C Loading file 'mktypes.dat' ! The catalog of MK Spectral Types
C Format for file interpretation
1 format(
+ A19,2X,A27,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F4.1,1X,A1,
+ 1X,F5.2,A2,A1,A26,1X,A31)
C Effective file loading
open(unit=1,status='old',file=
+'mktypes.dat')
write(6,*) '....Loading file: mktypes.dat'
do i__=1,1058791
read(1,'(A141)')ar__
read(ar__,1)
+ Bibcode,Name,RAh,RAm,RAs,DE_,DEd,DEm,DEs,rc,Mag,n_Mag,
+ n_SpType,SpType,Remarks
if(ar__(76:80) .EQ. '') Mag = rNULL__
RAdeg = rNULL__
DEdeg = rNULL__
c Derive coordinates RAdeg and DEdeg from input data
c (RAdeg and DEdeg are set to rNULL__ when unknown)
if(RAh .GT. -180) RAdeg=RAh*15.
if(RAm .GT. -180) RAdeg=RAdeg+RAm/4.
if(RAs .GT. -180) RAdeg=RAdeg+RAs/240.
if(DEd .GE. 0) DEdeg=DEd
if(DEm .GE. 0) DEdeg=DEdeg+DEm/60.
if(DEs .GE. 0) DEdeg=DEdeg+DEs/3600.
if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c ..............Just test output...........
write(6,1)
+ Bibcode,Name,RAh,RAm,RAs,DE_,DEd,DEm,DEs,rc,Mag,n_Mag,
+ n_SpType,SpType,Remarks
write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end